涂装车间IIoT边缘容器化的实现探索
2021-09-23李佳俊谷彤坤李延则王亮
李佳俊 谷彤坤 李延则 王亮
(机械工业第九设计研究院有限公司,长春130062)
1 前言
随着工业4.0的发展,工业领域的数字化转型如火如荼。传统的数据采集与监视控制系统(Supervisory Control and Data Acquisition,SCADA)持续发生重要的变化,工业物联网[1(]Industrial Internet of Things,IIoT)技术等以信息技术(Information Technology,IT)与运营技术(Operation Technology,OT)融合为主要使能因素的技术逐渐渗透到工业控制领域。物联网(Internet of Things,IoT)中的“物”——智能网联产品[2(]Smart Connected Product,SCP)突破传统自动化的概念,使其智能部分跨越多个物理位置而存在。
2 涂装中控
涂装工艺比较复杂,主要包含以下工艺:底漆、中涂、面漆、检查修饰等。典型的涂装车间的工艺流程如图1所示。
图1 典型的涂装车间工艺流程
涂装车间大量的机械化输送和工艺设备对SCADA提出了较高的监控需求。传统中央控制室不仅要调整工艺参数、开关设备、快捷的诊断设备来提高车间生产及工作效率,而且可以将现场的生产、设备的各种数据收集起来,供车间管理人员及技术人员参考,目前还要求提供生产计划及产品质量等信息,以支持高效的生产运营管理。
大量智能应用如漆膜质量预测、设备预测性维护在涂装车间逐渐普及。
SCADA是在生产制造过程中用于获取工艺变量和机器状态的测量值以及用于在工艺区域或工作单元中执行调节或机器控制的系统。
常见的SCADA包括:AVEVA的InTouch HMI(原Wonderware)和Plant SCADA(原Citect SCADA),西门子的SIMATICWinCC,通用电气的iFIX,Inductive Automation的Ignition。
2.1 SCADA的功能
在涂装车间中,SCADA系统主要用于监视控制,其核心功能和特点如下。
a.本地或远程监视控制制造工艺;
b.提供重要工艺的即时和历史测量值;
c.提供测量值历史趋势;
d.实时报警和历史报警;
e.发现并消除瓶颈和低效率;
f.通过少量不需要特别专业的员工就可以控制庞大、复杂的流程。
2.2 SCADA的组成
典型的SCADA系统包括用户操作站、SCADA服务器系统、通信网络、PLC、现场设备和信号。所有组件都无缝集成到一个完整的系统,提供手自动操作。图2所示的体系结构按照通过通信网络互连的组件说明了一个典型的SCADA系统。
图2 SCADA系统组成
3 工业物联网平台
一般来说,物联网包括任何可以连接到互联网网络的物体,更具体地,这些物装备了传感器、软件和其他技术,它们相互之间能够发送和接受数据。工业物联网[3(]Industrial IoT,IIoT)指的是IoT在工业领域的应用和扩展。
IIoT平台与传统OT区别之处在于,它能够以经济高效的方式从设备采集大量数据,这些数据通常以很高的频率生成而且非常复杂多样。IIoT平台能够实现以下功能。
a.监视设备和事件流;
b.支持多种制造商和行业专有协议;
c.分析边缘和云中的数据;
d.集成IT和OT的数据进行共享;
e.使能应用程序开发和部署;
f.可以丰富和补充OT功能,改善资产管理生命周期策略和流程。
常见的IIoT平台有PTC的ThingWorx,日立的Lumada,三一重工的根云,开源的EdgeX Foundry等。阿里巴巴以阿里云工业数据应用平台支持构建IIoT解决方案。
3.1 IIoT解决方案的数据流
常见的IIoT数据流是从工厂现场工业信号的产生开始,经过PLC、SCADA,然后到开放平台通信(Open Platform Communications,OPC)服务器,通过边缘网关的转发,最后传递到云端进行处理。图3显示了从现场到云端的数据流[4]。
图3 IIoT解决方案数据流
现场设备通过现场总线进行自动化过程控制,数据传输可以达到毫秒级,数据传输可靠性、稳定性要求较高,通过控制总线采集到OPC服务器。SCADA汇集了所有现场信号,通过工业以太网传输到OPC服务器。制造执行系统(Manufacturing Execution System,MES)和企业资源计划(Enterprise Resource Planning,ERP)直接通过应用程序编程接口(Application Programming Interface,API)传输到云端。
为了降低网络延迟和带宽占用,通常部署边缘网关,它是IIoT的必要设施。边缘网关物理上位于工厂内,通过OPC服务器从一侧连接到工业数据源,从另一侧连接到云端。支持存储转发和边缘分析。
数据在云端的处理流程如图4所示。首先,数据要存储在时序数据库中,同时要进行实时流式分析,其次,对大量历史数据进行高级分析,包括机器学习、大数据分析等。
图4 IIoT云端数据流程
3.2 IIoT平台功能
IIoT平台由如下技术功能构成[1]。
3.2.1 设备管理
此功能支持对大量设备进行创建、分发、配置、排障和管理。以上任务支持以远程的方式安全地操作,可以单个进行,也可以批量执行;不但可以手工操作,还能配置自动化任务来完成。
3.2.2 集成
此功能支持IIoT解决方案对数据、过程、企业应用和IIoT生态跨越云和本地环境进行端到端的集成,通常涉及IIoT设备、IIoT网关、IIoT边缘和IIoT平台,需要采用各种通信协议,API和应用适配器的软件及其他工具和技术。
3.2.3 数据管理
此功能包含以下方面。
a.接入IoT终端和边缘设备数据;
b.将数据从边缘存储到企业平台;
c.提供数据可访问性(在需要时由设备、IT和OT系统以及外部方提供);
d.跟踪世系和数据流;
e.执行数据和分析治理政策,以确保数据的质量、安全性、隐私性和流通性。
3.2.4 分析
此功能支持对设备、企业和上下文数据进行流式处理,提供对资产的使用监控、各种指标,还支持模式分析和资产使用优化。可以应用规则引擎、事件流处理、数据可视化和机器学习等各种技术。
3.2.5 应用开发使能和管理
此功能支持开发分析数据和完成物联网相关业务的应用程序,并支持多样的部署方式。核心功能包括管理操作系统、标准输入和输出或文件系统,支持平台的其他软件组件。应用开发平台包括支持应用程序的基础设施组件、运行时管理和数字孪生,使用户能够实现“云规模”的可扩展性和可靠性,并快速、无缝地部署和交付IIoT解决方案。
3.2.6 安全
此功能提供进行审计和确保合规性的软件、工具和流程。此功能还能够执行预防性、侦测性和纠正控制和操作,以确保整个IIoT解决方案的数据的隐私和安全性。
3.3 IIoT与SCADA
IIoT的主要目标是对数据收集和聚合机制进行标准化。SCADA是一个自动化和控制的网络系统,主要涉及管理执行器网络,处于ISA-95层次模型[5]的层级2。而IIoT虽然也可以为SCADA提供数据采集,但通常其提供的功能处于层级3,如图5所示。
图5 ISA-95层级模型
SCADA生成的数据也是IIoT的数据源。IIoT专注于分析细粒度设备数据以提高效率,而SCADA则专注于监控和调节。
IIoT具有SCADA所不具备的集成能力,分析能力和应用开发支持。
IIoT相较于SCADA具有更好的可伸缩性,互操作性,更高的标准化水平和更低的运营成本。
4 容器化的IIoT解决方案
在工业场景中,使用云端承载全部数据和应用逻辑功能存在固有的困难。一方面是因为工厂中数据源种类繁多(使用各种专有协议来自不同厂商的设备),数量巨大,另一方面是因为网络带宽的限制和较高的实时性要求,还有就是要考虑网络安全以及某些工作流不能暴露在互联网上的约束。
4.1 边缘计算
为了应对IIoT解决方案中单个环路导致的弊端,首先要强化边缘计算。在工业物联网(IIoT)设备中增加边缘计算功能,可以就近处理实时数据。
边缘设备是工业领域和云中IoT环境的交汇点。该设备可分解为3大组件,如图6所示。
图6 IIoT边缘功能架构
4.1.1 边缘工具
提供一个用户友好的界面,用以分析日志、管理补丁和配置适配器。边缘工具支持更新证书和授权或在初始设置过程中自动注册。
4.1.2 边缘网关
边缘网关是边缘设备的核心。边缘网关的主要职责是连接到工业数据源以收集数据,并通过互联网协议进行分发。边缘网关最重要的组成部分是工业适配器。工业适配器通常订阅来自工业领域的数据并将其在数据总线上发布。边缘网关的另一个重要组成部分是存储和转发组件。
4.1.3 边缘计算
由运行在边缘设备上用于过滤、聚合和高级异常检测的分析应用和其他应用组成。边缘计算通常从数据总线上订阅数据,并对其进行处理。在某些情况下,边缘计算通过Web service调用云或本地服务器来运行高级计算功能。在边缘开发应用是IIoT解决方案的重要实现方式和发展方向。
4.2 边缘应用的双环路模型
IIoT的重点在于智能化,网络连接只是手段。而智能化要从SCP的视角解释物联网之“物”,分析解决方案的整体架构。
SCP包含3个核心元素:物理组件、“智能”组件、连接组件。智能组件增强了物理组件的功能和价值,连接组件则增强了智能组件的功能和价值,而且使其一部分可以存在于物理组件之外,如图7所示。
图7 智能网联产品组件的分布
从组件部署上看,云端和边缘都有分布,而且难以区分主次。从要解决的问题领域出发,采用领域驱动设计[6]的方法就会发现,制造业等工业领域的应用场景主要在工厂和车间内部,而非互联网和云端。
SCP的智能组件主要部署于边缘侧,物理组件位置的智能功能被弱化,它只需要能够控制物理组件并且具备边缘通信能力即可。因而,IIoT解决方案的主体是部署于边缘计算模块中的智能应用,这些智能应用构成了SCP智能组件的主体部分。总之,IIoT解决方案以现场为中心,充分利用边缘提供更好的UI体验,利用云端资源提供更智能的功能。
为了更好地指导边缘智能应用的设计开发,不但要深入分析智能应用功能在ISA-95层级模型上的分布,还要合理地将其组件部署在跨越云、边缘、现场的广泛的环境上。为此,针对以上2个维度面临的问题,本文提出了双环路模型结构,共有2种模式:1种是在ISA-95模型上跨越了2层的分层结构,即控制环路和运营环路(A型),如图8所示;1种是跨越云边的双环路,即执行环路和演化环路(B型),如图9所示。
图8 A型环路模型结构
图9 B型环路模型结构
4.2.1 A型双环路
首先,ISA-95模型的各层描述了领域上完全不同的活动。例如,层级2主要是监控活动,层级3主要是制造运营管理活动。
其次,IIoT解决方案需要支持多层的活动,一方面涉及的数据跨越多层,包括2层和3层;另一方面,提供的功能要支持各层的业务活动。然而,每层的数据的粒度、范围、复杂度都不尽相同。每层数据的差异还表现在其时间特性和典型应用的类型,如表1所示。
表1 ISA-95层级2和层级3比较
为了有效实现智能产品功能需求,要将不同的层级的功能分配给不同的组件,这样,各组件就可以针对不同层级的特点充分利用合适的技术栈来实现功能。
所以,IIoT解决方案为不同的层级的组件设计不同的环路。层级2为控制环路(下环路),也就是传统SCADA的功能领域;层次3为运营环路(上环路),也就是MES功能的典型应用领域。
分成2个环路的原因如下。
a.不同环路要解决的问题是本质上不同的,也就是领域不同;
b.不同环路使用的数据的属性有本质的不同,例如粒度、及时性、数量级;
c.这样就可以在架构设计和技术选型及优化上针对不同的应用采取不同的策略;
d.不同的环路采用不同的数据模型,在各自的领域上下文中独立演化;
e.便于采用微服务架构和容器化部署。
例如,SCADA系统扩展后,既提供现场设备的远程控制,又支持产品的追踪追溯。这2部分就处于不同的领域:远程控制处于控制环路,追踪追溯处于运营环路。
利用A型双环路,可以应对IIoT解决方案的复杂性,为应用设计提供有力的工具,有助于设计出高质量的应用。
4.2.2 B型双环路
IIoT解决方案要支持智能工厂的建设,尽管边缘计算的能力远远超过PLC的处理能力,但仍有很多场景需要借助于云端提供的资源。
在涂装车间,越来越多的大型设备需要预测性维护来保障生产的连续性和产品质量。而这需要依赖云端的计算和大数据处理能力以及机器学习模型训练等高级分析功能。设备维护功能作为设备的智能部分,其应用主要在工厂内,但技术上云端为其提供了重要的组件功能。
为此,从物理部署上将应用组件分成双环路(如图9所示),即执行环和演化环,将分析模型的执行与分析功能的演化迭代解耦成不同的领域,后者作为一个独立组件进行设计和部署。例如,预测结果实时反馈以及报警的生成由执行环路完成;分析的效果数据收集、机器学习模型的迭代和训练则在演化环完成。
采用B型双环路,一方面可以将领域功能的实现和技术架构的选择解耦,防止以IT驱动造成的应用功能不满足需求的问题。另一方面,可以有效地利用云端的计算与存储能力、模型算法等资源。
4.3 微服务架构
双环路模型设计,将IIoT解决方案的不同领域充分解耦,一方面利于系统的各部分功能的实现和提高系统整体可维护性和演化迭代的能力;另一方面却导致了大量的系统组件和组件之间的交互需求。幸运的是,微服务的架构设计和容器技术有效地解决了这些问题。
4.3.1 微服务的特性
微服务[7]是一种软件开发的架构和组织方法,其中软件由通过明确定义的API进行通信的小型独立服务组成。这些服务由各个小型独立团队负责,其具有以下特性。
a.自主性:可以对微服务架构中的每个组件服务进行开发、部署、运营和扩展,而不影响其他服务的功能。这些服务不需要与其他服务共享任何代码或实施。各个组件之间的任何通信都是通过明确定义的API进行的。例如,对预测性维护应用的机器学习模型部署进行更新,不会对采集现场数据的工业适配器造成影响。
b.专用性:每项服务都是针对一组功能而设计的,并专注于解决特定的问题。如果开发人员逐渐将更多代码增加到一项服务中并且这项服务变得复杂,那么可以将其拆分成多项更小的服务。例如,将追踪追溯功能与设备监控功能区分开来。
4.3.2 微服务的优势
微服务架构在开发涂装车间IIoT边缘应用中,提供了以下优势。
a.敏捷性:微服务促进若干小型独立团队形成一个组织,这些团队负责自己的服务。各团队在小型且易于理解的环境中行事,并且可以更独立、更快速地工作,缩短了开发周期时间。
b.灵活扩展:通过微服务,可以独立扩展各项服务以满足其支持的应用程序功能的需求。这使团队能够适当调整基础设施需求,准确衡量功能成本,并在服务需求激增时保持可用性。
c.轻松部署:微服务支持持续集成和持续交付,可以轻松尝试新想法,并可以在无法正常运行时回滚。由于故障成本较低,因此可以大胆试验,更轻松地更新代码,并缩短新功能的上市时间。
d.技术自由:微服务架构不遵循“一刀切”的方法。团队可以自由选择最佳工具来解决他们的具体问题。因此,构建微服务的团队可以为每个组件选择最佳工具。
e.可重复使用的代码:将软件划分为小型且明确定义的模块,让团队可以将功能用于多种目的。专为某项功能编写的服务可以用作另一项功能的构建块。这样应用程序就可以自行引导,因为开发人员可以创建新功能,而无需从头开始编写代码。
f.弹性:服务独立性增加了应用程序应对故障的弹性。在整体式架构中,如果1个组件出现故障,可能导致整个应用程序无法运行。通过微服务,应用程序可以通过降低功能而不导致整个应用程序崩溃来处理总体服务故障。
4.4 容器技术
容器是1个标准的软件单元,它打包代码及其所有依赖项以便应用程序从一个计算环境快速、可靠地运行到另一个计算环境。现在已发展成包括运行时、编排、服务网格[8]的生态体系。
4.4.1 容器技术的优势
a.减少开销,降低成本:容器使用的系统资源比虚拟机少,这转化为更高效的服务器利用率,并且没有额外的操作系统许可成本。
b.提高应用在不同操作系统的可移植性和一致性:容器化应用可以容易地部署在一系列平台和操作系统上。无论在PC、Mac、笔记本电脑还是智能手机上,它们将一致地运行。
c.更快的应用开发和更大的敏捷性:通过将单一应用划分为一个容器化、独立运行的微服务网络,应用程序开发更快、更容易组织。小型团队可以在应用程序的不同部分进行更精细的工作,以开发最高质量的代码,而不会产生编码冲突的风险。这会导致更快的部署、修补和扩展。
d.更容易采用微服务架构:与其他策略相比,容器已成为采用微服务架构的事实上的选择,因为它们成本更低,流程更轻量。
e.启动速度比虚拟机快:容器在几秒(毫秒)内启动,因为它们避免了虚拟机操作系统的资源需求,更快的容器启动时间提供了更好的应用用户体验。
4.4.2 容器化的微服务
为了提高灵活性的同时降低延迟,通常为在下环路和左环路的组件采用本地部署方式,而在上环路和右环路中的应用采用容器化部署方式。为了更好地应用容器化的微服务,可以权衡以下3种模式。
每个微服务都以自己的物理服务器运行,并采用自己的操作系统实例:这种方法使微服务彼此隔离,但很可能存在浪费。考虑到现代服务器具有处理多个操作系统实例的处理能力,则不需要为每个微服务提供单独的物理服务器。
在同一服务器上的一个操作系统实例上运行多个微服务:这是有风险的,因为它不能使微服务相互独立。由于应用程序组件和库版本相互冲突,导致故障的可能性增加。一个微服务的问题可能导致故障级联,中断其他服务的操作。
在同一服务器上的不同虚拟机上运行多个微服务:这为每个微服务提供一个独特的执行环境,供其自主运行。但是虚拟机会复制操作系统实例,因此需为每个虚拟机的操作系统授权单独付费。此外,运行全新的操作系统对系统资源是额外的负担。
5 涂装车间湿度智能控制
涂装车间是汽车整车制造领域能耗大户,是所有车间能耗主要部分,其中空调能耗又占较大比例。
恒定的温湿度是保证漆膜品质的重要条件,因此涂装车间的温湿度要求控制精度比较高,且要求持续稳定。
温湿度的精准控制和能耗节约是涂装车间的普遍要求。本文以温湿度智能控制应用(以下简称智能应用)为例,介绍B型双环路模型在整体架构设计上的应用及微服务架构和容器技术的实际应用情况。
5.1 温湿度控制原理
涂装工艺空调的组成及流程如图10所示。传统的比例积分微分控制器(Proportion Integration Differentiation,PID)通过PLC控制空调的阀门、变频器等保障送风的温湿度在工艺范围内。智能温湿度控制进一步通过选用卡边控制、多变量综合控制、模型动态优化等手段达到设定值最佳、节能降耗的目的。
图10 工艺空调组成原理
5.2 智能应用功能架构
智能控制器实时采集工艺空调出风温湿度(TIC3/MIC3)、室外空气温湿度(TIC1/MIC1)、冷冻水/冷却水流量、冷冻水/冷却水温度、设备能耗、系统总能耗结合温湿度设定值,调用模型服务提供的模型预测算法获取控制输出,最后通过PLC控制加热、表冷、加湿泵、调节阀等执行机构,如图11所示。
图11 温湿度控制智能应用功能模块
机器学习流水线[9]从网关数据总线接入监测数据、控制信号进行数据验证,然后进行数据预处理,使用处理后的数据训练模型并进行分析,最后部署到模型服务。整个过程由流水线编排进行组织调度。过程的中间结果存储到元数据存储。
5.3 智能应用组件部署
部署在边缘组件包括智能控制器、模型管理器、模型服务等组件。智能控制器负责对PLC信号的实时采集,并通过调用模型服务中的模型方法生成实时的执行器控制输出。模型服务支持模型的部署和版本管理。智能控制器及模型服务构成了B型双环路的执行环路。模型管理器收集模型控制的反馈数据并触发模型的训练和升级。
部署在云端的组件包括流水线编排管理器、机器学习流水线、元数据存储、大数据存储。机器学习流水线负责整个模型训练的执行,元数据存储流水线执行的中间数据和元数据。流水线编排在模型管理触发模型升级后,启动流水线并控制整个流水线的执行。模型管理器和流水线编排服务、机器学习流水线构成了B型双环路的演化环路。
智能应用所有组件采用微服务架构,使用容器化部署,每个组件作为自治服务部署在独立容器中,如图12所示。
图12 温湿度控制智能应用组件部署架构
6 结论
通过合理地设计IIoT解决方案的应用模块,使其各部分合理地分配到不同的环路,并采用领域驱动设计的方法构造微服务的架构,利用容器技术优化部署,可以得到高质量,灵活的智能应用。
容器化的边缘是IIoT的未来,但仍需要深入分析IIoT边缘应用在ISA-95模型层次定位及功能特点以及各层数据模型的不同。