摘 要:随着网络技术与数字通信的飞速进步,基于物联网技术的燃气远程监控系统提出了一种基于MQTT协议。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。从而成功实现了对智能燃气流量计与智能卡控制系统及安全报警系统的远程监控。该系统对于提高燃气计量及管理的现代化水平具有重要的意义。
关键词:MQTT协议;煤层气;无线远程监控
1 MQTT协议简介
是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有較广泛的应用。
2 系统总体设计
2.1 系统架构设计
图1为基于MQTT协议的煤层气无线远程监控系统整体架构,系统基于工业云架构引入了MQTT中间代理,B/S架构软件,移动APP等新技术,构成了新一代的燃气监管控架构。员工不再依靠单独的传统的调度中心,而是通过APP,网页浏览等方式,实现了人人监管、移动监管的新办公方式。安全部门、调度中心、维保部门、巡线部门作为末端用户,充分使用岗位对应的软件功能,提升了工作效率和质量。
调度中心是公司内部的管控中心,根据智慧燃气云平台和铭石SCADA系统实时监控全市燃气管网压力流量等信息。不仅可以查询到今日用气量的同比和环比信息,还可以通过预测模型,分析出明日用气量和用气分布。区别于传统的调度方式,可以做到提前预知、提前部署。极大地释放了人员工作压力,缓解了用气高峰时的用气压力,减少了用气低谷时的浪费。
安全部门通过基于MQTT协议的煤层气无线远程监控系统的实时展示、实时报警功能,能在两分钟之内发现报警,响应报警。通过智慧燃气远传终端,将压力,门禁,切断阀状态和泄漏报警等信息,实时传送到智慧燃气云平台。平台会根据事先录好的信息,将具体报警信息例如超压报警,门禁报警,泄漏报警等推送到指定安全人员的手机APP上。APP会记录报警信息,处理状态,处理日期等信息,做到有记录可查,责任定点到位。
2.2 系统安全设计
当设备和系统暴露在公网环境中时,就有可能遭受到网络攻击。所以在使用这些远传监控设备和网络平台时,就必须有安全防护措施。煤层气无线远程监控系统设计了以下网络安全防护的措施:
①账号密码验证;
②智能终端内部需要设定指定的账号、密码、ip、端口,才能与MQTT代理服务器相连。消息以队列形式存储在MQTT代理服务器当中,云平台也是通过上述信息连接代理服务器,从中获取信息。云平台对外不提供数据接入的端口,保障了平台及数据库的安全性。云平台根据已经事先设定好的TOPIC,到代理服务器中获取数据。没有事先设定的数据,不会被云平台获取;
③数据格式分析:智能终端按照规定格式发送数据。以统一的topic为键,不同类型的设备按照规定发送相应的payload,数据不涉及明文及具体含义。云平台从代理服务器中接收到需要的数据后,进行解密拆分,将相应的数据存储到服务器中。多余的数据会被代理服务器遗弃;
④数据加密:加密方式:AES-128-CBC。设备发送数据给平台,例如:平台会记录数据收发日志,对于非法数据,会记录其来源、数值等,下次在数据入口处,即可排除。并且上报系统管理员。
3 Modbus TCP/MQTT 协议网关设计
3.1 Modbus协议介绍
MODBUS是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。MODBUS协议是一个master/slave架构的协议。有一个节点是master节点,其他使用MODBUS协议参与通信的节点是slave节点。每一个slave设备都有一个唯一的地址。在串行和MB+网络中,只有被指定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个MODBUS命令,但是通常也只有一个主节点设备启动指令)。
3.2 实现形式
RTU与modbus协议的设备通过EIA-485接口相连。以流量计为例,RTU发送指令给流量计数据,流量计返回一条带有所有数据的十六进制数据给RTU。RTU根据设备说明书,将这条数据拆分成标况累积量、工况累积量、标况流量、工况流量、压力、温度等数据,并将数据整合加密,与其他EIA-485接口数据一同打包,通过MQTT模块将数据发送至云平台。
云平台和SCADA系统之间的通信采用MODBUS/TCP方式。在数据发送之前双方定义好点位表,即对应数据位的数据意义。接口采用python语言开发,使用的是modbus_tk功能包。
第一步、绑定本机地址作为主站:
import socket
s = socket.socket(socket.AF_INET,
socket.SOCK_STREAM)
s.bind((‘192.168.254.29’,502))。
第二步、scada服务器通过上述绑定的地址连接网关,发送一段指令给网关。指令中带有起始地址、长度、设备号等信息(例如:09 00 00 00 00 06 01 03 00 00 00 64)
第四步、网关接收到指令后会解析处设备号,起始地址,长度等信息。然后查询处理数据,根据点位表形成正确排列的数据,并以约定好的数据格式以十六进制返回到请求的原地址端口。
conn.send(bytes.fromhex(Res[‘hex’]))
4 监控系统信息管理平台
信息管理平台包括数据接收模块、数据处理模块、数据分析模块、数据转发接口模块、页面展示模块。数据接收模块负责接收MQTT代理服务器的数据和接收其他来源的数据,例如透传的直发型流量计等。数据处理模块负责解密数据并存储进数据库。数据分析模块负责分析数据,并将数据展示在网站上。数据转发接口模块负责将数据转发到组态软件等别的平台软件上。页面展示模块负责将数据展示在网站上和APP上。
5 结论
本文针对煤层气开采过程中实时监控的实际问题,分析设计了煤层气远程监测系统。维保部门通过这套系统,可以详细记录每个站点的设备信息。小到一块皮膜的生产日期、使用寿命、维保记录,大到调压门站的安装记录等。巡线人员每日巡线的时候,使用APP可以详细记录巡线状况,遇到的问题,可能发生的故障等,形成每日巡线记录表,防范问题的发生。维修人员可以详细记录每一零部件的保养维修更换记录,平台可以生成详细记录,并且可以结合算法,预测零部件的保养时间,更换时间等。
参考文献:
[1]刘丽等.Citect工控组态软件及其在输气管道SCADA系统中的应用[J].工业控制计算机,2001,14(1):36-38.
[2]张义星,孟国营等.基于Citect的煤矿装车监控系统设计[J].煤炭工程,2012(5):120-122.
[3]衡军山.基于双CPU的冗余控制研究与实现[J].机床与液压,2008,36(7):350-351.
作者简介:
朱光灿(1986- ),男,汉族,硕士,自动化及网络控制技术工程师。