本发明专利技术公开了一种仪器属性的错误识别方法,首先,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可能的性能属性;建立仪器属性链表,每种功能对应一个仪器属性链表,仪器属性链表的每一个结点对应一个仪器,每个结点中的元素包含相应功能下的所有可能的性能属性;在驱动软件中定义所支持的仪器的信息,包括仪器代号、仪器所具有功能和仪器属性链表地址;当用户配置仪器硬件时,向驱动软件输入待配置仪器的配置属性,根据驱动软件中的仪器定义以及仪器属性链表对配置属性进行验证,如果验证发现用户配置信息不属于该仪器,则提示错误。本发明专利技术采用仪器属性链表和错误判断的结合,实现错误识别方法的通用性。
【技术实现步骤摘要】
本专利技术涉及仪器驱动
,尤其涉及一种用于仪器驱动软件的仪器属性的错误识别方法。
技术介绍
在数据采集应用中,实现软件对仪器使用状态的错误识别,并及时给用户错误信息提示是非常重要的,只有具有全面、可靠的错误识别机制,才能保证仪器在允许的状态下工作,避免出现误操作,造成仪器损害或系统崩溃。目前,一般的仪器软件的错误识别只针对某ー特定的仪器,当仪器对象改变时,就要重新开发软件,造成人力和财カ的浪费。同时,用户必须对仪器性能指标有充分的了解,避免误操作。
技术实现思路
有鉴于此,本专利技术提供了,采用仪器属性链表和错误判断的結合,解决上述弊端,实现错误识别方法的通用性。为了解决上述技术问题,本专利技术是这样实现的:,包括:S00,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可能的性能属性;S01,建立仪器属性链表,步骤SOO中归纳出的每种功能对应ー个仪器属性链表,仪器属性链表的每ー个结点对应ー个仪器,每个结点中的元素包含相应功能下的所有可能的性能属性;根据仪器属性填写仪器属性链表;S02,在驱动软件中定义所支持的仪器的信息,包括仪器代号、仪器所具有功能和仪器属性链表地址;S03,当用户配置仪器硬件吋,向驱动软件输入待配置仪器的配置属性,驱动软件根据仪器代号判断待配置仪器是否属于驱动软件所支持的仪器,并且根据仪器所具有功能判断用户输入的配置属性是否隶属于待配置仪器所具有的功能;如果两项判断均满足,则根据仪器属性链表地址从相应功能的仪器属性链表中读取配置属性的属性值,判断用户配置的属性是否与读取的属性值相匹配,如果是,则继续进行硬件配置,否则,提示错误;如果两项并非均满足,则直接提示错误。优选地,步骤S02中在定义仪器所具有功能时,采用数字表示;假设仪器功能共有N项,则每项功能的标识值采用2n表示,n取I到N中的整数,不同仪器功能的标识值不同;则仪器所具有功能为每项功能标识值之和;所述S03中,当根据仪器所具有功能判断用户输入的配置属性是否隶属于待配置仪器所具有的功能时,先根据仪器所具有功能的数值反向解析仪器所具有的功能类型,然后进行判断。优选地,在填写仪器属性链表时,当仪器不具有某项属性,则在该属性处填写表示不具有该项属性的警告代码;当仪器不具有某项属性中的某个具体属性值时,则在该具体属性值的填写处填写表示不具有该项属性值的警告代码;步骤S03中,所述判断用户配置的属性是否与读取的属性值相匹配具体为:如果读取的数值为警告代码,则进行相应错误提示;如果读取的数值为属性值,则判断该属性值是否符合用户配置,如果是,则确认配置信息正确,继续进行硬件配置,否则,进行相应错误提示。有益效果:本专利技术先针对同类仪器分析其可能的所有功能和属性,针对每项功能构建链表,链表中结点结构相同,均包含功能下所有可能的属性。因此构建的链表适用于同类的所有仪器,并非只针对某一特定的仪器,当仪器对象改变时,不需要重新开发软件,避免了人力和财カ的浪费。此外,所有的错误判断由驱动软件完成,不需要用户对仪器性能指标有充分的了解,避免误操作。附图说明图1为本专利技术仪器属性的错误识别方法的流程图。图2为Al功能的链表。图3为AO功能的链表。图4为DI功能的链表。具体实施例方式该方法具有通用性,不仅面对ー种数据采集仪器实现错误识别;该方法具有可靠性,错误判断算法与仪器属性紧密结合,确保错误判定的可靠性,当发生错误时,能保证仪器正常工作或正确停止运行,避免系统崩溃或异常退出;该方法支持驱动函数提供详细的错误提示,用户无需对仪器功能指标有详细的了解,当用户操作错误时,例如,设置仪器エ作上限超出仪器允许范围时,软件将及时向用户发出详细的提示信息,通知用户仪器允许的操作范围。下面结合附图并举实施例,对本专利技术进行详细描述。图1为本专利技术仪器属性的错误识别方法的流程图,如图1所示,该方法包括以下步骤:S00,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可能的性能属性。本实施例以数据采集仪器为例对本步骤SOO进行举例描述:目前数据采集类仪器的功能能够归纳出如下6项:模拟输入功能、模拟输出功能、数字输入功能、数字输出功能、定时器/计数器输入功能、定时器/计数器输出功能。上述每项功能都具有多种性能属性。但是对于不同仪器来说,即便功能相同,功能具有的性能属性也不一定相同。以“模拟输入功能”为例,仪器的属性包括通道类型、通道个数、通道名称、测量设备类型、単位、耦合方式、阻抗、増益、输入方式(終端类型)、是否低通滤波、允许最大值、允许最小值。对于仪器A其具有其中全部性能属性,对于仪器B来说只具有其中部分。具有同种功能的仪器差异在于仪器的性能属性,可能仪器A的输入方式包括參考单端、非參考单端、差分、伪差分,仪器B的输入方式可能仅包括差分方式。为了便于在程序中引用不同的输入方式,采用宏定义方式定义所有性能属性取值,例如:#defme Attribute—RSE10083 // 单端#defme Attribute—NRSE10078 // 难单端ffdefme Attribute—Diff10106// 差分#define Attribute PseudoDiff12529 // 伪差分S01,编写仪器属性链表,建立仪器资源架构。如前所述,不同的仪器是有着相互联系的,因为它们可能具有相同的仪器属性。因此,采用链表记载仪器属性信息,步骤SOO中归纳出的每种功能对应ー个仪器属性链表,链表的ー个结点为ー个仪器,每个结点中的元素包含相应功能下的所有可能的性能属性。由于仪器属性可以是数值类型、字符类型、数组类型等,因此以结构体变量作为链表结点最为合适,定义如下: struct AIDevice /*定义模拟输入仪器属性信息资源链表*/{ intAddr;unsmnedModuieName; mt32ProductCategory; BOOLChanneIType; unsignedChannelN um; float64MaxVa I ue;f!oat64MinValue; structAIDevice sisIiext; };例如建立模拟输入功能(Al)链表,链表内容包括所有模拟输入通道属性,如图2所示,图3为模拟输出功能(AO)资源链表,图4为数字输入功能(DI)资源链表。在资源链表中,可以定义一些不属于仪器属性和错误内容的代码,以便更好的识别资源。例如整形-2111代表不具有某项属性,-1111代表不具有某个属性值;字符型""表示不具有某内容。通过链表不同的仪器有机的联系在一起,实现了对不同仪器属性的统ー管理。通过对链表的插入、删除、查询、比对、修改等实现对仪器属性的管理。链表的大小能够动态分配,可以增减结点数量,避免内存浪费。S02,在驱动软件中定义所支持的仪器的信息,包括仪器代号、仪器所具有功能和仪器属性链表地址。具体的实现方法为建立仪器结构体数组,如表I所示,内容包含驱动软件支持的所有仪器的代号、仪器所具有功能和仪器在链表中的地址,获悉仪器的链表址后,可以在不同的链表中查找到仪器的相关属性信息。表I仪器结构体数组权利要求1.,其特征在于,包括: SOO,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可本文档来自技高网...
【技术保护点】
一种仪器属性的错误识别方法,其特征在于,包括:S00,归纳出已有相同类型仪器的功能类型,针对每类功能确定该功能类型下所有可能的性能属性;S01,建立仪器属性链表,步骤S00中归纳出的每种功能对应一个仪器属性链表,仪器属性链表的每一个结点对应一个仪器,每个结点中的元素包含相应功能下的所有可能的性能属性;根据仪器属性填写仪器属性链表;S02,在驱动软件中定义所支持的仪器的信息,包括仪器代号、仪器所具有功能和仪器属性链表地址;S03,当用户配置仪器硬件时,向驱动软件输入待配置仪器的配置属性,驱动软件根据仪器代号判断待配置仪器是否属于驱动软件所支持的仪器,并且根据所述仪器所具有功能判断用户输入的配置属性是否隶属于待配置仪器所具有的功能;如果两项判断均满足,则根据所述仪器属性链表地址从相应功能的仪器属性链表中读取配置属性的属性值,判断用户配置的属性是否与读取的属性值相匹配,如果是,则继续进行硬件配置,否则,提示错误;如果两项并非均满足,则直接提示错误。
【技术特征摘要】
【专利技术属性】
技术研发人员:张伟楠,许崴稚,胡志臣,楚艳丽,杨立杰,
申请(专利权)人:北京航天测控技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。