Table of Contents

15 modbus.get 参数

下表详细列出了modbus.get[] modbus-数据 参数的相关信息。

参数

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

支持的协议值:rtuascii(仅Agent2)、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协议:
端口名:无
速率: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