目前,CANopen通訊協(xié)議已經(jīng)在工業(yè)領(lǐng)域得到了廣泛的使用,由于其面向?qū)ο蟮脑O(shè)計思路,CANopen協(xié)議已成為歐洲等國家的自動化公司標配的通訊接口之一。在本系列文章中,我們將介紹CANopen協(xié)議的基礎(chǔ)內(nèi)容,包括對象字典、服務(wù)、SDO、PDO和主/從站節(jié)點等。如需CANopen軟硬件解決方案或培訓(xùn)服務(wù),請發(fā)郵件到support@hkaco.com聯(lián)系虹科工業(yè)控制團隊!
1
什么是CANopen?
What is CANopen?
CANopen是一種基于CAN的通信協(xié)議。這項協(xié)議非常有用,因為它可以讓設(shè)備、節(jié)點(如工業(yè)機械)之間具有現(xiàn)成的互操作性,以及它提供了安裝前和安裝后配置設(shè)備的標準方法。CANopen最初是為面向運動的機器控制系統(tǒng)設(shè)計的,如今,它被廣泛用于電機控制(步進/伺服電機)領(lǐng)域,并在以下應(yīng)用中得到廣泛使用:
機器人技術(shù):包括自動化機器人、傳送帶和其他工業(yè)機械
醫(yī)療:包括X射線發(fā)生器、注射器、病人床和透析設(shè)備
汽車:包括農(nóng)業(yè)、鐵路、拖車、重型汽車和船舶等
CANopen是一個基于CAN總線的“高層協(xié)議”,這意味著CAN總線(ISO 11898)就像集裝箱的卡車一般作為CANopen信息的“運輸工具”。在OSI模型中,CAN總線代表兩個最低層(物理層和數(shù)據(jù)鏈路層)。這意味著CAN只是實現(xiàn)了帶有11位CAN ID、遠程傳輸(RTR)位和64個數(shù)據(jù)位(與更高層的協(xié)議相關(guān))的字段的幀的傳輸。換言之,CAN總線在CANopen中的作用與在J1939協(xié)議相同,而CANopen則實現(xiàn)了OSI模型的第七層,并能夠適應(yīng)除CAN以外的其他數(shù)據(jù)鏈路層協(xié)議(例如EtherCAT、Modbus、Powerlink)。
值得關(guān)注的是,隨著CAN FD的推出,CANopen FD作為下一代CANopen標準,可能會發(fā)揮著越來越重要的作用。具體細節(jié)歡迎到CiA官網(wǎng)中查看。
相較于CAN總線和J1939協(xié)議,CANopen協(xié)議新增了以下6個核心概念:
通信模式
設(shè)備/節(jié)點的通信有3種模式:主/從站、客戶端/服務(wù)器和生產(chǎn)者/消費者。
通信協(xié)議
用于通信的協(xié)議,如配置節(jié)點(SDO)或傳輸實時數(shù)據(jù)(PDO)等。
設(shè)備狀態(tài)
單個設(shè)備支持不同的狀態(tài)。一個“主站”節(jié)點可以改變一個“從站”節(jié)點,包括重置等操作。
對象字典
每個設(shè)備都有一個OD,其中有指定設(shè)備配置等的條目,它可以通過SDO訪問。
電子數(shù)據(jù)表
EDS是OD條目的標準文件格式,它允許服務(wù)工具來更新設(shè)備。
設(shè)備設(shè)置文件
描述了I/O模塊(CiA 401)和運動控制(CiA 402)等供應(yīng)商獨立性
2
CANopen通信基礎(chǔ)知識
Basic knowledge of CANopen communication
在CANopen網(wǎng)絡(luò)中,需要多個設(shè)備進行通信,例如,在工業(yè)自動化設(shè)置中,你可能有一個帶有多個伺服電機節(jié)點和一個控制接口/PC節(jié)點的機械臂。為了促進通信,CANopen中存在著三種模式,每種模式都與我們所討論的CANopen協(xié)議緊密相連。下面將簡單介紹這三種模式:
CANopen通信的三種模式
01 主/從站
一個節(jié)點(例如控制接口)作為應(yīng)用主站或主控制器。它向從站設(shè)備(例如伺服電機)請求數(shù)據(jù)。這個過程被用于診斷或狀態(tài)管理。在標準應(yīng)用中,可以有0到127個從站。請注意:在單個CANopen網(wǎng)絡(luò)中,可以有不同的主機控制器共享同一個數(shù)據(jù)鏈路層。
服務(wù)示例:NMT
02 客戶端/服務(wù)器
客戶端向服務(wù)器發(fā)送數(shù)據(jù)請求,服務(wù)器回復(fù)請求的數(shù)據(jù)。例如,當應(yīng)用程序主站需要從站的OD中獲取數(shù)據(jù)時使用這一模式。從服務(wù)器上讀取是一種 "上傳",而“寫入”是一種 "下載"(該術(shù)語采用服務(wù)器端的角度)。
服務(wù)示例:SDO
03 消費者/生產(chǎn)者
該模式中生產(chǎn)者節(jié)點向網(wǎng)絡(luò)廣播數(shù)據(jù),由消費者節(jié)點消費。生產(chǎn)者根據(jù)請求(拉模型)或沒有特定請求(推模型)發(fā)送此數(shù)據(jù)。
服務(wù)示例:心跳
顯然,這些模型實際上是相同的,但為了術(shù)語的一致性才對對它們進行了區(qū)分。
在下一篇文章中,我們將繼續(xù)講解CANopen通信基礎(chǔ)知識,歡迎關(guān)注本公眾號以便第一時間獲取更新的內(nèi)容。虹科在CAN、CANopen等領(lǐng)域深耕多年,有著深厚的技術(shù)實力,目前已面向國內(nèi)市場推出了CANopen開發(fā)源代碼、CANopen數(shù)據(jù)記錄儀,和支持CANopen協(xié)議的網(wǎng)關(guān)、板卡、IO等產(chǎn)品。
-
CAN
+關(guān)注
關(guān)注
57文章
2717瀏覽量
463377
發(fā)布評論請先 登錄
相關(guān)推薦
評論