工业自动化中的 MQTT:制造商实用指南
如果你涉足工业物联网(IIoT),必然会到处看到一个新缩写:MQTT。虽然 MQTT 在自动化领域较新,但已存在 20 多年。最初为从偏远油田获取数据而开发的协议,直到最近才在该利基应用外获得广泛采用。现在它正成为制造业数字化转型项目的主要协议之一。
什么是 MQTT?
MQTT 代表消息队列遥测传输。它是客户端-服务器发布/订阅消息传输协议,被认为是一种轻量级消息协议,用于在有限带宽应用中发送小数据包。其核心是物联网连接核心的 OASIS 标准。
历史
1990 年代末,需要一种轻量级通信协议,能以极低连接速度(可能低至 300 波特)从偏远油田传输数据。策略是利用传输层已有的 TCP 协议能力。提议的应用协议将移除增加传输负载的任何冗余。还需有状态,仅按例外报告。在这些约束下,Phillips 66 与 Cirrus Link Solutions 的 Arlen Nipper 和 IBM 的 Andy Stanford-Clark 合作开发了现在的 MQTT 协议。
早期商业用途
2000 年代初向自动化公司推介 MQTT 时,其唯一其他商业用途是 Facebook Messenger 和 Apple Messages。感兴趣的主要特性是协议确保数据状态和质量。发送方输入时,接收方看到熟悉的三个点。也用于一些家庭监控和天气数据应用,但当时 MQTT 使用相当有限。
自动化领域采用
2010 年代中期,Arlen Nipper 再次向自动化公司推广 MQTT。出现了无需显著网络需求即可聚合更多制造数据的新兴需求。但为获得制造业认可,还需开发额外能力。Cirrus Link Solutions 与 Inductive Automation 合作开发了现在的 Sparkplug 标准,包含自动化所需属性:定义的主题集、标准载荷、消息压缩。
结构概览
MQTT 使用类似计算机文件夹的结构。以 Windows 桌面为例。桌面有"我的文档"文件夹,里面有"家庭"文件夹,再下是每个家庭成员的文件夹。到我文件夹的路径:Desktop/我的文档/家庭/David。我将文档保存(发布)到 David。想读我文档的人会打开(订阅)David。
使用 MQTT 的设备将发布和订阅类似的主题路径,称为命名空间。像计算机一样,从最一般到最具体组织。订阅层级越高,接收数据越多。也有通配符帮助定义主题路径。星号(*)包含当前层级及以下所有内容。加号(+)将路径下移一级。文中稍后有示例。
与 ISA 标准对齐
ISA-95 标准在制造业广为人知。它描述企业与控制系统接口的标准模型和术语。虽通常视为从顶层 ERP 到底层设备的层级,但标准主要处理制造数据及其结构。因 MQTT 使用主题命名空间,可轻松与 ISA-95 层级对齐。建议主题命名空间构建时遵循企业、工厂、区域、产线、单元。发布者/订阅者根文件夹也应存在于适当层级。例如,控制单元的 PLC 应在 Enterprise/Site/Area/Line/Cell 主题发布数据。若过程历史师特定于区域,应在 Enterprise/Site/Area 层级订阅所有数据。
架构
MQTT 使用中常见问题:连接丢失时如何处理?有多种缓解方案。常用"存储转发"法。例如,控制层的 SCADA 系统持续收集数据,直到恢复与 MQTT 代理连接。注意:代理连接恢复时,所有存储数据的时间戳保持完整。
MQTT 也支持备份代理。有主代理,连接丢失时,连接节点自动切换到另一代理。关系通常通过支持此功能的应用(如 SCADA 系统)配置。
另一方案是集群。适用于不能容忍任何数据丢失的应用。常见设置:多个 MQTT 代理集群,互相感知并共享消息。连接丢失时,发布者和订阅者无缝路由数据到另一代理,无损失。
企业应用常用所有工厂数据。此场景 MQTT 支持桥接,类似存储转发系统。一个代理将部分或全部命名空间发布/桥接到另一代理。即工厂代理桥接到企业代理。可定义发布主题和命名空间结构。这既限制发布数据量,又为接收代理提供上下文。
以星号(*)发布所有原始数据且不定义结构最简单,但可能导致大量不必要且潜在混淆数据。为提供数据上下文,可在发布主题命名空间开头添加主题。例如,在植物 Area/+/Cell 命名空间前加 Enterprise/Site,结果发送 Enterprise/Site/Area/+/Cell 到企业代理。结果是所有产线的单元级数据可用(注意 + 通配符用法)。
所有场景可部署。SCADA 系统可用存储转发到 MQTT 集群。可有主备集群,但可能增加不必要复杂度。最后,工厂集群桥接企业集群,最大化数据完整性。这对企业分析和机器学习极佳,因它们需要大量高质量数据。
安全性
通过互联网收发制造数据的主要担忧是网络安全。真正安全唯一方式是物理隔离,但这阻碍数字化转型。MQTT 关键优势之一是安全性。其他通信协议需开放网络端口,MQTT 仅需到代理的出站连接。工厂无需开放任何入站端口,对 IT 组织极具吸引力。
未来展望
未来文章将探讨 MQTT 常见应用。协议设计为即插即用,但可能对额外技术细节感兴趣。业务领导者可考虑 MQTT 如何影响当前数字化转型工作。工程领导者肯定想知道 MQTT 对他们的影响。
总之,MQTT 不应被视为现有架构替代品。符合工业 4.0 要求,它利用现有基础。OPC UA 和其他协议仍将需要,因它们对控制应用更详尽。但聚合大量数据时,MQTT 是绝佳选择。
工业技术