当在工业控制系统中使用相同的语言,但存在不同的词汇来指代相同的物体时,可能会导致严重的混淆,特别是在需要迅速采取行动来纠正问题的关键时刻。这个问题类似于一群人在尝试一起解决一个谜题,但每个人都使用不同的拼图来组成完整的图像,因此难以协同合作。
幸运的是,有一种解决这个问题的方法,即采用统一的标准和词汇,以确保所有人都在同一个频道上。在工业控制系统中,这一标准就是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?这个规范提供了许多优势:
数据互操作性:
通过统一的消息结构和协议规则,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都可以提供专业支持,助您顺利实现工业自动化的目标。
回复