基于RS485和LabVIEW的电参数测量仪数据采集系统

2015-05-25 10:20张素萍李朝强高照阳
仪表技术与传感器 2015年6期
关键词:测量仪微机功能模块

张素萍,李朝强,高照阳

(1.天津中德职业技术学院,天津 300350;2.北京经济管理职业学院,北京 102602;3.上海交通大学,上海市复杂薄板结构数字化制造重点实验室,上海 200240)

0 引言

电参数测量仪作为工业生产现场的一种重要测试仪器,在确保产品质量可靠性验证方面发挥着至关重要的作用。但是,目前电参数测量设备通常分布在现场的各个区域,增加了设备集中监控和数据采集集中管理的难度,同时由人工进行测试和记录相关数据,这必然会产生人力成本过高、生产效率低下的问题。网络通讯技术的发展,使得电参数的网络化远程采集成为可能,本文提出了一种利用LabVIEW智能仪器平台,通过RS485总线对工业智能仪表进行组网实时数据采集程序的新方法。系统以软件为核心,采用模块化设计,以微机(PC机或工控机)为上位机,将分布在各处的电参数测量仪组成自动测量网,实现多台电参数测量仪采集数据的远程高保真实时传输,实现集中化管理,数据深加工和信息深处理,以及数据保存和多形式输出等功能[1]。

1 系统总体设计

系统主要由微机(PC或工控机)、RS232/RS485转换器、电参数测量仪(各仪表地址不能有相同者)、通信线缆等组成。微机作为上位机,主要功能是利用LabVIEW监控软件向各电参数测量仪轮流发送读数据命令、然后接收和处理来自相应电参数测量仪的数据[1]。RS232/RS485转换器,主要是把微机串口的RS232信号转换为RS485信号,这样既可以将多台电参数测量仪共用RS485总线组成监测网,又可以实现数据的远距离传输。电参数测量仪负责采集和处理被测信号、接收微机命令、向微机发送采集的数据等。系统总体设计逻辑框图如图1所示。

2 系统软硬件设计

2.1 系统硬件设计

图1 系统总体设计逻辑框图

系统硬件设计主要是利用工业生产现场设备,组建成一个安全、稳定、可靠运行的RS485总线网络,其中组建设备主要包括微机1台、21英寸LED显示器1台、RS232/485转换器1个、32台电参数测量仪和32台工业生产被测设备,通信电缆若干长[2]。其中,微机主要用来运行LabVIEW软件,对工业生产现场的相关实时数据进行采集及处理,然后通过LED显示器进行显示,供管理人员进行查询和数据分析。32台工业生产被测设备主要提供电压、电流、温度、阻抗等模拟信号量,供32台电参数测量仪进行数据采集。

2.2 系统通讯协议约定

鉴于系统采用RS485工业总线进行多台智能仪表组网的特点,系统PC机或工控机与智能仪表之间的通信协议是一种建立在主从结构之上的遵循命令应答的应用层通信协议,其采用一对多的主从工作方式,即允许一台主机可以与同一网络中至少一台从机进行数据通信,而每台从机都必须有唯一的从机地址,其地址范围为0~255[3-4]。通信总线是由主机首先发出命令帧开始,处于同一网络中的所有从机都将收到主机发出的命令帧,并且查看命令帧中的地址是否与本机地址一致。如果一致,则从机根据相应的命令,向主机返回应答帧,从而完成一次通信过程。在任何时刻,各个从机之间都不会以任何形式进行任何方式的通信。针对某个生产厂家某种型号的智能仪表来说,通讯协议的制定可能会有不同,但是只要该智能仪表具有RS485接口,基于主从结构的通讯协议的设计思想是一致的。系统中用到的电参数测量仪这里以8721F型为例。其通讯协议约定如下:

2.2.1 通讯字节格式说明

8位数据、1位起始位、1位停止位、无校验。先传低位,后传高位,位传送方式与微机一样(先传低位,后传高位)

2.2.2 通讯帧格式

(1)上位机发送格式:55H-Address-Command-CS,如表1所示。

表1 上位机发送命令格式表

(2)仪表回送格式 :AA-Address-Command-Data-CS,如表2所示。

表2 仪表回送数据格式表

(3)传送的速率:300~9 600。

2.3.3 上位机发送通讯命令及仪表回送数据命令

8721F型电参数测量仪的通讯命令及仪表回送数据命令很多,但是与本系统设计相关的命令只有一条:上位机读取电参数命令(10H),具体情况如下:

上位机发送读取电参数命令格式:55H+Address+10H+CS;

下位机(仪表)回送数据格式:AAH+Address+10H+数据(电压,电流,功率,功率因数,电压频率,电流频率,电压正峰值,电压负峰值,电流正峰值,电流负峰值,电压波峰系数,电流波峰系数)+CS,每个参数4个字节,回送12个参数,共回送12×4+4=52个字节。

2.3 系统软件设计

基于上述的智能仪器组网硬件构架,进行以软件为核心的网络化数据采集系统的开发。测控软件是整个系统的灵魂,其设计的好坏将直接影响着整个通讯组网的可靠性、稳定性和数据采集的准确性[5]。系统软件设计是基于微机进行研发的。针对微机的软件开发语言,目前比较流行的有两种,一种是面向对象的可视化编程语言,例如 VC++,C#,JAVA,DELPHI,VB等,另一种是可视化的图形编程语LabVIEW。相对于传统面向对象编程语言,LabVIEW具有编程简单方便,界面形象直观,缩短开发周期,并可根据用户的需要对系统做出快速修改等优点,所以,本系统选用LabVIEW作为系统应用软件的开发平台。

系统根据软件工程模块化的设计思想,主要分为串行通讯、采集数据校验、采集数据浮点数处理、数据显示、数据存储、数据报警等功能模块,并提供统计、分析、绘制图表、存储、打印等工作。把各模块设计成子Vi形式供主程序动态的调用。软件设计流程如图2所示。

2.3.1 串口通讯程序功能模块

在LabVIEW中实现串口通讯有2种方法:一种是利用其自身的VISA(虚拟仪器软件构架)驱动程序,另一种是利用标准串口通讯函数在VC++、VB中开发动态链接库函数(DLL)供LabVIEW调用实现串口通讯。其中,第一种方法(VISA)具有编程简单,开发周期短,界面友好,程序可移植性强、易维护的优点,所以,本系统选用VISA串口通讯方式。利用VISA串口进行通讯程序设计,首先确保LabVIEW开发平台安装了VISA驱动程序,然后就可以调用VISA串口函数进行程序设计。VISA串口函数主要包括以下几个[6-7]:

图2 系统测控软件设计流程图

(1)VISA onfigUre Serial Port。用于初始化所选择的串行口。其中VISA resource name用于选择所用到的串行口,PC机中常用到的串口号分别用COMl和COM2表示。Flow control用于设置握手方式,buffer size用于设置缓冲区的大小。Baud rate,data bits,stopbits,parity分别用于设置串行通信的波特率,数据位长度,停止位长度,校验方式。

(2)VISA Write。用于将 write buffer中符写到 VISA resource name指定的串行接口中。

(3)VISA Read。从ⅥSA resouree name指定的串行接口中读取规定字节数的数据,并将这些数据传递给read buffer。Byte count用于设置要读取的字节数。

(4)VISA Close。用于关闭VISA resource name指定的串行口,让出串行口的使用权。

本系统中上位机与下位机之间的RS485串口通讯Lab-VIEW程序框图如图3所示。

2.3.2 串口通讯数据校验功能模块

图3 LabVIEW串行通讯功能模块程序框图

该功能模块主要是上位机LabVIEW对下位机电参数测量仪回送过来的采样数据进行校验,判断接收到1帧数据的正确与否,当接收仪表数据校验正确时,才能对其做进一步的处理,否则,向用户提示错误报警信息。根据系统串口通讯协议约定,对1帧数据的校验采用依次判断帧起始符、仪表地址、命令字以及数据校验和是否正确的方法进行设计,具体LabVIEW程序框图如图4所示。

图4 LabVIEW串口通讯数据校验功能模块程序框图

2.3.3 4字节数IEEE754单精度浮点数转换成十进制浮点数

根据系统串口通讯协议约定,可知下位机电参数测量仪回送的每个采集量为4个字节的浮点数,那么如何将1组4字节数转换成十进制浮点数,是本数据采集系统设计的一个重点。

本系统所采用的浮点数为IEEE754单精度浮点数,该单精度浮点数据由4个字节组成,其中低字节在前,高字节在后,4字节共32位。IEEE754单精度浮点格式及计算如下:

(1)IEEE754单精度浮点格式(共4字节32位,从高到低)如表3所示。

表3 IEEE754单精度浮点格式

(2)转为十进制浮点数据公式为

根据IEEE754单精度浮点数格式及其计算方法,本功能模块LabVIEW程序设计如图5所示。

图5 IEEE754单精度浮点数转换成十进制浮点数程序框图

2.3.4 采集数据显示功能模块

此功能模块将上位机采集的各个电参数仪的实时数据进行实时数值显示和波形图显示,以方便管理人员进行查看。利用LabVIEW开发平台中丰富的显示控件,即可设计出系统的LabVIEW显示界面,如图6所示。

图6 系统LabVIEW显示功能模块界面设计图

2.3.5 采集数据存储功能模块

该功能模块主要是将上位机LabVIEW采集的电参数仪实时数据存储到上位机指定位置,便于管理人员今后进行历史数据查看和分析。采集数据的存储方法有2种:一种是将数据存储到EXCEL表格;另一种将数据存储到指定的数据库中[8]。鉴于本系统实时数据采集量不是很大,EXCEL表格强大的图表显示及数据分析能力以及管理人员对EXCEL办公软件比较熟悉,本系统采用EXCEL表格对采集的数据进行存储。LabVIEW开发平台中有相关的控件函数可以将采样数据按照一定的格式存储到EXCEL表格中。具体部分LabVIEW程序设计框图如图7所示。

图7 LabVIEW采集数据存储功能模块程序设计框图

2.3.6 采集数据报警功能模块

此功能模块主要是将上位机采集的指定电参数仪实时数据(电压、电流、功率、阻抗)与其相对应的设定报警值进行比较,高于该报警值,则主界面上相应的报警指示灯会进行指示,同时会出现报警声音提示。

3 结束语

本文以带有RS485接口的智能仪表8721F型电参数测量仪为例,利用RS485总线与微机的串口,应用智能仪器开发平台LabVIEW 2012实现了Windows环境下微机与多台带有RS485总线接口的电参数测量仪的串行通讯[9],在此基础上实现了工业生产现场被测产品的电压、电流、功率、频率等模拟电参数量的智能化采集、显示、存储及处理,有效解决了异地分布电参量数据实时网络化集中采集管理问题。已成功应用于工业生产现场,现场测试表明系统运行稳定可靠,能够有效提高生产效率和产品测试验证自动化管理水平。整个系统硬件结构简单,软件设计鲁棒性好,软硬件易于扩展,能够应用到不同的工业生产数据采集场合,具有较好的实用性和工程参考价值。

[1]高军丽,王宝珠.基于RS-485总线的智能分布式测控系统设计.计算机与现代化,2012(3):151-154.

[2]刘柱,朱培逸,赵兢兢,等.基于LabVIEW 黄酒发酵分布式监控系统的设计.仪表技术与传感器,2012(4):38-40.

[3]樊龙,张文爱.基于Modbus协议的智能电表数据采集传输系统的实现.制造业自动化,2014,36(2):120 -125.

[4]顾海勤,杨奕,全毅,等.基于MODBUS协议的智能仪表与PC机双向通讯设计.仪表技术与传感器,2013(12):33-35.

[5]吴卓葵,许胜棋.基于LabVIEW的多点报警温度监测系统设计.制造业自动化,2014(1):139-142.

[6]陈锡辉,张银鸿.LabVIEW8.20程序设计从入门到精通.北京:清华大学出版社,2007.

[7]楚现知,吴吉祥,李锦忠.基于LabVIEW的监控界面设计与单片机的串行通信.工业控制计算机,2005,18(7):69-70.

[8]史延龄.基于VB6.0和EXCEL的多台智能仪表数据的接收处理.自动化技术与应用,2010,29(6):81 -84.

[9]侴爱辉,张辉.人工智能仪表在实验监测控制过程中的应用.仪表技术,2011(4):3-6.

猜你喜欢
测量仪微机功能模块
电解电容对微机保护开关电源寿命影响及其优化策略
水平度与垂直度精密测量仪
荷塘区民办学校首试“微机派位”
基于单片机的便捷式LCF测量仪
揭秘身高体重测量仪
宽电容测量仪的设计
项目驱动式微机原理及接口技术教学方法
基于ASP.NET标准的采购管理系统研究
输电线路附着物测算系统测算功能模块的研究
功能模块的设计与应用研究