经验交流
邢少妹, 刘海峰
(神华信息技术有限公司, 北京 100011)
摘要:传统的煤矿安全监控中心站监控系统测试方法是通过挂接多个分站设备对系统功能及性能进行检测,不仅需要投入大量的硬件设备成本,测试过程繁琐,而且不能有效发现系统潜在的缺陷。针对上述问题,设计了一款实用的煤矿安全监控分站模拟软件,该软件利用数据模拟技术、IO多路复用技术及WebSocket实时通信技术,可以实时模拟分站设备的工作模式,与中心站监控系统进行动态交互,能动态触发异常场景,并能模拟多分站的并发行为,对中心站监控系统的通信传输准确性、时效性、并发处理能力及连续可靠性等进行全方位的检验。测试结果表明,分站模拟软件能代替分站设备模拟绝大部分的实际应用场景,能从实时数据采集监测、网络传输稳定性、内存消耗情况、异常报警监控等方面快速、有效地诊断出中心站监控系统存在的问题,有效提高中心站监控系统的修复周期,为现场稳定运行提供保障。
关键词:煤矿安全监控; 中心站监控系统; 分站; 模拟软件; 数据模拟技术; IO多路复用技术; WebSocket实时通信技术; 并发处理
煤矿安全监控系统是煤矿安全避险必建的“六大系统”之一,系统可实时监测甲烷浓度、风速、风压、馈电状态、风门状态、风筒状态、局部通风机开停、主要通风机开停等情况,并可监控和预警瓦斯、火、冲击地压等重特大事故,对保障煤矿人员和财产的安全发挥着极其重要的作用[1]。2016年12月,在新技术新装备不断发展的背景下,国家煤矿安全监察局下发了《煤矿安全监控系统升级改造技术方案》,对提高安全监控系统技术性能和安全可靠性提出了更高的要求[2]。
煤矿安全监控系统主要由井上的中心站监控系统和井下的分站、传感器设备组成,传感器监测甲烷、氧气等气体浓度及通风机、风门等开停状态,并通过分站将数据实时传送给中心站监控系统。由于煤矿现场生产环境较恶劣,井下会布设上百个甚至上千个传感器来全面探测环境状况,同时分站与中心站监控系统的传输通道是从井下到井上,传输信号距离长且传输网络复杂,极易受到外部信号的干扰[3-5]。现场实际环境对中心站监控系统的大数据量并发采集监测的可靠稳定能力及对瓦斯超限等异常情况的快速报警响应能力是个极大的考验,这就要求中心站监控系统在现场部署应用前必须经过严格的全面测试,保证系统是稳定可靠的,否则将会发生数据丢失、异常情况漏报或报警响应不及时等情况,给煤矿的生产安全带来极大的隐患。传统的测试方法是通过挂接多个分站设备来开展中心站监控系统的功能及性能检测工作,不仅需要投入大量的硬件设备成本,对测试环境空间也有较高的要求,测试过程也比较繁琐,而且不能有效发现系统潜在的缺陷,特别对一些特定场景的异常状况也无法在早期发现问题,极大约束和限制了中心站监控系统的修复整改进度。因而迫切需要采取有效的测试手段对中心站监控系统进行全面的测试诊断,有效提高测试效率[6]。
针对现有测试方法存在环境搭建复杂、测试成本高、测试覆盖不全面的问题,本文设计了一款实用的煤矿安全监控分站模拟软件,可以实时模拟分站设备的工作模式,与中心站监控系统进行动态交互,并能模拟多分站的并发行为,对中心站监控系统的通信传输准确性、时效性、并发处理能力及连续可靠性等进行全方位检验。模拟测试结果表明,该模拟软件能及早发现中心站监控系统存在的问题,有效缩短了中心站监控系统的改进修复周期,为现场稳定运行提供保障[7-9]。
安全监控分站模拟软件需模拟井下分站设备的工作机制,基于实际的通信协议实现与中心站监控系统的实时通信。分站模拟软件运行过程中需动态模拟井下模拟量传感器的监测数值变化和开关量传感器的状态变化,并将这些动态信息连续、实时地通过模拟分站传送给中心站监控系统,用于检测中心站监控系统的通信实时性、功能完备性及运行可靠性。分站模拟工作机制如图1所示[10-11]。
图1 分站模拟工作机制
Fig.1 Substation simulation working mechanism
分站模拟软件主要功能:
(1) 能同时模拟多个分站设备,每个分站可挂接多个传感器。
(2) 能真实模拟分站设备的实际通信流程,完成与中心站监控系统的通信链路建立、握手应答及数据的实时传输,并能实时跟踪交互通信数据包内容。
(3) 能单独设置每个分站所连接的传感器数目,并可配置每个传感器的基本信息。
(4) 能设置传感器的测量值生成规则,如锯齿波、方波、随机数等,通过直观的数据波形来检测中心站监控系统的数据采集是否有缺陷。
(5) 可模拟网络波动状态,能在传输过程中通过手动中断或设置定时中断中止与中心站监控系统的网络连接,检测中心站监控系统是否具备网络中断自恢复功能。
(6) 可模拟单个传感器的报警,也可模拟典型组合报警场景,如主备通风机切换、风门同时打开等,检测中心站监控系统是否能快速监测报警状态并做出响应。
分站模拟软件采用B/S设计模式,在浏览器上就可以运行。软件采用分层架构,分为用户界面层、控制层、业务逻辑层、网络接口层、数据访问层和存储层,如图2所示。用户界面层主要利用htm15、vue.js及iview技术构建。htm15是最新的html标准,提供了很多新的功能和API(应用程序编程接口)来构建Web界面;vue.js是基于htm15的MVVM(模型-视图-视图模型)框架;iview是基于vue.js的UI(用户界面)组件库,使用这些框架和技术使得GUI(图形用户界面)前端开发和后端开发逻辑得以分离,提高了前端开发效率。控制层采用spring webmvc实现restful服务,供用户界面层使用AJAX调用。业务逻辑层主要实现数据模拟的业务逻辑,包括规则的设置、查询和模拟分站的启动等,采用spring boot框架,配置更简捷高效。网络接口层利用IO多路复用模型实现与中心站监控系统的通信,主要采用netty框架。数据访问层采用spring data实现和数据库的交互。存储层采用数据库存储模拟数据的规则等信息,同时也利用中心站监控系统的分站和传感器配置数据,这样能减少传感器配置工作。
图2 分站模拟软件框架结构
Fig.2 Framework structure of substation simulation software
分站模拟软件通信流程如图3所示。
(1) 分站模拟软件根据配置信息,启动1个或者多个分站的TCP(Transmission Control Protocol,传输控制协议)监听端口。
图3 分站模拟软件通信流程
Fig.3 Communication flow of substation simulation software
(2) 中心站监控系统与模拟分站建立TCP连接,每个连接都会被分配一个定时器。
(3) 各模拟分站根据设定的规则计算每个传感器的值,按照通信协议将实时数据打包,按秒级自动连续地发送给中心站监控系统。
(4) 在实时数据传送过程中可接受人工干预,动态触发异常场景。
(5) 在数据传送过程中,定期中断网络连接端口,等待重新连接。
(6) 所有发送和接收的数据包都在模拟软件界面进行跟踪查看。
根据分站模拟软件功能分析, 设计了包括信息参数配置、实时数据模拟、异常场景模拟及通信实时监控的分站模拟软件功能模块, 如图4所示。
(1) 信息参数配置:主要用于提供灵活的软件运行配置信息,可设置分站基本信息、传感器基本信息,并能单独配置各个分站传感器的数据生成规则,可设置周期性自动中断与中心站监控系统的网络连接。
(2) 实时数据模拟:按照通信协议规范要求,真实模拟分站设备与中心站监控系统的通信流程,并按照配置好的数据生成规则,自动周期性地产生模拟数据,实时传送给中心站监控系统,同时定期中断与中心站监控系统的通信通道,等待重新连接。
(3) 异常场景模拟:模拟煤矿现场的复杂状况,通过手动操作来动态触发某个异常场景,包括传感器标校、故障报警,瓦斯、一氧化碳超限报警,主要通风机、局部通风机停运报警以及风门开、馈电异常等报警。
图4 分站模拟软件功能模块
Fig.4 Function modules of substation simulation software
(4) 通信实时监控:实时监控模拟分站与中心站监控系统的网络链路状况,能详细跟踪发送的数据包内容以及接收到的数据包内容。
由于煤矿现场安全监测实时数据的数据量非常大,很难直观跟踪数据采集状况。随机产生数值不利于数据的比对,分站模拟软件提供多种模拟数据产生的方法,比如锯齿波、方波,或读取现场历史文件数据等[11]。这些波形比较直观,测试人员能快速判断数据是否正确。
中心站监控系统与分站的通信调试和测试一直是安全监控系统测试中比较繁琐的工作,分站模拟软件简化了测试工作流程,可以在界面中查看传输数据内容和二进制协议包编码。通过提供单条数据模拟手段,开发人员、测试人员可以在界面中直接查看数据传输的内容是否正确,方便系统调试和测试。
在煤矿井下实际生产环境中,会部署几百乃至上千个分站,每个分站有几十个甚至上百个传感器与之相连,这些设备需要实时与中心站监控系统通信。分站模拟软件需要模拟真实应用场景,能在一台普通计算机上模拟几百个分站,每个分站同时向中心站监控系统发送上百个传感器的数据,对系统的并发能力有较高要求,必须采用一种高效的网络IO模型来实现分站模拟软件与中心站监控系统的并发交互过程。
常见的网络IO模型有4种:同步阻塞IO(Blocking IO)模型、同步非阻塞IO(Non-blocking IO)模型、异步IO(Asynchronous IO)模型、IO多路复用(IO Multiplexing)模型。同步阻塞IO模型:用户线程在内核进行IO操作时需要等待内核操作完成才能进行下一步处理,这导致用户在发起IO请求时,不能做任何事情,CPU的资源利用率不高。同步非阻塞IO模型:用户线程在发起IO请求后可以立即返回,但是为了等到数据,仍需要不断地轮询、重复请求,会消耗大量的CPU资源,效率较低。异步IO模型:即经典的Proactor设计模式,理论上是效率最高的IO模型,但需要在操作系统层面上才能支持,实际应用中并不常用。IO多路复用模型:即经典的Reactor设计模式,建立在内核提供的多路分离函数select基础之上,使用select函数可以避免同步非阻塞IO模型中轮询等待的问题。IO多路复用模型成熟可靠,在效率上比异步IO模型相差不大,甚至在某些环境的测试中,效率还优于异步IO模型。
经对比分析,分站模拟软件的网络接口层采用IO多路复用模型实现,该模型具有高并发、低延时、稳定可靠的优势。
分站模拟软件具有在用户界面中查看任何一个中心站监控系统发送的数据内容和二进制代码功能,这部分内容采用WebSocket技术来实现。而分站模拟软件发送数据和界面展示内容是独立的,并且是以秒级的频率发送数据,使用传统的请求-应答方式难以实现。
传统网站为了实现推送功能,所用的技术都是轮询。轮询是在特定的时间间隔(每隔1 s),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端浏览器。这种传统的模式有很明显的缺点,即浏览器需要不断地向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽资源。而比较新的轮询技术采用的是Comet(基于HTTP长连接的“服务器推”技术)。这种技术虽然可以双向通信,但依然需要反复发出请求。而且在Comet中普遍采用长连接,也会消耗服务器资源[12]。
html5新定义的WebSocket协议能更多地节省服务器资源和带宽,并且能够更实时地进行通信。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
采用一台中心站服务器和2台测试PC机搭建系统测试环境,共模拟200个分站、900个传感器与中心站监控系统通信。系统连续运行14 d,分站模拟软件按指定的数据产生方式模拟各传感器的监测值,同时模拟主要通风机全部停机或局部通风机停机的异常状况,检测中心站监控系统的数据采集状况以及对异常情况的报警响应及时性。
中心站服务器上部署中心站监控系统,2台测试PC机部署分站模拟软件,其中测试PC1模拟运行100个分站,模拟接入400个传感器,包括甲烷、一氧化碳、氧气等模拟量传感器和主要通风机、局部通风机开关量传感器;测试PC2模拟运行另外100个分站,模拟接入500个传感器,包括甲烷、一氧化碳、氧气、硫化氢等模拟量传感器和主要通风机、局部通风机、风门等开关量传感器。测试环境网络拓扑结构如图5所示。
图5 测试环境网络拓扑
Fig.5 Network topology of test environment
测试环境参数配置信息见表1。
表1 测试环境参数配置信息
Table 1 Parameter configuration information of test environment
4.3 测试内容
(1) 分站模拟软件按指定的数据波形,每隔5 s产生各传感器的数据并传输给中心站监控系统,检测中心站监控系统数据采集连续准确性。
(2) 设置分站每隔1 h自动中断与中心站监控系统的网络端口连接,检测中心站监控系统的网络自恢复能力。
(3) 动态调整某些甲烷传感器的监测浓度,浓度值由正常变为超限,再由超限变为正常,检测中心站监控系统能否及时进行甲烷浓度超限报警提醒或恢复正常监测状态。
(4) 动态触发异常,比如主要通风机停运报警、掘进工作面煤与瓦斯突出报警,检测中心站监控系统能否及时监控到严重异常情况,及时给出报警提醒并发出断电闭锁指令。
经过连续14 d的测试,跟踪发现中心站监控系统能正常与各分站通信,采集到各传感器的实时数据,在界面正常显示并实时入库。分站模拟软件运行效果如图6所示,通过对图6右边的发送和接收数据窗口的数据包跟踪分析,能判断出中心站监控系统能持续正常地与模拟分站进行通信交互,并能及时对异常情况发出响应指令。
但通过对中心站监控系统中各传感器数据曲线的分析以及对其内存消耗情况分析,发现中心站监控系统存在如下问题:
(1) 通过中心站监控系统查看数据的历史曲线,发现锯齿波数据的图形不完整,总是在波形顶部丢失数据。经排查是中心站监控系统对数据接收缓冲区的处理存在问题,当达到一定的数据量时会发生缓存被冲的情况。模拟产生的锯齿波及中心站监控系统采集到的数据波形对比如图7所示。
(2) 在测试运行到第3天时,发现所有模拟分站都断开了与中心站监控系统的连接。经分析发现是中心站监控系统对网络中断连接次数进行了限制,没有考虑到实际现场的恶劣环境。
图6 分站模拟软件运行效果
Fig.6 Operation effect of substation simulation software
(a) 模拟产生的锯齿波
(b) 中心站监控系统采集到的数据波形
图7 数据波形对比
Fig.7 Data waveform comparison
(3) 每天跟踪中心站监控系统的内存消耗情况,发现系统在收到模拟分站发送过来的数据包并做相应处理后,内存先增加,后降低,但每天总是以一定的增量在缓慢增长。经排查分析,发现是中心站监控系统的某些资源在创建后没有彻底释放干净。
针对发现的缺陷对中心站监控系统进行修补后,重新启动分站模拟软件,对之前发现的问题进行跟踪验证。测试结果充分说明,分站模拟软件可按照预设的数据波形产生模拟数据,连续不间断向中心站监控系统传送数据包,能有效检测出中心站监控系统是否存在内存泄漏、数据采集处理逻辑不完备的缺陷。分站模拟软件对有效检测中心站监控系统的通信传输稳定性、数据采集可靠性、功能完备性及系统可靠性等起着较好的作用。
煤矿安全监控分站模拟软件界面配置简单,能同时支持模拟大量的分站设备和传感器,在PC机上运行就可完成与中心站监控系统的交互过程,并能动态改变环境参数,模拟特定的异常场景,实现对中心站监控系统的有效检测。该模拟软件不仅能节约大量的硬件投入成本,有效缩短系统测试修复周期,同时也能降低测试人员的测试工作强度。测试结果表明,分站模拟软件能代替分站设备模拟绝大部分的实际应用场景,能从实时数据采集监测、网络传输稳定性、内存消耗情况、异常报警监控等方面快速、有效地诊断出中心站监控系统存在的缺陷。
参考文献(References):
[1] 李继林.煤矿安全监控系统的现状与发展趋势[J].煤炭技术,2008,27(11):3-5.
LI Jilin.Present situation and development of coal mine safety monitoring system[J]. Coal Technology,2008,27(11):3-5.
[2] 孙继平.AQ 6201—2017 煤矿安全监控系统通用技术要求 (报批稿)[J].工矿自动化,2017,43(7):1-6.
SUN Jiping.AQ 6201-2017General Technical Requirements of Coal Mine Safety Monitoring System(draft for approval)[J].Industry and Mine Automation,2017,43(7):1-6.
[3] 汪丛笑.煤矿安全监控系统升级改造及关键技术研究[J].工矿自动化,2017,43(2):1-6.
WANG Congxiao.Research on upgrading of coal mine safety monitoring and control system and its key technologies[J].Industry and Mine Automation,2017,43(2):1-6.
[4] 唐健.计算机监控信息技术在矿井安全中的应用[J].煤矿机械,2013,34(9):259-260.
TANG Jian.Computer monitoring and information technology application in mine safety[J]. Coal Mine Machinery,2013,34(9):259-260.
[5] 熊若讷.煤矿井下安全智能监控分站的设计[D].武汉: 武汉理工大学,2012.
XIONG Ruona.Design of intelligent monitoring substation for underground coal mine safety[D]. Wuhan: Wuhan University of Technology,2012.
[6] 石艳敏. 基于进路控制过程的联锁软件高效率测试方法研究[D]. 北京:北京交通大学, 2014.
SHI Yanmin.Study on high efficiency test method of interlocking software based on process of approach control[D].Beijing: Beijing Jiaotong University,2014.
[7] 宋晓敏.实时系统的测试方法研究与应用[D].青岛:青岛科技大学,2015.
SONG Xiaomin.The test method of the real-time system research and application[D].Qingdao: Qingdao University of Science & Technology,2015.
[8] 孙继平.测试矿井监控系统性能的模拟分站及连接方法[J].煤矿自动化,2001,27(1):1-3.
SUN Jiping.Analog outstation for testing performances of mine monitoring and control system and its linking methods[J].Coal Mine Automation,2001,27(1):1-3.
[9] 张文,牟艳,高振兴,等.WebSocket技术在工业设备数据实时监测中的应用[J].计算机与现代化,2017(11):111-115.
ZHANG Wen,MU Yan,GAO Zhenxing,et al.Application of WebSocket in real-time monitoring of industrial equipment data[J].Computer and Modernization,2017 (11):111-115.
[10] 何敏,武福生,成燕玲.基于三维模型的通风系统优化调控模拟分析[J].工矿自动化,2016,42(11):41-44.
HE Min,WU Fusheng,CHENG Yanling.Simulation analysis of optimal regulation and control of ventilation system based on 3D model[J].Industry and Mine Automation,2016,42(11):41-44.
[11] 李曼,马欢.矿井主通风机风量测试方法的模拟研究[J].煤炭科学技术,2017,45(2):151-155.
LI Man,MA Huan. Simulation research on airflow measuring method of mine main ventilator[J].Coal Science and Technology,2017,45(2):151-155.
[12] 苏炳秒,黄劲.基于Socket技术的煤矿远程监控系统[J].工矿自动化,2003,29(1):37-39.
SU Bingmiao,HUANG Jing. Remote monitoring and control system based on Socket technology used in coal mine[J].Industry and Mine Automation,2003,29(1):37-39.
XING Shaomei, LIU Haifeng
(Shenhua Information Technology Co., Ltd., Beijing 100011, China)
Abstract:The traditional testing method of coal mine safety monitoring central station monitoring system is to test function and performance of the system by hooking up multiple substation equipments, which not only requires a large amount of hardware cost and complex testing process, but also cannot effectively find potential defects of the system. In view of the above problems, a practical simulation software of coal mine safety monitoring substation was designed. The software adopts data simulation technology, IO multiplexing technology and WebSocket real-time communication technology, and can simulate working mode of substation equipment in real time, interact with the central station monitoring system in action state, and can trigger the abnormal scene dynamically, simulate the concurrent behavior of multiple substations. Meanwhile it can comprehensively test the communication transmission accuracy, timeliness, parallel processing ability and continuous reliability of the central station monitoring system. The test results show that the substation simulation software can take place of substation equipment and simulate vast majority of application scenarios, and can quickly and effectively diagnose flaws of the central station monitoring system from real-time data collection and monitoring, network transmission stability, memory consumption situation, abnormal alarm monitoring, can effectively improve repair cycle of central station monitoring system, which provides guarantee for the stable operation of the central station monitoring system in production environment.
Key words:coal mine safety monitoring; central station monitoring system; substation; simulation software; data simulation technology; IO multiplexing technology; WebSocket real-time communication technology; parallel processing
文章编号:1671-251X(2019)12-0068-07
DOI:10.13272/j.issn.1671-251x.2019050083
收稿日期:2019-05-29;修回日期:2019-10-28;责任编辑:张强。
基金项目:国家重点研发计划项目(2017YFC0804300,2017YFC0804307)。
作者简介:邢少妹(1976-),女,海南文昌人,工程师,硕士,主要从事矿山安全、环保、应急信息化方面的分析设计工作,E-mail:xingshaomei@shenhua.cc。
引用格式:邢少妹,刘海峰.煤矿安全监控分站模拟软件设计[J].工矿自动化,2019,45(12):68-74.
XING Shaomei,LIU Haifeng.Design of simulation software of mine safety monitoring substation[J].Industry and Mine Automation,2019,45(12):68-74.
中图分类号:TD672
文献标志码:A