空压机远程监控系统的设计与实现
2016-03-04张吉同
张吉同
摘 要:本文通过对压风机远程监控所使用的硬件结构、连接、配置以及对modbus通信协议进行论述;同时使用VB编程语言对上位机的软件组态进行了详细的设计和实现。
关键词:压风机;Modbus;串口
DOI:10.16640/j.cnki.37-1222/t.2016.05.248
0 引言
空压机是煤矿生产的重要组成部分,是煤矿机电的四大设备之一,它担负着为煤矿的所有风动设备提供动力来源以及井下压风自救的气源,它的安全经济运行对煤矿安全生产起着至关重要的作用。长期以来煤矿空压机的监控大部分都是采用就地的模式,每个压风机机房需要24小时人工值守。但是由于空压机的高噪音,给工人的身心健康造成严重污染。随着通信技术、控制技术和计算机技术的发展,实现空压机系统远程监控成为了可能,也体现了“以人为本”的管理理念,也是实现无人值守减员增效的数字化矿山的要求。
1 系统架构
空压机远程监控系统主要有三层结构:设备层、监控分站、远程监控平台。设备层主要是空压机上安装的各种传感器,负责空压机主要参数的采集,其主要包括温度传感器、压力传感器、电流电压采集器等。监控分站每台压风机都采用一台PLC做为监控分站,主要负责压风机各个传感器采集数据的收集,并在就地模式下可对压风机各种采集数据进行加工处理、显示、报警、并提供远程通信接口等,并可实现对单台压风机进行启停等控制功能。远程监控平台是利用ATC-1000设备把RS485串口转换为RJ45网口,并接入交换机,通过矿地面工业环网把各台压风机的信息传输到矿调度中心的上位机电脑,实现对压风机的远程监测和控制功能。系统组成如图1所示:
2 硬件系统连接及配置
因为每台压风机都提供了一个RS485的串行接口,所以每一台压风机都要进行编号,即每台压风机的通信地址。编号从第一台压风机001开始到最后一台压风机004结束。接着使用两根带屏蔽层的电缆把四台压机并联起来,接入ACT-1000的两个RS485的接线柱上,然后通过ACT-1000的RJ45接口接入交换机,再通过网线接入地面环网交换机进入环网,通过光线环网进入监控中心机房的服务器。
ACT-1000的配置。ACT-1000是把RS485串口转换为RJ45网口,然后在监控中心监控主机上安装ACT-1000的配置软件,把RJ45网口传输的数据转换为虚拟串口,使用串口通信程序进行串口通信,进行数据的收发。要对ACT-1000进行设置,首先要使用电脑与ACT-1000进行连接,设置本机IP地址与ACT-1000默认IP地址在同一网段,然后通过ACT-1000初始IP地址:192.168.1.101打开远程WEB配置页面。模式选择RS485,波特率选择9600,位数为8,采用偶校验,停止位为1位,主要配置如图2所示。接下来对网络TCP协议与串口COM之间的映射配置,主要是配置IP地址与COM端口号之间的映射关系。具体配置如图3所示。
3 件设计与实现
3.1 功能设计
(1)显示数据。压风机在线实时显示的数据有:四台压风机的供气压力、排气温度、运行时间、加载时间、主机A相电流、油滤器使用时间、油分器使用时间、空滤器使用时间、润滑油使用时间、润滑脂使用时间。压风机电源信号、启停信号以及工作状态和故障信号等。
(2)显示运行状态。压风机实时显示当前的工作状态、用来给用户提示当前压风机是运行还是停止,其显示的状态有:压风机的运行、加载、停止、卸载等运行状态。
(3)显示报警状态。当压风机出现非致命故障时、压风机不会停机、而是显示这些报警信息,提示用户及时进行处理,压风机显示的报警状态有:空久停机、供气压力高、风机电流故障、油滤器堵塞、油分器堵塞、空滤器堵塞、主电机电流故障、相序错误、排气温度高、供气压力传感器失灵、排气温度传感器失灵、排气温度高预警、油滤器使用时间到、油分器使用时间到、空滤器使用时间到、润滑油使用时间到、润滑脂使用时间到、预警、报警等。
(4)控制功能。可实现远程对压风机进行启停和加卸载功能。
(5)历史信息的查询功能。实现历史数据、报警数据、用户操作记录的查询和打印功能。
3.2 系统协议
系统采用的通信协议支持485半双工通信方式通信、支持MODBUS协议的子集。通信格式为RTU方式、8位数据位、1位停止位、1位偶校验。支持03号和06号两条MODBUS命令。通信时为主从机方式。主机提出命令请求、控制器响应接收数据后做数据分析,如果数据满足通信规约,从机做出响应。
主从机间的通信主机发送的每一帧数据包含以下信息(16进制):
从机地址:(1个字节):从机设备号,主机利用从机地址来识别进行通讯的从机设备。表明由用户设置地址的从机、将接收由主机发送来的信息。每个从机都必须有唯一的地址码、并且只有符合地址码的从机才能响应回送。
命令字(1个字节):主机发送的功能码,告诉从机执行什么任务。
信息字(N个字节):包括进行两机通讯中各种数据信息,数据长度及读写的数据等。
校验码(2个字节):用于检测数据通信错误,采用循环冗余码CRC16。
通信命令:
(1)读寄存器的 3 号命令
命令03H:读N个寄存器,主机可在一次读数命令中任意读取0—8号寄存器中对应长度的寄存器数据。
主机请求:地址 命令 起始数据地址 数据长度 校验码
从机回应:地址 命令 数据长度 数据信息 校验码
(2)写一个寄存器 6 号命令
命令06:写一个寄存器,06号命令用于写一个寄存器,主机通过写寄存器来控制空压机的加载、卸载、开机或停机。从机响应后,回应相同的数据给主机。
3.3 系统实现
上位机使用VB进行上位机编程组态、使用mscomm32.ocx控件实现上位机与各压风机PLC之间的通信功能。
(1)串口初始化。首先程序要进行初始化、在此需要软件的串口设置与ACT-1000中的虚拟串口中的设置完全一致:端口号10、波特率9600、奇偶校验为e、停止位为1、具体实现代码如下所示:
(2)远程控制功能的实现。通过Modbus的06号写命令对本地PLC的控制寄存器中的相应位设置成1或0、实现对空压机的启动和停止。具体实现是根据Modbus协议的格式以及地址表,把相应的压风机地址编号写入第一个字节,再把相应的第一个字节转换为十六进制;第二个字节是相应的命令号06H,后边的四个字节为相应的控制位置0或1之后的十六进制数,最后两个字节是CRC16校验的校验和,然后把这些字节放入一个字节数组当中,通过串口发送至空压机控制器相应寄存器中即可。如果执行成功,更新图形界面上相应图形的状态,显示为当前压风机处于运行状态,同时启动按钮变为不可用状态。以远程启动1号压风机为例来说明远程控制的代码实现,具体实现代码如下:
(3)获取压风机各种数据的实现。监控主机每隔1秒钟更新一次数据和空压机的工作状态,使用定时器控件来实现。具体实现过程如下:首先对要读取的压风机发送读取寄存器的命令,然后接收从机返回的信息,并把相应的二进制数转换为十六进制。根据返回值的地址和读取命令号来判断接收数据是否正常,若正常再根据modbus协议中的地址把相应的字节取出来转换为相应的十进制数,输出屏幕进行显示;若为状态信息,则把十六制数转换为二进制数,再取对应位的值,判断是0还是1,根据这些值的含义来更新程序中相应对象的状态,以此来表示当前压风机的工作状态。具体实现流程如图4所示。
4 结语
压风机远程监控系统是建设数字化矿山的要求,是煤矿综合自动化的一部分,也是为了适应现代化管理和实现压风机房无人值守的需要。该系统的建立可以减少工人的劳动强度和改善工人的工作环境,达到减人增效的目的。本文首先对压风机系统的硬件部分进行了阐述。每台压风机都采用PLC进行控制,都可以独立运行,也就是可就地控制。当网络和其它压风机或上位机出现故障时可保障其它压风机不受影响,以免影响煤矿的生产。
参考文献:
[1]符秀青.基于PLC的压风机模糊自动控制系统设计[J].机电信息,2014(15).
[2]韩雪锋等.新型煤矿压风机实时监控系统的设计与实现[J].工业控制计算机,2013(07).