UF_ModbusTcp_Manual
注意
协议遵循标准ModbusTCP协议
所有数据按照⼤端格式传输, 如16位数据0x1234对应的2字节数据为0x12和0x34
不同地址的寄存器的值意义不⼀样, 请参⻅附录说明
访问的地址要在定义的范围(请参⻅附录说明)内,否则会得到异常响应
各种寄存器所⽀持的ModbusTCP功能码
线圈状态寄存器(1位)
0x01: 读取多个寄存器的值,对应的ModbusTCP协议回复的数据的每⼀位表⽰1个寄存器的值
0x05: 写单个寄存器的值, 对应ModbusTCP协议中的数据只能是0xFF00或0x0000,分别对应 的寄存器值1和0
0x0F: 写多个寄存器的值
离散输⼊状态寄存器(1位)
0x02: 读多个寄存器的值
保持寄存器(16位)
0x03: 读多个寄存器的值
0x06: 写单个寄存器的值
0x10: 写多个寄存器的值
0x16: 以掩码的形式写单个寄存器的值
0x17: 写多个寄存器的值,并读多个寄存器的值
输⼊寄存器(16位)
0x04: 读多个寄存器的值
异常码说明
0x01: 功能码不⽀持
0x02: 要访问的寄存器地址⾮法
0x03: 请求数据异常
附录
线圈状态寄存器(1位, 可读可写)
地址(十进制) | 地址(十六进制) | 说明 |
---|---|---|
0 ~ 31 | 0x00 ~ 0x1F | 32路控制器的数字输出IO (当前仅16路有效) |
32 ~ 39 | 0x20 ~ 0x27 | 8路末端⼯具的数字输出IO (当前仅2路有效) |
40 ~ 127 | 0x28 ~ 0x7F | 保留 |
128 ~ 134 | 0x80 ~ 0x86 | 关节(J1-J7)的报闸状态 |
135 ~ 141 | 0x87 ~ 0x8D | 关节(J1-J7)的使能使能状态 |
142 | 0x8E | 缩减模式(0关闭, 1开启) |
143 | 0x8F | 围栏模式(0关闭, 1开启) |
144 | 0x90 | 暂停运动控制(0表⽰不是暂停, 1表⽰暂停) |
145 | 0x91 | 停⽌运动控制(0表⽰不是停⽌, 1表⽰停⽌) |
146 ~ 159 | 0x92 ~ 0x9F | 运动模式(0表⽰不是处于该模式, 1表⽰处于该模式), 分别对应 模式0-13 |
160 ~ 255 | 0xA0 ~ 0xFF | 保留 |
256 ~ 511 | 0x100 ~ 0x1FF | ⽤户⾃定义使⽤ |
离散输⼊状态寄存器(1位, 只读)
地址(十进制) | 地址(十六进制) | 说明 |
---|---|---|
0 ~ 31 | 0x00 ~ 0x1F | 32路控制器的数字输⼊IO (当前仅16路有效) |
32 ~ 39 | 0x20 ~ 0x27 | 8路末端⼯具的数字输⼊IO (当前仅2路有效) |
40 ~ 127 | 0x28 ~ 0x7F | 保留 |
保持寄存器(16位, 可读可写)
地址(十进制) | 地址(十六进制) | 说明 |
---|---|---|
0 ~ 1 | 0x00 ~ 0x01 | 32路控制器的数字输出IO, 每1位表⽰1路IO (当前仅16路有效) |
2 | 0x02 | 8路末端⼯具的数字输出IO, 每1位表⽰1路IO (当前仅2路有效) |
3 ~ 6 | 0x03 ~ 0x06 | 4路控制器的模拟输出IO, 寄存器的值是实际值的1000倍 (当前仅2路有效) |
7 ~ 10 | 0x07 ~ 0x0A | 4路末端⼯具的模拟输出IO, 寄存器的值是实际值的1000倍 (当前仅0路有 效) |
11 ~ 31 | 0x0B ~ 0x1F | 保留 |
32 | 0x20 | 机械臂模式 |
33 | 0x21 | 机械臂状态 |
34 ~ 47 | 0x22 ~ 0x2F | 保留 |
48 ~ 63 | 0x30 ~ 0x3F | 离线(Blockly)任务 (仅⽀持通过0x10功能码往0x30地址写最多16个寄存器 的值来触发离线任务, 每个寄存器的值对应Blockly⼯程名, 1对应00001, 12对应00012) |
64 ~ 255 | 0x40 ~ 0xFF | 保留 |
256 ~ 511 | 0x100 ~ 0x1FF | 保留 |
输⼊寄存器(16位, 只读)
地址(十进制) | 地址(十六进制) | 说明 |
---|---|---|
0 ~ 1 | 0x00 ~ 0x01 | 32路控制器的数字输⼊IO, 每1位表⽰1路IO (当前仅16路有效) |
2 | 0x02 | 8路末端⼯具的数字输⼊IO, 每1位表⽰1路IO (当前仅2路有效) |
3 ~ 6 | 0x03 ~ 0x06 | 4路控制器的模拟输⼊IO, 寄存器的值是实际值的1000倍 (当前仅2路 有效) |
7 ~ 10 | 0x07 ~ 0x0A | 4路末端⼯具的模拟输⼊IO, 寄存器的值是实际值的1000倍 (当前仅2 路有效) |
11 ~ 31 | 0x0B ~ 0x1F | 保留 |
32 | 0x20 | 机械臂的错误码 |
33 | 0x21 | 机械臂的警告码 |
34 ~ 35 | 0x22 ~ 0x23 | 计数器的值 (0x22存储计数器的⾼16位, 0x23存储计数器的低16位) |
36 ~ 63 | 0x23 ~ 0x3F | 保留 |
64 ~ 72 | 0x40 ~ 0x48 | 机械臂的x/y/z/roll/pitch/yaw/rx/ry/rz值, 寄存器的值是实际值的10倍 (单位: mm, 度) |
73 ~ 76 | 0x49 ~ 0x4C | 机械臂的TCP负载mass(1000倍)/center_x(10倍)/center_y(10 倍)/center_z(10倍) (单位: kg, mm) |
77 ~ 82 | 0x4D ~ 0x52 | 机械臂的TCP偏移, 寄存器的值是实际值的10倍(单位: mm, 度) |
83 ~ 88 | 0x53 ~ 0x58 | 机械臂的基座标偏移, 寄存器的值是实际值的10倍(单位: mm, 度) |
89 ~ 95 | 0x59 ~ 0x5F | 机械臂各关节(J1-J7)的⾓度, 寄存器的值是实际值的10倍(单位: 度) |
86 ~ 102 | 0x60 ~ 0x66 | 机械臂各关节(J1-J7)的温度 (单位: 摄⽒度) |
103 ~ 109 | 0x67 ~ 0x6D | 机械臂各关节(J1-J7)的速度, 寄存器的值是实际值的10倍(单位: 度/s) |
110 | 0x6E | 机械臂的TCP速度, 寄存器的值是实际值的10倍(单位: mm/s) |
111 ~ 127 | 0x6F ~ 0x7F | 保留 |
Last updated