运载平台类CAN协议标准
为了更好的兼容不同设备,我们规范了CAN协议的标准,使得同类型不同型号设备能无缝切换,自动被ROS识别并直接使用,方便更换硬件时候的软件移植工作。以下为运载平台用的专用CAN协议。
请先确保阅读了CAN协议构架说明再开始以下内容
请注意使用设备CANID替换表中XX部分
运载平台类设备的大类ID为 03
运载平台指令总表
此表展示了专用指令的所有指令内容,方便快速查询和定位
指令集 |
反馈集 |
重要性 |
说明 |
|||||||||||
设备对象 |
命令内容 |
大类 (00~1F) |
型号 (00~FF) |
编号 (00~FF) |
功能 (00~FF) |
大类 (00~1F) |
型号 (00~FF) |
编号 (00~FF) |
功能 (00~FF) |
反馈内容 |
周期性 |
|||
运载平台 |
平台状态设置 |
03 |
xx |
xx |
11 |
03 |
xx |
xx |
B1 |
平台状态信息 |
周期反馈 |
必备 |
||
平台工作范围查询 |
03 |
xx |
xx |
12 |
03 |
xx |
xx |
B2 |
工作范围信息 |
对命令反馈 |
必备 |
|||
平台移动速度控制 |
03 |
xx |
xx |
13 |
03 |
xx |
xx |
B3 |
平台移动信息 |
周期反馈 |
选备 |
适用于有移动轴的平台 |
||
平台移动位置控制 |
03 |
xx |
xx |
14 |
03 |
xx |
xx |
B4 |
平台位置信息 |
周期反馈 |
选备 |
适用于有移动轴的平台 |
1. 平台状态设置/ 平台状态信息
平台状态设置 |
||||
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
外部 |
本设备 |
0x 03 XX XX 11 |
3 |
/ |
数据位 |
功能 |
数据类型 |
说明 |
|
byte[0] |
启动零点较准 |
uint8 |
0x00: 不启动 / 0x01:启动 | |
byte[1] |
移动速度上限低8位 |
unsigned int16 |
位置控制模式专用 单位:mm/s |
|
byte[2] |
移动速度上限高8位 |
|||
byte[3~7] |
/ |
/ |
/ |
平台状态信息 |
||||
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
本设备 |
外部 |
0x 03 XX XX B1 |
6 |
100 |
数据位 |
功能 |
数据类型 |
说明 |
|
byte[0] |
设备状态 |
uint8 |
0x00: 正常 / 0x01:异常 |
|
byte[1] |
零点较准状态 | uint8 | 0x00: 较准完成 / 0x01:校准中 | |
byte[2] |
特殊状态 | uint16 | 查看特殊状态表 | |
byte[3] |
||||
byte[4] |
移动速度上限低8位 |
unsigned int16 |
位置控制模式专用 单位:mm/s |
|
byte[5] |
移动速度上限高8位 |
|||
byte[6~7] |
/ |
/ |
/ |
特殊状态表 |
||
位 |
值 |
说明 |
bit[0] |
0: 正常 / 1:触发 |
x平移限位触发 |
bit[1] |
0: 正常 / 1:触发 |
y平移限位触发 |
bit[2] |
0: 正常 / 1:触发 |
z平移限位触发 |
bit[3] |
0: 正常 / 1:堵转 |
x电机堵转 |
bit[4] |
0: 在线 / 1:堵转 |
y电机堵转 |
bit[5] |
0: 正常 / 1:堵转 |
z电机堵转 |
bit[6] |
0: 正常 / 1:过温 |
x电机过温 |
bit[7] |
0: 在线 / 1:过温 |
y电机过温 |
bit[8] |
0: 正常 / 1:过温 |
z电机过温 |
bit[9~15] |
/ |
/ |
启动校准后平台会缓慢寻找零点并停在零点处
移动速度上限是指位置控制模式下,移动的最大可达速度
举例: 型号0x02 编号0x03 的平台启动校准,上限速度0.5m/s,发送CANID:0x03 02 03 11 数据:01 F4 01。
发送实例
传输目标
CAN ID
帧格式
帧类型
数据长度
数据位(L->H)
设备
0x03 02 03 11
数据帧
扩展帧
3
01 F4 01
上位机
0x03 02 03 B1
数据帧
扩展帧
4
00 01 00 00
2. 平台工作范围查询 / 平台工作范围信息
用于获得平台移动轴的运动范围,是设备的固定参数
平台移动范围查询 |
||||
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
外部 |
本设备 |
0x 03 XX XX 12 |
0 |
/ |
数据位 |
功能 |
数据类型 |
说明 |
|
byte[0~7] |
/ |
/ |
/ |
平台移动范围信息 |
||||
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
本设备 |
外部 |
0x 03 XX XX B2 |
8 |
/ |
数据位 |
功能 |
数据类型 |
说明 |
|
byte[0] |
x移动范围低8位 |
signed int16 |
单位:mm |
|
byte[1] |
x移动范围高8位 |
|||
byte[2] |
y移动范围低8位 |
signed int16 |
单位:mm |
|
byte[3] |
y移动范围高8位 |
|||
byte[4] |
z移动范围低8位 |
signed int16 |
单位:mm |
|
byte[5] |
z移动范围高8位 |
|||
byte[6] |
移动速度范围低8位 |
unsigned int16 |
单位: mm/s |
|
byte[7] |
移动速度范围高8位 |
速度范围是指设备允许的最大速度,是由设备机械结构决定的,是一个确定值
举例: 型号0x02 编号0x03 的平台获取移动范围x=1000mm,发送CANID:0x03 02 03 12。
发送实例
传输目标
CAN ID
帧格式
帧类型
数据长度
数据位(L->H)
设备
0x03 02 03 12
数据帧
扩展帧
0
/
上位机
0x03 02 03 B2
数据帧
扩展帧
8
E8 03 00 00 00 00 E8 03
3. 平台速度控制 / 平台速度信息
通过控制速度来移动平台
平台速度控制 |
||||
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
外部 |
本设备 |
0x 03 XX XX 13 |
6 |
/ |
数据位 |
功能 |
数据类型 |
说明 |
|
byte[0] |
x方向速度低8位 |
signed int16 |
单位:mm/s |
|
byte[1] |
x方向速度高8位 |
|||
byte[2] |
y方向速度低8位 |
signed int16 |
单位:mm/s |
|
byte[3] |
y方向速度高8位 |
|||
byte[4] |
z方向速度低8位 |
signed int16 |
单位:mm/s |
|
byte[5] |
z方向速度高8位 |
|||
byte[6~7] |
/ |
/ |
/ |
平台速度信息 |
||||
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
本设备 |
外部 |
0x 03 XX XX B3 |
6 |
50 |
数据位 |
功能 |
数据类型 |
说明 |
|
byte[0] |
x方向速度低8位 |
signed int16 |
单位:mm/s |
|
byte[1] |
x方向速度高8位 |
|||
byte[2] |
y方向速度低8位 |
signed int16 |
单位:mm/s |
|
byte[3] |
y方向速度高8位 |
|||
byte[4] |
z方向速度低8位 |
signed int16 |
单位:mm/s |
|
byte[5] |
z方向速度高8位 |
|||
byte[6~7] |
/ |
/ |
/ |
需要实时读取位置信息,可能会出现超限
举例: 型号0x02 编号0x03 的平台设置移动x=1m/s,发送CANID:0x03 02 03 13,数据:E8 03 00 00 00 00。
发送实例
传输目标
CAN ID
帧格式
帧类型
数据长度
数据位(L->H)
设备
0x03 02 03 13
数据帧
扩展帧
6
E8 03 00 00 00 00
上位机
0x03 02 03 B3
数据帧
扩展帧
6
E8 03 00 00 00 00
4. 平台位置控制 / 平台位置信息
通过控制位置来移动平台
平台位置控制 |
||||
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
外部 |
本设备 |
0x 03 XX XX 14 |
6 |
/ |
数据位 |
功能 |
数据类型 |
说明 |
|
byte[0] |
x方向位置低8位 |
signed int16 |
单位:mm |
|
byte[1] |
x方向位置高8位 |
|||
byte[2] |
y方向位置低8位 |
signed int16 |
单位:mm |
|
byte[3] |
y方向位置高8位 |
|||
byte[4] |
z方向位置低8位 |
signed int16 |
单位:mm |
|
byte[5] |
z方向位置高8位 |
|||
byte[6~7] |
/ |
/ |
/ |
平台位置信息 |
||||
发送方 |
接收方 |
CAN ID |
数据长度 |
周期(ms) |
本设备 |
外部 |
0x 03 XX XX B4 |
6 |
50 |
数据位 |
功能 |
数据类型 |
说明 |
|
byte[0] |
x方向位置低8位 |
signed int16 |
单位:mm |
|
byte[1] |
x方向位置高8位 |
|||
byte[2] |
y方向位置低8位 |
signed int16 |
单位:mm |
|
byte[3] |
y方向位置高8位 |
|||
byte[4] |
z方向位置低8位 |
signed int16 |
单位:mm |
|
byte[5] |
z方向位置高8位 |
|||
byte[6~7] |
/ |
/ |
/ |
举例: 型号0x02 编号0x03 的平台设置移动到位置 x=1m ,发送CANID:0x03 02 03 14。
发送实例
传输目标
CAN ID
帧格式
帧类型
数据长度
数据位(L->H)
设备
0x03 02 03 14
数据帧
扩展帧
6
E8 03 00 00 00 00
上位机
0x03 02 03 B4
数据帧
扩展帧
6
E8 03 00 00 00 00