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