儀器儀表商情網(wǎng)   摘要:CANopen是一種架構(gòu)在控制局域網(wǎng)路(Controller Area Network, CAN)上的高層通訊協(xié)議,對(duì)其協(xié)議的學(xué)習(xí)很多人都覺得有難度,看來看去都覺得是云里來霧里去的,本文將讓CANOpne協(xié)議不再那么神秘,帶你跨過CANOpen學(xué)習(xí)道路的第一道門檻。
       應(yīng)用CANopen時(shí),需要傳遞的配置信息和應(yīng)用信息都放在過程數(shù)據(jù)對(duì)象PDO(Process data object)和服務(wù)數(shù)據(jù)對(duì)象SDO (Service data object)里面。這些對(duì)象就和市場(chǎng)上賣水果的籮筐,大小是一樣的,只是裝的東西(應(yīng)用數(shù)據(jù))不一樣,如圖 1所示。這就是CiA301協(xié)議所規(guī)定的基礎(chǔ)協(xié)議——“籮筐”,而CiA4xx的子協(xié)議或者用戶自定義的對(duì)象就是“籮筐”里面的東西。
 
 
 
 
COB-ID:Communication Object Identifier,即 CANopen中對(duì)某種通訊對(duì)象的報(bào)文幀ID,即CAN報(bào)文的11位ID。代表了一種通訊含義。
Node-ID:節(jié)點(diǎn)ID號(hào),即CANopen網(wǎng)絡(luò)中的節(jié)點(diǎn)地址,CANopen規(guī)定了邏輯上最大128個(gè)節(jié)點(diǎn),所以Node-ID最大為128(7位)。
COB-ID和Node-ID無必然聯(lián)系,但在過程數(shù)據(jù)對(duì)象(PDO)和服務(wù)數(shù)據(jù)對(duì)象(SDO)中,COB-ID中包含了Node-ID。
由于需要區(qū)分每個(gè)CANopen節(jié)點(diǎn)的輸入和輸出,所以PDO分為TPDO(發(fā)送PDO)和(接收RPDO),發(fā)送和接收是以CANopen從站節(jié)點(diǎn)為參考(如果CAN主站就相反)。TPDO和RPDO分別有4個(gè)數(shù)據(jù)對(duì)象(如TPDO有TPDO1、TPDO2、TPDO3、TPDO4;RPDO有RPDO1、RPDO2、RPDO3、RPDO4),每種數(shù)據(jù)對(duì)象就是1條CAN報(bào)文封裝,如表 1所示,這些都是數(shù)據(jù)收發(fā)的容器,就像圖 1所示,水果籮筐為使用者準(zhǔn)備好,就看使用者在里面放什么水果了。
而SDO就相對(duì)比較簡(jiǎn)單固定,發(fā)起通訊的“問”SDO的CAN幀ID就是600h +node-ID,這里的Node-ID是被問的節(jié)點(diǎn)地址,而被問的節(jié)點(diǎn)應(yīng)“答”SDO的CAN幀ID就是580h +node-ID。一般在CANopen網(wǎng)絡(luò)中,只有NMT主機(jī)能發(fā)起SDO通訊,進(jìn)行節(jié)點(diǎn)參數(shù)配置或者關(guān)鍵性參數(shù)的傳遞。當(dāng)然從節(jié)點(diǎn)也可以對(duì)其他從節(jié)點(diǎn)發(fā)起SDO通訊。
如表 1所示。為CANopen預(yù)定義報(bào)文的PDO報(bào)文和SDO報(bào)文中的ID分類。使用者務(wù)必牢記!
 
	
	
 
   
       
       
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
  
  
  
                             
                             
                                         
                                         
                         
                        