什么是MQTT Sparkplug?

什么是MQTT Sparkplug?缩略图
本文目录
  1. 1. 什么是MQTT Sparkplug?
  2. 2. MQTT Sparkplug的三个关键目标
  3. 3. MQTT Sparkplug的工作原理
  4. 4. 数据互操作性:
  5. 5. 节省带宽和资源:
  6. 6. 支持传统设备:
  7. 7. 自动设备发现:
  8. 8. 开源规范:
  9. 9. 结论

当在工业控制系统中使用相同的语言,但存在不同的词汇来指代相同的物体时,可能会导致严重的混淆,特别是在需要迅速采取行动来纠正问题的关键时刻。这个问题类似于一群人在尝试一起解决一个谜题,但每个人都使用不同的拼图来组成完整的图像,因此难以协同合作。

幸运的是,有一种解决这个问题的方法,即采用统一的标准和词汇,以确保所有人都在同一个频道上。在工业控制系统中,这一标准就是MQTT Sparkplug。

什么是MQTT Sparkplug?插图

什么是MQTT Sparkplug?

MQTT Sparkplug是一种开源软件规范,旨在指导MQTT客户端如何在工业环境中使用MQTT协议。它的目标是消除在工业自动化中出现的通信混乱,提高互操作性,加速新设备的集成,以及降低因通信问题而导致的停机和风险。

Sparkplug通过定义特定的消息结构和协议规则,为工业4.0和工业物联网(IIoT)创建了即插即用的解决方案。

举例:想象一下,你正在管理一个工厂的自动化系统,其中有多个设备负责监测温度。但是,不同的工程师和供应商使用了不同的命名约定来表示温度数据。有的人称之为“温度1”,有的人称之为“热量-A”,还有的人称之为“温度_reading_5”。在没有统一标准的情况下,混乱不断上升,工程师们必须不断查看文档以了解各种温度传感器的命名约定。这不仅浪费时间,还可能导致错误和混淆。

MQTT Sparkplug的三个关键目标

MQTT Sparkplug旨在实现以下三个关键目标:

定义MQTT主题命名空间

它提供了一种结构化方法来命名MQTT主题,以便在整个系统中统一表示不同设备和传感器的数据。这消除了在不同设备之间的不同命名约定所导致的混淆。

举例说明:使用Sparkplug,所有温度传感器可以使用相同的命名约定,例如“温度1”,“温度2”和“温度3”,使工程师能够轻松地订阅和理解这些数据。

定义MQTT状态管理

Sparkplug规范引入了状态管理,通过广播“出生消息”和“遗嘱消息”的方式,及时通知系统中的设备是否在线或离线。这消除了传统的轮询方式,减少了通信的带宽和计算资源的浪费。

举例说明:假设一个温度传感器由于故障而突然断线。使用Sparkplug,它将立即广播“离线”状态,而无需等待系统进行轮询检查。这大大提高了系统对设备状态的实时感知。

定义MQTT有效负载

规范规定了如何结构化消息有效负载,使其易于理解和处理。每个消息有效负载包含了名称、别名、时间戳、数据类型和值,这使数据的解释和处理变得更加一致和方便。

举例说明:有效负载结构的统一性确保数据以一致的方式表示。例如,温度传感器的数据将包括名称("温度")、别名("温度传感器1")、时间戳、数据类型和实际温度值。这使数据处理变得更加简单,无需不断适应不同的数据格式。

MQTT Sparkplug的工作原理

在MQTT Sparkplug架构中,MQTT代理充当关键的中央枢纽。它负责接收发布的消息并将其路由到正确的订阅者。这种基于发布/订阅的消息传递方式使系统的组件能够以松散耦合的方式通信。

举例说明1:想象一下,多个温度传感器不断向MQTT代理发布温度数据。SCADA系统和其他应用程序可以订阅这些数据,而无需直接连接到传感器,从而实现了松散耦合的通信。

各种设备,特别是那些位于工厂设备的“边缘”或EON(Edge of Network)的设备,持续向MQTT代理发布数据。即使某些设备不支持原生的Sparkplug,它们仍然可以通过将数据发送到支持Sparkplug的EON节点来参与网络。

举例说明2:某台设备在工厂的边缘不支持Sparkplug,但它可以通过一个支持Sparkplug的EON网关将其数据发送到系统。这种灵活性确保了所有设备都可以参与通信。

SCADA/IIoT主机则是监视和控制这些EON节点及其下属设备和传感器的应用程序。它们连接到MQTT代理,可以实时监控设备状态、数据和执行控制操作。

说明:SCADA系统监视温度传感器的数据,并在需要时触发控制操作,例如调整温度设定或触发报警。

另外,还有MQTT应用节点,用于执行各种任务,例如数据历史记录、制造执行系统(MES)和数据分析。这些应用程序使用通过MQTT传输的数据,也可以生成消息以觋发操作。

说明:一个数据分析应用程序可以接收温度数据,将其与其他数据集进行比较,然后生成预测性维护建议,例如何时对设备进行维护,以确保其正常运行。

MQTT Sparkplug的优势

为什么要选择MQTT Sparkplug?这个规范提供了许多优势:

什么是MQTT Sparkplug?插图1

数据互操作性

通过统一的消息结构和协议规则,Sparkplug确保不同设备之间的数据能够互操作,无需在通信上投入大量精力。

说明:无论哪家供应商提供的温度传感器,它们都能够在相同的系统中无缝运行,因为它们遵循了相同的Sparkplug规范。

节省带宽和资源

通过“按异常报告”的状态管理方式,减少了不必要的轮询,从而节省了带宽和计算资源。

说明:使用Sparkplug,系统可以立即知道设备的状态变化,而不必频繁轮询设备,从而减少了通信开销。

支持传统设备

即使某些设备不支持Sparkplug或MQTT,它们仍然可以通过使用EON节点来与系统集成。

说明:即使某个设备使用传统的通信协议,它可以通过连接到支持Sparkplug的EON节点来参与整个系统。

自动设备发现

Sparkplug关注统一性,使系统能够自动发现网络上的设备和数据。

举例说明:当新设备添加到系统中时,它们可以自动被发现并集成,而无需手动配置。

开源规范

Sparkplug是一个开源技术,无需许可,并且可以根据需要进行定制。

举例说明:无需支付昂贵的许可费用,您可以自由地采用和修改Sparkplug规范,以满足您的特定需求。

结论

MQTT Sparkplug是工业控制系统中的一项关键技术,它大大简化了设备之间的通信和集成,提高了系统的互操作性和可靠性。它为工业4.0和工业物联网(IIoT)的实施提供了强大的支持,使工业自动化系统更加安全、高效和可用。如果您正在考虑采用最新的工业技术,MQTT Sparkplug是您的有力助手,为您铺平通往成功的道路。在这个过程中,可以考虑与值得信赖的合作伙伴如Outlier Automation合作,以实现自动化目标。无论您需要帮助开始使用MQTT Sparkplug,计划升级PLC,还是进行概念验证,Outlier Automation都可以提供专业支持,助您顺利实现工业自动化的目标。

技术术语(共 6 个)—— 点击展开
MQTT轻量级物联网消息传输协议,基于发布/订阅模式,适合低带宽不稳定网络
订阅客户端向 Broker 注册感兴趣的主题以接收消息
发布客户端向指定主题发送消息
遗嘱消息Will 消息,客户端异常断开时 Broker 代为发布的消息
传感器将物理量转换为电信号的检测装置
网关协议转换/边缘汇聚设备,将设备数据接入 MQTT
来源/工具信息 —— 点击展开
来源 MQTT中文网(mqtt.cn) —— 国内领先的MQTT通信协议技术社区 分类 Sparkplug 字数 2638 字 · 阅读约 7 分钟 更新 2023-11-02 永久链接 https://www.mqtt.cn/1122.html
推荐工具:MQTT调试助手 微信小程序
MQTT中文网官方推出的MQTT调试工具,支持 MQTT 3.1.1/5.0 实时连接调试、主题订阅、消息收发监控与报文分析。 无需安装,微信搜索「MQTT调试助手」即可使用。 电脑端入口:https://www.mqtt.cn/mqtttool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 mqtt.cn
📝 作者声明
本文由 MQTT中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复