德国赫优讯物联网网关TPI 51——实现EtherNet/IP与MQTT网络通讯
- 关键词:物联网,网关,EtherNet/IP,MQTT
- 摘要:德国赫优讯推出的实现自动化网络与云通讯连接的物联网网关netIOT Edge Gateway,可以实现安全地将自动化网络连接至云端或物联网平台,产品作为IO现场设备与PLC进行周期数据交换,然后直接通过OPC UA或MQTT云通讯方式连接到IoT设备或平台中。可以快速搭建OT和IT数据的“桥梁”,用于安全地实施工业物联网和工业4.0等边缘自动化项目。
1.产品简介
德国赫优讯推出的实现自动化网络与云通讯连接的物联网网关netIOT Edge Gateway,可以实现安全地将自动化网络连接至云端或物联网平台,产品作为IO现场设备与PLC进行周期数据交换,然后直接通过OPC UA或MQTT云通讯方式连接到IoT设备或平台中。可以快速搭建OT和IT数据的“桥梁”,用于安全地实施工业物联网和工业4.0等边缘自动化项目。
根据不同的应用场景和项目需求,赫优讯推出的netIOT Edge Gateway可分为以下两类:
(1)“Connect”:NIOT-E-TPI51-EN-RE适用于传输有限数量的物联网应用,通过Node-RED / Docker进行数据挖掘和数据处理分发;
(2)“On-Promise”:NIOT-E-TIJCX-GB-RE适用于数据密集型和复杂的物联网应用,对性能、连接性和内存容量要求更高,Node-RED/Docker作为基础,本地云连接和云计算作为选项。
图1 netIOT Edge Gateway
本文以“Connect”网关TPI51为实验对象,针对EtherNet/IP网络到MQTT通讯的实际应用场景,进行通讯测试和分析。
1.1 Edge Gateway Manager
Edge Gateway Manager是一个带有浏览模块的网页,可以快速访问集成在设备中的应用程序或外部网页。
图2 Edge Gateway Manager
访问方式:
① https://
② https://
注:登录Edge Gateway Manager,第一次登录需要通过局域网给设备分配IP地址,可通过交换机将设备与PC同时连接到局域网,然后通过设备名登录。登陆之后,可设置固定IP登录方式。
1.2 Control Pannel
使用控制面板,可以配置Edge Gateway并显示系统信息和特定于设备的信息。
(1)System:包含信息中心、许可证管理、时间设置等,用于显示系统信息和激活的许可证,上传或下载许可证文件,设置时间和时间同步等。
(2)Network:可以配置IT和OT网络(现场总线)的以太网接口、WiFi设置、组态现场总线接口等操作。
(3)Services:显示、启动和停止Edge Gateway的服务配置。
(4)User Management:显示用户权限。
(5)Security:存储和管理证书以及密钥文件。
(6)Node-RED – The wiring editor
1.3 Node-RED
物联网中的网关的任务是在不同的设备之间建立简单的可配置的灵活连接,netIOT Edge Gateway使用Node-RED完成基本配置,Node-RED是一个非常灵活的物联网可视化布线编辑器,基于流的编程模型,表示节点间事件流的消息、触发以及输出结果的处理,独立于平台。内置节点集,为开发者提供了强大的基础。
结合物理层面和逻辑应用,Node-RED模型中的“流”与“节点”建立基本模型,代表物联网中的对象,可将这些对象与物理接口以及逻辑功能相关联。使用简单的拖拽和拖放技术,无需编程,只需配置,使用功能块进行数据连接,缩短应用构建时间。如下图所示:
图3 Node-RED与物理接口的关系
在Node-RED中msg对象包含topic和payload。topic定义消息,payload包含传输的载荷。
1.4 MQTT通讯
MQTT协议(Message Queuing Telemetry Transport),即遥信消息队列传输,是一种轻量级基于代理的发布/订阅消息的传输协议,其设计思想是开放、简单、轻量、易于实现,适合在宽带、计算和处理能力受限的环境下工作。MQTT协议采用客户端-服务器的基本结构,基于主题订阅/消息发布进行消息传输,使通信的参与者在空间、时间和控制流上完全解耦,在轻松实现拓扑结构扩展的同时,保留了实时的特性以及服务质量的可配置性。所以,MQTT是适合物联网场景的通讯协议,其协议架构如下图所示:
图4 MQTT协议架构
MQTT协议作为物联网通讯有以下特点:
(1)传输消耗少,最短的消息只有两个字节,可实现最大程度的降低网络负载;
(2)协议简单、开放、易于实现,MQTT协议采用订阅/发布的消息模式,提供从1到n的消息转发,降低通信双方的耦合度;
(3)为不同的场景提供三个级别的消息传输服务质量;
(4)MQTT的遗嘱机制使得客户端在发生异常连接中断时,相关终端可以接收到本客户端的遗嘱消息。
2.实验准备
试验所需设备:
3.硬件连接
根据实验要求,赫优讯主站板卡cifX 50-RE/+ML作为EtherNet/IP主站,TPI 51边缘网关作为EtherNet/IP从站,MQTT.fx作为客户端通过不同的主题订阅和发布消息,即可直接接收EtherNet/IP主站发送的数据,同时也可以发送数据到主站。
TPI 51边缘网关需要24V供电,需连接相应的电源设备。关于边缘网关的相关配置及硬件LED灯闪烁情况,请参考文档:Edge Gateway NIOT-E-TPI51-EN-RE UM 08 EN。
4.软件安装
本次实验采用两台计算机,分别模拟IT和OT的部分,需要分别安装网络组态软件SYCON.net和MQTT.fx客户端软件。通过浏览器访问Edge Gateway Manager主控制界面,然后通过Node-RED进行数据流的创建。
5.测试步骤
5.1 系统配置
登录Edge Gateway Manager,第一次登录需要通过局域网给设备分配IP地址,可通过交换机将设备与PC同时连接到局域网,然后通过设备名登录管理界面。登陆之后,可以通过cmd查看设备的IP地址,然后设置固定IP登录方式。首次登陆,登录名和密码都为admin,然后根据操作提示可更新密码。
(1)设置固定IP
设备的访问方式可以通过固定IP的方式登录,在管理界面的上侧菜单栏,点击NetWork,选择LAN,设置固定IP即可。注意:通过固定IP登录时,需要与PC的IP地址在同一个网段之内。
图5 设置固定IP
(2)Field设置
Edge作为从站设备连接到OT网络中,目前可支持PROFINET、Ethernet/IP、Modbus TCP,需要在Field中选择相应的协议栈即可。点击上侧菜单栏NetWork,选择Field,进入Field的配置界面。首先,修改Field的工作模式,Connect边缘网关作为现场设备,所以设置其为Active模式,然后选择相应的firmware,本次测试选择EtherNet/IP Adapter:
图6 设置Field网络
(3)Node-RED设置
需要在Service list中启动Node-RED选项,才可以在首页中激活Node-RED功能块,然后直接进入Node-RED界面进行配置。
图7 启动Node-RED
(4)MQTT Broker设置
与Node-RED设置一样,需要在Service List中启动MQTT Broker,实现将TPI 51边缘网关设置为一个MQTT服务器:
图8 启动MQTT Broker
5.2 设置Fieldbus节点
Fieldbus节点分为Input和Output节点,用来从现场层(例如PROFINET、EtherNet/IP等实时以太网网络)接收数据,或者将数据发送至现场层,每个节点都需要信号来寻址数据,所以需要先配置现场总线系统,然后定义信号,将信号用于Fieldbus的输入和输出节点。
添加Fieldbus节点,将Fieldbus的输入和输出节点直接拖拽至工作区,双击节点,进行配置。
图9 添加Fieldbus节点
双击节点,在Fieldbus Interface下拉框中选择EtherNet/IP Adapter,然后点击右侧图标,进入打开界面:
图10 选择Fieldbus Interface
点击Fieldbus Configurator的open按钮,进入Fieldbus配置界面:
图11入Fieldbus配置器
设置输入输出模块长度分别为:2 send byte(inputs)和2 receive byte(outputs),双击IO items中的Send和Receive添加输入输出模块:
图12添加输入输出模块
添加好输入输出模块,可以直接在Data Length修改长度,测试中选择2 send byte(inputs)和2 receive byte(outputs):
图13设置长度
对于EtherNet/IP从站设备,只需要设置输入输出长度,IP地址由主站分配。配置完成之后,点击Project,选择Save,保存工程。然后,点击Download,下载EDS文件,用于在主站配置工具中做网络组态。
图14 保存配置
图15下载EDS文件
5.3 设置MQTT节点
对于MQTT节点的设置,首先需要将MQTT的输入输出节点拖拽至工作区,然后双击节点图标进行配置。
图16 添加MQTT节点
双击MQTT out节点,点击服务端下拉框,选择MQTT,点击右侧图标,对MQTT Broker进行配置:
图17 编辑mqtt out节点
对于MQTT Broker节点配置,服务器选择与主机TPI51边缘网关通一个IP地址,端口号默认为1883,客户端ID在MQTT.fx软件中自动生成:
图18 mqtt-broker节点参数设置
服务端信息配置完成之后,点击更新,保存设置。然后,设置mqtt out节点的主题、遗嘱消息的质量和保存,以及节点名称。主题和遗嘱消息的设置需要和MQTT.fx中的设置保持一致:
图19 MQTT out节点参数配置
同样的操作,设置MQTT In节点,可以设置不同的主题,便于通讯测试,所以对于MQTT In节点的参数配置如下:
图20 MQTT in节点的参数配置
5.5 MQTT.fx配置
MQTT.fx作为MQTT客户端设备,可与服务器建立网络连接,可保存多个连接配置,支持多种类型TCL加密方式。创建连接时可指定使用HTTP代理服务器,连接成功后可执行发布和订阅功能。
首先,创建连接配置,点击配置按钮,设置连接项参数:
图21 连接项设置
设置连接项参数时,需参考Node-RED中MQTT节点的参数配置,服务端、端口号等需保持一致。设置完成之后,返回主界面,点击Connect按钮创建连接:
图22 创建连接
5.5 EtherNet/IP网络组态
对于TPI 51边缘网关,作为EtherNet/IP网络中的从站设备,可以获取EtherNet/IP网络的过程数据,然后通过MQTT通讯协议上传至具有物联网通讯功能的设置。在测试中,选择赫优讯主站板卡cifX 50-RE/+ML作为EtherNet/IP主站,在SYCON.net软件中进行网络配置。
首先,需要将TPI 51边缘网关的设备描述文件(EDS文件)导入到SYCON.net软件中,在SYCON.net中添加主站板卡和TPI51边缘网关进行网络组态,然后设置从站设备的输入输出模块长度,与在Node-RED中Fieldbus节点的配置一致:
图23 设置Connect边缘网关参数
设置完成之后,将从站的配置参数下载在主站中,可以监测到通讯状态:
图24 通讯状态
6.通讯测试
在Node-RED编辑器中,部署创建好的数据流,可以看到所有节点处于运行状态,在Debug区域可以查看状态输出信息。
图25 部署数据流工程
(1)首先测试TPI 51缘网关实现将Ethernet/IP网络数据发送至MQTT通讯,可分别在Node-RED和MQTT.fx中监测数据的变化,cifX板卡发送数据1,2:
图26 主站板卡发送数据
图27 Node-RED中查看数据
在MQTT.fx软件中,订阅topic1主题,可以监测到从cifX主站办法发送至TPI 51边缘网关的数据:
图28 MQTT客户端订阅数据
(2)同样的,通过MQTT客户端也可以发送数据至主站板卡,实现从MQTT通讯到EtherNet/IP网络。在MQTT.fx中,设置发布主题为topic2,与Node-RED中设置一致,发送数据[3,4],可以在Node-RED和SYCON.net中查看接收到的数据变化。
图29 MQTT.fx发送数据
图30 Node-RED中数据变化
图31 cifX主站卡接收到的数据
7.总结
TPI 51边缘网关可作为标准IO设备无缝集成在自动化网络中,使用IoT配置工具Node-RED,在现场设备和应用程序间实现快速模型化数据流的创建,直接与云端或物联网设备进行MQTT通讯,并实现与主站并行传输数据。
对于应用需求来说,基于赫优讯的边缘云网关设置,可实现现场层数据实时订阅,并快速搭建数据采集通道。从而帮助生产制造业探索最佳的工艺流程,降低生产成本,提高产品质量。