1、第 卷第期计算机集成制造系统 年月 :收稿日期:;修订日期:。;基金项目:陕西省科技重大专项资助项目()。:,()分布式高可用工业消息中间件数据采集模型谢鹏志,杨威,司守钰(中国航空制造技术研究院,北京 )摘要:为了解决异构设备中多协议、大规模集群设备的数据采集,以及高价值设备数据的数据采集高可用问题,提出分布式高可用工业消息中间件数据采集模型。该模型以消息队列作为消息中间件的实现载体,定义了工业数据采集消息队列()架构,以及通过 分布式集群运行实现数据采集高可用的模式。根据定义,架构由协议适配、数据处理与服务提供组成,说明了多协议异构设备的连接与数据采集过程;模式由数据同步规则、数据同步级别
2、与数据同步过程组成,描述了数据采集高可用的实现原理。基于该模型,开发了工业数据采集消息中间件软件 ,进行了性能测试实验,并给出应用案例,证明了该模型的有效性。关键词:分布式;高可用;数据采集;消息中间件;工业物联网中图分类号:文献标识码:,(,):,(),:;引言随着工业物联网理念的不断发展与应用落地,信息技术()与运营技术(,)融合成为工业数字化转型与高质量发展的关键。数据互联互通是实现 与 融合的基础,作为数据互联互通的重要手段,数据采集技术成为工业物联网建设研究的重点。在工业物联网的快速发展下,联网设备数量急剧增加,同时对设备信息的收集越来越详细,使得采第期谢鹏志 等:分布式高可用工业消
3、息中间件数据采集模型集的数据量呈爆发式增长,增加了数据采集与存储的难度;而工业通信协议种类繁多,缺乏统一的数据交互模式,也为数据采集带来了困难;另外,不断增加的设备高价值数据采集的高可用需求,对数据采集提出了更高的要求。面对目前数据采集领域存在的挑战,国内外学者进行了广泛研究。王琳等介绍了数据采集系统的发展状况和不同采集器的特点与问题,以及数据采集监控系统在几个不同领域的应用实例;周本华等结合现场案例介绍了现场数据采集的方式与内容,并说明了数据采集在实现智能制造中的作用;等概括了运用物联网网关实现异构设备与应用软件通信的方法,并描述了物联网网关的功能需求和典型架构;等提出一个低成本物联 网网关
4、原 型,通过协 议 代理 映 射功能,实现 设备与消息队列遥测传输(,)物 联 网云的数据互 通;基 金 会推 出 统 一 架 构(,),该架构为设备通信提供了面向服务的通信框架,并得到西门子等众多可编程逻辑控制器(,)厂商的支持,使工业设备具备统一数据交互模式成为可能;王亚辉等设计并实现了云架构下基于标准语义模型与复杂事件处理的制造车间数据采集和融合系统,该系统基于 进行数据采集,解决了异构设备通信协议多、数据利用不 充 分 与 数 据 难 以 跨 企 业 共 享 等 问 题;等 构建了智能模型,该模型通过智能参数识别方法为不同设备建立标准信息模型,从而使数据采集能够更准确地识别参数意义;曹
5、伟等 提出一种 基于无线射频识别(,)技术的离散制造车间实时数据采集和可视化监控方法,并开发了相应的原型系统,通过案例证明该方法可以提高离散型产品制 造 过 程 的 透 明 度 和 生 产 决 策 的 实 时 性;等 设计了一个多协议网关与大量不同终端设备(水表、水阀)交互的实验,实现了不同终端 的 数 据 采 集 与 远 程 控 制;刘 禄 恒 和 闫 晓凯 分别提出多协议工业数据采集的设计与实现方法,通过集成多种协议的数据采集方案采集设备数据,并按照约定格式对数据进行推送和订阅发布;惠恩明等 设计了数控系统工业数据采集和存储方法与系统,可以有效关联数控设备产生的各项数据,提高了数据分析和处
6、理的效率;谢鹏志等 提出以工 业 消 息 中 间 件(,)为枢纽的工业设备入云的连接模型,旨在解决异构设备通信协议种类繁多、数据安全保障复杂和数据接口标准不统一等问题。上述研究针对异构设备多协议、设备参数智能识别、离散行业数据采集等内容进行探讨,较少研究大规模集群设备的数据采集,以及高价值设备参数的高可用数据采集,而这类问题在工业物联网发展中越来越突出。针对大规模集群设备数据采集与高价值数据的高可用数据采集问题,本文提出分布式高可用 数据采集模型,该模型以工业数据采集消息队列(,)为基础,具有分布式集群部署能力,可以解决大规模集群设备的数据采集问题,而且 具有数据同步能力,使高价值设备数据的高
7、可用数据采集得以实现。另外,该模型以协议适配的方式解决异构设备多协议数据采集问题,并能对所采集的数据进行分类、转义、格式化、路由与存储,通过 ,等多 种 互 联 网 通 用 协 议 为 、微信小程序等当前主流 技术提供服务,使 与 的深度融合更轻松。分布式高可用工业消息中间件数据采集模型本文提出的分布式高可用 数据采集模型描述了 的功能组织框架与分布式高可用运行模式。架构为消息中间件的功能组织架构(如图),包括协议适配、数据处理和服务提供个组件。协议适配组件连接设备,读写设备变量数据,并将读取的原始数据发送给数据处理组件进行处理,处理后的数据以路由的方式发送给服务提供组件,为上层 应用提供数据
8、服务。服务提供组件接收 应用的指令数据写入请求后将指令数据下发给数据处理组件,再由数据处理组件将指令数据下发给协议适配组件,最后由协议适配组件将指令数据写入设备。个组件定义如下:定义协议适配组件。协议适配组件是能够适配不同通信协议,实现与异构设备建立数据连接并进行数据通信的功能组件,其分为工业协议适配器与 集群适配器两部分,其中工业协议适配计算机集成制造系统第 卷器用于适配 、实时流传输协议(,)、等工业通信协议,实现 与生产设备的互联互通;集群适配器用于适配多个 实例之间的相互通信。定义数据处理组件。数据处理组件是由数据变量池与数据分类、转义、格式化、路由和存储等数据处理方法组成的组件。数据
9、变量池是从设备采集的所有数据变量的全集;分类是将变量按照其工业属性进行类别划分;转义是将一个或多个数据变量按照需求形成的规则或算法进行计算得到新值的过程;格式化是将异构设备的异构数据格式化为同一格式数据的操作;路由是将变量池中的数据按照路由规则发送到服务组件不同服务的过程。定义服务提供组件。服务提供组件是以时间驱动或事件驱动方式将数据变量池中任意多个数据变量发布成为 ,和消息队列等类型服务,并支持数据读写、发布订阅等数据交互方式和数据访问授权的功能组件。分布式运行模式构建在 架构之上,是一种实现多个 实例之间数据同步,从而达到高可用的方法。如图所示,实例,分别与设备设备通过工业协议适配器建立连
10、接,同时实例分别与实例,通过集群适配器建立连接;实例,分别将设备和设备采集第期谢鹏志 等:分布式高可用工业消息中间件数据采集模型的数据同步到实例,从 而 使实 例 获得 集群 采集数据全集;继而实例将设备数据与设备数据同步到实例,并将设备数据与设备 数据同步到实例,从而使实例,获得集群采集数据全集。因此,通过同步实例,的数据实现了数据高可用。分布式运行模式包括数据同步规则、同步级别与同步过程部分。数据同步规则是基础,约定了集群节点的数据输入与输出规则;数据同步级别指明了节点同步数据的数据量与复杂度的等级;数据同步过程在数据同步规则与同步级别的约束下,描述了集群创建及数据同步的过程。部分内容定义
11、如下:定义数据同步规则。数据同步规则定义了 实例的输入数据与输出数据,保证集群完成数据同步后所有实例的数据相同,而且实例的数据为集群采集的所有设备参数的数据全集。定义数据同步级别。数据同步级别是节点同步数据的数据量与复杂度的评价等级,从低到高分为个级别,分别为协议适配级别、数据处理级别和服务提供级别。协议适配级别要求 实例之间同步与设备的适配连接信息;数据处理级别包括协议适配级别,它不仅同步与设备的适配连接信息,还同步数据变量池,以及分类、转义、格式化、存储等变量处理规则;服务提供级别包含数据处理级别,除了数据处理级别需要同步的数据,还需要同步服务数据。定义数据同步过程。数据同步过程描述了新实
12、例从接入集群到运行监测的过程,分为实例发现、建立连接、配置同步、数据同步和运行监测个步骤。首先,新实例通过实例发现连接集群中的任意实例;然后获取当前集群网络拓扑图,根据平衡接入法选择接入集群的实例,并与该实例建立连接;随后将设备连接信息、数据变量池、变量配置策略和服务信息等配置同步到集群实例;然后将从设备采集的实时数据同步到其他实例,并获取集群其他实例同步的数据,实现数据高可用;最后监测自身运行状况,若因程序崩溃或网络断开等而非正常下线,集群则会选举一个实例替换该实例,实现实时数据采集高可用。、微信小程序和传统应用程序可通过 中提供的 ,与消息队列等服务获取设备数据。架构 架构由协议适配组件、
13、数据处理组件和服务提供组件组成,是实现 设备与 应用通信的核心构件。工业协议适配为了使 的工业协议适配器能够适配连接多种工业协议设备和读写设备变量,本节通过分析 ,种常用工业协议的数据通信方式,得出适配器实现上述功能应该具备的能力。这种协议涵盖了数值、文本、视频流和标签等多种数据类型,具有较高的代表性。表所示为常用的工业通信协议数据通信方式,共统计了建立断开连接()、轮询方式读取变量()、发布订阅方式读取变量()、变量可写()和变量地址可浏览()种通信方式,其中“”表示支持该通信方式,“”表示不支持该通信方式。可见,种协议都支持,通信方式,结合通信协议一般支持建立 断开连接、被动读取数据这样的
14、应用常识,得出集合,为协议通用通信方式,而集合,为协议可选通信方式。表常用工业通信协议数据通信方式协议建立断开连接变量可读(轮询)变量可读(发布订阅)变量可写变量地址可浏览 因此对于适配器而言,为适配器必须具备的通信能力,为适配器可选的通信能力。根据工程实践经验,虽然断线重连()、变量地址检查()一般不在工业协议中规定,但是对于适配来说也是重要的可选能力,因此扩展,。综上所述,任意工业协议的适配器能力集合计算机集成制造系统第 卷()。数据处理 使用协议适配器连接到设备后,可通过浏览设备变量列表或输入变量地址等方式,将设备变量统一纳入数据变量池,然后分类、格式化、转义、存储和路由这些数据变量。变
15、量分类根据设备变量的不同工业属性,设备变量按照表的方式分为个类型。虽然在机加类设备中,温度、压力属于工况数据,但是在烘箱等热成型设备中,温度、压力属于工艺数据,因此表将这类工况数据归结到工艺数据类型。设备采集的数据分类覆盖越全,说明数据采集完整度越高,设备智能化赋能越容易;反之,说明数据采集缺项,智能化赋能越困难。表设备参数分类序号数据类型参数基础数据开关机状态、运行状态等 能耗数据电流电压等 工艺参数设定值温度、压力、主轴转速等设定值 工艺参数实际值温度、压力、主轴转速等实际值异常数据异常、报警信息 其他数据其他数据 变量转义变量转义是将一个或多个数据变量按照业务规则转换为业务需要变量值的过
16、程。在实际生产中,部分设备往往没有明确的关机、待机、加工信号,给统计设备利用率造成困难,此时需要根据设备的其他状态参数来判断其工作状态。例如,研究发现,某台热成型设备关机时,电流值小于 ,待机时电流值大于 ,加工时液压值大于 ,可以通过组合电流与液压值的变化规则计算出该设备的关机、待机、加工状态,计算过程如下:将电流、液压转换成为设备运行状态 (,)关机 加工 待机 变量格式化异构设备变量的数据结构往往各不相同,这将影响数据存储和服务化,需要对不同结构的变量数据进行格式化。表所示为格式化后变量数据的属性列表,包括变量的名称、地址、类型、访问权限和扩展信息,以及变量值的产生时间戳、接收时间戳、质量、值和扩展信息。表变量格式化属性表序号属性归属定义名称变量变量名称,命名尽可能体现变量的功能地址变量变量在设备中的地址(如 的地址格式示例“;”;的地址格式示例“”)产生时间戳变量值变量值在设备中产生的时间接收时间戳变量值 接收到变量值的时间类型变量变量值的类型(如 ,等)访问权限变量变量的访问类型,包括只读、只写、可读写种状态质量变量值变量值的质量信息,包括 ,两种类型值变量值变量的数据扩展信