APP下载

基于C#平台的矿井机车监控系统设计与实现

2019-05-24于琳李猛李荣伟

软件导刊 2019年5期
关键词:远程监控

于琳 李猛 李荣伟

摘 要:针对传统矿井机车监控系统监控内容单一,对机车不具有操作性等问题,设计了以C#为编程语言,以SQL Server 2016为数据存储软件的矿井机车监控系统。系统采用模块化设计思想,包含登陆模块、运行模块、参数监控模块、网络监控模块、视频监控模块、报警模块等,实现对矿井机车行进速度、电压、电流等各类运行参数的实时监控与记录,并具有远程遥控功能,可实现机车启停、变速等运行操作。该系统运行稳定,性能可靠,提高了工作效率和安全性。

关键词:矿井机车;远程监控; C#;socket

DOI:10. 11907/rjdk. 182325

中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2019)005-0114-03

Abstract:Aiming at the single content of traditional monitoring system of mine locomotive and inoperability to locomotive, a mine locomotive monitoring system with C# as programming language and SQL Server 2016 as data storage software is designed. The idea of a modular design is applied in the system, the design of system includes landing module, operation module, parameter monitoring module, network monitoring module, video monitoring module, alarm module, etc. which can realise real-time monitoring and recording of mine locomotive speed, voltage, current and other kinds of operation parameters and has the function of remote control and can realize the locomotive start-stop, such as variable speed operation. The system is stable in operation and reliable in performance. It can realize remote monitoring of locomotive operation and improve working efficiency and safety.

Key Words: mine locomotive; remote monitoring; C#; socket

0 引言

随着经济的发展,各类矿产资源需求量越来越大,矿井开采数量也随之上升[1]。地下矿井环境恶劣,为了尽可能降低矿井安全事故率,矿井机车朝着无人化方向发展。

矿井机车作为井下主要运输工具,正常运行与否关系着开采的安全以及效率。传统的矿井机车监控系统广泛使用“信集闭”系统[2],即“信号、集中、闭塞”系统。这种传统的监控系统对巷道要求高,需在井下大量布置传感器,利用传感器采集机车相关信息并反馈给上位机。但井下巷道环境恶劣,传感器抗干扰能力弱,可靠性差、误差大,且造价昂贵。相关研究有:鞠传香等[3]设计了一种基于Android平台的矿井安全监控系统,提出矿井监控系统的三层系统结构,实现对矿井的实时监控;王雪光等[4]设计了一种基于ZigBee的矿井监控系统网络,提高了无线网络技术的传输速率及视音频质量,初步实现了矿井监控功能;赵洪磊等[5]设计了一种基于无线传感器网络的矿井监控系统,利用无线传感器实现对矿井的有效监控;杨烨等[6]设计了一种基于移动网络的矿井监控系统,以移动网络为核心,综合多种通信技术,初步实现了矿井监控功能。

上述文献所设计的矿井监控大都停留在传统监控系统阶段,当无人矿井机车发生故障时,传统监控系统只能对矿井机车进行单一性内容监控,无法对事故及时做出反应并处理[7-10]。

针对传统矿井机车监控系统存在的缺陷,本文设计了基于C#平台的矿井机车监控系统,采用多线程方式,实时接收、显示并存储来自矿井机车、巷道环境以及道轨设备的被监控参数,同时增加矿井机车控制功能,使监控人员可从远端遥控机车运行[11-14]。

1 系统总体框架

如图1所示,矿井机车监控系统通过各类传感器采集机车的工作电压、电流、转速、温度等参数以及信号灯、转辙机等道轨设备状态信息。这些信息通过局域网,与处于同一网关下的监控系统设备进行网络通信,将需要监控的参数信息发送至矿井机车监控系统客户端显示。参数数据保存至SQL Server 2016数据库中作为数据备份,用于数据分析和还原意外故障时丢失的数据[15]。监控人员通过监控系统客户端对矿井机车远程遥控,客户端将控制指令发送至PLC,PLC解析控制指令并控制矿井机车的动作、信号灯以及转辙机动作等,实现远程遥控矿井機车和井下设备功能。

2 监控系统设计

2.1 监控系统客户端框架与功能说明

矿井机车监控系统客户端由登陆界面和功能界面两部分组成,利用C#进行设计。C#是一种安全、较稳定、简单易操作同时不失效率性和鲁棒性的面向对象编程语言[16-17]。C#综合了VB简单的可视化操作和C++的高效率运行性,使程序编程更加简单明了,客户端总体架构如图2所示。

2.1.1 登陆界面

登陆界面目的是保障系统的安全性。用户第一次使用矿井机车监控系统时需要注册一个账号。注册账号时,用户完成账号及密码填写后还需填写密保问题及答案,以备用户忘记密码时提供用户身份验证依据。如果用户输入的信息不完整或输入的信息与数据库中记录的数据不一致,系统将提示相应的错误并提示重新输入。

2.1.2 功能界面

矿井机车监控系统功能界面包含机车控制功能、参数监控功能、视频监控功能、网络监控功能以及报警功能。机车控制功能主要是监控人员远程控制电机车、信号灯和转辙机,通过远程遥控实现矿井机车的无人化驾驶。参数监控功能主要将矿井机车上电机运行信息、信号灯状态信息、转辙机状态信息进行监控及显示。视频监控功能是通过网络监控摄像头,为监控人员提供现场视频信息。网络监控功能是监控同一局域网内所有设备的连接状况、网络信息等。报警功能是当机车电机参数超过设定的安全值或其它故障,比如机车运行参数异常、信号灯异常、转辙机异常等,客户端会自动发出警示信息并作出应急处置。功能界面如图3所示。

2.2 数据库设计

数据库在整个矿井机车监控系统中起着重要作用。系统正常工作时,数据库对重要的机车参数数据进行保存,以便用户在需要时进行数据分析、调取查看等。在系统发生故障或突然断电等情况下,帮助用户对数据进行保存、还原等,以保证系统的稳定性 [18]。

矿井机车监控系统数据库使用SQL Server 2016数据库。SQL Server 2016可靠性高、稳定性好且易操作,在中小型网络数据库系统中受到广大用户的青睐[19]。鉴于矿井机车监控系统的结构以及数据的动态查询等特点,在数据库开发过程中,采取在应用程序外建立数据库并建立相关表,在应用程序内对数据库进行连接、断开、写入及读取数据等。在数据库中创建登陆模块中的账户密码表、密保问题答案表,参数监控模块中的机车历史参数存储表、巷道历史参数存储表、RFID标签内容存储表等。其中,RFID标签内容存储表应包含标签对应的相应矿井位置信息,以便在定位模块中调用判断。

2.3 通讯模块设计

通讯模块指监控系统客户端与机车之间的信息通信,为两者提供稳定可靠的无线数据链路。通信信息包含监控参数信息以及远程遥控的控制指令信息。

矿井机车监控系统通信建立在TCP/IP网络协议基础上,以工业以太网为骨干,以WiFi无线网络为延伸,在井下设立若干WiFi基站(AP,Access Point),形成有线主干网与无线基站相结合的方式,覆盖整个巷道区域。

TCP是TCP/IP体系中最重要的传输层协议。TCP采用全双工方式传输字节流数据,可靠性高,能保证数据无差错、不丢失、不重复地准确到达接收方,并且保证数据到达的顺序与发出顺序一致[20]。TCP用主机IP地址协同主机端口号作为TCP连接的端点,这种端点被称为套接字。使用套接字(socket)作为TCP/IP协议应用程序的应用编程接口,实现网络进程之间的通信,部分代码如下:

Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

IPAddress IP = IPAddress.Parse(“192.168.1.174”);

IPEndPoint IPEndPoint = new IPEndPoint(IP, 6000);

socket.Connect(IPEndPoint);

byte[] data = new byte[] {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };

socket.Send(data);

……

socket.receive(data);

2.4 定位模块设计

为实时掌握机车在矿井中的位置,方便监控人员通过监控系统对机车进行实时监测并作出相应处理,机车实时定位尤为重要,本文采用射频识别技术进行机车定位模块设计。

射频识别技术,也称无线射频识别,是一种通过无线电信号识别特定目标且无需与目标进行物理或光学接触的新型识别技术。利用无限射频识别进行机车定位的工作原理是:将RFID标签布置在矿井机车行驶轨道上,将RFID阅读器布置在矿井机车上,机车启动后同时启动RFID阅读器,使其处于工作待机状态,实时监测进入其工作范围内的RFID标签。当矿井机车行驶通过不同的RFID标签时,阅读器读取到不同的标签内容并上传至车载计算机中,通过无线传输将读取的信息上传至矿井机车监控系统。系统通过实时获取的标签内容分析判断矿井机车的位置信息。

定位原理如图4所示,客户端设计如下:

自定义标签存储内容、定义格式(仅为表头设计)如表1所示。

区域码为标签所处矿井区域辨别码,主要用于判断所读取标签矿井区域分类。如读取区域码为01,则判断为放矿口1区,若读取区域码为02,则判断为放矿口2区;定位顺序标识:将区域内机车道轨上布置的标签从1开始定义,当阅读器读取到定位顺序标识时,可以判断此时机车处于具体标签位置;校验码主要用于检验数據在传输过程中是否发生混乱,避免导致定位精度混乱,提高定位准确度。

2.5 远程控制设计

车载控制器是矿井机车无人控制的核心单元,采用具有控制规律解算、数据采集与通讯的工业级PLC控制器。监控人员发送任务指令,通过无线通信发送至PLC控制器,经过PLC控制器解算后输出至各执行单位,完成相关机车操作、道岔转辙机、信号灯等设备的连锁控制。控制系统结构如图5所示。

通过TCP/IP与下位机西门子PLC通信,将控制命令发送给PLC的协议如表2所示。

其中,0B定义为每次发送的数据帧报头,PLC识别到0B后开始接受数据工作;0A为每次数据帧发送尾帧,当PLC识别0A后停止数据接收工作,PLC根据接收数据中的01-09命令码作出响应。数据发送利用套接字socket的socket.send()函数实现。

3 结语

针对传统矿井机车监控系统监控内容单一以及对机车的不可操作性问题,以C#为设计平台,以SQL Server 2016为数据存储软件,设计了一种可对矿井机车参数、巷道参数及巷道环境进行实时监控,对矿井机车进行远程控制的监控系统。该系统采用多模块分工设计,将系统细分为各个次级模块,各模块独立工作又相互协作,实现了地面监控人员对矿井机车的监控以及矿井机车的无人操作。系统具有连接简单、操作方便、直观性强等特点,可满足矿井机车监控要求,实现矿井机车无人操作。但系统在数据传输速率、质量以及界面UI方面仍有不足,这是今后研究完善的方向。

参考文献:

[1] 金枫,张达,战凯. 地下金属矿无线通訊技术[J]. 有色金属,2013,65(1):17-23.

[2] ANDREW TROELSEN. 精通C#[M]. 姚琪琳,朱晔,肖逵,等,译. 北京:人民邮电出版社,2013.

[3] 鞠传香,吴志勇. 基于Android平台的矿井安全监控系统研制[J]. 煤炭工程,2013(1):165-171.

[4] 王雪光,姚瑶. 基于ZigBee的矿井监控系统网络构建[J]. 煤矿安全,2015,46(2):103-105.

[5] 赵洪磊,王英龙,张先毅. 基于无线传感器网络的矿井监控系统[J]. 山东轻工业学院学报,2008,22(4):85-88.

[6] 杨烨,郭东瑜. 基于移动网络的矿井监控系统设计与实现[J]. 煤矿机电,2016 (6):75-78.

[7] 王瑛,钱旭. 基于矿井监控系统软件设计原则的研究[J]. 煤,2013,22(2):9-12.

[8] 赵丹,陈帅,潘竞涛. 矿井监控预警诊断系统研究[J]. 中国安全科学学报,2015,25(4):63-69.

[9] 王涛. 我国煤炭矿井监控系统的现状与发展[J]. 煤炭科学技术,2000,28(9):43-45.

[10] 孙继平. 现场总线及其在矿井监控系统中的应用[J]. 煤矿自动化,1997(2):4-7.

[11] 胡晓健. 矿井综合安全监控系统的设计与研究[D]. 合肥:合肥工业大学,2004.

[12] 沈力. 基于无线通信的矿井监控系统的优化设计研究[D]. 重庆:重庆大学,2012.

[13] 王志波. 矿井安全监测监控系统的研究[D]. 呼和浩特:内蒙古科技大学,2014.

[14] 唐筱彬. 基于ZigBee技术的矿井安全监控系统设计[D]. 兰州:兰州大学,2011.

[15] 张淼,赵银银,李蒙,等. 基于Java及SQL Server数据库开发的企业进销存管理系统[J]. 智能计算机与应用,2017,7(3):183-184.

[16] 刘奇,林岗. 基于Visual Studio 2010的UG二次开发研究[J]. 自动化技术与应用,2015,34(1):40-46.

[17] 明日科技. C#从入门到精通[M]. 北京:清华大学出版社,2012.

[18] 孙成才,罗承双,黄艳国. 钒流电池监控管理系统设计与实现[J]. 软件导刊,2018,17(3):90-92.

[19] 贺蕴杉. 基于SQL Server数据库安全机制问题的研究与分析[J]. 信息安全与技术,2014(1):48-50.

[20] 秦利红,秦会斌,诸坚彬,等. 基于Android平台智能家居客户端的设计与实现[J]. 计算机应用与软件,2016,33(9):88-92.

(责任编辑:杜能钢)

猜你喜欢

远程监控
远程监控在电力调度自动化系统中的应用研究
露天矿运输站场边坡稳态远程监控及工程对策