下表详细列出了modbus.get[] modbus-数据 参数的相关信息。
参数 | 描述 | 默认值 | 示例 |
---|---|---|---|
endpoint | 端点协议与地址,定义为protocol://connection_string 支持的协议值:rtu、ascii(仅Agent2)、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'为空,则'address'范围应为: 线圈 - 00001至09999 离散输入 - 10001至19999 输入寄存器 - 30001至39999 保持寄存器 - 40001至49999 若'function'非空,'address'字段范围为0至65535且直接使用(PDU) |
空函数:00001 非空函数:0 |
9999 |
count | 从设备连续读取的'type'数量,其中: 对于线圈或离散输入,'type'=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 | 从'address'开始跳过的寄存器数量(每个寄存器16位,用于支持不支持随机读取的设备) | 0 | 4 |