Table of Contents

14 modbus.get 参数

概述

下表展示了 modbus.get item 参数的详细信息。

参数

参数 描述 默认值 示例
endpoint 端点的协议和地址,定义为 protocol://connection_string

可能的协议值:rtuascii(仅限 Agent 2)、tcp

连接 string 格式:

使用 tcp - address:port
使用串口线:rtuascii - port_name:speed:params
其中
'speed' - 1200、9600 等
'params' - 数据位(5、6、7 或 8)、校验位(n、e 或 o 表示无/偶/奇)、停止位(1 或 2)
协议:无

rtu/ascii 协议:
port_name:无
speed:115200
params:8n1

tcp 协议:
address:无
port: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)
空函数:00001

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

对于线圈或离散输入,'类型' = 1 位
对于其他情况:(count*sizeof(type))/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