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