下表展示了 modbus.get
item 参数的详细信息。
参数 | 描述 | 默认值 | 示例 |
---|---|---|---|
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 协议: 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 |