在制造公司的数字转型战略中,成功取决于其能否连接各种工业数据源,并通过互联网移动它们,以实现OT中心数据与企业/IT应用程序的集成。
在这方面,有两种领先的通信协议提供了标准化的消息交换,为这两个传统上相互隔离的领域之间提供了必要的互操作性连接。这两种协议分别是MQTT Sparkplug和OPC UA。
在本文中,我将描述MQTT Sparkplug和OPC UA之间的主要差异。但在深入探讨这些协议的定义特性之前,让我们简要定义一下每种通信技术。
什么是MQTT Sparkplug?
MQTT Sparkplug是一个开源的软件规范,为MQTT客户端提供了一个框架,以双向和互操作的方式无缝集成来自工业数据源的数据到MQTT基础架构中。它通过定义一致的MQTT主题命名空间、有效负载表示和会话状态管理来实现这一目标。
什么是OPC UA?
OPC UA是一种跨平台的开源数据交换标准,用于机器对机器的工业通信。它通过使用面向服务的架构和定义独立于制造商或系统供应商的通用设备和信息模型来实现互操作性。
以下是MQTT Sparkplug和OPC UA之间的主要差异:
可扩展性
MQTT Sparkplug的中心代理式发布-订阅通信模型使您能够构建高度可扩展的工业物联网解决方案,因为即使数千个组件订阅以消耗事件,也不会影响事件的生成方式。根据MQTT代理的不同,基于MQTT Sparkplug的工业物联网系统可以扩展到数千万个连接的设备和系统。
另一方面,由于OPC UA采用的是请求-响应通信模型,它仅在服务器具备响应所有客户端需求的能力的小型内部网络中运行良好。因此,要显着扩展基于OPC UA的工业物联网解决方案以包括其他业务功能是严重受限的。
数据带宽效率
MQTT Sparkplug的“按异常报告”规则确保数据生成者仅在检测到监视数据点的值发生更改时才发布数据,这意味着MQTT Sparkplug客户端仅传输已更改的数据和一个小型的保持活动包,以通知MQTT代理客户端仍在运行。这节省了带宽、内存、CPU时间、能源,当与小型有效负载大小结合使用时,实现了高效的协议。
OPC UA的请求-响应模型要求客户端在流程数据没有发生更改时持续轮询服务器。这会消耗大量的带宽、内存、CPU时间、能源,并且需要保持有状态的连接,导致协议效率低下。
数据完整性
MQTT Sparkplug的数据建模能力使其能够在车间实现有关上下文模型、资产和标签数据的单一数据源,可以通过单一的非更改消息媒介,即MQTT代理,被数百甚至数千个OT和IT应用程序使用。这使您能够定义和组织围绕数据模型的业务流程。
OPC UA也有一个OT中心建模引擎,具有多个不同的数据模型定义。首先,各种数据模型的多样性会在标准内部产生碎片化,而且,因为数据的消耗取决于有限数量的客户端应用程序的直接连接,这样就不能保证数据的完整性将在管道上得以维持,因此无法组织业务流程。
集成的便捷性
MQTT Sparkplug的发布-订阅体系结构模型通过统一命名空间连接设备和应用程序,因此它们永远不必直接联系对方,这导致了集成(新)组件更容易。
OPC UA的请求-响应体系结构模型要求设备直接连接到应用程序,这意味着应用程序依赖于它们控制的特定设备,导致了紧密耦合的工业物联网系统,难以集成新组件。
自动发现
MQTT Sparkplug组件可以自动发现所有连接的网络参与者将发送的数据。
OPC UA客户端需要预先配置信息,如节点地址或OPC UA设备类型。
会话状态感知
MQTT Sparkplug通过“出生消息”和“死亡消息”与MQTT连接的“保持活动”计时器的内置会话状态管理功能,能够提供所有系统组件的实时可见性。
与此同时,OPC UA依赖于昂贵且有时不可行的持续轮询,以维护工业物联网组件之间连接状态的概念。
响应性
由于MQTT Sparkplug使用基于事件的架构和按异常报告,它允许在出现异常或事件(如警报)时快速进行调整,从而实现高度响应的工业物联网系统。而在OP
C UA中,您必须调整轮询频率以接近实时事件报告。
通信方向性
MQTT Sparkplug允许由工业物联网系统中的任何组件发起的双向通信,而在OPC UA中,服务器仅对客户端发出的请求作出响应。
安全和隐私
MQTT Sparkplug没有定义安全协议,它允许您在TCP/IP层面处理安全性。这意味着您的IT部门可以选择安全模型,如TLS/SSL、证书等,而MQTT将在其之上运行。因为MQTT Sparkplug客户端使用出站通信端口与服务器进行通信,所以无需打开可能增加IT基础设施攻击面的入站通信端口。
另一方面,OPC UA定义了安全协议。但由于与OPC UA服务器的通信是由云等外部平台发起的,这意味着您的IT基础设施需要为入站流量打开端口,从而使其暴露给具有恶意意图的操作者。但它们都具有应用层安全机制,如用户名和密码以及安全令牌。
云连接
MQTT Sparkplug使得将云应用程序与车间系统集成变得轻而易举,只需将云应用程序插入托管在云中的MQTT代理即可。此外,在只需要偶尔与云连接的关键应用程序中,MQTT代理可以在本地托管,以实现低延迟数据交换,同时通过桥接与云基MQTT代理及时连接。
另一方面,要将OPC UA系统与基于云的应用程序集成,需要多个组件在边缘和云中执行发现和数据聚合。虽然OPC UA最近引入了针对云连接的PubSub规范,使用诸如MQTT等协议,但由于其不成熟,其实施较少,并且尚未定义如何将OPC UA的丰富信息模型映射到MQTT。
规范的复杂性
MQTT Sparkplug规范包含68页的简明信息,使其易于在设备和应用程序上实施。
OPC UA规范由多个部分(超过14个)组成,每个部分都有数百页(总共超过1200页),使其成为一种难以在设备和应用程序上实施的复杂标准。
总结:OPC UA与MQTT Sparkplug
特征 | MQTT Sparkplug | OPC UA |
---|---|---|
可扩展性 | 高度可扩展 | 不可扩展 |
数据完整性 | 良好 | 差 |
效率 | 高效 | 不高效 |
集成的便捷性 | 易 | 难 |
自动发现 | 可能 | 不可能 |
安全性 | 高度安全 | 有漏洞的安全性 |
云连接 | 易 | 难 |
规范的复杂性 | 简单 | 复杂 |
会话状态感知 | 实时 | 通过轮询 |
通信方向性 | 双向 | 单向 |
轻量级 | 是 | 不是轻量级也不高性能 |
按异常报告 | 是 | 否,不可能 |
响应性 | 高度响应性 | 不响应 |
结论
总之,虽然本文涵盖了多个特性,以突出MQTT Sparkplug和OPC UA之间的主要差异,但每个特性对于制造企业的重要性因用例而异。因此,要确定它们的重要性,将这些特性分组到主要的制造业务KPI(成本、风险和收入)中会有意义。
可扩展性、数据带宽效率、集成的便捷性和规范的复杂性导致了降低成本。数据完整性、安全性和隐私导致降低业务风险。最后,响应性、自动发现、会话状态感知、云连接和通信方向性导致通过增加运营效率来避免收入损失。
回复