隨著工業4.0進程的加快,工業控制領域對運動控制提出更高的要求,CAN總線產品由于具有高性能、高可靠性以及獨特的設計,越來越受到人們的重視。本文從CAN與CANopen協議、CAN報文、CANopen通信、CAN總線驅動器應用等方面簡單介紹CAN應用情況。
一、CAN與CANopen協議
CAN是Controller Area Network的縮寫,即“局域網控制器”是德國BOSCH公司于1983年為汽車應用而開發的,一種能有效支持分布式控制和實時控制的串行通訊網絡,屬于現場總線的范疇。通常稱為CAN BUS,即CAN總線。
從IOS模型上來看,CAN總線僅僅定義了第一層(物理層),第二層(數據鏈路層),沒有規定應用層,本身并不完整,需要一個高層的協議來規定CAN報文中11/29位標識符以及8字節數據的使用,CANopen就是以CAN 為基礎的上層協議。如圖1-1所示
圖1-1
二、CAN報文
CAN總線中報文是通過數據幀的形式進行傳輸,CAN報文分為兩個標準即CAN2.0A標準幀CAN2.0B擴展幀,兩個標準最大的區別在CAN2.0A只有11位標識符,CAN2.0B具有29 位標識符,一般使用CAN2.0A標準幀格式;從CAN報文幀中取出11位標識符和數據域組成Canopen報文結構。如圖1-2所示
如圖1-2
其中COB-ID:(Communication Object Identifier)即 CANopen中對某種通訊對象的報文幀ID,即CAN報文的11位ID,代表了一種通訊含義,其包含一個4位的功能碼部分和一個7位的節點 ID(Node-ID)部分,具體格式如下表1-1所示:
表1-1
在CAN總線的實際應用過程中CANopen報文是用來分析CAN總線數據的重要手段,一般會借助CAN分析儀工具來抓取報文:
CAN分析儀下CANopen報文如下表1-2所示:
表1-2
三、CANopen通信
CANopen設備間通訊相對來說是一個比較抽象的概念,依據其原理可以簡化為以下模型1-1:
模型1-1
核心部分
對象字典——通訊部分和應用部分溝通的橋梁 。
關鍵部分
通訊部分——通信規則(SDO、PDO、NMT等)與CAN控制器交互樞紐 。
重點部分
應用部分——決定了設備具體作用,如CIA402。
重點概念理解
PDO 用來傳輸 8 字節或更少數據,主要用來配置從站控制字、控制量參數以及實時性要求較高的數據。
SDO 用來在設備之間傳輸低優先級數據。如配置運動參數、通信等變化不是非常快的數據對象。
對象字典(OD):對象字典就是從站所擁有的參數集,用來描述CANopen設備的全部功能參數。
EDS文件:(Electronic Data Sheet) 電子數據表格,是對一臺從站屬性、對象字典描述的文件,主要給主站提供從站的相關信息,保障信息交互正確
四、CAN總線驅動器的應用
對于CAN總線驅動器的應用,需要從驅動器和主站兩個方面進行配置。下面分別從驅動器、主站兩個方面進行CAN總線應用介紹。
一
驅動器部分
雷賽PMC316E控制器與雷賽L6-CAN、DM556-CAN驅動器組網如圖1-3所示:
圖1-3
CAN總線物理接口為RJ45端口,控制器驅動器之間連接采用普通雙絞網線(實際使用建議使用帶屏蔽的雙絞網線)。需要注意的是必須在總線的兩端各自連接120Ω的終端電阻,以避免出現信號反射,從而增強CAN總線通訊的可靠性。
在CAN總線上每一個從站設備都是一個節點,CAN總線最大支持127個節點,為保證總線上從站設備能被正確識別,需要設置正確配置節點號,其范圍是1~127。
雷賽CAN步進驅動器節點ID采用側面撥碼的形式,L6_CAN交流伺服驅動器的節點ID通過參數0.23來設置。
CAN總線通信的波特率為20kbps~1Mbps,可根據應用需要來設置不同的波特率;在使用時需要注意波特率與通訊距離的關系。總線通信速率越高,通信距離越短。
波特率與通訊距離的關系表如下表1-3所示:
表1-3
雷賽CAN步進驅動器波特率通過側面撥碼的選擇,L6_CAN交流伺服驅動器的波特率則使用參數0.24設置。
二
主站控制器的操作步驟
主站通過導入從站EDS文件,來識別從站設備
主站波特率需跟從站波特率一致
從站節點需跟驅動器設置的節點一致
根據運動模式,進行通信參數PDO和SDO的配置
根據實際運動情況,調用運動模塊,編寫應用程序