本发明专利技术属于一种工业测控领域,尤其涉及对串口仪表进行数据采集的通用软件模块的设计开发方法,采用DLL的节省内存和硬盘空间以及使软件模块化的优点,尤其是总结了根据串口仪表通讯协议的共同特点后定义了一种特殊的DLL规范,这个规范就是XHDLL规范,其中包括标准的XHDLL规范通用要求,标准的XHDLL规范接口函数,XHDLL开发方法,XHDLL调试以及XHDLL使用方法。本发明专利技术的有益效果在于:本发明专利技术能够兼容不同厂家的仪器产品,兼容性好,开发维护方便,对硬件平台的要求比较低,这也减少了开发、实施、维护的成本;对开发者的知识经验要求不高,这也降低了这个规范的开发技术门槛。
【技术实现步骤摘要】
本专利技术涉及一种工业测控领域,尤其涉及。
技术介绍
对于环境监控等应用领域,一般使用数据采集传输仪通过串口连接到不同的监测仪表,然后采用该仪表专用的通讯协议采集其数据,最后汇总上传给监控中心的架构模式,如图1所示,图上显示的为远程数据采集架构图。通常采用资源比较充足的工控机来做采集数据采集传输仪的硬件平台,选择WINDOWS或LINUX操作系统,然后开发运行在该操作系统上的专用软件来实现数据采集。这个专用软件,即测控软件必须能对仪器设备的数据进行采集。因为受监控企业可以自行选择采用何种符合环保要求的仪器,这就要求软件必须能适应这种情况,所以就导致一些问题的产生:(I)不同的人选用不同厂家的监测仪表,而现实中不同厂家的监测仪表的通讯协议大都是自编协议,几乎没有相同的;(2)有些仪表的通讯协议尽管相同但又各有特殊性。比如对于MODBUS协议而言,参数所在的寄存器位置不同或参数值所占用的寄存器数目不同或者参数的解码方法不同;(3)监测仪表输出的数据种类增加或精度提高;(4)使用的监测仪表的升级换代情况。因此,设计开发一种对串口仪表进行数据采集的通用的软件模块是非常有必要的。
技术实现思路
本专利技术为克服上述的不足之处,目的在于提供,该方法采用一种专门定义的DLL规范,能够节省内存和硬盘空间以及使软件模块化和对串口仪表的采集接口通用化。本专利技术是通过以下技术方案达到上述目的:,其特征在于:采用DLL作为实现对串口仪表进行数据采集的软件模块,规定了该类DLL的特殊要求,这种规定为XHDLL规范。每一种仪表根据其通讯协议及XHDLL规范要求编写开发一个XHDLL ;利用测控软件对XHDLL进行调试;将XHDLL通过互联网传递给用户操作员,用户操作员把测控系统使用的仪表对应的XHDLL复制到测控软件工作目录中;测控软件采用操作系统的API函数显式载入XHDLL ;测控软件调用XHDLL采集数据;[0011 ] 测控软件卸载XHDLL,释放空间。作为优选,XHDLL的开发方法步骤如下:I)使用开发工具的DLL开发功能,生成一个以仪表名称拼音或英文为名字的空DLL项目,并产生相应的头文件与源文件;2)在空DLL项目的头文件中添加XHDLL规范接口函数原型,并且按照开发工具的导出函数声明句法声明为导出函数;XHDLL规范接口函数原型包括:仪表米集命令生产函数:intEncode (int Code, BYTE*buf, int bufLength);仪表响应解析函数:BOOLDecode (int Code, BYTE*buf, intbufLength, float氺pfData);仪表启动命令生成函数:intStartEncode (int Code, BYTE*buf, intbufLength);仪表停止命令生成函数:intStopEncode (int Code, BYTE*buf, int bufLength);获得仪表超时值函数:int GetTimeOut (void);获得参数索引函数:B00LGetParameterIndex (TCHAR*ParaBuf, intbufLength, int*pnlndex);3)根据XHDLL规范对接口函数要求,在DLL的源文件中,参考仪表规格书或使用说明书,以C语言分别实现接口函数;4)编译连接,生成XHDLL。作为优选,XHDLL通过测控软件调试,具体包括以下步骤:I)根据仪表说明书,选择一条或几条真实的仪表的采集命令、该命令的响应以及该响应提供的参数数值,作为样例命令、样例响应及样例参数值;2)启动测控软件并以调试模式运行;3)添加仪表参数;4)测控软件载入并调用DLL中的函数进行数据采集,在读取串口数据后添加断点,把样例响应写入临时缓冲区当做读到的数据;5)继续运行测控软件,得到对样例响应解析后获得的参数值;6)若获得的参数值同样例参数值不一致,则修改XHDLL源代码,重新调试,直到参数值与样例参数值一致。本专利技术的有益效果在于:(I)当监测仪表新增加或改变时,只需要对每一种仪表编写一个XHDLL,然后通过互联网传递给用户操作员,操作员把该XHDLL复制到测控软件工作目录即可,不必要去现场进行开发。(2)方便用户增购监测仪表,适应用户升级仪表,升级后的监测仪表的XHDLL取同未升级监测仪表XHDLL不同的名字,这样两个不同硬件版本的同一厂家的监测仪表可以在同一系统和谐地工作。(3)开发者可使用自己熟悉的开发工具开发XHDLL,节约了好多时间,也为开发者开发此DLL提供了方便,对开发者的知识经验,计算机知识,编程能力要求也比较低;XHDLL只处理协议编解码,不涉及硬件,由于与硬件无关,编写、调试、测试都简单容易;开发者熟悉了仪表的通讯协议相关采集的几个命令,就可以迅速开发完成并提交用户符合要求的XHDLL ; (4)细化对采集参数的采集控制,增强了软件的适应性。参数指监测仪表测量获得的一种数据,监测仪表可以测量多种物理量因而获得多种数据。以参数为最小采集单位,就可以针对每个参数设定采集间隔和采集参数;(5)XHDLL与测控软件或应用软件开发完全分离,其使用显式载入的方法。当测控软件开发成功后,不会因为仪表的增减而改变,也不必重新建构测控软件即可使用和测试XHDLL ; (6)占用的用户存储空间小、兼容型性好,运用的范围广。XHDLL采用C标准库编写,完全可以被其他测控软件直接使用,不限于用于监测领域,用途广阔;只需要重新建构一下,不需要修改源代码,就可以把XHDLL用在不同的操作系统上;(7)降低了硬件平台的资源要求,也使得开发的应用软件因模块化而易于维护。XHDLL本质是一种DLL,因此对内存和硬盘容量的要求低,模块化了测控软件;(8)解决了用户监测系统的变动问题。【附图说明】图1是远程数据采集架构图;图2是本专利技术方法的步骤流程图;图3是测控软件添加XHDLL仪表参数界面;图4是测控软件使用XHDLL采集数据流程图。【具体实施方式】下面结合具体实施例对本专利技术进行进一步描述,但本专利技术的保护范围并不仅限于此:实施例1:本专利技术的,如图2所示包括:根据仪表说明书及通讯协议确定串口配置参数、采集相关命令及响应解析方法;每一种仪表根据XHDLL规范编写开发一个XHDLL ;利用测控软件对XHDLL进行调试;将XHDLL通过互联网传递给用户操作员,用户操作员把添加仪表对应的XHDLL复制到测控软件工作目录中;测控软件调用XHDLL采集数据;测控软件卸载XHDLL,释放空间。XHDLL规范通用要求包括以下几点:1、每种不同的监测仪表都必须有一个与之对应的XHDLL。2、调用XHDLL的测控软件或应用软件应该满足如下条件:(2.1)必须提供一个对话框,可参考图3。该对话框至少需要包括允许用户输入或修改XHDLL名字、采集参数、设备地址的编辑控件,包括输入或修改串口及其参数的控件;(2.2)测控软件应该能够允许用户存储、删除、增加、修改、显示通过上述对话框提供的用户输入;3、一种监测仪表产生多种参数,这些参数的采集命令是不同的,XHDLL必须支持根据参数的不同生成不同的命令。4、使用零基整数索引来对一个监测仪表的参数进行编码,比如一个监测仪表有3个参数,则编码本文档来自技高网...
【技术保护点】
对串口仪表进行数据采集的通用软件模块的设计开发方法,其特征在于:采用DLL作为实现对串口仪表进行数据采集的软件模块,规定了该类DLL的特殊要求,这种规定为XHDLL规范。每一种仪表根据XHDLL规范编写开发一个XHDLL;利用测控软件对XHDLL进行调试;用户操作员把添加仪表对应的XHDLL添加到测控软件工作目录中;测控软件调用XHDLL采集数据;测控软件卸载XHDLL,释放空间。
【技术特征摘要】
1.对串口仪表进行数据采集的通用软件模块的设计开发方法,其特征在于: 采用DLL作为实现对串口仪表进行数据采集的软件模块,规定了该类DLL的特殊要求,这种规定为XHDLL规范。 每一种仪表根据XHDLL规范编写开发一个XHDLL ; 利用测控软件对XHDLL进行调试; 用户操作员把添加仪表对应的XHDLL添加到测控软件工作目录中; 测控软件调用XHDLL采集数据; 测控软件卸载XHDLL,释放空间。2.根据权利要求1所述的对串口仪表进行数据采集的通用软件模块的设计开发方法,其特征在于,XHDLL的开发方法步骤如下: 1)使用开发工具的DLL开发功能,生成一个以仪表名称拼音或英文为名字的空DLL项目,并产生相应的头文件与源文件; 2)在空DLL项目的头文件中添加XHDLL规范接口函数原型,并且按照开发工具的导出函数声明句法声明为导出函数; XHDLL规范接口函数原型包括: 仪表米集命令生产函数:int Encode(int Code, BYTE*buf, int bufLength); 仪表响应解析函数:BOOL Decode (int Code, BYTE*buf, intbufLength, float氺pfData); 仪表启动命令生成函数:int StartEncode (int Code, BYTE*buf, int bufLength); 仪表停止命令生成函数:in...
【专利技术属性】
技术研发人员:薛宏,王辉,张标标,杜克林,
申请(专利权)人:浙江银江研究院有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。