1寫在前面
上一篇文章主要是引導大家學習CANOpen協(xié)議通信接口的相關內容。通信接口的內容有點多,對于初學者來說,如果看不懂,請多看幾遍(最好有個印象)。
CANopen設備最重要的一個部分就是對象字典。對象字典本質上是一種被預先安排的對象序列,可通過網(wǎng)絡訪問。字典里面的每一對象均可使用一個16-bit主索引和8-bit子索引尋址到。
初學者學習如果難理解通信接口(上一篇)有些內容,如:PDO、SDO及網(wǎng)絡管理對象,可以結合對象字典索引來學習和記憶。
2
對象字典重要內容
對象字典OD:Object dictionary。
一組帶有 16 位索引和 8 位子索引的數(shù)據(jù)或對象。對象字典下面主要包含:數(shù)據(jù)類型、通信對象、應用對象。
對象字典主索引:
2.1 通信子協(xié)議區(qū)
通信子協(xié)議區(qū),如上圖1000h 到 1FFFh這個區(qū)域。也就是通信接口(或通信對象)協(xié)議區(qū)。
對于初學者來說,通信對象子協(xié)議區(qū)是比較重要的一個區(qū)域,牽涉到上一篇文章《通信接口》講述的大部分內容。同時,這之間的關系也非常緊密。
通訊對象子協(xié)議區(qū):
如上圖,通訊對象子協(xié)議區(qū)又劃分為幾個區(qū)域,而其中的1000h 到 1029h為通用通訊對象。
通用通訊對象里面的內容已經(jīng)被約定好,如果我們需要用到,可直接配置使用即可。
通用通訊對象內容:
通信子協(xié)議區(qū)的內容非常重要,也比較多,需要拆分并一個一個掌握??山Y合周立功提供相關教程,以及前面提到的CiA 301手冊理解。
我這里就不一一列出來了,簡單再列一個通信子協(xié)議區(qū)中PDO通信參數(shù)與映射參數(shù):
寫到這里,想必很多朋友都能理解,也能明白這些內容。更多的內容,可以結合這種拆分的思路去理解。
3
對象字典生成工具
上面介紹了對象字典的一些內容,可能還是有很多初學者不明白。同時,也就可能會產生疑問:這個對象字典我們需要字典和我們代碼有什么關系呢?
可以簡單來說,就是一些16位索引和8位子索引對應的變量數(shù)據(jù),來下看下代碼(下面兩圖),加深理解:
3.1 對象字典的代碼需要自己寫嗎?
很多初學者,包括我(之前初學時)也會產生疑問:對象字典的代碼需要我們自己寫嗎?
答案:不用自己寫。
當然,對象字典的代碼可以自己寫,但完全沒必要。1.自己寫不一定正確;2.有現(xiàn)成工具可以節(jié)約大量時間。
3.2 Canfestival對象字典生成工具
我微信公眾號分享《CANOpen系列教程》的封面中有一行英文:Canfestival.相信學過CANOpen的朋友都應該知道我接下來會結合這套Canfestival免費開源的CANOpen架構來講述。
其中,Canfestival里面包含我們需要的CANOpen協(xié)議源碼和對象字典生成工具。
有了對象字典生成工具,對象字典的代碼就可以通過它來自動生成。搭建Canfestival對象字典生成工具的環(huán)境是一個重點。
對于很多初學者來說搭建環(huán)境也是一個難點,不少初學者就卡在這一關,然后,學習CANOpen就沒有繼續(xù)下去了。
簡單的說,搭建對象字典生成工具的環(huán)境步驟不多,可能會因為諸多因素導致搭建失敗。搭建成功,運行之后會出現(xiàn)如下圖界面:
在學習對象字典生成工具時,會看見一個詞:EDS,即Electronic Data Sheet電子數(shù)據(jù)單。
像周立功的CANOpen從站模塊就配有工具生成EDS文件。當然,Canfestival提供的工具也能導出EDS文件。
Canfestival對象字典生成工具搭建過程,及相關內容我將在下一篇文章詳細講述。
-
通信協(xié)議
+關注
關注
28文章
1064瀏覽量
41662 -
CAN
+關注
關注
58文章
2975瀏覽量
470383 -
CANopen
+關注
關注
8文章
443瀏覽量
46614
發(fā)布評論請先 登錄
CANopen轉Profient網(wǎng)關協(xié)議介紹

canopen如何通過對象字典控制外設?
ProfiNet轉CAN/CANopen網(wǎng)關技術詳解







盟通方案|CANopen數(shù)據(jù)鏈路配置工具



EtherCAT轉CANopen配置CANopen側的PDO映射

評論