2023年11月30日发(作者:)
条形码技术在传感器上的应用
吴英友;原春晖;潘亚军;陈炯
【摘 要】噪声振动测试往往需要大量的传感器,但早期的进口传感器和迄今为止国
内生产的传感器都未能实现自动识别.应用这些传感器,采集系统的通道灵敏度系数
需要手工设定.通过应用条形码技术读取传感器的序列号和灵敏度系数并保存到
MS Word文档,在PULSE系统提供的组件对象模型以及COM技术、
Automation技术的基础上,以Visual C++设计应用软件,进行PULSE系统软件与
微软的Office程序Word之间的数据交换,很好地实现了采集系统通道灵敏度系数
的设定,缩短了操作时间,也节省了购买TEDS传感器的经费.
【期刊名称】《中国舰船研究》
【年(卷),期】2008(003)002
【总页数】3页(P74-76)
【关键词】条形码;传感器;Automation技术;噪声振动测量;PULSE系统
【作 者】吴英友;原春晖;潘亚军;陈炯
【作者单位】中国舰船研究设计中心,湖北,武汉,430064;中国舰船研究设计中心,湖
北,武汉,430064;中国舰船研究设计中心,湖北,武汉,430064;中国舰船研究设计中心,
湖北,武汉,430064
【正文语种】中 文
【中图分类】TP212
1 引 言
对噪声振动进行测试时,常常需要上百个甚至更多的传感器。对各个通道传感器灵
敏度系数的设定,以前的作法是测试人员手工一个个地操作,工作量大且容易出现
错误。现在已经出现解决方法,即利用支持TEDS(Transducer Electronic Data
Sheet)技术的采集前端和传感器。采集系统可以识别连接在采集前端上的传感器,
并调用传感器内部元件存放的灵敏度系数应用在对应的通道上,完成通道的灵敏度
系数设定。但是目前只有如PCB、B&K等外国公司生产的传感器才支持TEDS技
术;国内生产的噪声振动传感器仍未能支持TEDS技术。另外,各个实验室现有大
量早期的(进口)传感器由于仍然完好,且价值不菲,仍将长期使用,TEDS技术于
事无补,需要另觅解决传感器识别的方法。
2 条形码技术
条形码别名条码,条形码是由美国的N nd在1949年首先提出的[1]。
条形码是由宽度不同、反射率不同的条和空,按照一定的编码规则(码制)编制而成,
用来表达一组数字或字母符号信息的图形标识符,或者说条形码是一组粗细不同,
按照一定的规则安排间距的平行线条图形。常见的条形码由反射率相差很大的黑条
(简称条)和白条(简称空)组成的。
随着计算机应用的不断普及,条形码的应用得到了很大的发展。条形码可以标出商
品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、
日期等信息,因而在商品流通、图书管理、邮电管理、银行系统等许多领域都得到
了广泛的应用。条码的应用有如下优越性:
1) 可靠准确
采用条形码扫描录入方式,误码率仅有百万分之一,首读率可达98%以上;
2) 数据输入速度快
普通计算机的键盘录入速度是每分钟200字符,而利用条码扫描录入信息的速度
是键盘录入的20倍;
3) 经济便宜
与其它自动化识别技术相比较,推广应用条码技术所需费用较低。
4) 灵活、实用
条码符号作为一种识别手段可以单独使用,也可以和有关设备组成识别系统实现自
动化识别,还可和其他控制设备联系起来实现整个系统的自动化管理。同时,在没
有自动识别设备时,也可实现手工键盘输入。
5) 自由度大
识别装置与条码标签相对位置的自由度要比OCR大得多。条码通常只在一维方向
上表达信息,而同一条码上所表示的信息完全相同并且连续,这样即使是标签有部
分缺欠,仍可以从正常部分输入正确的信息。
6) 设备简单
条码符号识别设备的结构简单,操作容易,无需专门训练。
7) 易于制作
可印刷,对印刷技术设备和材料无特殊要求。
3 COM技术、Automation技术和PULSE组件技术
通过对条形码技术的分析,我们认为条形码技术可以妥善解决传感器识别的难题。
但是,识别传感器之后,仍需将其所对应的灵敏度系数输入数据采集软件才能完成
通道灵敏度系数的设定。目前,中国舰船研究设计中心在噪声振动测量中使用的是
Bruel & Kjar公司的PULSE系统,其软件版本是PULSE8.0。PULSE软件为用户
扩展功能提供了Automation技术,基于此,我们使用Visual C++6.0,利用
COM技术、Automation技术和PULSE组件技术实现了将传感器灵敏度输入数
据采集软件。
组件对象模型COM(Component Object Model)是微软公司提出的一种开发和支
持软件对象组件的一种方法。组件实际上是一些小的二进制可执行程序,它们可以
给应用程序、操作系统已经其它组件提供服务。通过引入接口机制,把组件的功能
和具体实现分离开来,为组件复用提供了强有力的底层支持。微软的许多技术,如
ActiveX、DirectX已经OLE自动化等都是基于COM建立起来的[2]。
Automation是指一个应用程序通过某个对象去“操纵”另一个应用程序的机制。
其中,被操纵的应用程序称为Automation Server;操纵其它程序的应用程序称
为Automation Client。即Automation服务器提供了一种“暴露”的对象,
Automation客户通过对这种对象的操作来操纵Automation服务器程序。
Automation技术的优势在于:它把不同应用对象集成到一个编程环境中去,所有
对象可被任何支持的编程语言访问。
Bruel & Kjar公司的PULSE组件则是建立在(OLE)Automation基础上的实现若
干标准接口的COM对象。它是PULSE系统的应用开发平台。PULSE组件通过接
口的形式为软件开发者提供了PULSE系统中的绝大多数功能。本文的噪声与振动
测量数据处理系统中主要使用了PULSE组件中的PulseFrontend对象。图2为与
PulseFrontend对象相关的PULSE对象组件结构简图[3]。
图2 PULSE对象组件结构简图
4 软件与PULSE之间的通信
PULSE为用户提供了外部控制和数据输出的机制,这就是OLE和ActiveX
Automation技术。在PULSE中所有的数据都被封装成对象的形式,并形成树形
结构,如图2所示,这样就可以通过根对象对所有的其它对象进行访问。
Application对象是根对象,通过这个对象的Project属性,就可以访问PULSE
所有的对象。这个对象具有一些操纵集合的方法和属性,如Add,Remove,
Item和Count属性,通过这些方法和属性就可以对集合对象进行相应的操作,比
如插入、删除等。熟悉了PULSE的组件对象模型的逻辑结构之后,我们就能够正
确地在我们的程序中操纵PULSE软件。其步骤如下:
1) 将PULSE的类型库添加到VC++6.0的工程项目中,可以通过
#import "" no_namespace将PULSE类型库添加到项目中;
2) 初始化COM,缺省的VC++6.0工程项目中,是不会初始化COM的,我们可
以通过在App的InitInstance()函数中添加AfxOleInit()函数的方式来初始化
COM。
3) 定义一个PULSE的根对象Application,如上文所说的那样,借助这个根对象,
就可以操纵PULSE的所有对象。
//定义Application对象的智能指针
IPulseLabShopPtr m_PulsePtr;
//创建Application的实例
HRESULT hr = m_Instance(__uuidof(Application));
//打开PULSE项目文件
OpenProject(sProject,_variant_t((bool)TRUE),_variant_t((bool)FALSE))
//关闭PULSE项目文件
CComVariant DoClose(true);
m_PulsePtr->CloseProject(DoClose);
5 传感器灵敏度系数的自动设定
将传感器都用唯一编号的条形码标记,然后用条形码扫描仪扫描传感器的条形码,
识别传感器序列号和灵敏度系数,并将扫描结果生成word文档。微软的Office
软件也提供了COM技术接口。许多相关文献有详细的论述,这里不再赘述。仅将
实现过程简述一下。操作存放有传感器序列号和灵敏度系数的word文档,同时采
用OLE Automation技术操纵PULSE软件,依次拷贝传感器序列号和灵敏度系数
粘贴到PULSE软件的Signal设置中,完成采集前端通道的灵敏度设定。
6 结 论
通过应用条形码技术,很好的实现了传感器的识别,缩短了噪声振动数据采集前端
的通道灵敏度系数设定时间,大大的提高了工作效率。同时也使得老式传感器能继
续发挥作用,节省了购买新型传感器的大量经费。
参考文献
[1] 韦元华.条形码技术与应用[M].北京:中国纺织出版社,2003.
[2] 潘爱民.COM原理与应用[M].北京:清华大学出版社,1999.
[3] 王莉,邱洪泽,等.Automation技术在Word联机考试系统中的应用[J].计
算机技术与应用,2005(3):97-103.


发布评论