阿里云IoT工业数据上云优化实践
Posted 过往记忆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云IoT工业数据上云优化实践相关的知识,希望对你有一定的参考价值。
导读:工业互联网技术,是物联网技术、云边协同、数据库、实时计算等领域的综合应用场景。本文会从工程实践角度,讲述智能制造数字化赋能转型的角度,并结合智能制造转型应用案例,端到端地讲述阿里云IoT对工业上云整体方案的系统设计和实践心得。主要内容包括:① 工业数据上云背景与整体方案介绍;② 核心技术环节和优化心得;③ 工业数据应用案例介绍。
01
工业数据上云背景与整体方案介绍
1. 工业数据上云的意义
工业互联网,是继消费互联网后又一个重要的应用场景,在全球范围内得到了普及推广。
抛开国内制造企业、业主等类型单位对工业数据上云的成本、产出效益方面的担忧,工业数据上云的主要意义在于:利用云的开放灵活度、分布式、可扩展等特点,打破传统工厂在工业化、信息化方案中的标准封闭、碎片化、孤岛问题,实现OT和IT的融合。具体包括:
利用云端的大数据能力,产生新的数据价值,优化生产和经营;
云边协同(云端训练+现场推理),加速工业算法落地;
云上工业互联网,打造产业链协同的新应用模式。
2. 工业数据上云面临的挑战
对于工业数据,可从OT域和IT域两个角度入手:
① OT域——工业设备时序数据实时上云的挑战
相比于智能家居等消费型智能设备,制造业产业普遍自动化程度较高,然而设备更加专业化和封闭化:适配协议多,采集频率高,数据量大,非标设备多;因此需要搭建统一的、具有兼容性的数据汇集网关,做好底层建设,制定针对性的云边一体化方案。
工业产线设备和消费级智能设备的对比如左图所示。
② IT域——工业离线数据集成挑战
除了上述的OT域所面临的挑战外,在IT域同样面临不小的挑战。
右图是一个典型的工厂信息化进程。从图中可以看出,工业企业采购的IT系统之间通常是不能数据互通的,因此工业IT存多源异构系统特别多、数据格式不统一、碎片化严重。基于这样的情况,将各类数据汇聚起来做商业分析、经营报表等是非常困难的;因此需要配套离线的数据集成方案,去解决上述诸多IT域存在的问题。
3. 工业数据上云整体架构
如前文所述,工业数据上云的价值在于:帮助制造企业实现企业内部从设备、控制系统及信息系统的互联和数据融合,最终实现数据驱动业务与运营优化;然而其存在诸多的技术挑战,主要在于:工业边缘采集+建模、海量数据上云、异构数据集成、数据融合分析等。
基于上述种种现状,阿里云IoT事业部工业互联网团队联合阿里云物联网平台以及边缘计算团队、容器服务团队,共同研发了一套工业数据组合应用平台,专用于解决工业企业大规模点位设备数据快速上云这类问题,并结合工业典型场景提供诸如数据资产服务、业务应用服务、数据融合服务等。整体架构如下:
基于阿里云物联网、云技术和工业大数据技术等,阿里云数字工厂构建了一套相关的解决方案:利用数字化控制管理资源,收集分析历史数据,并基于分析结果进行业务决策和优化技术。(可在阿里云主页搜索“数字工厂”查看详情)
4. 工业数据上云核心链路
工业数据通过采集器采集数据,获取设备的运行状态。工业产线大多是通过PLC或DSC实现自动化控制,因此工业边缘网关的主要目标是读取数据并进行模型化处理、格式化组织并上云。
这一部分的关键点在于,根据数据的实时性以及数据类型,进行分层处理,实现设备实时消息采集上云+云边离线数据集成:
对于设备实时消息(图中的上层),借助物联网平台提供的MQTT这一大吞吐量上云通道,实现采集数据的实时上云。同时,可通过实时消息订阅分发,提供给下游对工业数据实时性要求较高的应用(如组态应用、MES系统等);
对于本地数据存量(图中的下层),提供了云边数据集成工具,可帮助工业客户快速完成异构跨源IT数据的采集、转换和批量上云。随后,可利用阿里云工业数仓进行预设的业务分析,以及客户自定义的开发任务分析,最终输出给工业数据应用层,进行业务呈现。
02
核心技术环节和优化心得
1. 工业多协议兼容的边缘计算一体机
① 在工业生产现场,通过部署阿里云边缘计算一体机,实现高实时高流量高可靠的数据接入、就近计算、算法推理
使用阿里云边缘一体机,为客户提供边缘计算基础设施,具体包括以下特性:
本地设备接入,协议适配
本地AI容器,应用容器
本地规则引擎,本地FC(函数计算)
基于OpenYurt的云原生运维
软硬一体,成本优化
② 在工业数据上云场景的边缘计算应用架构
工业协议驱动:驱动主要采集PLC点位数据和设备告警数据上行,并执行反向设置点位数据。支持OPC UA/Modbus等市面主流工业协议;同时开放驱动对接SDK,第三方可以实现自己的驱动程序。
点位数据处理和模型转换:将原始的离散的、非结构化的点位数据,转化为结构化的设备物模型消息。
实时处理:包括按规则加工、清洗、生成中间数据。
数据代理:负责数据上云,同时接受下行的请求,将设备下行请求转化为下行请求。
2. 工业设备实时数据的模型化处理
① 阿里云物模型介绍
阿里云物联网平台物模型,在智能消费类设备领域大规模推广,沉淀了属性、事件、服务标准定义;又在园区、城市、工业等场景中不断增强,演化出组合、引用、规则等复杂模型特性,最终具备数字孪生体的建模、协同、共智核心特征。
阿里云物联网平台物模型2.0增加了物模型规则,可计算包括物模型自身功能定义之间的运算和跨物模型功能定义之间的计算。
下图的左图就是一个最简单的物模型转换规则:将摄氏度转换为华氏度。
传统的工控自动化背后,是很多小规模、封闭、独立的自控系统,在工业实施的过程中,需要专有的系统或协议层的访问,而且难以复用。基于阿里云工业协议网关配合物联网平台物模型规范,可以实现现实通信协议和设备模型之间的解耦。通过物模型,站在整个企业视角对工业设备进行统一的自上而下下建模,从实践中看到有如下收益:
标准化设备上下行的数据范式,便于设备实时互操作(状态跟踪/采集/反控),利于系统间数据流的打通和三方应用标准化接入;
基于物模型数据采集对于数据的范式、语义和约束条件有明确的定义,有利于数据分析、算法推理,节省数据清洗成本;
模型化表达物理世界映射,更容易描述设备关系、机理规则等复杂特征,更适用于关注设备态的业务层或者设备实时交互场景,例如工业组态、MES系统等;
同类设备可复用一套模型,提升配置维护效率。
上图为工业设备数据在数据采集上云过程中的不同处理阶段
② 物模型应用案例
物联网应用开发,是阿里云针对物联网场景提供的生产力工具,是阿里云物联网平台的一部分,可覆盖各个物联网行业核心应用场景。
对于工业场景,在接入物模型设备后,开发者可以借助IoT Studio快速搭建工业云组态视图。
③ 工业数据模型化带来的技术挑战
传统的数采方案主要包括采集、存储、就近计算、流转上云这4个主要的步骤。如上所说,我们在常规的消息处理的过程中增加了一个模型化的步骤,在具备了物模型能力的同时,也带来了如下的技术挑战:
模型化JSON的表达效率不如原始点位数据紧凑,需要针对性的压缩编码方案;
工业设备的点位数据海量而离散,需要映射绑定到设备属性上再处理和计算,对数据重排有很高的要求。
上图中左侧部分是原始时序数据点位,右侧部分是模型化后的JSON的表达方式。为解决模型化后的传输、处理问题,降低上云成本,需要利用边缘侧算力,就近完成模型预处理工作。
与此同时,针对模型化数据的边缘数据上云通道的传输协议、编码方案,也需要做一系列的针对性优化。
3. 边缘数据上云通道设计
① 在边缘侧对设备的模型化消息进行数据预处理,提升上云效率。
现实中单个工厂边缘上报的数据峰值经常达到10W点/秒以上,对上云吞吐量要求高,如果用原始设备JSON模型消息传输,会占用很大的上行带宽(>200Mbps);
而通过在边缘侧做前置预处理、云边协同编解码等优化手段,实测上云带宽和云上处理QPS降低80%,为客户节约了大量的上云资源费用。具体包括以下优化点:
优化1:采用物联网平台连接型实例。独享上云通道,上下行资源独占。
优化2:边缘虚拟网多通道上云,提升上云并发处理能力。
优化3:云边报文压缩传输。提升本地上行带宽利用率。
优化4:边缘包聚合上报。边缘网关支持按照设备维度和属性维度进行双重聚合,提升数据排列效率。
优化5:物模型Alink JSON协议优化。支持单属性时间序批量上报,使得云端处理更高效。
② 设备实时数据消息聚合重排方案介绍
所谓消息聚合重排,是指边缘侧接收底层上送的离散设备消息,按指定的间隔窗口聚合为同一设备同一属性的一段时序数据,提升单条消息的数据排列效率,也有利于云端对设备消息进行批处理。
③ 数字序列化和压缩方案介绍
当前的工业数据上云链路,是基于阿里云企业级物联网平台提供的mqtt协议通道。如果基于普通的明文JSON格式直接序列化传输,字节效率偏低;因此需要针对工业场景,选择合适的序列化/压缩方案。
首先考虑的,是采用一种紧凑的序列化编码方案替换JON格式,例如 protobuf/tlv,但这类序列化方案存在各自的问题:
Protobuf对于动态字段类型的压缩效果并不好,需要先定义好数据结构(proto)
TLV的字节效率较高,但是每一个设备模型都需要 client-server两端维护一份TLV编码器,开发成本高
另一种思路,是在云边MQTT协议通道的 client-server间协商支持一种通用的zip/unzip压缩算法,可考虑的压缩策略有:
通用无损压缩,如 DEFLATE (LZ77+Haffman)
针对JSON的压缩算法,如 CJSON/HPACK
选择序列化/压缩方案主要考虑资源消耗、压缩率和云边两端的实现复杂度;通过多方权衡,目前采用阿里云物联网平台支持MQTT通道提供的Zib压缩方案。
Zlib:对 DEFLATE算法的一种封装,先用LZ77算法预处理,然后用霍夫曼编码对压缩后的 literal、length、distance编码优化如今最流行的通用压缩算法之一。
④ 断网/断点续传方案介绍
解决数据上云时遇到网络中断或者网络抖动等情况,在对没有上送云端的数据进行本地存储,在探测到网络恢复后进行数据的上云恢复。利用断网续传相关的SDK能力,适配各种断网场景下的可靠性保障。
4. 工业设备实时数据云上流转
工业设备实时数据上云,基于的是阿里云企业级物联网平台提供的MQTT协议通道,可支撑海量设备连接和海量物联消息上云,同时支持实时规则处理与消息多路流转。
对于工业场景,推荐使用物联网平台连接型实例,可独享设备接入层的网络和计算资源,适合大点位数据(高带宽、高QPS)上云。
5. 工业离线数据集成方案
前文讲述了工业设备OT域的数据实时上云方案;接下来讲述IT域的数据上云方案。前文说到,设备IT域的数据,主要是存量化本地的IT系统。因此,IT域的数据上云,主要包括以下步骤:
本地多源异构数据集成:边缘侧ETL工具适配各种主流ERP,针对不同版本的ERP做数据转换,映射成标准数据模型。
云端数据集成:阿里云实时数据分发平台DataHub提供对流式数据的发布、订阅和分发功能,接收边缘ETL消息,投递到交互分析服务HoloGres。
云上数据分析:Hologres是实时交互式分析产品,能够与大数据生态无缝连接,无须移动数据,即可使用标准的PostgreSQL语句查询分析MaxCompute中的海量数据,快速获取查询结果。
6. 本地多源异构数据集成工具设计
在工业场景复杂的异构系统环境下,传统ETL工具或者数据集成平台,很难直接做为快速打通企业存量系统和云上系统的数据通道。因此,我们做了一个更贴合工业场景的边缘数据集成平台-工业八爪鱼。
为达到工业场景低成本快速数据上云的要求,工业八爪鱼有强大的边缘ETL能力,也就是多种数据源采集、灵活的数据转换方法、安全高速的数据传输通道,同时,我们希望能够最大限度的减少项目实施的重复开发过程,这就要求这个平台还有沉淀模板化的能力。
采集:输入数据源,支持多种数据库实时增量;数据源定时扫描采集;支持API上报、API查询;支持MQ数据采集等。
处理:数据转换能力,可以灵活方便的做数据查询和转换。
传输:输出数据源,支持OpenAPI、服务模型、Restful、MQ、EMR、DataHub、SDK、WebService接口等数据上报模式。
模板化能力:支持将整个流程打包,实现开箱即用的复用能力。
工业八爪鱼的核心模块,主要是本地数据的增量同步,以及同步过程中的脚本化转换规则
增量同步方案:大部分主流数据库都支持变化数据捕捉 ( CDC ),这个功能最初的用途是数据库备份,比如Oracle有XStream、SqlServer的CDC、mysql的Binlog、Postgres的wal2json。通过数据库这些内置的CDC能力,我们可以比较方便快速的拿到准确的数据增量,同时CDC监控不需要对旧系统的更改,并且也不会太大影响数据库的性能。
脚本转换方案:我们选择通过JS脚本来实现数据转换,流程是在云端写JS代码,完成后下发到边缘端调试运行。
为什么选择在边缘端运行脚本?这里主要考虑到三个问题:
内网直接采集数据会比较稳定;
数据转换过程中,如果需要在边缘数据源中查询依赖数据,在边缘端执行脚本比较方便高效;
数据转换后再上传到云端,可以降低网络带宽要求,提升稳定性。
03
工业数据应用案例介绍
1. 工业代表落地案例——某流程型制造大型企业数字化转型
厂侧DCS系统边缘侧采集存储,以及数据全量上云存储。
集团统一管理设备主数据,并分发至各工厂使用。
MES等业务应用云上与厂侧两级部署,云边数据双向交互协同。
2. 工业数据应用案例——生产过程追溯
质量是制造业的生命线,"人"、"机"、"料"、"法"、"环" 是成产过程影响产品质量的关键因素,采用IoT信息化方式自动采集这些因素数据,把IOT物联网采集的设备数据与工厂业务数据进行关联,能够正向追溯成品使用了哪些半成品和原料的批次或者单体,也能反向追溯原材料到半成品和成品的批次或者单体。能够在追溯过程中重新生产过程中的“人、机、料、法、环”等多种因素的原始数据
人:这个工序中每个步骤是谁操作的
机:唯一标识的物料在每个步骤是哪台设备生产
料:原料、辅料、半成品在设备或步骤中的投料时间和数量
法:关联到设备采集的工艺过程参数,以及质量判断结果
环:按照工厂模型绑定的环境过程信息
把生产过程数据形成一套关联模型,我们可以基于这套数据做数据分析,比如正向追溯、反向追溯、质量结果分析等。例如当产品出现质量问题,能够清楚的知道产品的生产时间、工艺步骤参数、对应的物联网设备参数信息、消耗的物料情况、产品对应的环境数据等,能防止缺陷扩散和准确定位问题,提高产品质量,维护品牌形象。
当然,有时候我们也并不特别清楚这样一套数据模型应用场景,可以通过开放数据让客户找到具体应用场景,尽量挖掘数据价值。比如产品不合格时,是否由于设备参数异常导致、是否由于环境数据异常导致。
3. 工业数据应用案例——基于振动分析的设备异常检测
工业设备中存在大量旋转和往复运动部件,设备运行过程中会持续产生振动信号,这些振动信号往往蕴含着丰富的信息,可以反映关键部件甚至设备整体的运行状态或健康状态
选择轴承一段时期内的振动数据,共计N段采样信号,这里面主要用到了无监督学习,信号无任何标注,可获得若干异常段信号特征点,最终是要识别信号中是否出现轴承受冲击带来的振幅突变,以及是否由于磨损带来的中心频率偏移。此类设备异常检测算法可为工业生产带来实际价值:
在故障发生前发现工作异常
减少因非计划停机造成的损失
提高设备的安全性
分享嘉宾:
以上是关于阿里云IoT工业数据上云优化实践的主要内容,如果未能解决你的问题,请参考以下文章
《ServerSuperIO Designer IDE使用教程》- 6.增加与阿里云物联网(IOT)对接服务,实现数据交互。发布:v4.2.4 版本