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