运动控制器首先发送命令,获取类命令一般发送4字节数据字段(只包含命令),设置类命令发送带数据的8字节数据字段。
推进器首先接收命令,如果接收到任何控制器发出的指令都立刻给出一个反馈(供控制器判断命令是否已正确写入),反馈的数据中数字字段前4字节与接收到的数据前4字节相同,后面携带的数据表征是否已将命令正确写入推进器中。
举例:设目标推进器地址为 0x12
运动控制器发送推力控制命令TC=5,既令推进器以+5%控制信号运行,则发送完整RS485总线数据:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 08 | 54 43 00 00 00 00 00 05 | - |
推进器接到上述命令后,如果能正确设置则回复:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 08 | 54 43 00 00 00 00 00 05 | - |
运动控制器发送推力控制命令TC=5,既令推进器以-5%控制信号运行,则发送完整RS485总线数据:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 08 | 54 43 00 00 FF FF FF FB | - |
推进器接到上述命令后,如果能正确设置则回复:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 08 | 54 43 00 00 FF FF FF FB | - |
如果推进器发生故障(如堵转或被禁止)则回复:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 08 | 54 43 00 00 00 00 00 00 | - |
请求模式 MQ(0x4D51)
常规模式,推进器不主动发送数据,所有数据均需要运动控制器向推进器发送请求命令获取。例如,在该模式下获取推进器的转速需要发送QV命令,推进器接到QV命令后会以QV命令携带数据的形式反馈当前的转速。
举例:设目标推进器地址为0x12;运动控制器发送模式请求命令MQ:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 04 | 4D 51 00 00 | - |
推进器接到上述命令后回复:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 04 | 4D 51 00 00 | - |
例1:发送查询命令QV(0x5156)读取速度:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 04 | 51 56 00 00 | - |
推进器每次都会回复当前转速:
+178rpm:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 08 | 51 56 00 00 00 00 00 B2 | - |
-184rpm:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 08 | 51 56 00 00 FF FF FF 48 | - |
例2:发送查询命令QC(0x5143)读取电流:
| RS485-ID | DLC | Data | CRC16 |
|---|---|---|---|
| 12 | 04 | 51 43 00 00 | - |