上海工业自动化仪表研究院,PLCopen中国组织彭瑜
在工业自动化和控制领域,从工业制造边缘到企业再到云端正在广泛运用语义/语义化概念数据模型等语义技术。由于语义化信息本质上描述了来自机器和过程的数据和传感器的含义,这些信息可以被应用程序直接使用,而无需解释或引用,这就为提高系统的整体效率、响应能力和有效性打下了坚实的基础。这明显与目前常用的提供非描述性数据的传统控制器和机器获取数据有很大差异,一改后者常用注册表值来表达数据(例如表示温度或工具位置的信息)而导致难以应付对数据的需求发生变化的困境。当前在工业边缘运用语义技术比较成熟,而且还在不断发展的有:OPCUA和OPC UA FX以及MQTT Sparkplug,它们可以提供工业边缘到企业和云的具有语义属性的数据通信。本文着重讨论和阐述工业边缘运用语义技术的发展。
1 构建信息模型是工业自动化领域运用语义技术的基础
语义技术通过使用机器可理解和可处理的语义模型来提升信息的组织和处理能力。这些技术通过语义网、知识图谱和本体论等概念,组合语义分析、自然语言处理、数据挖掘、知识图谱和相关领域的诸多分支学科,确保系统能够理解和解释数据的含义,进而进行推理,而不仅仅是处理符号信息。语义技术将含义与数据和内容文件分开编码,并与应用程序代码分开编码,使机器和人能够在执行时理解、共享,以及必要时对它们进行推理。使用语义技术,添加、更改和实现新的关系或以不同的方式将程序互连,就像更改这些程序共享的外部模型一样的方便简单。
使系统更智能、更自主、更可进化的关键概念是信息模型。信息模型不仅具有表达数据,而且具有表达数据含义的能力,这就为数据和信息以机器可理解和可处理方式出现在系统中奠定了基础。概括起来信息模型有如下特点:
(1)信息模型可以为机器所理解,而文本信息不容易被机器所理解,往往需要通过人来进行解释。因此,信息模型赋予我们可以用机器可理解的方式共享上下文信息。
(2)信息模型可以进一步约束公开数据的含义(语义)。与自然语言中的文本描述相反,信息模型的定义可以由软件明确地解释,前提是软件足够智能来解释基数限制。因此,信息模型赋予我们以机器可以理解的方式约束公开信息的含义(语义)。
(3)由于信息模型捕获的信息以机器可理解的方式明确描述,人工智能软件能够对信息模型进行推理;还可以从现有的信息模型中自动导出(“推断”)新的事实,或者可以验证现有的事实。
(4)为了解决某个特定的问题,可以用一种智能软件完全自动地得出结论的方式来描述信息,往往这些信号是不可能推理或由手动进行验证。这是信息模型的另一个优势。
2 在工业边缘运用OPC UA/OPC UA FX
OPC UA正在为实现工业互操作性标准进行OPCUA框架的扩展,创建现场级的统一、一致和独立于供应商的工业互操作性解决方案,以标准化来自不同制造商的控制器和现场设备的语义和行为,满足工厂自动化和过程控制的所有要求,即:确定性、运动控制、仪表装置和功能安全等。解决方案不仅用于从控制级到边缘或到云的纵向集成,而且还作为现场设备(包括控制器、现场仪表、I/O等)之间交换过程数据的接口,即使控制器的底层现场设备使用不同的现场总线或工业以太网通信协议,也能保证它们之间的数据交换具有语义属性。这就是2018年起OPC基金会发起的现场级通信(FLC)计划,目标是在传感器、执行器、控制器、企业和云之间创建开放标准的基于语义数据连接的通信环境。
为了提供现场设备和边缘设备的信息通信,支持现场级设备即插即用的系统组态,OPC UA FX标准是在OPC UA语义/语义化语境的数据模型和特定应用的配套信息模型规范的基础上加以扩展,具体如图1所示。图中海蓝色部分为OPC UA的架构,深蓝色为OPC UA FX的扩展架构。在FX扩展中引入自动化组件(Automation Component),指代I/O、仪表、运动控制等运用在离散制造和过程控制等现场底层的设备和组件的信息模型和连接设备,并用离线工程(Offline Engineering)表达。UA FX的连接需进行离线操作,先通过客户机/服务器机制建立双向的发布/订阅(PubSub)连接的信息(包括兼容性检查、参数化),以确保信息交换的可行。一旦PubSub连接准备就绪,即可投入运行。OPC UA FX的连接设备及其网络服务和管理包括TSN、SPE/APL、5G等。
图1 OPC UA和OPC UA FX的系统架构
在OPC UA FX中,自动化组件是执行一个或多个自动化功能,并提供在其文档中定义的连接功能的实体。它由两个主要的子模型组成:资产模型和功能模型。它还提供与离线工程相关的信息,以及通信能力和健康状态等一般元数据。图2给出了这个模型的描述。资产信息通常用于描述物理项目,但它也可以包括非物理项目,例如固件或许可证。功能性实体封装逻辑功能,可以包括功能块、I/O模块功能、驱动功能、传感器功能、执行器功能或更复杂的逻辑项。功能实体可以与资产相关,并且这种关系的表示包含在模型中。资产和功能实体都可以嵌套。信息模型还包括功能实体之间的关系。信息模型被定义为用作自动化组件建模的基础,也可用于以OPC UA FX定义的现有的信息模型的功能性扩展。当用作基本模型时,它将需要子类型来添加特定组件或模型信息,例如变量或提供上下文。
图2 OPC UA FX的信息模型
离线工程是自动化系统开发、运行和维护的重要组成部分。通过在离线工程对系统进行组态,使用户在将系统部署到物理硬件之前能够了解自动化系统的操作,这样用户会明确知道只要物理系统到位,系统将可靠而正确地执行控制功能。为了实现这一点,使用了所谓的描述信息块(descriptor)。自动化组件AC的描述信息块是一组文档,其中包含OPCUA信息模型和可能用于组态目的的其他有用信息。信息可以是单个AC或一组AC(如机器、机器模块或设备撬)。AC描述信息块以包含产品和组态信息的打包容器格式交付。产品描述信息块包含控制器的产品数据,通常由控制器供应商提供。组态描述信息块包含诸如功能单元、通信数据集、所需的服务质量(QoS)以及一个或多个连接所需的数据等信息。组态描述信息块是在实施工程过程中创建的,通常是为了在两个工程工具之间共享工程信息。
安全数据也可以在控制器之间交换。为此,采用一种通过标准UAFX连接传输的安全协议(OPC UA Safety)。这种方法的优点是,认证机构(例如TÜV)的评估和测试工作仅限于安全传输协议,而底层UAFX连接不需要任何额外的评估和测试。每个UAFX连接都可以通过为Client/Server和PubSub通信指定的标准OPCUA安全机制进行身份验证和选择性加密。OPC UA安全会话建立完成后,使用证书和私钥的非对称加密方式建立连接。图3描述了3种都能实现语义信息交换的OPC UA的网络结构:通过(a)OPC UA、(b)OPC UA+UA FX的控制器-控制器C2C(Controllerto-Controller)的统一的横向和纵向通信,以及迁移到一个(c)由TSN和UA FX的控制器-现场设备C2D(Controller-to-Device)组成的从现场到云的连续且融合的网络,或者由云到现场的网络。
图3 OPC UA的3种实现语义信息交换的网络结构
来自OPC基金会65个会员公司的320名专家花费了4年时间,终于在2022年11月正式发布了OPC UA FX第一阶段的规范版本,规范由五个部分组成:
·第80部分(OPC 10000-80)OPC UA FX的概述和基本概念。
·第81部分(OPC 10000-81)OPC UA FX的连接设备和信息模型,为满足工厂和过程自动化的各种用例和要求,规定了基本信息模型和通信概念。
·第82部分(OPC 10000-82)OPC UA FX的联网,描述了网络服务,如拓扑发现和时间同步。
·第83部分(OPC 10000-83)OPC UA FX离线工程,定义描述信息块的使用和描述信息块共享离线工程所需信息的数据结构。
·第84部分(OPC 10000-84)OPC UA FX行规,描述了用于区分OPC UA FX功能特性的UA FX行规,用于对OPC UA产品测试其实现的OPC UA FX功能性。
为了验证上述规范的可行性,进行了多供应商互操作性演示,其中自动化组件和网络组件相结合,通过OPC UA和OPC UA FX扩展演示了跨供应商产品的数据交换。为此,来自不同供应商的17个控制器(其中有PLC、运动和机器人控制器,以及分布式控制系统)通过一个共同的网络基础设施相互连接。该基础设施由传统以太网交换机、以太网TSN(时间敏感网络)交换机和使用毫米波频率范围的5G测试平台组成。演示器的所有控制器通过集成的OPC UA服务器提供当前状态和资产信息,该服务器通过中央仪表板进行查询和可视化。所有控制器的视图显示这些控制器的OPC UA连接状态,以及每个UA FX控制器的基于pubs/ub的UA FX组态连接的状态信息。仪表板本身是交互式的,当点击这些控制器中的任一个时,切换到资产视图,显示由控制器建模和披露的UA FX资产信息。为了展示UA FX扩展的可能性和优势,在演示中模拟了一条模块化装瓶线,其中4台机器单元分别用于清洗、灌装、装盖和贴标,形成一条生产线。为了演示跨供应商的互操作性,这些单元都是由不同供应商提供的控制系统。
OPC基金会在2024年11月宣布完成OPC UA FX的控制器到控制器的认证程序,该项目基于OPC UA合规测试工具(UACTT),目前这一工具已扩展到现在包括350多个测试脚本,用于测试OPC UA FX功能,以及现有的OPC UA和配套规范的测试能力。验证过程包括严格的测试程序,以确保控制器符合OPC基金会对性能、可靠性和互操作性的严格要求。通过此验证项目,供应商获得其控制器符合OPC UA FX标准的认证,可以与其他OPC UA FX兼容的设备构成自动化系统并无缝运行。
OPC基金会在2022年7月底启动了第二个阶段,将控制器到控制器(C2C)用例开发的概念扩展到控制器到设备(C2D)和设备到设备(D2D)。这些用例包括进一步的功能和特定设备的模型,例如运动控制、仪器仪表和分布式I/O。OPC基金会还将为OPC UA提供一个统一的通信标准,该标准可适用于从现场到云在纵向和横向上完全扩展到所有级别的设备。不过到目前为止这些还处于开发阶段的规范还没有正式颁布,估计还要两年左右的时间。
3 另一个具有语义功能的工业边缘规范MQTT Sparkplug
在当今时代,提高制造业的灵活性和弹性面临着技术系统互操作性和可扩展性的挑战。可叹的是智能制造和工业4.0作为这两个关键方向的关键推动力量,目前还在广泛使用刚性的OT和IT架构。这主要是由于目前在配置点对点连接,以及在许多不同的和不断变化的系统(例如PLC、MES和数据分析工具)之间映射数据变量,还需要大量的手工工作。此外,当尝试扩展经典架构时,系统和网络基础设施上的工作负载成为瓶颈,例如在大规模分布式智能制造/工业4.0的应用场景中,实施多个系统相互协调的状态监控或全局性的工厂优化等。紧密耦合只适用于其设备数量具有可管理的工业控制装置,而且系统间应该了解彼此的状态,以达到特定级别的服务质量(QoS),例如关于确定性、可靠性和可维护性。然而,类似“即插即用”这样的智能制造场景需要的不是紧密耦合,而是一种松散的耦合。
这就是说,要满足技术系统日益增长的互操作性和可扩展性需求,必须使OT和IT的架构向动态和松散耦合的工业物联网IIoT和工业互联网方向发展,需要在空间、时间和同步诸方面将通信实体解耦。这些实体不需要相互知道其空间的位置,它们没有必要同时处于活动状态,它们不应该在产生事件或等待事件时被阻塞,即可以确保事件同步。这些都可以通过PubSub通信范式来实现,即来自发布端的消息向对特定主题或内容感兴趣的多个订阅端传播。传播由面向消息的中间件MOM(Message Oriented Middleware)处理。MOM是一种软件或硬件基础设施,支持在分布式系统之间发送和接收消息。在几种能提供PubSub通信范式的实现中,MQTT在工业物联网用例中受到越来越多的关注,并被用作OPC UA等标准和Sparkplug B等规范中的传输协议。其原因在于MQTT已经解决了大多数的挑战,即针对松耦合的PubSub,专注于嵌入式设备的小占用空间,以及可以使用不可靠的低带宽网络。基于事件的MQTT作为一种非常高效的PubSub数据通信协议,保证了高效的开销少的通信数据包和消息有效负载。消息包的大小仅为200KB,有助于最大限度地减少工业设备、系统、应用程序和代理之间交换的数据量,从而降低能耗。使用MQTT,设备、系统和应用程序只接收相关信息,最大限度地减少不必要的数据传输,这也有助于优化带宽,降低操作成本。总之,MQTT是一种高效通信的轻量级消息传输协议,由于它在优化能源使用和促进智能制造的可持续性方面提供的各种优势,它已成为从内部部署到企业或云的工业数据通信事实上的标准。此外,为保持简单,MQTT的协议设计不指定信息或主题模型,即与数据无关。但这在工业物联网、工业互联网中,可能会成为一个劣势。因此,促使采用OPC UA和Sparkplug定义MQTT主题名称空间和有效负载结构。前者即是MTQQ over OPC UA,后者即是MQTT Sparkplug。
Eclipse Foundation托管的Sparkplug开源规范是另一种允许用户创建和定义其公司或单位特有的数据模型,该规范为MQTT客户端提供用于集成来自MQTT基础设施中的应用、传感器、设备和网关数据的框架。Sparkplug规范旨在定义MQTT主题命名空间、有效负载和状态管理,可用于满足实时SCADA/控制HMI解决方案的需求。Sparkplug是一种建在MQTT顶层的消息传递协议,使用户能够自由地为其应用定义语义/上下文信息。图4为MQTT Sparkplug的协议栈。Cirrus Link Solutions公司拥有一项与Sparkplug相关的专利,并且作为Eclipse基金会Sparkplug工作组的成员,它在Eclipse知识产权政策下运作。根据该政策,Cirrus Link为最终规范授予了全球性的不可撤销(受防御性终止条款约束)、非排他性、免版税及可转让的专利许可。只要Sparkplug实现成功地通过相应的Sparkplug技术兼容性工具包TCK(Sparkplug Technology Compatibility Kit),并保持与Eclipse Foundation TCK许可证的一致性,任何制造、使用、销售、提供销售和导入Sparkplug实现的供应商和个人均可无偿使用这项专利,也允许客户从任何供应商那里购买他们的Sparkplug解决方案。
图4 MQTTSparkplug的协议栈
4 比较与总结
在工业边缘的应用中,MQTT over OPC UA和Sparkplug这两种解决方案都旨在通过提供基于MQTT的统一接口来提高工业互操作性。Sparkplug为主机应用程序、边缘节点和设备的数据、发现和状态指定MQTT主题命名空间。此主题名命名空间对于所有符合Sparkplug的应用都是固定的。OPC UA将包括用于发现、状态和语义信息的标准化主题树,以及用于数据消息的自定义主题结构。Sparkplug接口为谷歌Cloud原生支持的二进制消息映射指定了protobuf模式。MQTT over OPC UA除了它原有的二进制映射UADP,还提供JSON映射,并得到Microsoft Azure和AWS的支持。
建立标准化的语义信息模型是OPC UA配套信息模型规范的主要目标。目前在公共网站上有85多个信息模型,这些模型正在与其他组织、行业协会和领域专家一起开发。OPC UA配套信息模型可用于各类设备、机器,以及能源和工厂自动化等各个领域。通过MQTT发布的这些配套信息模型的一部分是OPC UA的固有特性。OPC UA FX更丰富了现场设备通过配套信息模型进行具有语义的信息通信。Sparkplug专注于SCADA用例的通用模型,目前没有指定特定于行业的信息模型。
概括而言,Sparkplug为MQTT的智能制造和工业4.0的应用场景的实现添加了重要的特性。如果系统的组态不经常更改,并且需要二进制编码,那么使用Sparkplug是合理的。在即插即用应用场景中,需要基于标准化的语义信息模型对生产系统进行有效的组态或重新组态。在这方面,OPC UA提供了配套信息模型和通用组态模型,这是其显著的优势。此外,工业自动化公司采用OPC UA国际标准还具有投资安全的优势。
未来工业语义技术将呈现“边缘轻量化、云端强语义”的分层架构,同时依赖开源工具和AI技术降低实施门槛。OPC UA与MQTT/Sparkplug的融合是必然趋势,而行业标准组织需加速定义跨协议映射规则,以应对智能制造和工业4.0的异构互联的挑战。
作者简介:
彭 瑜(1938-),男,湖南长沙人,教授级高级工程师,上海工业自动化仪表研究院教授级高工、顾问,PLCopen中国组织名誉主席。迄今为止,已经为中国工业自动化技术的发展服务了50多年,涉及流程工业、离散制造业等领域的检测、控制、生产制造、执行管理等多个方面。
摘自《自动化博览》2025年2月刊