新闻中心

PRESS CENTER 纵横智控
你的位置: 首页 新闻 技术应用
纵横智控

Modbus主站/从站与IEC104主站双向协议转换-EG网关

2025-09-08 15:00:17 阅读: 发布人:纵横智控

本文主要实现的功能是:使用EG系列网关完成Modbus协议与IEC104主站协议之间的双向协议转换。其中Modbus协议包括:Modbus TCP主站 / Modbus RTU主站 / Modbus TCP从站 / Modbus RTU从站。IEC104主站协议指的是网关作为IEC104主站和其它电力设备从站之间的通信协议。

Modbus RTU与Modbus TCP协议的区别在网关上的体现仅仅是一个配置项,因此不单独区分介绍。

综上所述,案例演示分为两个部分:

Modbus 主站IEC104主站

需求概述

本章节主要实现一个需求:使用EG系列网关实现Modbus RTU主站和IEC104主站之间的双向协议转换。适用场景是:EG系列网关作为Modbus主站读取传感器的数据,然后作为IEC104主站将读取的数据以遥调遥控的方式写入IEC104从站;同时也能作为IEC104主站读取IEC104从站的遥信遥测数据,并将读取的数据写入到Modbus传感器。

网络拓扑

Modbus主站/从站与IEC104主站双向协议转换-EG网关

准备工作

1. Modbus点位表

功能码0x03

寄存器地址

读写权限

解析方式

10001

只读

Bool

10002

只读

Bool

40001

只写

浮点数

40003

只写

浮点数

2. 104点位表

元素地址

读写权限

解析方式

24577

只写(遥控)

0分闸/1合闸

24578

只写(遥控)

0分闸/1合闸

16385

只读(遥测)

浮点数

16386

只读(遥测)

浮点数

3. 点位映射关系

Modbus寄存器地址

数据流向

104点表地址

10001

->

24577(遥控)

10002

->

24578(遥控)

40001

<-

16385(遥测)

40003

<-

16386(遥测)

读取Modbus写入104:

读取Modbus的10001寄存器,将值写入104的24577

读取Modbus的10002寄存器,将值写入104的24578

读取104写入Modbus:

读取104的16385,将值写入Modbus的40001寄存器

读取104的16386,将值写入Modbus的40003寄存器

需求分析

网关配置:

第一步:采集Modbus数据

第二步:采集104数据

第三步:Modbus与104数据交互

第四步:自动运行

需求实现

第一步:采集Modbus数据

采集Modbus请参考其他案例,此处不做重点介绍。下图为采集到Modbus RTU数据后,将数据打印输出:

此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg8000/hn4q2114580z53bu

Modbus主站/从站与IEC104主站双向协议转换-EG网关

第二步:采集104数据

采集104数据可参考其它案例,此处不做重点介绍。下图为采集到104数据后,将数据打印输出:

此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg/wff6kithpkit8nry

Modbus主站/从站与IEC104主站双向协议转换-EG网关

第三步:Modbus与104数据交互

1.读取Modbus写入104

点击注入节点 ,启动Modbus数据采集流程。

通过Modbus主站请求节点读取寄存器数据(电脑端Modbus Slave软件模拟从站)。

经Modbus主站解析节点解析后,将数据写入104(电脑端IEC104模拟终端模拟从站)。

2.读取104写入Modbus

IEC104Clinet节点配置总召周期,读取104数据。

将读取到的104数据写入Modbus设备(电脑端Modbus Slave软件模拟从站)。

Modbus主站/从站与IEC104主站双向协议转换-EG网关

第四步:自动运行

1.配置注入节点为周期性触发,周期设为每 5 秒执行一次。

2.为保证数据转换有序进行,采集周期依据实际情况而定。

Modbus主站/从站与IEC104主站双向协议转换-EG网关

流程源码:https://iotrouter.yuque.com/zn3vdn/eg8000/llcmr0chtudtshil

Modbus 从站与IEC104主站

需求概述

本章节主要实现一个需求:使用EG系列网关实现Modbus RTU从站和IEC104主站之间的双向协议转换。适用场景是:EG系列网关作为IEC104主站读取IEC104从站的遥信遥测数据,然后将读取的数据映射为Modbus寄存器,并作为Modbus从站供外部Modbus主站读取;同时网关也能接收外部Modbus主站的写数据命令,并将数据以遥调遥控的方式写入IEC104从站。

这样即实现了,外部Modbus主站可以采用Modbus协议和IEC104从站实现数据双向通信。

网络拓扑

Modbus主站/从站与IEC104主站双向协议转换-EG网关

准备工作

1. Modbus点位表

功能码0x03

寄存器地址

读写权限

解析方式

10001

只读

Bool

10002

只读

Bool

40001

只读

浮点数

40003

只读

浮点数

00001

读写

Bool

00002

读写

Bool

2. 104点位表

元素地址

读写权限

解析方式

1

只读(遥信)

0分闸/1合闸

2

只读(遥信)

0分闸/1合闸

16385

只读(遥测)

浮点数

16386

只读(遥测)

浮点数

24577

只写(遥控)

0分闸/1合闸

24578

只写(遥控)

0分闸/1合闸

3. 点位映射关系

Modbus寄存器地址

数据流向

104点表地址

10001

<-

1(遥信)

10002

<-

2(遥信)

40001

<-

16385(遥测)

40003

<-

16386(遥测)

00001

->

24577(遥控)

00002

->

24578(遥控)

读取104从站数据写入Modbus从站:

读取104的地址1,将值写入Modbus的10001寄存器

读取104的地址2,将值写入Modbus的10002寄存器

读取104的地址16385,将值写入Modbus的40001寄存器

读取104的地址16386,将值写入Modbus的40003寄存器

控制Modbus从站写入104从站:

通过写Modbus的00001寄存器,将值写入104的地址24577

通过写Modbus的00002寄存器,将值写入104的地址24578

需求分析

网关配置:

第一步:采集104从站数据

第二步:添加Modbus从站

第三步:104主站数据映射到Modbus从站

第四步:添加串口节点

第五步:Modbus主站将数据写入104从站

需求实现

第一步:采集104数据

采集104数据可参考其它案例,此处不做重点介绍。下图为采集到104数据后,将数据打印输出:

此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg/wff6kithpkit8nry

Modbus主站/从站与IEC104主站双向协议转换-EG网关

第二步:添加Modbus从站

Modbus从站详细配置请参考其它案例,此处不做重点介绍。此处仅展示本示例所需配置:

此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg8000/ez6ci1bzet4og5gl

Modbus主站/从站与IEC104主站双向协议转换-EG网关

第三步:104主站数据映射到Modbus从站

104节点总召周期时间配置为 5s,以此实现每5秒一次的读取频率。然后将读取到的数据写入到Modbus从机的对应寄存器(数据点名称一样即可自动匹配转换)。

Modbus主站/从站与IEC104主站双向协议转换-EG网关

第四步:添加串口节点

串口节点用于外部Modbus主站与网关Modbus从站通信,详细配置请参见其他案例,此处仅展示本示例所需配置:

此处为语雀内容卡片,点击链接查看:https://iotrouter.yuque.com/zn3vdn/eg/aa5zmwb55m6dbzzz

Modbus主站/从站与IEC104主站双向协议转换-EG网关

第五步:Modbus主站数据写入104从站

网关通过串口节点接收 Modbus 主站写指令,经 Modbus 从机节点解析后,将数据传递至 104 节点,实现遥控功能。

Modbus主站/从站与IEC104主站双向协议转换-EG网关

流程源码:https://iotrouter.yuque.com/zn3vdn/eg8000/llcmr0chtudtshil

热门产品