下表详细列出了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 |