德国赫优讯物联网网关TPI 51 ——实现PROFINET与OPC UA网络通讯
- 关键词:物联网,网关,PROFINET,OPC,UA
- 摘要:德国赫优讯推出的实现自动化网络与云通讯连接的物联网网关netIOT Edge Gateway,可以实现安全地将自动化网络连接至云端或物联网平台
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”网关TPI 51为实验对象,针对PROFINET网络到OPC UA通讯的实际应用场景,进行通讯测试和分析。
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 OPC UA通讯协议
OPC UA 是一套集信息模型定义、服务与通讯标准为一体的标准化技术框架, 作为一种面向服务的通信协议,目的是使工业化通讯有据可循,可以理解为一个 UA 服务端和 UA 客户端的实时数据库框架。UA 服务端负责数据管理与逻辑运算,并通过OPC UA 通讯协议对 UA 客户端程序提供相应的数据与服务。
UA 服务端既可以是可编程逻辑控制器 (PLC)、I/O控制器或传感器等设备上二次开发的应用程序,也可以是 MES、SCADA等物联网应用平台。UA 客户端是 UA 服务端进行通讯的系统或设备,可以是ERP系统、大数据平台、物联网系统,也可以是任意物联网设备。OPC UA整体架构如下图所示:
图2 OPC UA整体架构
为打通异构信息系统集成的信息渠道,实现数据的互联互通和无缝传递,OPC UA 技术需具备独立于平台、可伸缩性、高度可利用性、因特网服务可植入等特点,不但可实现独立于各大设备制造商,还独立于各个主流操作系统,并支持多种编程语言实现软件应用开发。OPC UA作为物联网通讯协议有以下几大特点:
(1)访问统一性,OPC UA提供一致的、完整的地址空间和服务模型;
(2)通信性能,可通过任何单一端口进行通信;
(3)高度可靠性和冗余性;
(4)标准安全模型,提高互通性的同时降低维护和额外配置费用;
(5)独立于平台,不依靠和局限于任何特定的操作平台。
2.实验准备
试验所需设备:
3.硬件连接
根据实验要求,西门子S7-1200作为PROFINET主站,TPI 51边缘网关作为PROFINET从站同时作为OPC UA server,Ua Expert OPC UA Client作为客户端可订阅TPI 51边缘网关的消息,即可直接接收PROFINET主站发送的数据,同时也可以发送的数据到主站。
TPI 51边缘网关和西门子PLC都需要24V供电,需连接相应的电源设备。关于边缘网关的相关配置及硬件LED灯闪烁情况,请参考文档:Edge Gateway NIOT-E-TPI51-EN-RE UM 08 EN。
4.软件安装
本次实验采用两台计算机,分别模拟IT和OT的部分,需要分别安装西门子TIA博途软件和UaExpert客户端软件。通过浏览器访问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地址在同一个网段之内。
图4 设置固定IP
(2)设置Field
Edge作为从站设备连接到OT网络中,目前可支持PROFINET、Ethernet/IP、Modbus TCP,需要在Field中选择相应的协议栈即可。点击上侧菜单栏NetWork,选择Field,进入Field的配置界面。首先,修改Field的工作模式,TPI 51边缘网关作为现场设备,所以设置其为Active模式,然后选择相应的firmware,本次测试选择PROFINET IO Device:
图5 设置Field界面
(3)Node-RED设置
需要在Service list中启动Node-RED选项,才可以在首页中激活Node-RED功能块,然后直接进入Node-RED界面进行配置。
图6 启动Node-RED
5.2 设置Fieldbus节点
在管理界面首页,点击Node-RED图标,进入Node-RED编辑器,首先是对TPI 51边缘网关进行相应的配置,通过创建数据流实现PROFINET网络到OPC UA的通讯。
Fieldbus节点分为Input和Output节点,用来从现场层(例如PROFINET、EtherNet/IP等实时以太网网络)接收数据,或者将数据发送至现场层,每个节点都需要信号来寻址数据,所以需要先配置现场总线系统,然后定义信号,将信号用于Fieldbus的输入和输出节点。
添加Fieldbus节点,首先需要将Connect设置为PROFINET从站设备,选择PROFINET IO Device(version3.14,build 0 revision 4):cifX0,点击右侧的按钮进入具体的设置界面,
图7 添加Fieldbus输入节点
图8 进入Fieldbus配置器
设置输入输出模块长度分别为:2 send byte(inputs)和2 receive byte(outputs)
图9 添加输入输出模块
对于PROFINET从站设备,只需要设置设备名称和输入输出长度,IP地址可由主站分配。配置完成之后,点击Project,选择Save,保存工程。然后,点击Download,下载设备描述文件,用于在主站配置工具中做网络组态。
5.3创建OPC UA信息模型
(1)添加OPC UA节点,在原有的Node-RED中只有node-red-contrib-iiot-opcua的节点,在测试中采用的是node-red-contrib-opcua节点,所以需要通过节点管理手动添加节点。注意,添加节点集时,TPI 51边缘网关需处于联网的状态才可进行。
图10 添加OPC UA 节点集
(2)添加OPC UA Server节点,选中OPC UA节点,直接拖拽至工作区,双击对其进行参数设置:
Port:53880
Name:OPC UA-Server
Endpoint:UA/SimpleNodeRedServer
点击完成即可完成设置。
图11 添加OPC UA Server节点
图12 节点配置
(3)添加Status节点,用来判断OPC UA-Server的运行状态
报告状态范围:指定节点
名称:Get OPC UA server status
图13 添加Status节点
图14 Status节点配置
(4)添加Comment节点,用作注释:
图15 添加注释节点
(5)添加Switch节点,添加相应的规则用来判断OPC UA-Server的状态
图16 添加Switch节点
参数配置为设置如果OPC UA-Server已经启动则发送状态信息:
名称:If running—>continue
属性:msg.status.fill
规则:== green
图17 Switch节点参数配置
(6)添加change节点,用来在OPC UA-Server中建立相应的信息模型,添加Input对象:
名称:Add "Inputs" variable
规则:设定 msg.topic到ns=1;s=Inputs;datatype=String
图18 change节点配置
(7)同样的,添加change节点设置output对象:
名称:Add "Outputs" variable
规则:设定 msg.topic到ns=1;s=Outputs;datatype=String
图19 change节点配置
(8)添加change节点,设置在OPC UA-Server中添加对象的命令:
名称:Command "addVariable"
规则:设定 msg.payload 到 { "opcuaCommand": "addVariable" }
图20 change节点配置
(8)连接以上所有节点,关于OPC UA-Server的测试都设置完成
图21 创建数据流
5.3 创建从PROFINET到OPC UA数据流
对于从PLC发来的数据,是数列的格式,添加Function节点,设置将接收的数据转化为string格式:
名称:array to string
函数:msg.payload = msg.payload.value.toString();
return msg;
图22 Function节点配置
添加change节点,设置将接收到的数据发给Inputs对象,然后再添加change节点,将对象转化为JSON格式
图23 change节点配置
图24 添加规则
然后创建数据流,将从PROFINET主站接收到的数据发送至OPC UA-Server。
同样的,创建outputs节点,用于接收从OPC UA-Server发送给PROFINET主站的数据
图25 创建output节点
将string格式转化为数列:
函数:
msg.payload.value = [];
for (let i=0; i < msg.payload.variableValue.length; i++) {
msg.payload.value[i] = msg.payload.variableValue.charCodeAt(i);
}
delete msg.payload.variableValue;
delete msg.payload.variableName;
delete msg.payload.messageType;
return msg;
图26 设置Function节点
添加Fieldbus output节点,设置其为PROFINET IO Device 输出模块。
图27 添加output节点
添加Debug节点,用于在测试过程中检测数据的变化:
图28 添加Debug节点
5.4 PROFINET网络组态
对于TPI 51边缘网关,作为PROFINET网络中的从站设备,可以获取PROFINET网络的过程数据,然后通过OPC UA通讯协议上传至具有物联网通讯功能的设置。在测试中,选择西门子S7-1200作为PROFINET主站,在博途软件中进行网络配置。
首先,需要将TPI 51边缘网关的设备描述文件装载至博途软件中,然后,通过Ethernet Device Configuration软件查看TPI 51边缘网关的设备名和IP地址,并设置参数与博途软件中的设备名和IP地址一致。添加TPI 51边缘网关的输入输出模块,与Node-RED中Fieldbus节点设置的参数一致,即2 Byte Input和2 Byte Output,然后点击装载,将参数下载到PLC中。点击在线,查看通讯状态。
图29 PROFINET网络组态
6.通讯测试
在Node-RED编辑器中,部署创建好的数据流,可以看到所有节点处于运行状态,在Debug区域可以查看状态输出信息。
图30 部署功能
首先测试TPI 51边缘网关实现将PROFINET网络数据发送至OPC UA通讯,可分别在Node-RED和OPC UA Client中监测数据的变化,PLC发送数据1,2:
图31 PLC发送数据
图32 Node-RED中查看数据
通过UaExpert连接OPC UA Server,打开UaExpert软件,点击上侧菜单栏的“+”图标,添加OPC UA Server:
图33 添加OPC UA Server
双击
图34 添加OPC UA Server
添加完OPC UA Server,右键选择Connect,UaExpert自动扫描信息模型,可以看到在Node-RED中创建的Input和Output对象,将其拖拽至View区域即可查看到数据的变化。通过PLC发送的数据,可以查看Input对象的Value:
图35 UaExper中数据变化
同样的,通过OPC UA Client也可以发送数据至西门子PLC,实现从OPC UA通讯到PROFINET网络。在UaExpert中,设置Output对象的Value,即可在博途中接收到数据。因为在Client中的数据格式为String,发送3,4,对应的ASC-II码为51,52,可以在Node-RED和博途中查看接收到的数据变化。
图36 UaExpert发送数据
图37 Node-RED中数据变化
图38 PLC接收到的数据
7.总结
TPI 51边缘网关可作为标准IO设备无缝集成在自动化网络中,使用IoT配置工具Node-RED,在现场设备和应用程序间实现快速模型化数据流的创建,直接与云端或物联网设备进行OPC UA通讯,并实现与PLC并行传输数据。
对于应用需求来说,基于赫优讯的边缘云网关设置,可实现现场层数据实时订阅,并快速搭建数据采集通道。从而帮助生产制造业探索最佳的工艺流程,降低生产成本,提高产品质量。