1 概述
AmericanSigma940流量计(图1)是美国Sigma公司专为在危险或潜在危险环境下监测废水长期流量的仪表。AmericanSigma940采用先进的超声波1MHz多普勒传感器,避免了信号失落,在低流量、满管流、逆流条件下均能提供很高的精度,能自动校正温度对水位测量的影响,专利技术“水位降修正”可以纠正速度对水位测量的影响。

图1 940流量计
中石化武汉分公司一直采用AmericanSigma940防爆面积流量计对各个车间污水流量计量,AmericanSig2ma940每次自动记录水位和流速参数各1个,用户在一定的时间内使用便携式计算机到流量计现场通过随机配售的RS2232电缆完成数据的采集与保存。该流量计的数据储存容量为:306d(每15min记录2个水位和2个流速值,每周取一次数据),数据类型为水位和流速,储存方式为先进先出型或者存满为止型,因此,用户必须在一定的时间间隔内去现场采集数据。此种工作方式,用户无法实时获得数据,因此对数据的管理和数据的分析带来了较大的困难。
2 系统结构设计
针对实际使用中的问题,系统结构设计如下:
(1)在车间(安全地方)采用防爆本安电源变换器,将12VDC直流电源,通过电缆传送到现场流量计,以解决因数数据采集由间隔取数变为实时取数引起的原蓄电池电能不足的问题。
(2)采用串口无源远程收发器实现将流量计的RS-232信号无源隔离远传至车间(安全地方)。考虑到防爆需要,传输信号通过RS232隔离安全栅进入系统。
(3)在车间(安全地方)配置以太网转RS2232端口服务器,将流量计的RS2232信号连接到工厂已有的以太网络中,使连接到网络中的RS2232设备具有了远程管理及数据访问的能力。
(4)在厂相关管理部门配置一台数据服务器和相应的软件(WINDOWSSERVER2003、MicrosoftSQLserver2000及应用软件),完成对流量计数据的实时采集、显示、分析和数据入库,实现数据的共享。对于流量监测采用B/S架构,在服务器端采用WEB技术,实现数据查询、统计、分析等功能。
(5)在厂安环处配置一台管理计算机,安装C/S架构的流量监测数据管理软件(数据通过网络,来自数据服务器),完成数据管理功能(备份、恢复、整理等)。有关车间办公室或仪表操作室的管理计算机上,通过浏览器可以直接访问流量监测的数据,数据传输拓扑结构见图2。

3 通信协议及其实现
3.1 940通信协议
940流量计支持两种通信协议:一种为其内部自定义协议,能够支持流量计安装管道计算公式、通讯参数、采样时间等设置,并具有历史数据查询等强大功能,但其并不对外公开;另一种协议为标准ModbusASCII协议,直接通过RS2232通讯。Modb2us协议是应用于电子控制器上的一种通用语言,通过此协议,控制器相互之间及控制器经由网络(例如以太网)和其它设备之间可以通信。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程和如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
当在Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。为了能成功地使用ModebusASCII协议与940流量计通信,通信参数必须设置成7位数据位、偶校验和一个停止位。波特率能够使用940支持的所有波特率。除波特率外,其他的通信参数都不能改变。
940流量计只支持Modbus只读功能,能读取各通道和全部流量信息,但不能对流量计进行参数配置和历史数据查询,所获得的数据为最近一次采样值,并在下次采样之前保持不变。
在实际使用中,需要首先到现场使用原配设置软件,根据安装位置情况对每台表进行各种参数的初始设置,然后使用本系统进行数据定时采集入库,并进行WEB发布。
940流量计包含有一个小型的通讯握手协议。当流量计识别到一个外部的RS232数据源连接时,即外部的RS232数据源的DTR线为高电平时,940流量计将从休眠状态唤醒,并发送字符“X”表示940流量计已经准备好可以通讯,并维持RS232硬件处于通信活动状态,此时数据终端设备(DTE)必须建立并保持DB9连接器(仪表的DSR)的DTR线为高电平。940流量计不支持RTS/CTS硬件握手协议。注意DTE必须设置为12s的最大超时时间。
3.2 通信的实现
设置在厂信息中心的数据服务器软件采用VC6.0开发,操作系统为WindowsSERVER2003,WEB发布使用IIS6.0,发布页面使用ASP.net编写。数据服务器通过厂内局域网、以太网到RS2232端口服务器及串口无源远程收发器访问940流量计的通信端口,通信采用ModbusASCII协议,其中数据服务器为主机,940流量计为从机,通过主机定时对从机的污水数据采集、整理、入库,实现了对全厂污水流量数据的采集和管理。数据服务器软件由于需要采集20多台仪表,并且一个串口对应一台流量计,为加快采集速度程序采用多线程技术进行通信,一台仪表对应一个线程,多台仪表同时采集。遇到通信故障采取3次重试方式,保证通信成功率。
在ModbusASCII信息中所有数据地址,标准值都使用零。因而,寄存器0000表示的是一个在标准表示中40001寄存器的地址。由于功能代码指定了寄存器的类型,因此,4XXXX就已经暗示了它的类型。表1、表2中说明了940流量计的寄存器内容①

查询命令遵循以下格式,即:
【开始】【从机地址】【功能码】【开始高位地址】【开始低位地址】【数据量高位】【数据量低位】【LRC校验】【停止位】
例如,数据服务器要读取940流量计的水位通道,则发出的查询指令应如表3所示。

在表3中,数据服务器通过查询940流量计的只读保持寄存器来查询数据,保持寄存器的地址为4xxxx,从机号为01,从保持寄存器40007~40008中读取的信息为水位信息,它使用2个寄存器来保存浮点类型的数据。注意寄存器是从地址0000开始存放数据的。
流量计在接收到查询命令后,将按表4的格式返回水位数据。
流量计回应的信息中包含有从机(流量计即为从机)地址号和指令,这些信息表明了主机和940之间没有通讯故障。字节数信息指明在数据段中将返回多少个8位的数据。在ModbusASCII协议中,这是实际返回的ASCII信息字符数目的一半。40007寄存器的内容用2个16进制字节0000显示,40008寄存器中则用2个16进制字节4170显示。合起来,这些值就返回了940流量计中的水位信息,水位信息格式采用IEEE浮点数标准,每条命令都采用LRC校验保证数据的准确性。
由于延时的问题,返回的数据信息可能在发出查询命令12s后才会响应请求。因此我们在系统中设计了一个12s延时来适应这个潜在的问题。就是流量计通过RS2232由给定的Modbus请求响应时间。在实际使用过程中正常通讯时间一般在200ms左右,为了加快查询速度,可以根据实际情况在采集程序中调整通讯超时时间。
4 结语
通过增加相应的设备和必要的软件,利用工厂已有的厂内局域网,我们完成了现有流量计的相关数据远程传送等改造工作,实现了数据的实时显示,并且将数据保存到相应的数据库,达到了数据的共享,保证了相关管理部门对全厂污水数据的管理和分析。经过2年的运行,系统目前工作正常,获得了该厂有关部门的肯定和好评。
参考文献:
[1] GB/T19582-2008,基于Modbus协议的工业自动化网络规范.[S].




