控制器Germanjet德敏哲CANopen 传感器 更改 baud rate (波特率)范例
假设传感器的 node-id 是 0x7F ,baud rate 是 500kbps,要把 baud rate 改作 1000 kbps。
控制器须先向传感器发出 1 个 SDO 用来改变baud rate ,SDO 的索引为 0x2010,子索引为
0x00,数据为新 baud rate ,即是 1000 (0x03 E8)。再发出另 1 个 SDO 用来把 baud rate 储存至 eeprom,索引为 0x1010,子索引为 0x01,数据为 0x73 61 76 65。
详细的通讯协议如下:
关闭传感器电源,再启动,传感器会从 eeprom 取出新 baud rate (1000kbps),并以此设定进行通讯。控制器的 CAN 通讯设置必须和传感器的 baud rate一样,才能跟传感器通讯。
若要改作其他数值,请见下表 (# 不要输入表外的数值,否则传感器会出现故障)
若传感器的 node-id 不是 0x7F,请相应改变第 1 个和第 3 个 SDO 的 cob-id ,cob-id = 0x600 + 传 感器 node-id。若不确定传感器 node-id,可把传感器掉电再启动,传感器会发出 1 个 EMCY 报 文,把 EMCY 报文的 cob-id 减去 0x80,就是传感器 node-id。