液压支架压力监测系统软件设计
2012-07-12河南宏福煤业有限公司邱卫东
河南宏福煤业有限公司 邱卫东
中国矿业大学信息与电气工程学院 景晓军
矿井工作面由于岩层运动,回采工作等因素的影响,顶板压力会不断变化。工作面采用液压支架对顶板进行支撑,液压支架的压力监测和数据分析对井下安全生产有至关重要的作用。矿井管理人员可以根据系统软件上的压力数据,分析可能产生危险的地段,即使采取相关措施,避免安全事故的发生。
本文主要研究了压力在线监测系统的上位机软件设计。结合煤矿现场的复杂情况,制定适合工业现场用的通讯协议,方便上位机处理数据。上位机软件采用VB作为主要开发工具,在以太网上实现基本的数据采集功能,所有实时数据都保存到SQL2000数据库中,并能够对这些数据做出科学分析,供煤矿分析煤矿顶板压力状态,并对安全隐患提前预警。
1.压力在线监测系统概述
1.1 系统硬件组成
液压支架压力在线监测系统由压力传感器,无线射频模块,接收分站,以太网关等硬件设备组成,如图1所示。硬件设备主要是电池供电,要求功耗低,无线数据传输要求精密的防碰撞算法,算法的优劣直接关系到整个系统的性能[1]。
有源2.4GHz射频模块的有效传输距离可达200米,在煤矿工作面复杂情况下,采用电池供电,CPU采用TI公司的MSP430超低功耗单片机,三节干电池供电,半年更换一次。多个无线压力传感器使用共享的射频信道,同时处于接收分站识别范围的情况下,数据包传输会发生冲突。因为本系统在工作面等地点安装,供电不方便,采用电池供电,要求功耗低,且处理器内部的寄存器及内存大小限制了复杂算法的使用,本系统采用标准的二叉树搜索算法,避免了同信道数据的碰撞[2]。
以太网网关起协议转换的作用,将接收分站的RS485信号转变为以太网流数据包,传输至地面接收分站,经过数据解析,在调度室PC机上采集压力数据。
1.2 系统软件架构
系统软件架构如图2所示,主要由数据采集部分,数据分析处理部分和报警打印三部分组成。其中VB解析压力传感器协议是系统软件的关键,数据校验采用通用的CRC校验,采用VB编程实现。数据分析采用VB的绘图控件编写程序。
2.通信协议
2.1 通信协议分析
其中地址表示设备号,功能码表示此数据包是压力数据,第一组为压力值a,二组为压力值b,第三组和第四组分别为发送功率和电池电压。每组数据占用一个字节,数据包一共八个字节。校验位采用标准的CRC校验。
2.2 VB解析协议
下位机发送的数据包是8个字节的十六进制数据包,上位机需要对数据包进行数据转换,方便数据分析处理,十六进制转字符型数据的程序如下:
将8字节的数据包存放在字节数组中,用For循环将每个字节转变为十六进制字符型数,便于上位机的后续处理。
2.3 CRC校验的VB实现
校验部分采用标准的CRC校验,CRC校验的VB实现函数如下:
CRC校验用在每个数据包的接收校验部分,保证了数据的完整和准确性[4]。
3.数据库分析和处理
3.1 SQL数据库的存取和查询
本系统用SQL2000数据库实现对压力数据的存储和查询,用微软的ADO控件,用OLEDB方法将VB中的winsock控件接收的数据链接到数据库中[5],可实现数据库历史数据的查询,进而绘制相关图表。
表1 压力数据协议
图1 压力监测系统硬件组成
图2 压力监测系统软件架构
SQL中的数据格式如表2所示:
(3)加强建植层基本性质的研究。深入研究不同灌草模式下的喷混基底稳定性,建植层结构力学性质,建植层保水供水功能,酸碱度调节与养分动态等物理化学过程的变化,植物生物量和根系生长布局,水土保持效果等,以确定最适宜的生态治理模式。
数据的存取和查询软件界面如图3所示,datagrid控件用于存储从数据库中查询的数据,根据选择的时间段查看历史压力值,可以保存为excel文件打印。也可以选择设备号,查看当前压力的实时数据。
压力值的存储采用VB的ADO控件,程序如下:
先把VB解析出来的数据存到text里,再用ADO控件的Recordset方法将text里的数据更新到SQL数据库中[6],具体程序如下:
3.2 实时曲线图和历史柱状图表绘制
根据上述对数据库存储和查询的分析,采用VB的MSChart控件将查询到的数据绘制成相应的实时曲线图,通过对历史数据的分析,绘制出相应的历史柱形图。
表2 SQL数据库中压力表的格式
图3 压力监测系统SQL存储和查询界面
图4 工作面液压支架压力分析图表
绘制出的图表如图4所示,硬件设备的实时数据在界面上能直观显示,能查看到短时间段内的压力数据。
3.3 曲线拟合
要实现历史数据绘制图表,必须要对各点的数据进行拟合,绘制出轨迹图,但是VB的数据处理绘图能力有限,所以本系统可以结合Matlab对数据库中的车辆运行数据进行解析,控件采用C++编程,以OCX控件形式供VB调用[7]。
Matlab中的曲线拟合采用最小二乘法,在VC6.0中创建了Matlab的ActiveX对象后,就可以使用这个对象所包含的各种方法来实现对Matlab的调用。利用相似定律,编程获得在其他转速下性能曲线,表达式的系数运行结果以字符串返回,图形则以Matlab图形窗口的形式显示。此功能一般用于年报表分析。
4.报警和报表打印
4.1 报警功能
压力值报警功能因为每个矿井的地质条件有所差异,在界面上有报警值输入的功能,根据不同地质条件,设置不同的压力报警值[8]。图表上,只要超过此报警值,压力超标部分的曲线会以红色显示,提醒调度指挥室注意采取相应措施。另外音频输出一个报警声音:压力超标,外加一个红色报警灯,装在总调度室,实现声光报警。
4.2 报表打印
压力的报表打印功能分实时曲线打印,月压力趋势分析曲线图打印,超限报警记录打印,年压力趋势分析柱形图打印等。
具体的报表设计采用VB的PrintForm方法先将各种图表打印到电脑屏幕上,可用鼠标滚轮放大或者缩小相应的图表,再添加打印机,实现图表的输出。
5.总结
先分析了工作面液压支架压力监测系统的硬件构成,在此基础上对软件架构进行分析,主要实现了以下三个功能:
(1)压力数据采集,SQL数据库保存数据;
(2)压力数据的实时曲线绘制;
(3)报警功能和报表打印功能。
系统软件的后续完善主要是和其他系统的融合方面,比如矿井瓦斯监测系统,巷道环境监测系统等。
[1]尹洪胜,于宁宁,赵宗平,俞星.基于CANopen的煤矿压力在线监测系统[J].煤矿安全,2010(03):71-74.
[2]王志中,董爱华.ZigBee技术及其在井下人员定位系统中的应用[J].煤矿安全,2008(05):62-65.
[3]李致金.基于无线传感器网络的煤矿顶板压力监测系统[J].电子技术应用,2010(11):79-82.
[4]陈威兵,刘光灿,冯璐.基于3G网络的车辆定位与视频监控系统设计[J].计算机测量与控制,2011,19(3):600-602.
[5]孙泽宏,孔德慧.监测系统在综采工作面矿压观测中的应用[J].计算机测量与控制,2008(3):82-85.
[6]阮殿旭,张晓光.煤矿井下工作面无线监测网络任务优化算法研究[J].煤矿机电,2011(02):26-27.
[7]段银联.基于RFID技术的矿井人员定位监控系统研究[D].安徽:安徽理工大学,2009:12-14.
[8]丁恩杰,马方清.监控系统与现场总线[M].徐州:中国矿业大学出版社,2003:18-26.