CAN總線及其在PLC上的應(yīng)用-工業(yè)控制
引言
數(shù)字電子信息技術(shù)的飛速發(fā)展對(duì)全世界的制造業(yè)日益起著巨大的推動(dòng)作用,使得制造業(yè)的各種設(shè)備的設(shè)計(jì)越來(lái)越電子化,數(shù)字化,網(wǎng)絡(luò)化,ECCT產(chǎn)品是艾默生CT推出的一款專門(mén)應(yīng)用于紡織行業(yè)的具有CAN總線協(xié)議的專用PLC控制器,它不僅滿足了紡織的基本I/O工藝需求,更是把CAN總線協(xié)議完美地融合進(jìn)去,使用戶很輕易地把系統(tǒng)的各種設(shè)備通過(guò)CAN協(xié)議進(jìn)行連接,本文介紹了CAN總線功能在艾默生CTPLC上的應(yīng)用。
CAN總線基礎(chǔ)知識(shí)簡(jiǎn)介
CAN總線(CONTROLLERAREANETWORK,控制器局部網(wǎng)絡(luò))由德國(guó)BOSCH公司首先提出來(lái)的,CAN總線是目前工業(yè)界廣泛應(yīng)用的總線。其特點(diǎn)簡(jiǎn)要?dú)w納如下:
1)CAN控制器工作于多主站方式,網(wǎng)絡(luò)中的各節(jié)點(diǎn)都可根據(jù)總線訪問(wèn)優(yōu)先權(quán)(取決于報(bào)文標(biāo)識(shí)符)采用無(wú)損結(jié)構(gòu)的逐位仲裁的方式競(jìng)爭(zhēng)向總線發(fā)送數(shù)據(jù)。而利用RS-485只能構(gòu)成主從式結(jié)構(gòu)系統(tǒng),通信方式也只能以主站輪詢的方式進(jìn)行,系統(tǒng)的實(shí)時(shí)性、可靠性較差。
2)CAN協(xié)議廢除了傳統(tǒng)的站地址編碼,而代之以對(duì)通信數(shù)據(jù)進(jìn)行編碼,其優(yōu)點(diǎn)是可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,加入或減少設(shè)備都不影響系統(tǒng)的工作。同時(shí)可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這些特點(diǎn)使得CAN總線構(gòu)成的網(wǎng)絡(luò)各節(jié)點(diǎn)之間的數(shù)據(jù)通信實(shí)時(shí)性強(qiáng),并且容易構(gòu)成冗余結(jié)構(gòu),提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。
3)CAN總線通過(guò)CAN控制器接口芯片的兩個(gè)輸出端CANH和CANL與物理總線相連,而CANH端的狀態(tài)只能是高電平或懸浮狀態(tài),CANL端只能是低電平或懸浮狀態(tài)。這樣就保證不會(huì)出現(xiàn)類似在RS-485網(wǎng)絡(luò)中系統(tǒng)有錯(cuò)誤時(shí)會(huì)導(dǎo)致出現(xiàn)多節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù)而導(dǎo)致總線呈現(xiàn)短路從而損壞某些節(jié)點(diǎn)的現(xiàn)象。而且CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響,從而保證不會(huì)出現(xiàn)象在網(wǎng)絡(luò)中,因個(gè)別節(jié)點(diǎn)出現(xiàn)問(wèn)題,使得總線處于“死鎖”狀態(tài)。
4)CAN具有的完善的通信協(xié)議可由CAN控制器芯片及其接口芯片來(lái)實(shí)現(xiàn),從而大大降低了用戶系統(tǒng)開(kāi)發(fā)的難度,縮短了開(kāi)發(fā)周期,這些是僅僅有電氣協(xié)議的RS-485所無(wú)法比擬的。
5)與其它現(xiàn)場(chǎng)總線比較而言,CAN總線通信最高速率可達(dá)1MBPS,傳輸速率為5KBPS時(shí),采用雙絞線,傳輸距離可達(dá)10KM,并且數(shù)據(jù)傳輸可靠性高;CAN總線是具有通信速率高、容易實(shí)現(xiàn)、且性價(jià)比高等諸多特點(diǎn)的一種已形成國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。這些也是目前CAN總線應(yīng)用于眾多領(lǐng)域,具有強(qiáng)勁的市場(chǎng)競(jìng)爭(zhēng)力的重要原因。
CAN總線與RS485方式的區(qū)別:
CAN總線系統(tǒng)結(jié)構(gòu):CAN總線每個(gè)節(jié)點(diǎn)需要帶有CAN協(xié)議控制芯片及適當(dāng)?shù)慕涌陔娐?,?jié)點(diǎn)之間通過(guò)雙絞屏蔽線進(jìn)行總線式連接,首尾節(jié)點(diǎn)需要接120R的匹配電阻,通信最高速率可達(dá)1MBPS,傳輸速率越低,傳輸距離越遠(yuǎn)。系統(tǒng)結(jié)構(gòu)如下:
CAN協(xié)議的報(bào)文格式:CAN協(xié)議支持兩種報(bào)文格式CAN2.0A和CAN2.0B;CAN2.0A為標(biāo)準(zhǔn)格式,CAN2.0B為擴(kuò)展格式;格式分別如下:
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é)(DATAFIELD),其后有一個(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)。
艾默生CTPLC集成CAN總線功能介紹
ECCT的CAN通信功能支持CAN2.0A協(xié)議和CAN2.0B協(xié)議,通信波特率設(shè)置范圍為5-100KBPS,可以通過(guò)艾默生CTPLC編程軟件CONTROLSTARFORECCT進(jìn)行設(shè)置。具體使用步驟如下:
評(píng)論排行