CAN總線及其在艾默生PLC上的應(yīng)用
CAN2.0A協(xié)議報(bào)文結(jié)構(gòu)圖如下 CAN2.0B協(xié)議報(bào)文結(jié)構(gòu)圖如下 標(biāo)準(zhǔn)格式和擴(kuò)展格式唯一的不同是標(biāo)識(shí)符(ID)長(zhǎng)度不同,標(biāo)準(zhǔn)格式為11位(ID10-ID0),擴(kuò)展格式為29位(ID10-ID0,EID17-EID0)。
在標(biāo)準(zhǔn)格式和擴(kuò)展格式中,報(bào)文的起始位稱為幀起始(SOF),幀起始標(biāo)志數(shù)據(jù)幀或遠(yuǎn)程幀的起始,由一個(gè)單獨(dú)的“顯性”位(0)組成。由控制芯片自動(dòng)完成,不需要用戶在程序中體現(xiàn)。
然后是由11位標(biāo)識(shí)符(ID10-ID0)(擴(kuò)展格式為29位(ID10-ID0,EID17-EID0))和遠(yuǎn)程發(fā)送請(qǐng)求位 (RTR)組成的仲裁場(chǎng)。RTR位標(biāo)明是數(shù)據(jù)幀還是請(qǐng)求幀,在請(qǐng)求幀中沒(méi)有數(shù)據(jù)字節(jié)。
控制場(chǎng)包括標(biāo)識(shí)符擴(kuò)展位(IDE),指出是標(biāo)準(zhǔn)格式還是擴(kuò)展格式。它還包括一個(gè)保留位 (RBO),為將來(lái)擴(kuò)展使用。它的最后四個(gè)位用來(lái)指明數(shù)據(jù)場(chǎng)中數(shù)據(jù)的長(zhǎng)度(大小就是由DLC3-DLC0組成的2進(jìn)制數(shù)據(jù))。數(shù)據(jù)場(chǎng)范圍為0~8個(gè)字節(jié)(DATA FIELD),其后有一個(gè)檢測(cè)數(shù)據(jù)錯(cuò)誤的循環(huán)冗余檢查(CRC)。
應(yīng)答場(chǎng)(ACK)包括應(yīng)答位和應(yīng)答分隔符。發(fā)送站發(fā)送的這兩位均為隱性電平(邏輯1),這時(shí)正確接收?qǐng)?bào)文的接收站發(fā)送主控電平(邏輯0)覆蓋它。用這種方法,發(fā)送站可以保證網(wǎng)絡(luò)中至少有一個(gè)站能正確接收到報(bào)文.
報(bào)文的尾部由幀結(jié)束標(biāo)出。在相鄰的兩條報(bào)文間有一很短的間隔位,如果這時(shí)沒(méi)有站進(jìn)行總線存取,總線將處于空閑狀態(tài)。
艾默生CT PLC集成CAN總線功能介紹
ECCT的CAN通信功能支持CAN2.0A協(xié)議和CAN2.0B協(xié)議,通信波特率設(shè)置范圍為5-100KBPS,可以通過(guò)艾默生CT PLC編程軟件CONTROLSTAR FOR ECCT進(jìn)行設(shè)置。具體使用步驟如下:
1)基本設(shè)置:在工程管理器里雙擊“系統(tǒng)塊”,在彈出的窗口選擇“CAN口設(shè)置”,在“CAN口參數(shù)設(shè)置”里選擇“自由協(xié)議”,然后單擊后面的“自由口設(shè)置”按扭。在彈出的窗口選擇協(xié)議類型“2.0A”或“2.0B”,然后再下拉選擇“波特率”最后單擊“確定”,把系統(tǒng)塊下載到PLC里。 2)數(shù)據(jù)發(fā)送:使用指令CANXMT,并以CAN2。0A協(xié)議為例描繪了它們之間的對(duì)應(yīng)關(guān)系。
評(píng)論