新闻中心

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

Modbus 从机把EG网关数据转换为Modbus格式,供外部主站读写

2025-09-16 15:00:57 阅读: 发布人:纵横智控

概述

Modbus 从机节点支持Modbus RTU/Modbus TCP 协议。用于将网关采集到的其它数据转换为符合Modbus协议的数据,以供外部的Modbus主站进行读写操作。

Modbus 从机把EG网关数据转换为Modbus格式,供外部主站读写

输入

msg.payload

#如果数据类型是对象,则会将对象中的键与配置的键名进行匹配,并将相应的值写入对应的寄存器中。如果数据类型为buffer,则将其作为 Modbus 指令进行处理。

输出

msg.payload

#第一个口输出Modbus响应报文

#第二个口以key-value对象的形式输出点位值。输出方式分两种:1.输出变化点位 2.输出全部点位

功能

名称

工作区内节点的命名,方便维护及记忆。

属性

Modbus 从机把EG网关数据转换为Modbus格式,供外部主站读写

a地址码

Modbus协议站号。(10进制地址,范围1-255)

b协议

Modbus RTU / Modbus TCP。

c线圈

线圈寄存器数量。(范围1-5000)

d触点

触点寄存器数量。(范围1-5000)

e保持寄存器

保持寄存器数量。(范围1-5000)

f输入寄存器

输入寄存器数量。(范围1-5000)

点位表

Modbus 从机把EG网关数据转换为Modbus格式,供外部主站读写

a数据名称

数据名称作为每个数据点的唯一键(key),请确保其不重复。

Modbus 从机把EG网关数据转换为Modbus格式,供外部主站读写

写入时输入格式【msg.payload.A = 5000】,表示当表中有名称为A的点位时,将值5000写入对应的寄存器。

b寄存器类型

定义当前数据点属于哪种类型的寄存器。

Modbus 从机把EG网关数据转换为Modbus格式,供外部主站读写

c偏置

数据点的Modbus寄存器地址(填写10进制地址)。

Modbus 从机把EG网关数据转换为Modbus格式,供外部主站读写

偏置实际上是指Modbus寄存器地址,此处叫做偏执是为了统一表达。

呈现方式:Modbus寄存器地址一般以两种形式呈现:

十六进制地址:例如0X0000、0X0001

十进制地址:例如40001、40002

填写方式:

十六进制地址:将十六进制地址转换为十进制地址后加1。例如:十六进制的 0x0000 偏置填写 1;十六进制的0x0001偏执填写2

十进制地址:去掉十进制地址的首位后,直接填写偏置。例如:十进制的 40001偏置填写 1;十进制的40002偏执填写2

d数据类型

定义数据的具体类型,线圈和触点默认为布尔类型,不可修改。

Modbus 从机把EG网关数据转换为Modbus格式,供外部主站读写

Bool:二进制位解析。

UInt16:占用1个寄存器,2个字节,表示非负整数,数据范围 0 ~ 65535。

Int16:占用1个寄存器,2个字节,表示整数,数据范围 -32768 ~ 32767。

UInt32:占2个寄存器,4个字节,表示非负整数,数据范围 0 ~ 4294967295。

Int32:占2个寄存器,4个字节,表示整数,数据范围 -2147483648 ~ 2147483647。

Float32:占2个寄存器,4个字节,表示浮点数。

输出模式

全部输出: 修改寄存器的值时,将以键值对的形式输出表中配置的所有数据点。

变化输出: 修改寄存器的值时,将以键值对的形式输出表中配置的数据点中值发生变化的数据。

视频:见文末

示例

本示例使用Modbus Poll软件模拟Modbus主机来采集网关的Modbus从机映射的寄存器数据

源码/原文:https://iotrouter.yuque.com/zn3vdn/eg8000/rwsclqi3iw4cgoxt

热门产品