期刊专题 | 加入收藏 | 设为首页 12年实力经营,12年信誉保证!论文发表行业第一!就在400期刊网!

全国免费客服电话:
当前位置:首页 > 免费论文 > 社科历史 > 人文科学 >

煤矿安全生产中通信控制组件的设计

摘要:在煤矿安全生产过程中,多种信息化监控软件,例如煤矿安全生产监控系统,人员定位系统、紧急避险系统等,都通过有线、无线等多种方式,与矿井多种传感器进行数据通信,获取传感器数据,判断安全生产环境或获取生产数据。在这些系统中,无论是哪种形式的网络链路,都存在通信控制功能。对此,从各种应用系统的实际需求出发,通过设计命令池及控制流程,研究设计了一种广范应用于煤矿各类监控系统的通信控制组件,极大地缩短了各产品的开发周期,提高了开发效率和产品的稳定性、可靠性。通信控制组件设计在多个系统中已得到广泛应用,经长期运行实践,验证了软件的可靠性和稳定性。

关键词:煤矿安全生产;通信控制组件;订阅发布

中图分类号:TP399文献标识码:B文章编号:1001-0874(2015)06-0084-04

作者简介:张羽(1980-),女,工程师。现主要从事煤矿安全管理系统的研究工作

0引言

以煤矿安全避险六大系统为首的安全生产系统是避免或减少瓦斯、火灾等重特大事故发生,应急救援和紧急避险的有效措施[1]。这类生产系统均是通过对煤矿井下各传感器数据的采集,实时监测或预测生产环境(包括人员位置)。通信过程的控制,包括命令发送、等待响应、命令接收、是否需要重发等,是确保通信数据稳定和可靠的重要过程。本文研究了一种可广泛应用于煤矿安全生产中的通信组件,通过设置参数和调用接口,能满足不同的应用场景的需求,有效缩短了各业务系统的开发周期,集中力量进行组件维护,能有效提高组件的可靠性和稳定性。

1通信控制组件的设计

通信控制组件设计了消息队列来管理命令,并设计了一套通信流程,按照不同业务系统赋予的命令的特性进行整个通信过程。

1.1整体设计

通信控制组件的整体数据流设计。各业务系统通过调用接口,向组件消息队列发布命令,通信控制模块获取消息队列中的命令进行单次通信过程,并将接受数据返回给业务系统,并不断循环此过程。在通信控制组件中,管理的对象是命令,本组件采用消息队列来管理命令。队列的主要目的是提供路由并保证消息的传递,如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。消息队列一般按照先进先出的原则进行消息的传递,消息传递完毕后即被及时销毁。对于该组件的应用场景,因为一些特殊命令例如巡检命令,必须滞留在组件内部进行循环发送,故设计了一种可满足命令的存取、持久化、排序、销毁等一系列功能的消息队列。队列持久化到本地,可保证队列中的命令在组件重启时不丢失。队列可以按照命令的设备标签采用冒泡法排序。队列采用指针记录当前命令发送位置,当遇到优先级别高的命令插包后,可以快速恢复到原来位置继续发送。

1.2组件功能设计

通信控制组件的系统功能如图2所示,组件功能主要有消息队列、通信过程控制及对外发布接口组成。消息队列包括命令生命周期管理,优先级别管理。通信过程控制模块主要包括通信通道维护和单次通信过程管理。对外接口则负责接收命令、发布和接收通信数据以及应答数据的反馈。组件内部设计的消息队列,用于处理业务系统中复杂多样化的通信命令,例如巡检命令、心跳命令、握手命令、控制命令等。通信过程控制模块则专注于单次的通信过程控制,从命令发送、等待、接收数据、是否超时,是否需要重发等过程。组件内部业务分工明确,有效提高了组件的处理效率。

2关键技术

组件如何与各业务系统采用松耦合的方式进行通信,即只需要把消息传递,而无须理会对方是否收到,降低了组件和业务系统的依赖,不会互相干扰而造成系统奔溃。订阅发布是具有异步的、多点通信的特点[2],可以高效并且可靠的在分布式组件直接传输信息。组件的设计采用订阅发布模式,向各个业务系统提供接口,用于应答的反馈。订阅发布是指用户可以订阅发布订阅系统中感兴趣的信息,在发布订阅系统中主要有消息发布者、消息订阅者和发布订阅服务器[3]。各业务系统(订阅者)首先向发布/订阅中间件注册一个订阅条件,当通信控制过程(发布者)把接收到的数据发送到服务器,服务器根据订阅条件与消息进行匹配比较,把消息发送给符合订阅条件的各业务系统(订阅者)。

3关键流程设计

通信控制组件的关键流程有通信主流程和单次通信管理流程。

3.1通信管理主体

通信管理主体是整个通信控制组件的主流程,负责循环的对消息队列中的命令进行通信的发布,此流程主要保证消息队列中的命令按照优先级别、用户制定顺序进行准确无误的发送。通信管理主体启动通信后,获取当前命令包的第一条命令,记录当前位置,判断是否有优先级别更高的命令和是否允许被插包后,进行当前命令的发送,并销毁发送后的命令,根据当前位置获取下一个命令进行发送流程。在一些应用场景下,由于通信协议的限定[4],一条完整的命令需要被分成2~3次进行发送,故命令池中的命令包设计成命令队列的形式。在命令队列中,当遇到优先级别较高的命令时,需要判断是否允许被插包。命令发送完毕后也需要判断是否销毁,类似一些控制命令只发送一次,就需要被销毁。而普通的巡检命令因需要循环发送,因此不需要被销毁。

3.2单次通信管理流程

单次通信管理流程是对单一命令的通信过程的管理。通过计算理论等待时间,在该时间段内,接收到期望的数据,则返回给上层应用系统,例如串口通信时,理论等待时间计算公式为:(发送命令的字节数+期望接收的字节数+2)×11×1000/当前通信速率)+当前命令等待偏移量。在理论等待时间后未接收完毕,则根据需要重发。接收完毕后将数据返回给上层应用程序。

4应用说明

其他业务系统在使用通信控制组件时,需要首先添加本组件引用,定义通道参数并初始化通道,订阅数据发送、接收、无响应等事件,向消息队列增加命令包后即可启动通信过程,通信控制组件接收数据或者判断无响应后,将结果发布给业务系统,业务系统再进行后续工作的处理。对于业务系统来说,只需要将命令包组织并添加成功,并启动通信过程即可,不需要管理其中复杂的通信过程。业务系统可以专心处理其他业务例如界面查询、报表打印等。在命令包的组织过程中,心跳和巡检命令为最常用的命令。心跳命令为检测网络上设备是否存在,类似于心跳的命令,一般起辅助作用。这种命令的特性是一发一收,收到即说明设备存在,没收到即说明设备掉线。心跳命令将自动销毁标志置为TRUE,发送完毕后自动销毁。巡检命令为常规命令,定时或者循环向设备获取数据,一般是依据设备的编号,循环发送。巡检命令将自动销毁标志置为False,在命令队列中循环发送,若想按照设备标签顺序进行巡检命令,每次新增命令的时候,调用排序接口,将命令包排序。其他命令例如控制命令,可将优先级别设置成最高,这样保证当系统需要发送设备控制命令时,能即时发送。对于电子显示牌命令,要求以最后一次发出的命令为准,即对于同一地址来说,如果有多条命令,仅发送最后一次的命令,将电子显示牌的优先级别设置为最低,命令包参数中的自动替换标志设置成TRUE即可实现。

5结语

通信控制组件已经开发完成并通过测试,并用于井下物流管理系统、井下信息发布系统等监控系统的开发,有效地降低了软件开发的工作量,缩短了软件的开发周期。上述系统在开发周期上有效的缩短了3个人月的开发和测试时间。测试结果表明,通信控制组件在压力测试下能7天无故障运行,通信完成率为100%。以上系统在成庄煤矿、口孜东煤矿、阳煤一矿等现场进行了应用,长期运行中验证了软件的可靠性、稳定性。

参考文献:

[1]孙继平.煤矿井下安全避险“六大系统”的作用和配置方案[J].工矿自动化,2010(11):1-4.

[2]万豪,史浩山,林卓,等.基于订阅发布机制的中间件系统设计与实现[J].计算机测量与控制,2012(9):2551-2554.

[3]徐宁博.基于发布订阅机制的数据交换平台研究与实现[D].河北:河北工程大学,2012.

[4]陈业.矿用供电保护器MODBUS协议解析[J].可编程控制器与工厂自动化,2014(10).83-84,96.

作者:张羽 单位:天地( 常州) 自动化股份有限公司


    更多人文科学论文详细信息: 煤矿安全生产中通信控制组件的设计
    http://www.400qikan.com/mflunwen/skls/rwkx/119675.html

    相关专题:中国航天科工集团 暴雨灾害


    上一篇:书法美学思想研讨
    下一篇:知识经济下会计的发展趋向

    认准400期刊网 可信 保障 安全 快速 客户见证 退款保证


    品牌介绍