4.Modbus RTU通讯协议控制
4.1 寄存器地址说明
机械爪G2支持标准Modbus RTU协议,默认波特率2Mbps,机械爪ID为0x08。目前支持的功能码有:0x03/0x06/0x10。
- 0x03: 读取寄存器
- 0x06: 写单个寄存器
- 0x10: 写多个寄存器
4.1.1 监控组:
通讯地址 | 说明 |
---|---|
0x0000 | 运行状态 |
0x0001 | 速度(r/min) |
0x0002 | q轴电流 |
0x0003 | 母线电流 |
0x0004 | 指令位置(p) |
0x0006 | 电机位置(p) |
0x0008 | 位置误差(p) |
0x000F | 当前报警代码 |
运动状态(0x0000)
位1:0 | 00:停止状态 | 位3:2 | 00:未使能 |
---|---|---|---|
01:运动状态 | 10:使能状态 | ||
10:夹取状态 |
4.1.2 Fn1xx控制相关
编号(地址) | 说明 | 设定范围 | 单位 | 出厂设定 |
---|---|---|---|---|
Fn100 | 机械爪使能 | 0-1 | 0 | |
Fn109 | 故障复位 | 0-1 | 0 |
4.1.3 Fn3xx速度参数
编号(地址) | 说明 | 设定范围 | 单位 | 出厂设定 |
---|---|---|---|---|
Fn303 | 速度指令 | 0-0xFFFF | r/min | 2000 |
4.1.4 Fn5xx转矩参数
编号(地址) | 说明 | 设定范围 | 单位 | 出厂设定 |
---|---|---|---|---|
Fn500 | 夹取电流指令 | 0-100 | - | 50 |
4.1.5 Fn6xx通讯参数
编号(地址) | 说明 | 设定范围 | 单位 | 出厂设定 |
---|---|---|---|---|
Fn600 | 通讯地址 | 1-255 | - | 8 |
Fn601 | 通讯波特率 | 0: 4800 1: 9600 2: 192008: 9216009: 1M10: 1.5M11: 2M | bps | 11 |
4.1.6 Fn7xx位置命令组
编号(地址) | 说明 | 设定范围 | 单位 | 出厂设定 |
---|---|---|---|---|
Fn700 | 位置命令高位 | 0-0xFFFF | - | - |
Fn701 | 位置命令低位 | 0-0xFFFF | - | - |
Fn702 | 位置反馈高位 | 0-0xFFFF | - | 0 |
Fn703 | 位置反馈低位 | 0-0xFFFF | - | 0 |
4.1.7 FnCxx机械爪控制指令
编号(地址) | 说明 | 设定范围 | 单位 | 出厂设定 |
---|---|---|---|---|
FnC00 | 机械爪使能 | 0-1 | - | 0 |
FnC01 | 速度指令 | 0-0xFFFF | - | 2000 |
FnC02 | 夹取电流指令 | 0-100 | - | 50 |
FnC03 | 位置命令高位 | 0-0xFFFF | - | |
FnC04 | 位置命令低位 | 0-0xFFFF | - |
4.2 FnCxx寄存器使用说明
FnCxx控制器指令寄存器 | |||
---|---|---|---|
请求指令格式 | |||
Modbus RTU 数据 | 机械爪 ID | 1 Byte | 0x08 |
功能码 | 1 Byte | 0x10 | |
寄存器起始地址 | 2 Bytes | 0x0C, 0x00 | |
寄存器数量 | 2 Bytes | 0x00, 0x05 | |
字节数 | 1 Byte | 0x0A | |
机械爪使能 | 2 Bytes | 0x00, 0x01 | |
速度指令(3000) | 2 Bytes | 0x0B, 0xB8 | |
夹取电流指令(50) | 2 Bytes | 0x00, 0x32 | |
位置命令(850) | 2 Bytes | 0x03, 0x52 | |
Modbus CRC16 | 2 Bytes | 0x17, 0x4E | |
响应指令格式 | |||
Modbus RTU 数据 | 机械爪 ID | 1 Byte | 0x08 |
功能码 | 1 Byte | 0x10 | |
寄存器起始地址 | 2 Bytes | 0x0C, 0x00 | |
寄存器数量 | 2 Bytes | 0x00, 0x05 | |
Modbus CRC16 | 2 Bytes | 0x03, 0xC3 |
4.3 通讯格式示例
- 写机械爪使能。地址(0x0100)
发:08 06 01 00 00 01 49 6F
收:08 06 01 00 00 01 49 6F
- 写机械爪位置为100。地址(0x0700)
发:08 10 07 00 00 02 04 00 00 00 64 FA E8
收:08 10 07 00 00 02 40 25
- 读取报警代码。地址(0x000F)
发:08 03 00 0F 00 01 B4 90
收:08 03 02 00 00 64 45
- 写机械爪使能,位置(850),速度(3000),力(50)。地址(0x0Cxx)
发:08 10 0C 00 00 05 0a 00 01 0b b8 00 32 03 52 17 4E
收:08 10 0C 00 00 05 03 C3