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