發(fā)布日期:2024-10-03 點(diǎn)擊次數(shù):154
控制器向Germanjet德敏哲194CANopen磁致伸縮位移傳感器 更改 “CAN 事件計(jì)時(shí)器” 范例
假設(shè)傳感器的 node-id 是 0x7F [127 dec] (工廠設(shè)置) ,要把 “CAN 事件計(jì)時(shí)器” (默認(rèn) 1 ms) 改作 50ms??刂破黜毾认騻鞲衅靼l(fā)出 1 個(gè) SDO ,SDO 的索引為0x1800,子索引為 0x05,數(shù)據(jù)為0x32 [dec 50]。
傳感器收到 SDO 后,向控制器回應(yīng)一個(gè) SDO 表示 “CAN 事件計(jì)時(shí)器” 已經(jīng)變更及生效,但未 儲存至 eeprom,若傳感器掉電, “CAN 事件計(jì)時(shí)器” 會回復(fù)至未變更前的設(shè)置。
控制器須再發(fā)出另 1 個(gè) SDO 用來把 “CAN 事件計(jì)時(shí)器” 儲存至 eeprom,SDO 的索引為
0x1010,子索引為 0x01,數(shù)據(jù)為 0x73 61 76 65。傳感器會向控制器回應(yīng)一個(gè) SDO 表示變更值 已儲存。
詳細(xì)的通訊協(xié)議如下:
序號 | 發(fā)送者 | cob-id | dlc | data | 注 |
1 | 控制器 | 0x67F (=0x600+ node-id) | 8 | 0x2F 00 18 05 32 00 00 00 | 向節(jié)點(diǎn) 0x7F 發(fā)出 SDO, 數(shù)據(jù)是 0x32 (dec 50) ,即 50ms。 |
2 | 傳感器 | 0x5FE (=0x580+ node-id) | 8 | 0x60 00 18 05 00 00 00 00 | 節(jié)點(diǎn) 0x7F 的 “CAN 事件計(jì) 時(shí)器” 已更改,并向傳感 器回應(yīng) SDO。 |
3 | 控制器 | 0x67F (=0x600+ node-id) | 8 | 0x23 10 10 01 73 61 76 65 | 向節(jié)點(diǎn) 0x7F 發(fā)出 SDO 儲 存 “CAN 事件計(jì)時(shí)器” 至 eeprom。 |
4 | 傳感器 | 0x5FF (=0x580+ node-id) | 8 | 0x60 10 10 01 00 00 00 00 | 節(jié)點(diǎn) 0x7F 傳感器回應(yīng) SDO。 |
完成以上通訊后,傳感器的 “CAN 事件計(jì)時(shí)器” 已更改并儲存至 eeprom,即使掉電,傳感器亦 能從 eeprom取回 “CAN 事件計(jì)時(shí)器”。
若傳感器的 node-id 不是 0x7F (工廠設(shè)置),請相應(yīng)改變 SDO 的 cob-id ,cob-id = 0x600 + 傳感器 node-id。若不確定傳感器 node-id,可把傳感器掉電再啟動,傳感器會發(fā)出 1 個(gè) EMCY 報(bào)文,
把 EMCY 報(bào)文的 cob-id 減去 0x80,就是傳感器 node-id。
- 下一篇:Germanjet德敏哲194系列 CANopen 傳感器 更改 baud rate (波特率)范例
- 上一篇:CANopen磁致伸縮位移傳感器 (兩磁塊-異步) 通訊范例德敏哲Germanjet
最新產(chǎn)品