井下多参数涌水异常在线监测软件设计

2016-12-31 00:00:00李鹏姜琳
科技创新与应用 2016年24期

摘 要:系统基于工业以太网和CAN总线网络开发,下位机采用ATMEL系列Atmega128单片机开发,实现数据多通道自动采集上传。上位机在线监测软件采用.NET平台C#语言编程开发,使用Sqlserver2005数据库,运用socket、数据库存储过程、多线程等关键技术,实现实时数据读取存储、曲线显示、实时控制、历史查询、阈值报警等功能。监测软件界面友好、操作灵活,实现了数据传输效率、准确性及人机交互性,并通过现场工程实践验证了软件的各项功能。

关键词:在线监测;.NET平台;C#;socket;存储过程;多线程

引言

水害作为煤矿井下主要灾害之一,严重威胁着煤矿安全生产,其表现形式是矿井涌水量突然增大超出矿井排水系统的排水能力,因此,井下出水点涌水量、排水沟水流量监测是一项非常重要的工作。随着科技的进步,井下涌水监测由人工采样和实验室分析为主向自动化、智能化和网络化为主的监测方向发展。为实现井下出水点重要参数的连续、在线、快速监测,研发一套基于工业以太网的在线监测系统,对提高煤矿井下突水预警的整体水平具有重大意义。文章介绍了一种多参数突水预警在线监测软件的设计和实现方法,软件具有较高的稳定性和良好的可扩展性,适当修改设置后,即可进行其它水质参数的自动采集和实时存储[1-3]。

1 基于CAN总线和工业以太网的通讯网络

1.1 系统结构

控制器局域网CAN(Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络,具有突出的可靠性、实时性和灵活性,广泛应用于工业自动化、过程控制等诸多领域。基于工业以太网使用TCP/IP协议簇,通过CAN与以太网协议转换,可实现跨网络自由通讯。工业以太网通讯设备包括监测服务器、数据库服务器、数据传输分站(网关设备)、以太网交换机等;CAN总线采集设备包括采集分站、通讯分站(网关设备)[4-5]。整个系统结构如图1所示。

1.2 CAN总线应用层协议

涌水异常在线监测系统的数据传输分为井下传输和井上传输两部分。井下数据传输过程以CAN总线传输和以太网光纤传输为主。其中,CAN总线网络用于井下数据采集分站与通信分站之间的数据传输。系统通讯以标准CAN总线传输层协议为基础,CAN数据帧包含1字节帧信息、4字节帧ID(含设备ID和传感器ID各2字节)及8字节帧数据共13个字节。总线波特率默认设置10kbps,用户可通过上位机软件远程设置总线波特率。CAN数据帧中最后字节用于校验,其它非有效数据字节填0x00,使用异或校验法[6-8]。每个数据采集终端有唯一ID号,且ID号的设置应允许掉电保持。传感器类型ID不可随意更改,必须按照预先协议规定设置。如表1所示。

1.3 基于工业以太网的UDP/IP协议

通讯分站采用CANET-II工业级双路智能CAN转以太网接口卡实现CAN与以太网协议转换。上位机软件运行在服务器端,在线监听采集终端发送的数据并可实现设备远程控制。由于UDP协议在数据传输过程中无须建立逻辑连接,不检查数据报,因此UDP传输效率高,具有较好的实时性。为此,软件通讯模块采用标准的网络传输报文协议UDP/IP协议簇作为系统以太网中物理层及以上各层的通讯协议,默认通过保留的UDP端口号8001来访问通讯分站。监测软件与通讯分站通讯原理如图2所示。

2 上位机监测软件

2.1 软件结构

在整个涌水异常监测系统中,每台采集分站由传感器(水温、水压、流速、PH值、电导率、含氧量、浊度)采集信号并将其存储到单片机Flash中,同时将数据通过CAN总线发送至通讯分站,经CAN-Ethernet协议转换后,发送至上位机。上位机监测软件负责监听通讯分站转发的实时采集数据,功能包括:实时数据采集和存储;实时动态曲线显示;远程集中控制,对现场的采集分站实现重启、设备自检、ECHO应答、总线速率、发送间隔等参数设置;系统通讯状态显示、设备故障报警;历史数据查询、历史曲线生成等。图3所示为上位机监测软件结构。

2.2 软件核心功能

涌水异常监测软件采用.NET平台C#语言开发,使用WinSocket技术开发通讯模块,采用Sqlserver2005数据库实现实时数据存储、历史数据查询。主要功能模块包括:实时监控、历史查询、报警查询、参数设置、用户管理、数据管理等模块[9-10]。软件主程序流程如图4所示。

软件综合运用线程池管理、线程同步、数据库存储过程等关键技术,实现了数据采集、数据存储、动态曲线、历史查询、历史曲线等多任务高效并发[7-8]。其中,软件曲线动态显示功能使用MsChart图表控件呈现,规定X轴坐标显示采集时间,Y轴坐标显示采集数值,编程增加鼠标悬浮提示功能,预设每隔5秒刷新数据,并可在系统参数设置模块修改刷新时间间隔。曲线动态数据管理工作线程CurveDisplayThread负责获取最新监测数据,并利用回调技术实现软件前台曲线监测界面无闪烁刷新。数据监听程序运行在服务器端,负责监听来自通讯分站的实时采集数据。数据库管理工作线程负责将监听到的数据批量存入Sqlserver2005数据库,利用信号量

2.3 数据包校验

CAN数据包采用异或校验法。校验范围包括 CAN 数据帧的前12个字节,即帧信息、帧 ID及帧数据中的前7个字节。数据监听过程中,数据库管理工作线程会调用CheckXor函数来校验接收到的CAN数据包,如果函数返回true,证明接收数据无错误,执行Sqlserver数据库存储操作,否则返回1,程序自动视作无效数据包而丢弃。异或校验函数代码如下:

2.4 数据库设计

数据存储功能基于SqlServer2005开发。核心数据表为WaterInfo,包括信息编号(InfoID)、采集分站地址(CollectorAddress)、传感器地址(SensorAddress)、采集时间(ParameterTime)、采集值(SensorValue)五个字段,如图5所示。

存储过程(Stored Procedure)是大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,只需一次编译便可通过在程序中指定存储过程名字及传入参数实现调用,能够有效提升数据访问效率、节省网络资源[12-13]。为提高数据存储访问及逻辑计算效率,数据库设计充分利用SqlServer2005数据库的可编程性,通过编写存储过程GetRealWaterInfo,结合.NET开发平台多线程管理技术,实现数据采集和存储、动态曲线显示、历史数据查询等操作任务的高效并发,有效提升了用户体验。

监测软件中,用户可方便维护系统参数,包括采集分站信息、传感器信息、通讯设置、曲线设置等。软件为避免用户误操作,设定了权限管理,用户只有在通过身份密码验证的情况下,才能进行相关权限操作,同时用户可以方便修改账户密码,管理员可以维护基础用户信息,进一步提高了监测系统的安全性和灵活性。部分监测软件界面如图6、图7所示。

3 结束语

文章介绍了基于工业以太网、CAN总线网络的煤矿多参数涌水异常在线监测软件设计与开发,从通讯协议、功能模块、界面设计等几个方面详细进行了阐述。软件经过工程现场实践,可靠性高、实时性强,实现了对现场采集设备的自动数据采集,并可对采集分站发送控制指令,用户可以随时了解井下出水点各重要参数变化,并可根据水源水质实时监测数据变化情况,判断是否可能发生突水事故,为煤矿安全生产管理提供科学及时地决策数据支撑。软件当前能够以阈值设置为基础,实现简单预警功能。下一步,软件可以煤矿涌水水质分析数学模型为基础,对煤矿涌水进行更为科学有效的预警。文章对于其他工业现场监测软件也具有一定的借鉴意义。

参考文献

[1]ZHANG Yan, LIU Ying-feng, Lv Ming-da. Key technologies on mine water inrush monitoring and warning system[J].Coal Geology Exploration,2012,04:60-62.

[2]CHEN Pei-pei, LIU Xiu-e. Research and Application of Water Inrush Early Warning System to Mine Roof[J].Coal Science and Technology,2010,12:93-96.

[3]HOU Guanhui, ZHANG Yingmei, WEI Hongxia. Study on the Predictive Method of Coal Mining Face Water Inrush Based on Information Fusion[J].Journal of Taiyuan University of Technology, 2013,44(1):25-29.

[4]闫广,王昕,纵鑫,等.煤矿分布式突水监测系统设计[J].工矿自动化,2015,4:5-8.

[5]周琦.矿井水文监测系统的研究与设计[D].安徽理工大学,2014.

[6]陈伟.基于CAN总线的煤矿安全监控系统的研究[J].煤矿现代化,2012,1:51-52.

[7]董力川,战久国.CAN总线研究及应用[J].黑龙江自动化技术与应用,1999,18(5):55-56.

[8]廖忠明,徐秀红,彭小军.一种基于CAN总线的煤矿远程监控系统[J].煤炭技术,2012,31(1):97-98.

[9]隋涛,孔维维,王明钦,等.基于C#矿井提升机温度监测系统的设计[J].煤矿现代化,2015,5:83-85.

[10]种衍芬.煤矿涌水监测分析与预警系统研究[J].山东煤炭科技,2014,4:155-156.

[11]张允刚,刘常春.基于Socket和多线程的远程监控系统[J].控制工程,2006,7(2):175-177.

[12]韩翔宇.数据库存储过程的探讨及应用[J].信息系统工程,

2015,12:48.

[13]Robert Vieira.SQL Server 2005高级程序设计[M].北京:人民邮电出版社,2008.