例谈燃气管网数据采集系统
一、概况
宁波燃气管网拥有一套SCADA系统来实时监测各个场站的动态信息。其模型如下图所示:
目前公司建设有一个调度中心,3个门站,11个调压站,50多个重要工业用户。相对于上千个管网用户,能监测到的数据是比较少的。而要全部监测这些管网用户,采用这种模式的监测方式,成本是巨大的。如何应用有限的资源来监测更多的用户成为本次研究的目的。
一、研究的思路
排除公司那些重要的工业用户、门站、调压站以及阀室,剩下的占比例最大,数量最多的就是公建用户了。这些用户要监测的数据主要为压力变送器和体积修正仪的数据。这些用户的体积修正仪品牌主要为:EK系列,天信系列。通讯协议皆为MODBUS。EK系列接口为RS232或RS422,天信则为RS485。在宁波燃气管网SCADA系统里采用的是IFix组态软件。整套系统的工作原理主要是IFix通过TCP/IP MODBUS协议向下面站点的PLC或RTU取数据,PLC或RTU通过MODBUS协议向现场的体积修正仪取数据。这样基本上下面每个站点都要配备一个RTU,这个是建设一个下位站点所需费用的大头。在平常的维护、建站中,我们可以发现每台体积修正仪其实是可以用计算机读取到数据的,那么我们转换一下思路,舍弃掉RTU,用一台服务器直接读取下面各个智能设备的数据是否可行呢?如果可以的话,那么其模型就变成如下图所示:
二、模型的实现
实现上述模型,关键是服务器通讯处理软件(DSC)的设计。
首先,IFix同DSC的通讯走的是以太网络,DSC相当于一台PLC。IFix向DSC寻数据,走MODBUS/TCP协议,DSC必须对IFix的询问做出回应,发送相对应的数据。其对应于IFix发送的数据格式如下所示:
按照上述需求,DSC只要在窗口做一个消息响应函数,当有数据发送过来时,即可反馈数据。
DSC向下各个体积修正仪寻数据是一个难点。在通讯上,因中心同下面各个站点的距离比较远,必须走无线通信。终端站点必须有一个无线收发设备,此时走的是TCP/IP协议,终端设備走的是串口协议,两者需要进行协议转换。通过研究比对, DTU设备符合这两种功能。DTU (Data Terminal unit)全称数据传输单元,是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信 网络进行传送的无线终端设备。其接口为RS232或者RS485。DSC可以通过DTU向连接DTU的各种设备发送数据。
通讯架构设计完成,剩下的是关于向体积修正仪发送数据的实现。DSC应先与DTU建立通讯连接。以宏电DTU为例,先将DTU端配置好,设定好要建立通讯的服务器端地址,这样启动后它会定时向DSC发送数据,建立通讯。而在DSC端的设计:
1. 判断DTU是否在线,如果在线继续执行下一步。 2. 对在线的DTU发送数据。 3. 定时接收DTU发回的数据。 4. 对接收到的数据进行解析放入缓存。
因为是无线网络的传输,DSC对应有很多个DTU,DTU下面又有1-3个设备挂接。当DSC向下寻数据时,下面的应答不会实时的,有一定的延时性,故将发送和接收数据做异步处理,即两个功能块用两个线程同时启用,相互工作。这里发送与接收的数据协议采用串口的MODBUS协议。
ModbusRTU采用主从方式,若主机设备发送一个信息,则可从一台从机设备返回一个响应,类似的,当一台从机设备接受信息时,它就组织一个从机设备的响应信息,并返回至原发送信息的主机设备。
当通讯命令由主机发送至从机时,符合相应地址码的从机接收通讯命令,并根据功能码及相关要求读取信息,如果CRC校验无误,则执行相应的任务,然后把执行结果返送给主机。
服务器软件DSC的实现:
软件采用两个线程,主线程显示主界面,用来设置数据。报文处理线程用来监听报文帧、分析报文、取出主界面设置的数据并打包做出回应。
对于各个部分的功能用类进行封装处理,力求使程序简洁易懂、便于移植。程序中所用的各种模块如下:
(1) 线程问数据传送模块:用于主线程与子线程间传送主界面所设置的数据,采用全局变量进行线程间通信,使用互斥体进行线程同步。
(2) DTU数据接收模块:实时监测DTU在线状态。DTU发来的数据包有:心跳包、注册包、错误包、数据包等。
(3) 数据发送模块:用定时器定时对DTU发送数据。
(4) Modbus协议模块:对数据收发进行封装并实现ModbusRtu的各种报文规范。定义了报文格式的两种结构-PDU(协议数据单元)和ADU(应用数据单元),及两者互相转化的方法,并在此基础上实现了对接收报文的判断解析和欲发送报文组织打包。
(5) DRC校验模块:用于生成发送报文的16位CRC校验码,并对接受的报文再次生成CRC校验码以便于与原校验码进行比对。
三、结束语
利用上述方法,在VS2010环境下编制的DSC软件在测试中能够很好的运行起来。主要费用为一台服务器,每个站点的硬件设备为电源模块,DTU设备,自控箱体以及安全栅,大大节省了费用,可以应用于小流量,简单数据采集的用户。
参考文献:
[1] 申利民,李峰 一种利用外挂监视器提高SCADA系统可生存性的方法 [J] 仪器仪表学报 2009(5)
[2] 郑彩英,鲍雅萍等 基于无线SCADA的电网菜蔬采集系统设计应用 [J] 仪器仪表学报 2006(z1)