使用NodeRed搭建ModbusTcp转OPC UA网关

使用NodeRed搭建ModbusTcp转OPC UA网关
conda虚拟环境修改路径


简介

使用Modbus组件采集ModbusTCP数据,并搭建OPC UA Server,将数据发布到OPC UA Server,供其它OPC UA客户端访问。

物理架构

是Modbus温度传感器———>串口联网设备【10.168.16.157】——–>Node-RED【10.168.16.112】,其中Modbus温度传感器是通过ModbusRTU 485的通讯。通过中间一个串口联网设备;

首先通过ModScan软件看是否可以读取到数据,

根据手册查得温度数据存放在40081这个地址内,即手册中是80。这样数据就采集上来了。这个数据是需要处理的减去10000再除以100即可;

在NodeRed的节点管理中安装两个插件

在NodeRed中拖放一个Modbus Read功能块,UnitID即设备号也是站号;NodeRed中地址是从0开始的,

再拖放一个debug进行测试,可以发现数据已经采集上来了。

由于没有Modbus物理设备,用ModSim模拟

连接modsim为Modbus/TCP Svr,端口是502,在此处是作为服务器来用的。

双击变量让其产生一个随机的值,或递增,或递减;

如果需要对采集上来的数据进行处理时,可以拖一个function功能块编写相应的代码,可以发现数据已经采集上来了。

从官网上下载opcua的示例程序

从官网上下载示例

下载以后解压,在node-red中导入"OPCUA-TEST.json"

修改示例即可创建一个OPC-UA Server,经过简单的修改,这个OPC-UA Server就可以运行起来。

找一个OPC-UA 的客户端看是否可以连接上OPC-UA Server服务器;将示例程序中的Client程序复制到主工作流程中进行修改,

从modbus Tcp采集来的数据经处理后需要传递给opc ua server, 所以就只能通过opc ua client来传,

手动向OPC-UA Server中注入数据格式s=wendu 是变量名,后面是类型

效果展示如下图所示

源码下载

OPC Client下载

OPC Client使用方法参考下载

 


转载请注明出处:  https://www.cntworld.cn
智能工控 » 使用NodeRed搭建ModbusTcp转OPC UA网关

发表回复

提供最优质的资源集合

立即查看 了解详情
文章加载时间:0.0038 秒