近期小編開發(fā)了【跟我學(xué)CANopen】系列課程,會(huì)陸陸續(xù)續(xù)連載更新完畢,相關(guān)目錄如下(由于內(nèi)容較多導(dǎo)致文字太小,下圖請(qǐng)放大后查看)。
如下圖所示,定義了CANopen通信的設(shè)備結(jié)構(gòu); CANopen協(xié)議通常分為用戶應(yīng)用層、對(duì)象字典以及通信單元三個(gè)部分。
一、通信
通信單元即代表了CANopen通信,定義了CANopen協(xié)議通信規(guī)則以及與CAN控制器驅(qū)動(dòng)之間對(duì)應(yīng)關(guān)系;由CAN收發(fā)器、CAN控制器以及CANopen協(xié)議棧組成;
協(xié)議棧中包括實(shí)現(xiàn)通信的CANopen通信對(duì)象(如SDO、PDO、NMT等)和狀態(tài)機(jī);
通信單元提供數(shù)據(jù)傳輸所需的所有機(jī)制和通信對(duì)象,符合CANopen規(guī)范的數(shù)據(jù)可以利用這些機(jī)制通過CAN總線進(jìn)行數(shù)據(jù)傳輸;
通信單元設(shè)置了用于數(shù)據(jù)交換(如SDO、PDO)、設(shè)備監(jiān)控(如心跳、節(jié)點(diǎn)保護(hù)、啟動(dòng)報(bào)文)以及網(wǎng)絡(luò)管理(如設(shè)備啟動(dòng)、停止等)的功能
二、用戶應(yīng)用程序
用戶應(yīng)用程序是用戶根據(jù)實(shí)際的需求編寫的應(yīng)用對(duì)象CANopen設(shè)備的用戶應(yīng)用程序,對(duì)設(shè)備的基本功能進(jìn)行定義和描述;例如:在I/O設(shè)備中,可以訪問設(shè)備的數(shù)字或模擬輸入/輸出接口;在驅(qū)動(dòng)控制系統(tǒng)中,可以實(shí)現(xiàn)軌跡和速度控制模塊的控制。
三、對(duì)象字典
對(duì)象字典是CANopen通信的核心,描述了應(yīng)用對(duì)象和CANopen報(bào)文之間的關(guān)系;
在對(duì)象字典中,CANopen設(shè)備的所有對(duì)象都以標(biāo)準(zhǔn)化的形式進(jìn)行描述;對(duì)象字典利用對(duì)象來描述CANopen設(shè)備的全部功能。用戶應(yīng)用程序和通信單元都可以訪問對(duì)象字典;
對(duì)象字典中的對(duì)象可以通過一個(gè)16位索引來識(shí)別,對(duì)象可以是變量、數(shù)組或結(jié)構(gòu);數(shù)組或結(jié)構(gòu)的單元又可以通過8位的子索引進(jìn)行訪問;
應(yīng)用程序可以從對(duì)象字典中讀取參數(shù)和輸出值,同事外部進(jìn)程的輸入?yún)?shù)也可更新到對(duì)應(yīng)的對(duì)象字典中;
關(guān)于對(duì)象字典的詳細(xì)介紹,請(qǐng)關(guān)注該系列文章中對(duì)象字典相關(guān)的詳細(xì)介紹。