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