新闻中心
PRESS CENTER本文主要实现的功能是:使用EG系列网关完成Modbus协议与IEC104从站协议之间的双向协议转换。其中Modbus协议包括:Modbus TCP主站 / Modbus RTU主站 / Modbus TCP从站 / Modbus RTU从站。IEC104从站协议指的是网关作为IEC104从站和其它电力网关作为IEC104主站之间的通信协议。
Modbus RTU与Modbus TCP协议的区别在网关上的体现仅仅是一个配置项,因此不单独区分介绍,案例演示过程中会有说明。
综上所述,案例演示分为两个部分:
Modbus主站与IEC104从站
本章节主要实现一个需求:使用EG系列网关实现Modbus主站和IEC104从站之间的双向协议转换。适用场景是:EG系列网关作为Modbus主站读取传感器的数据,然后将读到的数据映射成IEC104从站的遥信遥测数据,等待IEC104主站来读取;同时也能接收IEC104主站的遥调遥控命令,并将遥调遥控数据写入到Modbus传感器。
1. Modbus点位表
功能码0x03 | ||
寄存器地址 | 读写权限 | 解析方式 |
00001 | 只写 | Bool |
00002 | 只写 | Bool |
40001 | 只读 | 浮点数 |
40003 | 只读 | 浮点数 |
2. 104点位表
元素地址 | 读写权限 | 解析方式 |
24577 | 只写(遥控) | 0分闸/1合闸 |
24578 | 只写(遥控) | 0分闸/1合闸 |
16385 | 只写(遥测) | 浮点数 |
16386 | 只写(遥测) | 浮点数 |
3. 点位映射关系
Modbus寄存器地址 | 数据流向 | 104点表地址 |
00001 | <- | 24577(遥控) |
00002 | <- | 24578(遥控) |
40001 | -> | 16385(遥测) |
40003 | -> | 16386(遥测) |
遥控104从站写入Modbus从站:
通过写104的地址24577,将值写入Modbus的00001寄存器
通过写104的地址24578,将值写入Modbus的00002寄存器
读取Modbus从站数据写入104从站(外部104主机可通过遥测读取):
读取Modbus的40001,将值写入104的地址16385
读取Modbus的40002,将值写入104的地址16386
网关配置:
第一步:采集Modbus数据
第二步:添加104从站
第三步:Modbus主站数据映射到104从站
第四步:104主站数据写入Modbus从站
第五步:自动运行
第一步:采集Modbus数据
采集Modbus请参考其他案例,此处不做重点介绍。下图为采集到Modbus RTU数据后,将数据打印输出:
此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg8000/hn4q2114580z53bu
第二步:添加104从站
104从站详细配置请参考其它案例,此处不做重点介绍。此处仅展示本示例所需配置:
此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg8000/drq7xo13npfrqk5v
第三步:Modbus主站数据映射到104从站
点击注入节点 1,启动Modbus数据采集流程,通过Modbus主站请求节点读取寄存器数据(电脑端Modbus Slave软件模拟从站),经Modbus主站解析节点解析后,将数据写入104从站。
第四步:104主站数据写入Modbus从站
网关通过IEC104 Server节点,接收外部104主站遥控指令并解析后,将数据传递至Modbus 主站请求节点,将数据写入到Modbus从站。
第五步:自动运行
配置注入节点为周期性触发,周期设为每 5 秒执行一次。
为保证数据转换有序进行,采集周期依据实际情况而定。
流程源码:https://iotrouter.yuque.com/zn3vdn/eg8000/mhsbhmwylcvyhdt1
Modbus 从站与IEC104从站
本章节主要实现一个需求:使用EG系列网关实现Modbus从站和IEC104从站之间的双向协议转换。适用场景是:EG系列网关作为IEC104从站接收IEC104主站的遥调遥控命令,然后将遥调遥控的数据映射为Modbus寄存器,并作为Modbus从站供外部Modbus主站读取;同时网关也能接收外部Modbus主站的写数据命令,并将数据映射成IEC104从站的遥信遥测数据,等待IEC104主站来读取。
这样即实现了,外部Modbus主站可以采用Modbus协议和IEC104主站实现数据双向通信。
1. Modbus点位表
寄存器地址 | 解析方式 |
00001 | Bool |
00002 | Bool |
40001 | 浮点数 |
40003 | 浮点数 |
2. 104点位表
元素地址 | 解析方式 |
24577 | 0分闸/1合闸 |
24578 | 0分闸/1合闸 |
16385 | 浮点数 |
16386 | 浮点数 |
3. 点位映射关系
Modbus寄存器地址 | 数据流向 | 104点表地址 |
00001 | <- | 24577(遥控) |
00002 | <- | 24578(遥控) |
40001 | -> | 16385(遥测) |
40003 | -> | 16386(遥测) |
遥控104从站写入Modbus从站:
外部104主站下发遥控指令,写入104从站的遥控点24577,104从站节点将值输出映射到Modbus从站的00001寄存器
外部104主站下发遥控指令,写入104从站的遥控点24578,104从站节点将值输出映射到Modbus从站的00002寄存器
控制Modbus从站写入104从站:
外部Modbus主站下发写指令,写入Modbus从站的40001寄存器,Modbus从站节点将值输出映射到104从站的遥测点16385
外部Modbus主站下发写指令,写入Modbus从站的40003寄存器,Modbus从站节点将值输出映射到104从站的遥测点16386
网关配置:
第一步:添加Modbus从站
第二步:添加串口节点
第三步:添加104从站
第四步:Modbus从站和104从站数据交互
第一步:添加Modbus从站
Modbus从站详细配置请参考其它案例,此处不做重点介绍。此处仅展示本示例所需配置:
此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg8000/ez6ci1bzet4og5gl
第二步:添加串口节点
串口节点用于外部Modbus主站与网关Modbus从站通信,详细配置请参见其他案例,此处仅展示本示例所需配置:
此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg8000/aa5zmwb55m6dbzzz
第三步:添加104从站
104从站详细配置请参考其它案例,此处不做重点介绍。此处仅展示本示例所需配置:
此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg8000/drq7xo13npfrqk5v
第四步:Modbus从站和104从站数据交互
流程源码:https://iotrouter.yuque.com/zn3vdn/eg8000/mhsbhmwylcvyhdt1