高旭彬
(中国煤炭科工集团太原研究院,山西 太原 030006)
煤矿采掘设备往往需要设置大量的传感器用于检测设备状态,例如各电机的状态参数——电压、电流、绕组温度、转速等;整机的姿态信息——截割头位置信息、回转盘旋转角度等;液压系统参数——实时压力值、油位、油温等。这些信息为电控系统进行保护和控制提供必要的数据支撑,保证设备可靠稳定地运行。
另外,煤矿采掘设备多功能一体化、智能化的发展,使得需要检测的信息进一步增加。为提高掘进机单机成巷速度和安全生产能力[1-2],有的主机集成了机载锚钻系统、机载临时支护系统、机载除尘系统等,相应的电气、液压回路数量及状态检测内容大大增加。在智能化程度较高的重型掘进机上,断面监视、姿态调整、记忆截割等功能也已陆续实现[3-4]。这些功能的实现同样离不开各种底层传感器的支持,没有水平姿态、油缸行程等信息,设备便无法“感知”自身位置及动作量,也无法正确进行姿态调整。
基于此我们开发设计了基于通信方式传感器数据采集系统,以经济可靠的方式实现对设备状态的检测。
基于Modbus通信协议的数据采集系统独立完成数据采集、处理任务,并以通信方式将各传感器数据发送给电控设备。系统主要由一台隔离器和多台采集器组成。隔离器负责本安供电和通信信号防爆型式的转换;采集器为本安设备,连接各种传感器,实时采集各传感器信息,并将4~20mA、1~5V、1~5kHz、逻辑电平等信号转换为数据信息,供电控箱控制器读取。多台采集器共享RS485通信总线,以地址区分,电控箱和采集器组成基于Modbus通信协议的主从通信网络。
这种基于通信方式的数据采集方式与传统的电控箱集中采集方式相比,大大减少了电控箱引入装置数量及尺寸,降低了电控箱控制器硬件开销,电控箱接线工作量小且易于维护,优化了电控系统的设计。支持标准的Modbus通信协议也便于控制器软件集成。
图1 系统连接
数据采集系统组成设备众多,若直接与整机同时调试,必然增加调试复杂程度,故障鉴别难度大。因此,在实际应用中往往需要脱离整机在整机安装前对数据采集系统进行调试、检验。由于该系统以通信方式将数据信息送入电控箱。这些数据信息为具有特定含义的二进制代码组合,可读性差。为了与实际物理量进行比对,还需要手工计算,费时费力,也跟不上状态量的变化速度。
为此,开发了基于Modbus协议的数据采集系统上位机仿真软件。仿真软件模拟了通信主站的通信功能,并增加了数据转换和显示功能。系统连接如图2所示,数据采集系统通过一个RS485/RS232通信转换接口与电脑连接。运行该仿真软件并进行必要的设置后,仿真软件自动巡检各采集器数据,由电脑完成通信控制及数据包的解读工作,并将各状态量以数值的方式进行实时显示,如实时压力值、温度值、工作电压、工作电流等等。
借助该仿真软件,调试人员能够快速、直观地获取数据信息,快捷地完成系统调试和检验工作。
图2 测试连接
软件使用可视化编程语言编制,主界面如图3所示。
图3 软件主界面
软件主要参数设定、允许用户自行设定通信参数、巡检范围、巡检周期,以适应不同控制系统需求。软件根据从站号顺序巡检,所有通信操作、数据处理均在巡检过程中完成。软件工作流程如图4所示。
图4 软件工作流程图
通信参数设置主要包括通信口和数据格式。软件启动后即自动搜索电脑可用的串口,软件支持串口号范围为COM1~COM8,默认为COM1。数据格式设置包括:串行口的通信波特率、字节校验方式、数据位个数、停止位个数,默认值为常用的“9600/8/N/2”。用户设置完成后,软件会生成一个固定格式的数组,向通信控件赋值。
调试人员需要根据实际数据采集系统规模设定巡检范围和巡检周期。
在同一数据采集系统中采集器地址是连续排列的,调试人员需要设定最小巡检地址和最大巡检地址。设定完成后,仿真软件即以设定的巡检周期从最小巡检地址采集器到最大巡检地址采集器循环访问。
巡检周期为访问各采集器的通信频率,允许以10ms为单位在0.1~6s范围内调整。
仿真软件接收到的传感器数据是16进制数,需要通过计算将这些代码转换为实际的物理量值。例如,二进制代码“0110 1010”,对应4~20mA电流信号传感器的含义为“10.65mA”,对应1~5V电压信号的含义则变为为“2.663V”。这种解读、计算工作均由仿真软件完成。为了节省通信字节数量提高通信效率,采集器将逻辑值(开关量传感器)和传感器线路状态(是否连接传感器)拼接成一个字节,仿真软件对状态字节逐位判断即可。
显示内容包含了采集器地址和该采集器4路传感器的原始值、计算值、逻辑值、线路状态,调试人员能够直观地判断各设备工作状态。通过与实测的物理量进行比对,即可验证系统工作性能和采集精度。
为增加仿真软件允许的可靠性,需要设置大量的逻辑约束条件,尤其是人机互动部分。例如,设定巡检范围时,用户在允许接受外部输入的文本框内设定从站地址,当出现非法数据,如负数、小数、大于125的整数等,会有弹窗提示。
开始按键即为巡检启动按键,当仿真软件完成设置启动巡检后,新的设置操作均被屏蔽,不接受任何来自外部的输入。
另一个复位操作键则具有最高优先级,等效为重新装载窗体。点击“复位”按键即可解除巡检状态,并且所有设置内容均返回默认值,所有显示内容清空,软件内部的通信数据缓冲区也被清空。
仿真软件的所有通信操作依靠MSComm通信控件实现。根据采集器通信协议的约定,需要对MSComm控件进行初始化设定,具体操作如下:
仿真软件根据设定的巡检周期定时访问各从站,主站查询报文由定时中断启动发送。定时器中断程序如下:
MSComm控件处理通信响应采用OnComm事件驱动的方式,该事件具有唯一性,以事件属性值CommEvent来区分串行通讯过程中发生的各种事件。如缓冲区字节超出阈值、各种握手响应信号发生变化、各种通讯错误等等。用户根据CommEvent值即可判断是哪种通讯事件触发了该中断,并在该事件的处理程序中进行相应的通讯处理。当CommEvent属性的返回值为2时,表示接收缓冲区中已经收到Rthreshold个字节。
Modbus协议是工业控制领域中应用非常广泛的开放式通信协议之一,采用主从应答式通信,详细规定了主、从设备的通信行为。仿真软件通信流程为:首先向目标从站(采集器)发送查询报文,用于请求数据;从站正确接收到查询报文后,向主站发送数据报文,既将传感器数据发送给主站。
Modbus协议以功能码的形式定义了设备能够识别和使用的报文结构。仿真软件使用了功能码03H。功能码03定义为主站读取从站中的数据,当从站收到这一报文后,就要把主站所要求的寄存器内容发送给主站,具体实现方法可参考相关文献[5,6]。
仿真软件通过查表法实现了CRC-16计算,对通信报文进行检错。这类检验码检错率极高,漏检率极低,可以检出所有的单位错、双位错、奇位数错及小于等于16位的突发错,大于17位的突发错检错率为99.997%,漏检率仅为 0.003%[7]。有效避免通信过程中出现的误码导致错误显示。
基于Modbus通信协议的数据采集系统仿真软件为系统调试、检验提供了便捷的手段。有效降低了调试工作量,简化了调试方法。
软件自身操作简单,信息全面且直观,降低了测试难度。生产人员、出厂检验人员可以独立操作,完成测试任务,提高了生产效率。经过一段时间的实际应用,取得了非常好的效果,实现了设计目的。
[1] 王学成,张维果,刘英林.悬臂式掘进机现状及发展浅析[J].煤矿机械,2010,31(8):1 -3.
[2] 汪胜陆,孟国营,田劼,等.悬臂式掘进机的发展状况及趋势[J].煤矿机械,2007,28(6):1 -3.
[3] 王增春,赵占军,相磊.悬臂式掘进机关键技术探讨[J].煤炭技术,2011,30(5):247 -249.
[4] 宁仲良,陈家胜.悬臂式掘进机智能化发展方向初探[J].矿山机械,2006,34(6):34 -35.
[5] 高旭彬.基于MSP430单片机的Modbus协议软件设计方法[J].工矿自动化,2013,39(4):87 -90.
[6] 袁飞,程恩.基与Modbus规约的智能仪表与PC机通信技术实现[J].微计算机信息(测控自动化),2004,20(9):56 -57,89.
[7] Joe Campbell.徐国定,廖卫东,译.串行通讯C程序员指南[M].北京:清华大学出版社,1990.