基于智慧燃气安全监控云平台的设计与实现
2020-06-19伍孝雄孔令聪
伍孝雄 孔令聪
【摘 要】“绿水青山就是金山银山”。随着中国将生态文明建设与绿色发展作为“十三五”时期经济社会发展的一个重要理念,中国社会已经越来越注重清洁能源的使用,天然气作为一种清洁能源已经越来越广泛地被城市与乡镇居民使用,但是天然气是一种有毒、易燃易爆的气体,国内的燃气企业也注意到相关事件的危害,对此,各燃气企业与设备厂家也相应地研发了基于物联网的可燃气体泄露报警平台。但是各厂家与平台协议互不兼容,而使用厂家的燃气平台又不便于统一管理,因此燃气企业需要建立起自己的预警平台,方便统一管理。文章针对各厂家平台协议互不兼容的现象,制定平台使用通信协议的标准,重点论述燃气企业选用通信协议的标准,解决智慧平台通信并发、通信驱动开发、通信数据与平台数据库对接等问题。
【关键词】智慧燃气安全监控云平台;通信驱动模块;天燃气;设计
【中图分类号】TP273;TP309【文献标识码】A 【文章编号】1674-0688(2020)05-0038-02
0 引言
随着智慧城市建设的不断深入,以及“互联网+云平台”的飞速发展,将居民燃气泄露数据通过物联网采集到云平台,进行数据分析、燃气泄露危险预警、泄露点定位、泄露点维护等各项工作,让天然气用户安全使用燃气,防范人员伤亡和财产损失,建设美丽和谐社会。
1 云平台通信驱动系统架构
智慧燃气云平台通信驱动系统架构如图1所示,民用探测器采集用户端可燃气体浓度,并通过集成的通信模块和GSM、GPRS、3G、4G技術传输到云平台,云平台基于COM等技术开发的通信驱动实现与现场设备的数据交换,并通过DDE等技术开发与云平台实时数据库实现数据交换,最终通过云端平台系统进行数据分析、报警处理,并通过Web、手机App、短信等多种方式将浓度报警信息推送给用户。
2 用户采集层
用户采集层主要是采集终端用户燃气泄露情况,由可燃气体泄露探测器、切断阀、报警器等设备组成,其中民用探测器中的气敏传感器探测周围环境中的低浓度可燃气体,通过电路将探测信息传递给控制器,浓度超标时,控制器执行报警信号或关阀操作,与此同时,将燃气浓度泄露数据通过网络实时传输到安全监控云平台。但是,由于各设备厂家通信协议互不兼容,因此最关键的是民用探测器通信驱动协议标准的确定,以方便统一开发通信驱动,提高系统的稳定性及降低云平台通信模块的开发难度与费用。
根据我国的工业总线实际应用情况,选用MODBUS通讯协议作为云平台通信协议标准,MODBUS是一种串行通信协议,于1979年为使用PLC可编程控制器而研发,MODBUS通信协议已经成为工业领域通信总线协议的业界标准,MODBUS的广泛应用,使市场上大多的燃气设备厂家都具有此项技术的研发能力,并且有相关产品支持MODBUS协议,燃气设备厂家只需根据平台的要求做简单的报文表头协议处理,就可以设计生产出符合平台通信标准的带远传功能的可燃气体泄露探测器。
3 云平台通信驱动设计
云平台的通信驱动是整个云平台项目实现的关键,主要负责实现与用户端民用可燃气体探测器的数据交换及指令下发,要便于日后系统维护人员扩展用户接入,不需要专门的开发人员进行接入,只需要对系统维护人员进行简单的培训,就可以完成通信接入,实现数据交换。
3.1 通信驱动模块设计要求
3.1.1 通用及可复用性
通信驱动模块组件需采用组件模型对象(COM)技术研发,组件对象模型是由微软公司创建的一种二进制和网络标准,遵循这一标准开发的组件之间可以跨进程、跟机器、跨语言甚至跨操作平台进行通信,组件的优点在于可重用性好,具有标准的应用接口,“施耐德”为合作伙伴提供了现有的Modbus程序,可以将此程序用COM技术建成组件对象,将封装有驱动程序COM组件对象作为COM服务器,而实时数据库的数据采集功能模块作为COM的客户端,利用COM标准的COM机制和可连接对象机制,通过COM客户对服务器的相互调用完成实时数据库对设备数据的采集和写入,进一步实现系统对设备的监控。
3.1.2 可视化操作
通信模块需实现可视化配置与操作,便于系统维护人员编程与开发,通过可视化配置就可以实现民用泄露探测器的数据接入,其可视化配置界面可以参考SCADA组态软件的I/O驱动模块进行设计。
3.1.3 可扩展性
通信模块需要有良好的扩展性,支持通过标准接口(如DLL、DDE等)进行对其他通信协议的扩展开发,扩大以后平台的使用范围。
3.1.4 多线程技术
通信模块需要支持多线程技术,可以同步完成对多个民用探测器的数据采集,提高资源使用效率。
3.1.5 并发性要求
通信模块设计需充分考虑民用泄露探测器进行数据采集时产生的大量线程并发导致平台通信模块崩溃的情况,因此通信模块设计时需支持同步与异步等多种通信模式,并且可以对每个区域的民用泄露探测器的数据采集时间进行设置,从而错开采集时间,减少并发。
3.2 通信驱动模块设计
考虑驱动程序的可扩展性及可复用性,驱动程序基于组件模型对象的动态连接库(DLL)形式封装,分为3个小模块:设备配置,驱动管理和数据I/O。系统维护管理员通过设备配置模块创建设备,配置设备驱动参数、设备通信参数及配置采集点;驱动管理模块是核心模块,其运行主线程负责各类设备对应的采集线程管理和从实时数据库发来的采集控制命令的任务调度;数据I/O模块是对具体设备的采集,通过设备的具体设备驱动程序与设备进行数据交换。
3.2.1 设备配置模块设计
该模块主要是界面配置,为用户提供要定义配置的输入界面。用户分别对设备信息、通信方式和采集点3个部分内容进行定义。生成设备配置主要涉及3个对话框:CDevAddDlg(构建添加设备设置对话框),CComsetDlg(构建设备通信参数的设置对话框),CTagConDlg(构建采集点组态参数对话框)。通过这几个类的定义与实现,并将相应参数以链表的形式保存在驱动管理模块建立的类中,便于后台程序的运行。
3.2.2 驱动管理模块设计
驱动管理模块是整个云平台通信驱动开发的核心,管理现场设备驱动,包括加载、卸载、配置驱动,提供其他客户程序访问用户民用燃气泄露探头接口及与其他模块的交互。该模块主要定义了以下几个类:CDriverMgr,CDevice,CTag,CDriver,CComm,CThread,CCommandBuf。驱动管理类CDriverMgr 是该模块的核心。根据各种设备通信方式的多样性,在设备驱动运行中采用多线程技术处理不同类型设备。每一类设备对应于一个驱动,也对应于运行系统的一个线程,利用驱动管理类管理各驱动对应的采集线程。
3.2.3 数据I/O模块设计
数据I/O模块是提供给驱动管理模块关于底层设备通信的信息,并负责设备的底层操作。针对不同类型的设备,分别采用动态链接库的形式导出操作函数,便于驱动管理模块的调用。该模块是以“施耐德”提供的MODBUS底层通信协议编写的DLL(以后也需支持其他设备与厂家提供的DLL)。
4 结论
本文主要讨论智慧燃气安全监控云平台通信驱动模块的设计,确定了云平台通信协议的标准,并对通信驱动模块明确了技术要求及设计通信驱动模块的架构,为通信模块的具体开发提出了性能与功能指标。本文的创新点是在智慧燃气安全监控云平台环境中建立设备驱动开发模块,为实现民用燃气泄露探头数据与云平台数据交换确定了技术方法与研发方向。
参 考 文 献
[1]文本颖,谈顺涛,袁荣湘,等.基于COM技术的SC-ADA系统数据库设计与实现[J].电网技术,2004(7).
[2]李艳,方康玲,方红萍.嵌入式组态软件设备驱动平台的总体设计[EB/OL].http://www.paper.edu.cn/releas-epaper/content/200806-184,2008-06-10.
[3]李贺斌.监控组态软件中设备驱动程序开发平台的研究与实现[D].燕山:燕山大学,2006.