1寫在前面
這一篇文章講述如標題所描述的兩大知識點,這兩點內容對于初學者來說非常重要,希望想學習CANOpen協(xié)議的朋友認真把文章看完。
1.講述Canfestival框架、官網簡述,及衍生出的CANOpen源碼基礎知識;
2.基于Canfestival框架中對象字典生成工具的環(huán)境搭建。
2
關于Canfestival
Canfestival是一套免費開源的CANOpen協(xié)議??蚣?,遵循ANSI-C,支持多平臺,我們完全可以借助這一套開源框架來學會CANOpen。
官方主頁:
https://canfestival.org/index.html.en
從上面主頁可以看得出來,網址主要包含三部分內容:Code源碼、Documentation文檔、Applications應用。
這個網站目前訪問有點慢,但還是能訪問??赡苁且驗榉掌髟诜▏↖P地址),及這套協(xié)議免費開源,沒有得到更多資金支持。
下面我將針對初學者,重點講述一下這三部分內容,以及我們需要重點關注的內容。
2.1 Code源碼
網址:https://canfestival.org/code.html.en
Code代碼提供4個資源庫(如上圖),4個資源庫中CANOpen協(xié)議源碼都沿用一套,簡單說協(xié)議源碼大致相同。
1.有人負責更新維護,目前(2018年)版本最新;
2.提供STM32F0、F1、F4系列驅動代碼;
(下面提供下載)
2.2 Documentation文檔
網址:https://canfestival.org/doc.html.en
這一項里面主要講述Canfestival這套框架里面的一些內容,如遵循許可、CanFestival提供了一些GUI和命令行工具,幫助創(chuàng)建一個新的CANOpen節(jié)點并編輯對象字典,供主從使用。
我們需要獲取的重要內容,都在那個PDF手冊里面,建議下載仔細閱讀。(這個手冊在源碼壓縮包里面也有:manual_en.pdf)
2.3 Applications應用
網址:https://canfestival.org/apps.html.en
這里的“應用”,不是說教你如何編寫應用程序,主要是Canfestival應用在哪些地方。如Product產品、Research研究方面。
Beremiz是法國一家公司開發(fā)的一款開源的PLC編程工具。在Beremiz里面就集成了CanFestival這套框架(相信折騰過CANOpen的都知道Beremiz)。
(這里的“應用”大家可以不用過多深究)
3
CANOpen源碼說明及下載
3.1 CANOpen源碼說明
許多初學者都有這么一個疑問:CANOpen協(xié)議的源碼我們必須要用CanFestival的嗎?
因為CANOpen協(xié)議是遵循CiA301、302、CiA401...這些協(xié)議,我們的源代碼只要符合這些協(xié)議規(guī)范即可。
CANOpen協(xié)議源碼也可以自己寫,但是耗時耗力完全沒必要。所以,我們就使用了免費開源的CanFestival。當然,也可以購買商業(yè)化的CANOpen協(xié)議源碼來開發(fā)產品。
不管我們使用免費的CanFestival,還是購買的源碼,只要支持CANOpen協(xié)議,我們就能與支持CANOpen協(xié)議的設備通信。
3.2 下載
我們從官網的“Code”進去,會出現(xiàn)4個選項,我推薦下載第2個(上面有說明為什么下載第2個)。進去之后,會看到如下圖一些描述:
對于關注我的朋友,大部分都在使用STM32,提供相關的源碼參看,想必會有更濃學習的興趣。
這個源碼有多人在更新和維護,所以你會看到有許多分支,我們下載最新版本即可。
下載地址:
https://bitbucket.org/Mongo/canfestival-3-asc/downloads
百度網盤下載:
https://pan.baidu.com/s/1b9K0vIzu_EVWK1BLURJEPQ
提取碼:j2w2
4
對象字典生成工具的環(huán)境搭建
這里的環(huán)境搭建可以參考Canfestival手冊(manual_en.pdf)里面的指導,具體位置在3.1.1節(jié):Object Dictionary Editor GUI.
我們需要下載安裝第1,2個,第3個就不用單獨下載了。
因為我們是在STM32上進行開發(fā),手冊中3.1.2節(jié)Linux、3.1.3節(jié)Windows這些內容我們就不用管了。
4.1 下載Python和wxPython
因為和其它工具兼容性的原因,我目前在Win10系統(tǒng)上安裝可使用的是python-2.7.15 + wxPython2.8。
其它高版本的Python 3我之前試過好像不行,還有32位和64的也有差異。這里提供給大家(我安裝的版本)下載,大家有時間可以在官網下載其它版本試試。
1.百度網盤
鏈接:
https://pan.baidu.com/s/1bRS403m4B31m4ovSJ-_HwA
提取碼:38sn
2.官方下載
Python:https://www.python.org/downloads
wxPython:https://wxpython.org/pages/downloads
wxPython鏡像:
https://sourceforge.net/projects/wxpython/files/wxPython
4.2 安裝
1.Python安裝
Python的安裝需要注意兩點:1.以管理員身份運行; 2.添加(環(huán)境變量)路徑。
具體可以參看我公眾號之前推送文章《工具下載、環(huán)境搭建》中3.2 安裝Python.
2.wxPython安裝
可以通過下載離線包直接安裝,也可以通過命令行直接安裝。(請看上面給的地址)
4.3 如何成功運行
1.解壓(上面3.2 下載的)Canfestival-3;
2.在解壓objdictgen目錄下的Gnosis_Utils-current.tar.gz
3.將第2步解壓目錄下的gnosis拷貝到objdictgen目錄下(注意路徑),如下圖:
4.雙擊,或者以命令方式運行objdictgen下的objdictedit.py,如果環(huán)境沒問題,此時就會出現(xiàn)如下界面:
如果不能出現(xiàn)上面界面,請檢查環(huán)境是否搭建成功。
-
CAN
+關注
關注
57文章
2760瀏覽量
463993 -
CANopen
+關注
關注
8文章
267瀏覽量
43624 -
字典
+關注
關注
0文章
13瀏覽量
7721
發(fā)布評論請先 登錄
相關推薦
評論