分析研究
煤矿智能化先后经历了单机自动化、综合自动化、局部智慧化3个阶段,正在向智能化的最高形式——智慧矿山发展[1]。智慧矿山将物联网、云计算、大数据、人工智能、自动控制、移动互联网、机器人化装备与现代矿山开发技术融合,实现了矿井开拓、采掘、运输、通风、选煤、安全保障、生态保护、生产管理等全过程智能化运行[2]。智慧矿山的显著特点是多业务协同、自动分析和自主决策。
谭章禄等[3]指出透彻感知和深度互联是智慧矿山的基础,对矿山数据的实时获取与监测,以及“人-人”“人-物”“物-物”无障碍互联互通,是实现信息共享、数据挖掘和人工智能的基本条件。随着传感技术和通信技术的发展,终端设备的感知能力显著提高,然而,深度互联却还停留在最低级别的物理互联上。由于设计前期缺乏统一规划和信息交互相关标准,各种矿山子系统的建设基本上采用的是自己建设、自己使用、自己维护的“三自模式”[4],没有考虑系统开放性和信息共享问题。随着系统不断增多,系统之间无法互联互通,海量数据无法得到有效利用,形成了“信息孤岛”问题,严重阻碍了煤矿智能化发展。
针对“信息孤岛”问题,目前大多数解决方案都绕开了设备、通信技术及信息交互协议的异构性,直接在地面上位机系统进行信息交互和业务融合[5-6]。典型的信息交互方式包括文件传输协议(File Transfer Protocol,FTP)、OPC数据访问(OPC Data Access,OPC DA)规范、Web Service技术、基于数据库的交互等[7-8]。但通过上位机系统进行信息交互存在实时性差、数据缺失等问题。姚建铨等[9]建议建设基于公共协议、标准的平台,袁亮等[10]提出通过智能网关将异构协议转换为统一协议的方法,在井下实现信息交互和信息共享。在主干网采用统一协议和框架是实现信息交互的一种途径和趋势,但是目前煤矿行业还没有相关标准和具体方法[11]。大量使用私有协议的历史遗留系统和设备的存在,使得信息交互标准的设计和制定充满了挑战,除需要考虑标准的功能性和适用性外,还需要综合考虑经济性、兼容性、可实施性等复杂问题。一些物联网领域的国际组织提出的oneM2M[12]和OPC UA[13]等标准提供了一种统一的信息交互方式,但相对比较复杂。鉴此,本文从实践角度出发,提出一种基于资源模型和受限应用协议(Constrained Application Protocol,CoAP)的智慧矿山信息交互方法。
要实现信息交互,至少要解决2个关键问题:① 数据建模和表示问题,即信息源如何展示自己能提供的信息和服务,需确定信息内容、组织方式、信息格式等。② 交互协议问题,即信息消费者和生产者之间如何通信,需确定通信步骤、通信接口、消息格式等。
OPC UA的数据模型[14]采用的是一种面向对象的数据建模方式,一般用可扩展标记语言(Extensive Markup Language,XML)格式的文件表示。该模型中所有信息都由节点构成,节点按类型可分为对象、属性、方法等,节点和节点之间的引用组成了一种层次性的数据模型。OPC UA的数据模型相对比较复杂,在资源受限设备上实现有一定难度。
本文定义了一种简单的数据模型,即资源模型:将终端能够提供的每种信息看作一个资源,资源从逻辑上组织成对象;一个终端可包含多个对象,一个对象也可包含多种资源;对象和资源都分配有唯一的编码标志。终端、对象、资源之间的关系如图1所示。
图1 终端、对象、资源之间的关系
Fig.1 The relationship between terminals, objects and resources
对象规定了一组资源,但只是一种定义,必须要实例化以后才能访问其中的资源和相关功能。对象、对象实例和资源的标志符语法及分配方法见表1。
表1 标志符语法及分配方法
Table 1 Symbol syntax and allocation method
标志符语法描述对象ID16 bit无符号整型唯一标志对象,由编码标志管理部门分配对象实例ID16 bit无符号整型唯一标志对象实例,由终端分配资源ID16 bit无符号整型唯一标志对象中的资源,对象定义时分配,在对象内唯一
对象或资源都通过统一资源标志符(Uniform Resource Identifier,URI)访问。URI格式如下:/{对象ID}/{对象实例ID}/{资源ID}。例如,URI“/1000/0/100”表示0号甲烷传感器的实时值为100,其中对象ID“1000”表示甲烷传感器,对象实例ID“0”表示0号实例,资源ID“100”表示实时值为100。
资源模型采用XML格式文件描述。每个对象定义包含名称、ID、描述、支持单实例或多实例等字段,对象下包含资源,每个资源定义包含名称、ID、描述、支持的操作、值类型、支持单实例或多实例、必须支持或选择支持等字段。一个简化的甲烷传感器对象定义文件如图2所示。
图2 甲烷传感器资源模型定义文件
Fig.2 Resource model definition file of methane sensor
通过资源模型定义文件,可获取甲烷传感器提供的信息、对应的操作权限和数据类型等,基于一定的通信链路和交互协议,通信双方即可进行数据交换。
从设计角度看,交互协议主要分为声明式和命令式2种[15]。声明式协议关心做什么(what),而不关心如何实现(how),一般接口数量少且固定;命令式协议则关心如何具体实现,一般需要根据不同功能设计不同接口。举例来说,要实现传感器超限报警,声明式协议只需采用通用的写操作将传感器报警对应的资源置位即可,而命令式协议则需要调用相应的特殊命令和参数,如报警或打开蜂鸣器。声明式协议具有较好的开放性和扩展性,典型的声明式协议有HTTP,Modbus等;命令式协议则更直接、效率更高,私有协议一般都是命令式协议,FTP协议是典型的命令式协议。
命令式协议在增加新功能时,一般需要增加新的命令,从而需要修改协议及协议栈实现源代码,由于物联网中设备数量多,升级成本很高且很难实施。而声明式协议一般会保持协议的稳定性,通过增加资源的方式添加新功能,因此,更符合煤矿物联网开放性和易扩展性需求。通过比较CoAP、消息队列遥测传输协议(Message Queuing Telemetry Transport,MQTT)和高级消息队列协议 (Advanced Message Queuing Protocol,AMQP)等物联网协议,本文选用CoAP作为信息交互协议。
CoAP是专为计算资源和带宽资源受限设备设计的一种表征性状态转移(Representational State Transfer,REST)架构的二进制应用层协议[16-17],其操作接口统一,通过URI标志资源,支持多种负载编码方式,目前已在物联网中有很多应用。CoAP消息格式如图3所示。
图3 CoAP消息格式
Fig.3 CoAP message format
CoAP消息包含头部各字段、Token值、选项、Payload标志符(0xFF)和Payload,其中Token值用于将某个请求和对应的响应关联。头部各字段定义如下:
(1) 版本号(Ver):2 bit无符号整型,代表CoAP版本号。
(2) 类型(T):2 bit无符号整型,包括CON(0),NON(1),ACK(2),RST(3)。
(3) Token长度(TKL):4 bit无符号整型,表示变长的Token字段的长度(0~8 byte)。
(4) 代码(Code):8 bit无符号整型,拆分为3 bit分类信息和5 bit详细信息,写作“c.dd”。分类信息包括请求(0)、成功响应(2)、客户端错误响应(4)和服务端错误响应(5)。当消息是一个请求时,Code字段表示请求方法,请求方法包括GET(1),POST(2), PUT(3),DELETE(4);当消息是一个响应时,Code字段代表响应代码。
(5) 消息ID(Message ID):16 bit无符号整型,用于检测消息是否重复及匹配消息。
服务器和客户端交互过程如图4所示。为了进行基于IP的交互,将甲烷传感器改造后作为服务器端,改造方法:在甲烷传感器的UART口外接一个ESP8266无线模块,并修改甲烷传感器的嵌入式软件,实现CoAP协议栈及资源模型。客户端使用一台计算机,安装Firefox浏览器及Copper插件,Copper是一种CoAP客户端调试工具。传感器与计算机之间通过WiFi进行无线通信。
(a) 交互过程
(b) 服务器
图4 服务器和客户端交互过程
Fig.4 Interaction process between server and client
采用图3所示的文件定义传感器模型,其具有4个资源:实时值、单位、报警值和重置报警值,对应的ID分别为100,101,102,103,通过软件模拟使实时值周期性变化。
传感器软件除实现基本的信号采集、数据处理、数据显示等功能外,还要实现CoAP引擎和资源模块。软件通过通信管理模块完成与ESP8266模块的通信,实现数据收发;传感器收到数据后进行CoAP协议解析,然后根据URI将消息分发给对应资源模块;目标资源收到请求消息后,根据具体请求调用相应原生接口,产生请求结果;资源模块根据配置或请求选项,将请求结果格式化为文本、JSON(JavaScript Object Notation)或TLV(Tag-Length-Value)等格式,然后发送给CoAP引擎;CoAP引擎按照CoAP协议对请求结果进行封装、打包后,发送给通信管理模块,最后发送给客户端。传感器软件流程如图5所示。
图5 传感器软件流程
Fig.5 Sensor software process
通过实验测试信息交互常用操作。实验包括传感器资源发现、读取传感器实时值、设置传感器报警值和重置传感器报警值4个过程。甲烷传感器对应的请求及应答过程如图6所示。
图6 甲烷传感器请求及应答过程
Fig.6 Request and response process of methane sensor
(1) 传感器资源发现。传感器资源发现有静态和动态2种方法。静态方法指预先获取图2所示的甲烷传感器资源模型文件。动态方法则是通过实时访问“/.well-known/core”路径实现资源获取,CoAP协议默认在客户端请求访问该路径时返回application/link-format[18]格式的资源列表。实验过程中,通过点击Copper插件的“Discover”按键发送资源发现请求。
(2) 读取传感器实时值。读取资源值是信息交互最常用的功能,通过GET方法加对应目标资源的URI选项即可请求获取对应资源的值,实验中甲烷传感器实时值的URI是“/1000/0/100”。如果没有指定,则默认负载采用文本格式。
(3) 设置传感器报警值。参数设置也是信息交互和设备管理常用的功能,通过PUT方法加目标资源URI选项及参数值即可请求修改对应资源的值。甲烷传感器报警值的URI是“/1000/0/102”,访问权限为“可读可写”,修改成功返回代码为2.04。
(4) 重置传感器报警值。本文所提的信息交互方法支持通过资源执行某些操作。甲烷传感器重置报警值的URI是“/1000/0/103”,该资源为可执行资源,通过POST方法加目标资源URI及参数即可请求执行相应操作。传感器接收到请求后,从带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)中读取出厂设置值并用其覆盖传感器报警值,实现报警值重置,并返回成功代码2.04。
为了测试信息交互性能,连续100次读取传感器值,计算每次的往返时延,结果如图7所示。可见,在实验环境下,往返时延为100 ms左右。
图7 往返时延测试结果
Fig.7 Round-trip delay test result
实验结果表明,基于资源模型和CoAP的信息交互方法可在保持接口稳定(只有GET,PUT,POST,DELETE)的基础上,通过选项和资源提高灵活性,能够方便快速地实现创建、查询、修改、删除、通知等信息交互操作。
(1) 针对影响煤矿信息化与智慧矿山发展的“信息孤岛”问题,提出了一种基于资源模型和统一应用协议CoAP的信息交互方法,提供了一种一致性的信息组织和交互机制。该方法接口统一,扩展性和灵活性好,可直接在井下实现信息交互,且非常易实现,只需要对现有设备软件进行修改即可实现统一的信息交互,从而实现了矿山物联网的互联互通互操作,为实现智慧矿山打下基础。
(2) 虽然规定了统一的数据建模和表示方法,但是针对同一设备,不同厂家定义的模型可能还是不同,同样的资源可能会采用不同名称或编号。这就需要定义相关的元数据和数据集标准,或使用语义网技术定义相关本体[19],使相关方对同一资源采用相同名称,实现一致无歧义的理解。在此基础上,可进一步定义一些通用设备资源模型作为标准,相关厂家不需要自己再定义模型,而只要实现相关模型并声明自己支持哪些模型,信息交互就能更加统一和简单。
(3) 着重介绍了基于IP网络的信息交互方法,而煤矿现场有CAN、RS485、无线传感器网络等多种非IP网络,如何在非IP网络中实现统一协议需要进一步研究,尤其是异构网络的寻址和路由问题、大数据包在负载大小受限的网络中的拆分和重组问题等。
参考文献(References):
[1] 吕鹏飞,何敏,陈晓晶,等.智慧矿山发展与展望[J].工矿自动化,2018,44(9):84-88.
LYU Pengfei,HE Min,CHEN Xiaojing,et al.Development and prospect of wisdom mine[J].Industry and Mine Automation,2018,44(9):84-88.
[2] 王国法,王虹,任怀伟,等.智慧煤矿2025情景目标和发展路径[J].煤炭学报,2018,43(2):295-305.
WANG Guofa,WANG Hong,REN Huaiwei,et al.2025 scenarios and development path of intelligent coal mine[J].Journal of China Coal Society,2018,43(2):295-305.
[3] 谭章禄,吴琦.智慧矿山理论与关键技术探析[J].中国煤炭,2019,45(10):30-40.
TAN Zhanglu,WU Qi.Analysis and discussion of smart mine theory and key technologies[J].China Coal,2019,45(10):30-40.
[4] 张申,胡青松,王刚.矿山物联网标准建设的思考[J].工矿自动化,2018,44(1):1-5.
ZHANG Shen,HU Qingsong,WANG Gang.Consideration about construction of standards for mine Internet of things[J].Industry and Mine Automation,2018,44(1):1-5.
[5] 贺耀宜,王海波.基于物联网的可融合性煤矿监控系统研究[J].工矿自动化,2019,45(8):13-18.
HE Yaoyi,WANG Haibo.Research on coal mine fusion monitoring system based on Internet of things[J].Industry and Mine Automation,2019,45(8):13-18.
[6] 张翼.煤矿安全监控多系统融合与联动交互方案[J].煤矿安全,2019,50(6):100-103.
ZHANG Yi.Multi-system fusion and linkage interaction solution of coal mine safety monitoring system[J].Safety in Coal Mines,2019,50(6):100-103.
[7] 郑武平.OPC技术在煤矿综合自动化系统中的研究与应用[D].西安:西安科技大学,2018.
ZHENG Wuping.The research and application of OPC technology in coal mine integrated automation system[D].Xi'an:Xi'an University of Science and Technology,2018.
[8] 邓春饶.煤矿综合自动化数据采集解决方案[J].中国新通信,2018,20(7):229.
DENG Chunrao.The solution of data collection of colliery comprehensive automation[J].China New Telecommunications,2018,20(7):229.
[9] 姚建铨,丁恩杰,张申,等.感知矿山物联网愿景与发展趋势[J].工矿自动化,2016,42(9):1-5.
YAO Jianquan,DING Enjie,ZHANG Shen,et al.Prospect of perception mine Internet of things and its development trend[J].Industry and Mine Automation,2016,42(9):1-5.
[10] 袁亮,俞啸,丁恩杰,等.矿山物联网人-机-环状态感知关键技术研究[J].通信学报,2020,41(2):1-12.
YUAN Liang,YU Xiao,DING Enjie,et al.Research on key technologies of human-machine-environment states perception in mine Internet of things[J].Journal on Communications,2020,41(2):1-12.
[11] 丁恩杰,赵志凯.煤矿物联网研究现状及发展趋势[J].工矿自动化,2015,41(4):1-5.
DING Enjie,ZHAO Zhikai.Research advances and prospects of mine Internet of things[J].Industry and Mine Automation,2015,41(4):1-5.
[12] 高祥.oneM2M平台的异构物联网融合研究[D].北京:北京邮电大学,2018.
GAO Xiang.Research on heterogeneous network convergence of oneM2M platform[D].Beijing:Beijing University of Posts and Telecommunications,2018.
[13] MAHNKE W,LEITNER S H,DAMM M.OPC统一架构[M].马国华,译.北京:机械工业出版社,2011.
MAHNKE W,LEITNER S H,DAMM M.OPC unified architecture[M].MA Guohua,translate.Beijing:China Machine Press,2011.
[14] 江城.OPC UA信息模型及其应用[D].太原:太原科技大学,2014.
JIANG Cheng.OPC UA information model and its application[D].Taiyuan:Taiyuan University of Science & Technology,2014.
[15] 张也.基于声明式交互的数据可视化系统的设计与实现[D].杭州:浙江大学,2017.
ZHANG Ye.Design and implement of data visualization system based on declarative interaction[D].Hangzhou:Zhejiang University,2017.
[16] RFC 7252:The constrained application protocol(CoAP)[S].
[17] 徐凯.IoT开发实战:CoAP卷[M].北京:机械工业出版社,2017.
XU Kai.CoAP in action[M].Beijing:China Machine Press,2017.
[18] RFC 6690:Constrained RESTful environments(CoRE) link format[S].
[19] 冯仕民,丁恩杰,刘忠育,等.矿山人员状态信息描述方法研究[J].物联网学报,2019,3(4):9-16.
FENG Shimin,DING Enjie,LIU Zhongyu,et al.Research on methods of workers' context description in mines[J].Chinese Journal on Internet of Things,2019,3(4):9-16.