CN103092752B - 一种仪器属性的错误识别方法 - Google Patents
一种仪器属性的错误识别方法 Download PDFInfo
- Publication number
- CN103092752B CN103092752B CN201210572511.1A CN201210572511A CN103092752B CN 103092752 B CN103092752 B CN 103092752B CN 201210572511 A CN201210572511 A CN 201210572511A CN 103092752 B CN103092752 B CN 103092752B
- Authority
- CN
- China
- Prior art keywords
- instrument
- function
- attribute
- list
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种仪器属性的错误识别方法,首先,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可能的性能属性;建立仪器属性链表,每种功能对应一个仪器属性链表,仪器属性链表的每一个结点对应一个仪器,每个结点中的元素包含相应功能下的所有可能的性能属性;在驱动软件中定义所支持的仪器的信息,包括仪器代号、仪器所具有功能和仪器属性链表地址;当用户配置仪器硬件时,向驱动软件输入待配置仪器的配置属性,根据驱动软件中的仪器定义以及仪器属性链表对配置属性进行验证,如果验证发现用户配置信息不属于该仪器,则提示错误。本发明采用仪器属性链表和错误判断的结合,实现错误识别方法的通用性。
Description
技术领域
本发明涉及仪器驱动技术领域,尤其涉及一种用于仪器驱动软件的仪器属性的错误识别方法。
背景技术
在数据采集应用中,实现软件对仪器使用状态的错误识别,并及时给用户错误信息提示是非常重要的,只有具有全面、可靠的错误识别机制,才能保证仪器在允许的状态下工作,避免出现误操作,造成仪器损害或系统崩溃。
目前,一般的仪器软件的错误识别只针对某一特定的仪器,当仪器对象改变时,就要重新开发软件,造成人力和财力的浪费。同时,用户必须对仪器性能指标有充分的了解,避免误操作。
发明内容
有鉴于此,本发明提供了一种仪器属性的错误识别方法,采用仪器属性链表和错误判断的结合,解决上述弊端,实现错误识别方法的通用性。
为了解决上述技术问题,本发明是这样实现的:
一种仪器属性的错误识别方法,包括:
S00,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可能的性能属性;
S01,建立仪器属性链表,步骤S00中归纳出的每种功能对应一个仪器属性链表,仪器属性链表的每一个结点对应一个仪器,每个结点中的元素包含相应功能下的所有可能的性能属性;根据仪器属性填写仪器属性链表;
S02,在驱动软件中定义所支持的仪器的信息,包括仪器代号、仪器所具有功能和仪器属性链表地址;
S03,当用户配置仪器硬件时,向驱动软件输入待配置仪器的配置属性,驱动软件根据仪器代号判断待配置仪器是否属于驱动软件所支持的仪器,并且根据仪器所具有功能判断用户输入的配置属性是否隶属于待配置仪器所具有的功能;
如果两项判断均满足,则根据仪器属性链表地址从相应功能的仪器属性链表中读取配置属性的属性值,判断用户配置的属性是否与读取的属性值相匹配,如果是,则继续进行硬件配置,否则,提示错误;
如果两项并非均满足,则直接提示错误。
优选地,步骤S02中在定义仪器所具有功能时,采用数字表示;假设仪器功能共有N项,则每项功能的标识值采用2n表示,n取1到N中的整数,不同仪器功能的标识值不同;则仪器所具有功能为每项功能标识值之和;
所述S03中,当根据仪器所具有功能判断用户输入的配置属性是否隶属于待配置仪器所具有的功能时,先根据仪器所具有功能的数值反向解析仪器所具有的功能类型,然后进行判断。
优选地,在填写仪器属性链表时,当仪器不具有某项属性,则在该属性处填写表示不具有该项属性的警告代码;当仪器不具有某项属性中的某个具体属性值时,则在该具体属性值的填写处填写表示不具有该项属性值的警告代码;
步骤S03中,所述判断用户配置的属性是否与读取的属性值相匹配具体为:如果读取的数值为警告代码,则进行相应错误提示;如果读取的数值为属性值,则判断该属性值是否符合用户配置,如果是,则确认配置信息正确,继续进行硬件配置,否则,进行相应错误提示。
有益效果:
本发明先针对同类仪器分析其可能的所有功能和属性,针对每项功能构建链表,链表中结点结构相同,均包含功能下所有可能的属性。因此构建的链表适用于同类的所有仪器,并非只针对某一特定的仪器,当仪器对象改变时,不需要重新开发软件,避免了人力和财力的浪费。
此外,所有的错误判断由驱动软件完成,不需要用户对仪器性能指标有充分的了解,避免误操作。
附图说明
图1为本发明仪器属性的错误识别方法的流程图。
图2为AI功能的链表。
图3为AO功能的链表。
图4为DI功能的链表。
具体实施方式
该方法具有通用性,不仅面对一种数据采集仪器实现错误识别;该方法具有可靠性,错误判断算法与仪器属性紧密结合,确保错误判定的可靠性,当发生错误时,能保证仪器正常工作或正确停止运行,避免系统崩溃或异常退出;该方法支持驱动函数提供详细的错误提示,用户无需对仪器功能指标有详细的了解,当用户操作错误时,例如,设置仪器工作上限超出仪器允许范围时,软件将及时向用户发出详细的提示信息,通知用户仪器允许的操作范围。
下面结合附图并举实施例,对本发明进行详细描述。
图1为本发明仪器属性的错误识别方法的流程图,如图1所示,该方法包括以下步骤:
S00,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可能的性能属性。
本实施例以数据采集仪器为例对本步骤S00进行举例描述:
目前数据采集类仪器的功能能够归纳出如下6项:模拟输入功能、模拟输出功能、数字输入功能、数字输出功能、定时器/计数器输入功能、定时器/计数器输出功能。上述每项功能都具有多种性能属性。但是对于不同仪器来说,即便功能相同,功能具有的性能属性也不一定相同。
以“模拟输入功能”为例,仪器的属性包括通道类型、通道个数、通道名称、测量设备类型、单位、耦合方式、阻抗、增益、输入方式(终端类型)、是否低通滤波、允许最大值、允许最小值。对于仪器A其具有其中全部性能属性,对于仪器B来说只具有其中部分。具有同种功能的仪器差异在于仪器的性能属性,可能仪器A的输入方式包括参考单端、非参考单端、差分、伪差分,仪器B的输入方式可能仅包括差分方式。
为了便于在程序中引用不同的输入方式,采用宏定义方式定义所有性能属性取值,例如:
S01,编写仪器属性链表,建立仪器资源架构。
如前所述,不同的仪器是有着相互联系的,因为它们可能具有相同的仪器属性。因此,采用链表记载仪器属性信息,步骤S00中归纳出的每种功能对应一个仪器属性链表,链表的一个结点为一个仪器,每个结点中的元素包含相应功能下的所有可能的性能属性。由于仪器属性可以是数值类型、字符类型、数组类型等,因此以结构体变量作为链表结点最为合适,定义如下:
例如建立模拟输入功能(AI)链表,链表内容包括所有模拟输入通道属性,如图2所示,图3为模拟输出功能(AO)资源链表,图4为数字输入功能(DI)资源链表。在资源链表中,可以定义一些不属于仪器属性和错误内容的代码,以便更好的识别资源。例如整形-2111代表不具有某项属性,-1111代表不具有某个属性值;字符型""表示不具有某内容。
通过链表不同的仪器有机的联系在一起,实现了对不同仪器属性的统一管理。通过对链表的插入、删除、查询、比对、修改等实现对仪器属性的管理。链表的大小能够动态分配,可以增减结点数量,避免内存浪费。
S02,在驱动软件中定义所支持的仪器的信息,包括仪器代号、仪器所具有功能和仪器属性链表地址。
具体的实现方法为建立仪器结构体数组,如表1所示,内容包含驱动软件支持的所有仪器的代号、仪器所具有功能和仪器在链表中的地址,获悉仪器的链表址后,可以在不同的链表中查找到仪器的相关属性信息。
表1仪器结构体数组
仪器代号 | 仪器功能 | 仪器链表地址 |
只读 | 只读 | 只读 |
在定义仪器所具有功能时,可以采用数字表示。假设仪器功能共有N项,则每项功能的标识值采用2n表示,n取1到N中的整数,不同仪器功能的标识值不同;则仪器所具有功能为每项功能标识值之和。表2示出了数据采集类仪器的每项功能的标识值。
表2仪器功能数值内容
根据仪器类型的数值,可解析出仪器具有的功能,仪器类型的数值最大值为63,最小值为1。根据仪器类型的数值,可获悉仪器可支持哪些功能,例如AI功能仪器,仪器类型为1,具有六项功能的多功能模块,仪器类型为63。
S03,当用户配置仪器硬件时,向驱动软件输入待配置仪器的配置属性,驱动软件根据仪器代号判断待配置仪器是否属于驱动软件所支持的仪器,并且根据仪器所具有功能判断用户输入的配置属性是否属于待配置仪器所具有的功能。
如果两项判断均满足,则根据仪器属性链表地址从相应功能的仪器属性链表中读取配置属性的属性值,判断用户配置的属性是否与读取的属性值相匹配,如果是,则继续进行硬件配置,否则,提示错误;
如果两项并非均满足,则直接提示错误。
例如,用户配置仪器通道,设置了仪器4360的终端类型为单端,驱动软件首先查找仪器4360对应的仪器所具有功能数值,反向解析仪器4360具有哪些功能,假设其具有AI功能,则驱动软件从AI功能对应的仪器属性链表中读取“终端类型”这一属性的内容,并返回读取的信息。解析读取的信息,如果读取的信息为空,或者为特定含义的警告代码例如-2111,则解析该代码,并进行相应错误提示;如果读取的信息有具体的属性值,则判断该属性值是否符合用户配置,例如用户配置通道为24,则看通道个数的属性值是否大于或等于24,如果符合,则确认配置信息正确,继续进行硬件配置;否则,进行相应错误提示,例如提示配置超限,并向用户显示允许的限值。
综上,该方法提供了一种通用的、标准化的仪器错误识别架构,增强仪器软件配置内容与硬件实际资源的匹配程度、确保任务准确配置、控制、访问,同时支持建立信息核对,当不正确时,将生成错误报告。该方法最终实现了全面、细致的错误监视、错误管理、错误显示对提高驱动软件的可测性、可靠性、可维护性等有着重要的意义。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种仪器属性的错误识别方法,其特征在于,包括:
S00,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可能的性能属性;
S01,建立仪器属性链表,步骤S00中归纳出的每种功能对应一个仪器属性链表,仪器属性链表的每一个结点对应一个仪器,每个结点中的元素包含相应功能下的所有可能的性能属性;根据仪器属性填写仪器属性链表;在填写仪器属性链表时,当仪器不具有某项属性,则在该属性处填写表示不具有该项属性的警告代码;当仪器不具有某项属性中的某个具体属性值时,则在该具体属性值的填写处填写表示不具有该项属性值的警告代码;
S02,在驱动软件中定义所支持的仪器的信息,包括仪器代号、仪器所具有功能和仪器属性链表地址;
S03,当用户配置仪器硬件时,向驱动软件输入待配置仪器的配置属性,驱动软件根据仪器代号判断待配置仪器是否属于驱动软件所支持的仪器,并且根据所述仪器所具有功能判断用户输入的配置属性是否隶属于待配置仪器所具有的功能;
如果两项判断均满足,则根据所述仪器属性链表地址从相应功能的仪器属性链表中读取配置属性的属性值,判断用户配置的属性是否与读取的属性值相匹配,如果是,则继续进行硬件配置,否则,提示错误;
如果两项并非均满足,则直接提示错误;
其中,所述判断用户配置的属性是否与读取的属性值相匹配具体为:如果读取的数值为警告代码,则进行相应错误提示;如果读取的数值为属性值,则判断该属性值是否符合用户配置,如果是,则确认配置信息正确,继续进行硬件配置,否则,进行相应错误提示。
2.如权利要求1所述的方法,其特征在于,步骤S02中在定义仪器所具有功能时,采用数字表示;假设仪器功能共有N项,则每项功能的标识值采用2n表示,n取1到N中的整数,不同仪器功能的标识值不同;则仪器所具有功能为每项功能标识值之和;
所述S03中,当根据仪器所具有功能判断用户输入的配置属性是否隶属于待配置仪器所具有的功能时,先根据仪器所具有功能的数值反向解析仪器所具有的功能类型,然后进行判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210572511.1A CN103092752B (zh) | 2012-12-25 | 2012-12-25 | 一种仪器属性的错误识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210572511.1A CN103092752B (zh) | 2012-12-25 | 2012-12-25 | 一种仪器属性的错误识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092752A CN103092752A (zh) | 2013-05-08 |
CN103092752B true CN103092752B (zh) | 2015-06-03 |
Family
ID=48205353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210572511.1A Active CN103092752B (zh) | 2012-12-25 | 2012-12-25 | 一种仪器属性的错误识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092752B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103697928B (zh) * | 2013-12-25 | 2016-05-11 | 北京航天测控技术有限公司 | 一种仪器校准方法及装置 |
CN108802538B (zh) * | 2018-07-12 | 2020-06-26 | 深圳市极致汇仪科技有限公司 | 一种应用于综合测试仪的仪器诊断方法及其系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555008A (zh) * | 2003-12-29 | 2004-12-15 | 秦树人 | 智能虚拟显示器的制作方法 |
CN101051947A (zh) * | 2007-05-15 | 2007-10-10 | 华为技术有限公司 | 一种设备配置参数创建方法及基站单板配置系统 |
CN101706745A (zh) * | 2009-11-30 | 2010-05-12 | 英业达股份有限公司 | 大型储存系统的储存设备的测试方法 |
CN101944062A (zh) * | 2010-09-21 | 2011-01-12 | 中国人民解放军63961部队 | 一种通用虚拟仪器接口配置方法 |
-
2012
- 2012-12-25 CN CN201210572511.1A patent/CN103092752B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555008A (zh) * | 2003-12-29 | 2004-12-15 | 秦树人 | 智能虚拟显示器的制作方法 |
CN101051947A (zh) * | 2007-05-15 | 2007-10-10 | 华为技术有限公司 | 一种设备配置参数创建方法及基站单板配置系统 |
CN101706745A (zh) * | 2009-11-30 | 2010-05-12 | 英业达股份有限公司 | 大型储存系统的储存设备的测试方法 |
CN101944062A (zh) * | 2010-09-21 | 2011-01-12 | 中国人民解放军63961部队 | 一种通用虚拟仪器接口配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103092752A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111459982A (zh) | 一种数据查询方法、装置、终端设备及存储介质 | |
CN110362497A (zh) | 覆盖全异常字符的自动化api接口测试方法和系统 | |
CN105117431A (zh) | 一种动态配置外部导入数据的方法及系统 | |
CN104111885A (zh) | 接口测试结果的校验方法和装置 | |
CN104932973A (zh) | 一种版本兼容测试方法和装置 | |
CN103761681A (zh) | 智能变电站SCD与Excel虚端子表的智能比对方法 | |
CN109740122A (zh) | 思维导图用例文件的转换方法及装置 | |
CN105786695A (zh) | 数据测试方法及系统 | |
CN109165209A (zh) | 数据库中对象类型的数据校验方法、装置、设备及介质 | |
CN107870827A (zh) | 基于校验的数据质量控制方法和装置 | |
CN109144852A (zh) | 静态代码的扫描方法、装置、计算机设备及存储介质 | |
CN111258832B (zh) | 一种接口参数校验方法、装置、设备及介质 | |
CN103092752B (zh) | 一种仪器属性的错误识别方法 | |
CN110209605A (zh) | Pcie总线网卡的寄存器读写方法和计算设备 | |
CN104348905A (zh) | 一种离线推送消息的方法及装置 | |
CN105808748A (zh) | 一种mib版本对比方法和装置 | |
CN107809345B (zh) | 网关数据核查工具、核查网关数据的方法和装置 | |
TW201721434A (zh) | 用於自動化生成軟體測試資料之電腦程式產品及其方法 | |
US20240104185A1 (en) | Device registration methods and apparatuses, electronic devices and storage media | |
CN107944300A (zh) | 一种数据写入方法及装置、验证方法及装置 | |
CN103605699A (zh) | 一种数据关联配置方法及装置 | |
CN103810259A (zh) | 基于OpenEHR的尿检原型构建和数据存储方法 | |
CN102722592B (zh) | 通用数字信息录取装置及方法 | |
CN110502478B (zh) | 一种离线系统之间的数据交互方法及系统 | |
CN103077195B (zh) | 一种仪器属性管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |