工业物联网(IIoT)和工业4.0是制造业中的关键趋势。车间操作员寻求提高运营效率、实现小批量生产,并获得实时制造洞察。然而,传统的软件和硬件栈通常是封闭和专有的,互操作性并不是供应商的主要关注点。像OPC-UA这样的协议虽然承诺为设备、机器和软件应用之间提供通用的行业语言,从而打破孤立,但现实却是,对于大多数开发人员和软件架构师来说,OPC-UA并不像人们所希望的那样是解决所有问题的万能药。它非常复杂和笨重,尤其是在大多数制造项目中常见的棕地环境下,集成OPC-UA并不容易。因此,人们开始寻找更好的方法。
与此同时,通过MQTT协议,设备到云的通信在最小化延迟和最大化吞吐量方面变得非常简单。许多开发人员期望有类似于MQTT的简单解决方案,但又能满足制造业的特定需求,如有效载荷定义和跨机器及供应商的统一消息行为。
这一愿望得以实现,当基于MQTT的Sparkplug协议由MQTT的创始人之一Arlen Nipper首次发布时。Sparkplug规范迅速在整个行业中流行起来,像雪佛龙(Chevron)这样的大公司采用它以提高运营效率,并创造下一代制造解决方案。
那么,Sparkplug究竟是什么呢?
Sparkplug是一个开源软件规范,它为MQTT客户端提供了一个框架,使其应用、传感器、设备和网关能够在MQTT基础设施中无缝、双向、互操作地集成数据。为了为IIoT提供通用语言,Sparkplug规范定义了三个目标:定义MQTT主题命名空间、MQTT状态管理和MQTT有效载荷。值得注意的是,Sparkplug实际上被设计为完全运行在MQTT上,因为MQTT的发布/订阅模式允许系统的所有组件进行双向和解耦的集成。当1999年MQTT被发明时,它最初是为SCADA系统设计的,但没有具体规定主题和有效载荷的结构以及设备的行为方式。这使得MQTT可以在不同的行业中使用,如智能汽车、物流和智能制造。现在,Sparkplug填补了这个空白,并为IIoT场景中的数据格式、主题结构、状态管理和拓扑结构提供了一个厂商中立的规范。
那么,Sparkplug与纯粹的MQTT有何不同?
Sparkplug是专为基于MQTT的工业物联网应用设计的。许多供应商的PLC(例如西门子S7)以及大多数制造执行系统(MES)和SCADA系统(如感应自动化®的Ignition SCADA)支持MQTT。当然,大多数专业网关解决方案也支持MQTT。
总结
加入Sparkplug的原因在于,对于非Sparkplug的MQTT通信,需要确保所有感兴趣的参与者知道在哪里订阅数据,并且能够解释数据。这通常涉及到数据转换,需要约定,从而在所有应用之间创建紧密耦合。而使用Sparkplug,所有参与者都会就一种共同的数据格式达成一致,明确如何接收特定数据,如何发布他们的数据,以及如何解释数据。更好的是,Sparkplug还允许集成来自非MQTT设备的数据以及其他协议(如OPC-UA或Modbus)的数据。我们还可以从中获得所有这些设备和应用的自动发现功能。
回复