网站地图
常见问题

CANopen磁致伸缩位移传感器德敏哲Germanjet 更改node-ID范例

发布时间:2024-09-29 点击次数:0

控制器与德敏哲Germanjet194系列 CANopen磁致伸缩位移传感器更改node-ID范例

假設傳感器原本的 node-id 是 0x7F (127 dec),要把 node-id 改作 0x7E (126 dec) 。

控制器須先向傳感器發出 1 個 SDO 用來改變node-id,SDO 的索引為 0x300B,子索引 為 0x00,數據為新 node-id (0x7E)。再發出另 1 個 SDO 用來把 node-id 儲存至

eeprom,索引為 0x1010,子索引為 0x01,數據為 0x73 61 76 65 。 詳細的通訊協議如下:

序號

發送者

cob-id

dlc

data

1

控制器

0x67F

(=0x600+ node-id)

8

0x2F 0B 30 00 7E 00 00 00

向節點 0x7F 發出 SDO , 數據第 5 字節是 0x7E

2

傳感器

0x5FE

(=0x580+ node-id)

8

0x60 0B 30 00 00 00 00 00

節點 0x7F 的 node-ID 已更 改為 0x7E ,並向傳感器回 應 SDO 。

3

控制器

0x67E

(=0x600+ node-id)

8

0x2F 10 10 01 73 61 76 65

向節點 0x7E (不是 0x7F) 發出 SDO 儲存 node-id 至 eeprom。cob-id = 0x600 + 0x7E = 0x67E 。

4

傳感器

0x5FE

(=0x580+ node-id)

8

0x60 10 10 01 00 00 00 00

節點 0x7E 傳感器回應 SDO 。

完成以上通訊後,傳感器的 node-id 已改作 0x7E 並儲存至 eeprom,即使掉電,傳感器 亦能從 eeprom 取回 node-id (0x7E)。從此以後,傳感器的 node-id 都是 0x7E 。

若傳感器原本的 node-id 不是 0x7F,請相應改變第 1 個 SDO 的 cob-id,cob-id = 0x600 + 傳感器 node-id。若不確定傳感器 node-id,可把傳感器掉電再啟動,傳感器會發出 1 個 EMCY 報文,把 EMCY 報文的 cob-id 減去 0x80,就是傳感器 node-id 。

若要把 node-id 改作 0x7E 以外的值,請相應改變第 1 個 SDO 的數據第 5 個字節,該字 節表示新 node-id 的值。第 3 個 SDO 的 cob-id 也要改變 ,cob-id= 0x600 + 新 node-id, 否則新 node-id 不會儲存至 eeprom 。

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