当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要 :工业物联网在发展过程中面临许多问题,首先是如何将现场 PLC 采集到的过程数据上传至云平台, 针对这一问题,通过在系统中增加 MQTT 网关即可将数据集中发送至云平台。该上云方式适用于旧设备改造,同时也可直接应用在新设备中。实验结果表明该设计方案结构简单,响应速度快,能与市面上主流的 PLC 进行无缝连接。该网关不仅为工业设备上云提供了便利,更为今后传统过程数据向云平台迁移及大数据分析奠定了坚实的基础。



引 言


MQTT 已成为国内工业物联网的首选云通信协议,尤其在大规模设备厂家远程运维系统中采用 MQTT+SSL/TLS 已成标配。消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)是 IBM 开发的一种即时通信协议, 该协议支持所有平台。但对于云平台的程序员来说,如何将Modbus TCP,OPC-UA 等各种工业协议转为 MQTT 是一个难题。由于云平台软件大部分采用 Java 语言开发,基于JSON 格式的 MQTT 协议更易受到云平台开发人员的喜爱。但对于工业自动化的工程师而言,MQTT 还是一个比较陌生的协议。针对这一实际问题,本文提出了 MQTT 网关的概念, 提供轻量级、支持 Publish/Subscribe 消息的推送模式,使设备与云平台之间的通信更为简单 [1-3]。


1 系统设计


1.1 总体方案设计

系统包含设备层和数据处理层。设备层包含现场不同厂商的 PLC 及 MQTT 网关。不同的 PLC 通过 OPC-UA 通信将数据发送至 MQTT 网关,再由 MQTT 网关将数据转送至云平台,本文使用阿里云作为云平台,作为国内领先的云服务供应商,阿里云在物联网领域可提供完整的解决方案,并能与其他云产品互通,为后续大数据分析和管理提供便利 [4]。

在数据处理层中的物联网平台支持设备使用 CoAP, MQTT,HTTPS 协议接入。IoT Studio 是阿里云针对物联网场景提供的工具,它可覆盖各物联网行业核心应用场景,为物联网开发服务提供移动可视化开发、Web 可视化开发、服务开发与设备开发等。本案例使用基于 Web 的可视化开发插件,用户通过远程输入地址即可轻松实现对数据的读取和写入。此外后续还可以通过使用云数据库结合机器学习 PAI 实现基于大数据的预测,或通过阿里云的其他服务实现更多功能,其总体框架如图 1 所示。本文侧重介绍前段通信的建立, 针对大数据分析不做详细介绍。

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统

系统中主要的设备为 MQTT 网关,MQTT 中定义了两种对象,即客户端和发布服务器。发布服务器是整个通信系统的网络核心,可以连接多个客户端,客户端则作为框架中信息的产生者和接收者 :

(1)客户端通过 Subscribe向发布服务器声明自己想接收的 Topic信息 ;

(2)相关客户端通过 Publish 向发布服务器上某个 Topic发布信息 ;

(3)发布服务器将该信息转发到对该 Topic感兴趣的客户端。

MQTT 运行原理如图 2 所示。

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统

实验中使用的 MQTT 网关采用 BECKHOFF 公司开发的TwinCAT 3 作为软件平台。TwinCAT 3 是一款基于IEC 61131 编程语言的自动化软件,其工程环境完全集成在 Microsoft Visual Studio 框架中,除了系统配置、运动控制、I/O 控制之外,还可以进行编程和调试。

作为网关的输入端,该平台可以支持市面上 90% 以上的 通 信 协 议 , 如 OPC-UA/DA,Modbus TCP,EtherCAT, PROFINRET,EtherNET/IP,CANopen,DeviceNet,Profibus DP 等,可以真正实现与不同厂商 PLC 进行数据对接。作为网关的输出端,连接互联网后可以直接通过 MQTT 协议与阿里云的物联网平台进行数据对接 [5-6]。

1.2 MQTT 网关与物联网平台的连接

在物联网平台中建立连接,需在云端创建产品和对应设备。产品相当于某一类设备的集合,该类设备具有相同的功能,可以根据产品批量管理对应设备。

为了保证传输数据的安全性和可靠性, 每个设备需要具备物联网平台颁发的凭证才能连接, 凭证内容包含ProductKey,DeviceName 和 DeviceSecret,在云服务器中可以找到对应信息。设备凭证是设备与物联网平台交流的重要依据,需要在 PLC 程序中进行相关加载 [7-8]。

1.3 MQTT 网关与 PLC 的连接

为了收集现场不同 PLC 所采集的过程数据,需要将它们连接至 MQTT 网关。本文采用 OPC-UA 作为通信协议, OPC UA 技术在国内正形成一个热潮,在工业 4.0、智能制造等领域被广泛认可。OPC-UA 与 MQTT 网关采用客户端 / 服务器的通信模式,这种对等方式可提供安全和确定的信息交换 [9-10]。

不同 PLC 供应商所提供的 OPC-UA 设置软件略有不同, 在此不做过多介绍,可以在对应厂商的官网找到相关资料。MQTT 网关作为 OPC-UA 客户端可以同时连接多个 OPC Server 的 PLC,其网络拓扑如图 3 所示。在本文中分别使用了 4 款不同系列的 PLC,分别为 SIEMENS 的 1500 和 1200 系列,FESTO CECC 和 BECKHOFF CX2020 系列。

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统

2 系统关键模块功能的实现

2.1 MQTT 网关与物联网平台的连接

作为MQTT网关,TwinCAT3软件可以通过库文件“TC3_ IotBase.library”实现与 MQTTBroker的数据交互。网关可以收集下位机或本地所采集的数据,通过将数据进行 JSON格式的转换上传至云端,其结构示意如图 4 所示。

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统

2.1.1 MQTT 通信的建立

MQTT 网关的编程基于 IEC 61131-3 中的结构化文本, 与通信建立相关的主要代码如下 :

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统

2.1.2 物联网平台数据的 Publish/Subscribe

在 MQTT 中,数据的发送和接收通过 Publish/Subscribe 实现,对应的 Topic 信息可以在云端设备信息中查阅,针对本次测试,对应的 Topic 如下 :

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统

2.2 MQTT 网关与 PLC 的连接

将 4 台 PLC 通过交换机连接,在各 PLC 中添加一个温度变量传输至 MQTT 服务器来模拟效果,硬件连接如图 5 所示。

图 5 实际硬件连接


TwinCAT 3 OPC-UA Client 的设置界面中分别添加4 台 PLC 的 Server 信息,其 URL 为 OPC UA Server 所在主机的 IP 地址 :端口号,例如 opc.tcp ://192.168.1.1 :4840,随后找到节点名称,即设备在 OPC UA Server 中的变量节点DisplayName 的值即可。

2.3 测试与结果

采集的温度发送至 MQTT 网关,再传输至物联网平台后通过适当的设置即可直接在控制台信息中找到实时温度数据,如图 6 所示。

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统


为了显示更详细的数据,如实时数据和历史数据,可以在 IoT Studio Web 中进行可视化图形界面的开发,本案例将温度数据与趋势图插件的数据源接口进行对接,设置好映射关系后,该可视化界面就完成了部署到云端的工作。最终用户只要通过带浏览器的手机、笔记本电脑直接打开网页就能实时访问数据,可视化界面如图 7 所示。

图 7 可视化界面

为测试系统的响应性能及网络延时,每分钟通过 PLC 向云端发送一条温度数据以测试系统整体的实时性能,本实验维持了 12 h, 取每小时的平均值, 最终的平均值为3.7 ms,其结果如图 8 所示。

基于 MQTT 网关连接 PLC 与阿里云物联网平台的工业物联网系统


3 结 语

实验表明该 MQTT 网关具有较高的安全性、可扩展性和实时性等优点,能够实现现场设备数据采集并连接至云服务器,对将来的大数据分析有着非常重要的指导意义。

本文仅是抛砖引玉,基于该 MQTT 的工业物联网系统可用到更为广泛的应用场景,比如基于大数据的设备预防性检测等,希望大家在工业 4.0 的大环境下能够更好地利用云资源。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭