网站地图
常见问题

Germanjet德敏哲194系列 CANopen 传感器 更改 baud rate (波特率)范例

发布时间:2024-10-03 点击次数:0

控制器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。

详细的通讯协议如下:

序号

发送者

cob-id

dlc

data

1

控制器

0x67F

(=0x600+ node-id)

8

0x2F 10 20 00 E8 03 00 00

向节点 0x7F 发出 SDO,

数据是 E8 03 。(低字节先 行)

2

传感器

0x5FE

(=0x580+ node-id)

8

0x2F 10 20 00 00 00 00 00

节点 0x7F 收到了 SDO,

向传感器回应。但新 baud rate 是尚未生效的,也未 储存。

3

控制器

0x67F

(=0x600+ node-id)

8

0x2F 10 10 01 73 61 76 65

向节点 0x7F 发出 SDO 储 存 baud rate 至 eeprom。

cob-id = 0x600 + 0x7E = 0x67E。

4

传感器

0x5FF

(=0x580+ node-id)

8

0x60 10 10 01 00 00 00 00

节点 0x7E 再向传感器回应 SDO。

完成以上通讯后,传感器的 baud rate 已改作 1000 kbps 并储存至 eeprom。关闭传感器电源,再 启动,传感器会从 eeprom 取出新 baud rate (1000kbps),并以此设定进行通讯。控制器的 CAN 通讯设置必须和传感器的 baud rate一样,才能跟传感器通讯。

若要改作其他数值,请见下表 (# 不要输入表外的数值,否则传感器会出现故障)

baud rate

十六进制

SDO 指令 (数据是低字节先行)

1000 kbps

0x03 E8

2F 10 20 00 E8 03 00 00

500 kbps

0x01 F4

2F 10 20 00 F4 01 00 00

250 kbps

0x00 FA

2F 10 20 00 FA 00 00 00

125 kbps

0x00 7D

2F 10 20 00 7D 00 00 00

若传感器的 node-id 不是 0x7F,请相应改变第 1 个和第 3 个 SDO 的 cob-id ,cob-id = 0x600 + 传 感器 node-id。若不确定传感器 node-id,可把传感器掉电再启动,传感器会发出 1 个 EMCY 报 文,把 EMCY 报文的 cob-id 减去 0x80,就是传感器 node-id。

版权所有:深圳市易测电气有限公司 备案号:粤ICP备19052563号 网安粤公网安备 44030602003587号 技术支持:星海互联