Table of Contents

15 modbus.get 参数

概述

下表详细列出了modbus.get[]
modbus-数据参数。

参数

参数 描述 默认值 示例
endpoint 端点协议与地址,格式为protocol://connection_string

支持的协议值: rtu, ascii (Agent 2专用), tcp

连接string格式:

tcp协议 - address:port
串行线路协议: rtu, ascii - port_name:speed:params
其中
'speed' - 1200, 9600等
'params' - 数据位(5,6,7或8), 校验位(n,e,o对应无/偶/奇校验), 停止位(1或2)
协议: 无

rtu/ascii协议:
端口名: 无
波特率: 115200
参数: 8n1

tcp协议:
地址: 无
端口: 502
tcp://192.168.6.1:511
tcp://192.168.6.2
tcp://[::1]:511
tcp://::1
tcp://localhost:511
tcp://localhost
rtu://COM1:9600:8n
ascii://COM2:1200:7o2
rtu://ttyS0:9600
ascii://ttyS1
slave id 目标设备的Modbus地址(1至247),参见MODBUS Messaging Implementation Guide(第23页)

tcp设备(非网关)会忽略此字段
串行: 1

tcp: 255 (0xFF)
2
function 空值或支持的功能码:

1 - 读取线圈,
2 - 读取离散输入,
3 - 读取保持寄存器,
4 - 读取输入寄存器
空值 3
address 首个寄存器/线圈/输入的地址

若'function'为空,则'地址'应位于以下范围:
线圈 - 00001 - 09999
离散输入 - 10001 - 19999
输入寄存器 - 30001 - 39999
保持寄存器 - 40001 - 49999

若'function'非空,'地址'字段范围为0-65535且直接使用(PDU)
空function: 00001

非空function: 0
9999
count 从设备读取的连续'类型'数量,其中:

对于线圈或离散输入,'类型' = 1位
其他情况: (数量*类型大小)/2 = 实际读取的寄存器数量
若'offset'非0,该值将加到'实际数量'上
可接受的'实际数量'范围为1:65535
1 2
type 数据类型:

读取线圈和离散输入 - bit

读取保持寄存器和输入寄存器:
int8 - 8位
uint8 - 8位(无符号)
int16 - 16位
uint16 - 16位(无符号)
int32 - 32位
uint32 - 32位(无符号)
float - 32位
uint64 - 64位(无符号)
double - 64位
bit
uint16
uint64
endianness 字节序类型:
be - 大端序
le - 小端序
mbe - 中-大端序
mle - 中-小端序

限制:
1位 - be
8位 - be,le
16位 - be,le
be le
offset 从'地址'开始跳过的寄存器数量

每个寄存器大小为16位(用于支持不支持随机读取的设备)
0 4