利用CAN-bus實(shí)現多臺PLC之間的遠程配置與實(shí)時(shí)通信
摘要: 通過(guò)現場(chǎng)總線(xiàn)CAN-bus,可以將多達數十臺的中/小型PLC聯(lián)網(wǎng),構成一個(gè)智能PLC網(wǎng)絡(luò );同時(shí),主控制器可以與指定的遠程PLC實(shí)現遠程配置、控制通信,以及實(shí)現組態(tài)環(huán)境中的應用。
關(guān)鍵詞: PLC;CAN-bus;CAN232MB轉換器;PC-CAN接口卡
PLC特點(diǎn)與PLC網(wǎng)絡(luò )
可編程控制器(PLC)是一種數字控制專(zhuān)用電子計算機,它使用了可修改的程序存儲器儲存指令,執行諸如邏輯、順序、計時(shí)、計數與演算等功能,并通過(guò)模擬和數字輸入、輸出等功能組件,控制各種機械或工作程序。長(cháng)期以來(lái),PLC一直在各個(gè)行業(yè)的自動(dòng)化控制領(lǐng)域得到廣泛的使用,為各種各樣的自動(dòng)化設備提供了非??煽康目刂茟?。
PLC系統的工作任務(wù)相對簡(jiǎn)單,且需要傳輸的數據量一般不會(huì )太大,所以常見(jiàn)的PLC系統為一層網(wǎng)絡(luò )結構。PLC一般應用在小型自控場(chǎng)所,比如設備的控制或少量模擬量的控制及聯(lián)鎖。小范圍的集中式控制環(huán)境是PLC發(fā)揮功能的最佳舞臺。
目前,只有少量型號的PLC集成有Ethernet或現場(chǎng)總線(xiàn)CAN-bus通訊接口,價(jià)格也較貴;一般常見(jiàn)PLC型號沒(méi)有隨本機集成通訊功能,不便于組建多臺PLC構成的中型控制網(wǎng)絡(luò )。但是,隨著(zhù)應用技術(shù)的發(fā)展,經(jīng)常會(huì )出現一些應用場(chǎng)合,在面積較大的范圍內,需要n臺PLC協(xié)同完成一個(gè)系統的綜合控制。此時(shí),原有集中控制的單一PLC控制方案就顯得力所不及,PLC網(wǎng)絡(luò )的需求也應運而生。
本文提出了一種基于現場(chǎng)總線(xiàn)CAN-bus的PLC網(wǎng)絡(luò )方案,能夠對多臺聯(lián)網(wǎng)的PLC實(shí)現遠程配置、數據通信,并能夠在投入較低硬件成本的基礎上,實(shí)現良好的系統運行性能。這個(gè)方案也充分發(fā)揮了現場(chǎng)總線(xiàn)CAN-bus的通信特點(diǎn):實(shí)時(shí)、可靠、高速、遠距離、易維護等。此方案是現場(chǎng)總線(xiàn)技術(shù)與集中控制技術(shù)的有機結合,聯(lián)網(wǎng)后的PLC網(wǎng)絡(luò )可以構成一個(gè)性能優(yōu)秀的DCS系統;用戶(hù)在同一個(gè)主控制器上可以遠程監控、改變任何一臺聯(lián)網(wǎng)PLC的程序或狀態(tài)。
PLC網(wǎng)絡(luò )的兩種方式
通用PLC一般都會(huì )提供1~2個(gè)RS-232或RS-485通訊端口,用于與其他控制設備或主控制器PC通訊;這些集成的通訊端口支持自行規定的通訊協(xié)議,或者M(jìn)odbus協(xié)議,實(shí)現PLC設備的通訊與配置。構建PLC網(wǎng)絡(luò ),即利用PLC本機的這一類(lèi)通訊端口,將其擴展成為能夠與多臺設備聯(lián)網(wǎng),實(shí)現多點(diǎn)通訊的現場(chǎng)總線(xiàn)CAN-bus通訊接口。
根據網(wǎng)絡(luò )中主控制器的不同,PLC網(wǎng)絡(luò )可以分為以下方式:
*多臺PLC聯(lián)網(wǎng),各PLC地位平等,可外擴HMI人機界面。
*多臺PLC聯(lián)網(wǎng),由1臺工控PC作為主控制器與操作界面。
多臺PLC串行聯(lián)網(wǎng)
通過(guò)一個(gè)RS-232/RS-485轉CAN-bus網(wǎng)關(guān)進(jìn)行信號轉換,獨立PLC就具有了現場(chǎng)總線(xiàn)CAN-bus通訊接口。多臺具有現場(chǎng)總線(xiàn)CAN-bus通訊接口的PLC之間相互連接,即可以組建PLC網(wǎng)絡(luò )。
每一臺連接PLC單元的RS-232/RS-485轉CAN-bus網(wǎng)關(guān)都可以設定一個(gè)獨立的設備ID號,長(cháng)度為11位或29位,用作為該PLC單元的地址。每一臺聯(lián)網(wǎng)的PLC單元在發(fā)送數據時(shí),可設定在數據流中自動(dòng)添加本地網(wǎng)關(guān)的設備ID號;同理,每一臺PLC單元在接收數據時(shí),可設定由網(wǎng)關(guān)檢查數據流中的設備ID號,自動(dòng)接收符合要求的數據。
通過(guò)上述方式組建的PLC網(wǎng)絡(luò ),各臺PLC地位平等,任何一臺PLC均可以主動(dòng)發(fā)起數據通訊,由CAN-bus網(wǎng)關(guān)起硬件自動(dòng)仲裁作用,保障每一次通訊的數據不丟失;網(wǎng)絡(luò )中的PLC數量不受限制,數百、上千臺PLC都可以連接在同一現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )中。同時(shí),這個(gè)PLC網(wǎng)絡(luò )中還可以連接具有CAN-bus通訊接口的HMI人機界面,或由其中一臺PLC通過(guò)其他的串行通訊端口連接HMI人機界面。
這種方式組建的PLC網(wǎng)絡(luò ),與選擇集成CAN-bus通訊功能的PLC設備相比,具有更加靈活的系統擴展能力,也能夠獲得更好的性?xún)r(jià)比。
多臺PLC與工控PC并行聯(lián)網(wǎng)
工控PC能夠深入地配合PLC廠(chǎng)商提供的各種軟件,從而實(shí)現更多強大的功能,比如系統配置、人機界面、組態(tài)開(kāi)發(fā)等,在PLC領(lǐng)域的作用也越來(lái)越不可或缺。通常,工控PC與單臺PLC通過(guò)1個(gè)串口連接通訊,實(shí)現各種擴展功能;但串口的通訊距離、節點(diǎn)數量都受到了串口本身的性能限制。比如,RS-232標準只可以實(shí)現“點(diǎn)-點(diǎn)”通訊,RS-485/422標準能夠實(shí)現32個(gè)節點(diǎn)以?xún)鹊耐ㄓ?,但通訊距離、抗干擾能力都比較弱,并不能夠滿(mǎn)足實(shí)際工業(yè)現場(chǎng)多臺PLC聯(lián)網(wǎng)應用的需求。
工控PC內置PC-CAN接口卡,可以建立起1條或者多條現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò ),并通過(guò)連接在CAN-bus網(wǎng)絡(luò )中的網(wǎng)關(guān)RS-232/RS-485轉CAN-bus轉換器,借助于CAN-bus網(wǎng)絡(luò )配套的“虛擬串口”軟件,建立多達2047個(gè)標準的串行通訊端口,從而連接多達2047條串行網(wǎng)絡(luò )。也就是說(shuō),可以在同1條普通雙絞線(xiàn)上連接多達2047臺PLC設備,工控PC訪(fǎng)問(wèn)連接在這條CAN-bus網(wǎng)絡(luò )上的PLC設備,也與操作標準串口完全一致。這種方式可以充分發(fā)揮工控PC的作用,通訊效率也比較高。
通過(guò)工控PC組建多臺PLC網(wǎng)絡(luò )的系統結構如圖 1所示。按這一種方式的建立PLC網(wǎng)絡(luò )的通訊效率較高,應用靈活,是一般PLC網(wǎng)絡(luò )建設的主流方向。
圖 1 多臺PLC與工控PC并行聯(lián)網(wǎng)
PLC網(wǎng)絡(luò )的硬件組成與連接
建立PLC網(wǎng)絡(luò ),除了實(shí)現具體功能的PLC設備,還需要一些建立現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )的設備,主要有RS-232轉CAN-bus網(wǎng)關(guān)、PC-CAN接口卡等。
RS-232轉CAN-bus網(wǎng)關(guān)
CAN232MB 轉換器是一種常用的RS-232轉CAN-bus網(wǎng)關(guān)。轉換器集成1個(gè)RS-232通道、1個(gè)CAN-bus 通道,可以很方便地連接到PLC設備的RS-232標準通訊端口,使PLC設備具有與現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )通訊的能力。轉換器提供三種工作模式——透明轉換、透明帶標識轉換、Modbus協(xié)議轉換,分別可以支持不同通訊協(xié)議的PLC設備。通過(guò)PC配置軟件,CAN232MB轉換器可設定一個(gè)獨立的11位或29位設備ID號,可以用作為該網(wǎng)關(guān)所連接PLC設備的地址編號,并對往來(lái)串口的數據流加以標注或識別。
對于只集成RS-485/422通訊端口的PLC設備,可以選擇RS-485轉CAN-bus網(wǎng)關(guān)。
PC-CAN接口卡
工控PC內置或外接PC-CAN接口卡,可以令工控PC具有現場(chǎng)總線(xiàn)CAN-bus通訊接口,從而成為CAN-bus網(wǎng)絡(luò )中的一個(gè)主要功能節點(diǎn)。根據與PC連接方式的不同,PC-CAN接口卡可以分為很多種不同的類(lèi)型,常見(jiàn)的型號有PCI-CAN接口卡、ISA-CAN接口卡、PC104-CAN接口卡、USBCAN接口卡、以太網(wǎng)轉CAN接口卡等。
PC-CAN接口卡一般都提供有CAN-bus測試工具、API開(kāi)發(fā)例程、OPC服務(wù)器軟件等。配套的“虛擬串口服務(wù)器”軟件可以在不修改原有PC軟件的基礎上,開(kāi)發(fā)基于串口通訊的軟件項目,比如PLC網(wǎng)絡(luò )。
通訊附件
通訊電纜是現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )的重要組件。通訊電纜的合理選擇,對CAN-bus網(wǎng)絡(luò )的通訊距離也有非常重要的影響。使用國標AWG18(截面積為Φ0.75 mm2)的雙絞線(xiàn)作為CAN-bus網(wǎng)絡(luò )的通訊電纜,可以在1Km距離內實(shí)現可靠通訊;使用截面積為Φ1.5 mm2的普通雙絞線(xiàn),則可以達到6~7Km的通訊距離。
現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )在布線(xiàn)時(shí),必須注意終端電阻的連接。主干線(xiàn)的最遠兩端必須各連接一個(gè)120Ω的終端電阻。
另外,CAN-bus網(wǎng)絡(luò )的分支線(xiàn)不宜過(guò)長(cháng),當網(wǎng)絡(luò )通訊速率為20Kbps時(shí),建議每一條連接PLC設備的分支線(xiàn)長(cháng)度小于100米。
應用實(shí)例
在一個(gè)實(shí)際的油田控制系統中,需要由超過(guò)32臺PLC組建一個(gè)中型PLC網(wǎng)絡(luò )。每一臺PLC用于控制一套工作井站的現場(chǎng)設備。選用PLC型號為OMRON公司CPM2A系列,不支持現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò ),但集成有1個(gè)RS-232通訊端口。單臺PLC之間的最大距離超過(guò)了10Km距離,但這個(gè)油田控制系統要求能夠在同一個(gè)主控制器上,對每一臺現場(chǎng)的PLC實(shí)時(shí)監控。由于各個(gè)現場(chǎng)PLC工作點(diǎn)距離很遠,主控制器PC不可能實(shí)現每一臺PLC設備的單獨電纜連接。因此,將各臺PLC設備通過(guò)現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )連接,組建一個(gè)地區范圍內的PLC網(wǎng)絡(luò ),從而實(shí)現PLC遠程維護、數據實(shí)時(shí)監控,既能夠大大提高系統的管理效率,也可以有效地降低網(wǎng)絡(luò )建設成本。
井站的PLC設備集成有1個(gè)RS-232串行通訊端口,通過(guò)CAN232MB轉換器連接到現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )。主控制器PC內置1塊PC-CAN接口卡,型號為PCI-9840接口卡,可以使PC成為CAN-bus網(wǎng)絡(luò )中的節點(diǎn),能夠同時(shí)管理4路物理獨立的CAN-bus網(wǎng)絡(luò )。
CAN-bus網(wǎng)絡(luò )
現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )的拓撲結構一般使用直線(xiàn)結構。所有CAN-bus設備節點(diǎn)通過(guò)短分支線(xiàn)連接至CAN-bus網(wǎng)絡(luò )的主干線(xiàn);短分支線(xiàn)不宜過(guò)長(cháng),一般必須小于30米。如果因網(wǎng)絡(luò )布線(xiàn)、地理環(huán)境等因素,需要改變CAN-bus網(wǎng)絡(luò )的拓撲結構,則可以通過(guò)CANbridge網(wǎng)橋或CANHub集線(xiàn)器。
在CAN-bus網(wǎng)絡(luò )布線(xiàn)中,必須注意終端電阻的連接。CAN-bus主干線(xiàn)的最遠兩端必須各端接一個(gè)120Ω的終端電阻;主干線(xiàn)上的其它任何CAN-bus節點(diǎn)則不用連接終端電阻。
設定為5Kbps波特率時(shí),使用截面積為Φ1.5 mm2的雙絞線(xiàn),至少可以達到6~7Km的通訊距離。通常,隨著(zhù)通訊距離的加長(cháng),需要適當加大通訊電纜線(xiàn)的截面積。
當網(wǎng)絡(luò )連接設備數量大于110或距離超過(guò)10Km時(shí),在合理位置安裝CANbridge網(wǎng)橋,就可以使CAN-bus網(wǎng)絡(luò )延長(cháng)1倍的通訊距離,并可增加連接220個(gè)的CAN-bus節點(diǎn)數目。
PLC串行通訊協(xié)議
OMRON公司CPM系列中小型PLC的串行通訊使用“命令-應答”通信方式,工控PC可通過(guò)對串口編程的方式與CPM系列PLC實(shí)現數據通信。PC與PLC實(shí)現一次數據交換的過(guò)程,即傳輸的命令和應答之數據總和稱(chēng)為一幀,一幀最多可包含131個(gè)數據字符。
OMRON公司PLC采用HOSTLINK通訊協(xié)議。
HOSTLINK命令幀格式
PC機按HOSTLINK命令幀的格式,向PLC發(fā)送命令。HOSTLINK命令幀見(jiàn)圖2。
圖2 OMRON公司PLC命令幀格式
HOSTLINK命令幀的規定如下:
*@符號必須置于每個(gè)命令的開(kāi)頭;
*節點(diǎn)號,用來(lái)辨識每一臺PLC的節點(diǎn)地址;
*讀/寫(xiě),指明PLC的哪個(gè)寄存器單元,例讀寫(xiě)IR/SR區時(shí)它的識別碼設置分別為RR和WR,讀寫(xiě)DM區分別為RD和WD。
*FCS,設置兩字符的幀檢查順序碼,是一個(gè)轉換成2個(gè)ASCII字符的8位數據,這8位數據為從幀開(kāi)始到正文結束(即FCS之前)所有數據執行“異或”操作的結果。
*終止符設置“*”和回車(chē)兩字符,表示命令結束。
HOSTLINK命令幀可以有最多131個(gè)字符長(cháng)。一個(gè)等于或大于132字符的命令必須分成若干幀。命令分段,使用回車(chē)定界符(CHR $(13))。
HOSTLINK應答幀格式
PLC對于接收到的命令幀,都會(huì )給予數據響應,發(fā)送HOSTLINK應答幀,格式見(jiàn)圖3。
圖3 OMRON公司PLC應答幀格式
識別碼、正文取決于PLC接收到的上位機聯(lián)結命令,結束字表示命令完成的狀態(tài)(即是否有錯誤發(fā)生),當應答幀的長(cháng)度超過(guò)132字符,它必須分成若干幀。
結束字是應答幀中表示PLC應答的信息。結束字代碼為00表示正常結束,13表示FCS錯誤,14表示格式錯誤,15表示入口碼數據錯誤,18表示幀長(cháng)度錯誤,A3表示傳輸數據時(shí)因FCS錯誤引起終止,A8表示傳輸數據時(shí),因幀長(cháng)度錯誤引起終止。
PLC與網(wǎng)關(guān)CAN232MB的連接
CPM系列PLC集成1個(gè)RS-232串行通訊端口,采用DB9孔型插座;CAN232MB轉換器集成1個(gè)RS-232串行通訊端口,也采用DB9孔型插座。
串行通信電纜一端連接CAN232MB轉換器,另一端連接CPM系列PLC。注意,通訊電纜的兩個(gè)DB9端口不可互換。通訊電纜的連接示意如圖 4所示。
圖4 PLC通信電纜的引腳連接
PLC與網(wǎng)關(guān)CAN485MB的連接
OMRON公司的CXP軟件可以在一個(gè)RS-485標準的串行通訊端口上連接多達32臺CPM2A系列PLC設備;每臺PLC設備都需要預先設定一個(gè)唯一的5位地址編號,用于在RS-485網(wǎng)絡(luò )中區分各臺PLC設備。
RS-485標準是一種多點(diǎn)網(wǎng)絡(luò )通訊方式。通過(guò)網(wǎng)關(guān)CAN485MB轉換器,可以建立一個(gè)符合RS-485標準的虛擬串口。CPM2A系列PLC可以借助于RS-232轉RS-485電平轉換器,得到一個(gè)RS-485標準的通訊端口。多臺預設地址編號的PLC可以通過(guò)RS-485串行通訊方式聯(lián)網(wǎng),并與CAN485MB轉換器組成1~32個(gè)節點(diǎn)、1Km距離范圍內、RS-485標準的PLC網(wǎng)絡(luò )。
按上述方式,整個(gè)地區的PLC網(wǎng)絡(luò )可以由多個(gè)網(wǎng)關(guān)CAN485MB轉換器構建面成,而每一個(gè)網(wǎng)關(guān)CAN485MB轉換器都可以組建一個(gè)RS-485標準的小型PLC網(wǎng)絡(luò )構成。這樣,就可以形成大型的星形PLC 網(wǎng)絡(luò )。
PLC網(wǎng)絡(luò )的組態(tài)開(kāi)發(fā)
通過(guò)網(wǎng)關(guān)CAN232MB/CAN485MB轉換器可以建立多個(gè)虛擬串口,用于連接PLC設備。虛擬串口的操作方式與PC標準串口完全相同。
通常的組態(tài)環(huán)境(例如昆侖通態(tài)MCGS、組態(tài)王KingView等)都可以按串行通訊設備驅動(dòng)的方式支持OMRON公司PLC設備的開(kāi)發(fā)。如果組態(tài)環(huán)境可以支持按多串口方式擴展的多臺PLC設備,同樣也可以支持基于現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )的虛擬串口方式構建的串行PLC網(wǎng)絡(luò )。
需要注意的是,串行PLC網(wǎng)絡(luò )基于現場(chǎng)總線(xiàn)CAN-bus而構建,每一條命令幀/響應幀都需要一定的傳輸時(shí)間。例如,當CAN-bus總線(xiàn)的通訊波特率設置為10Kbps時(shí),傳輸30字節的命令幀至少約需60mS傳輸時(shí)間;加上響應幀的延遲,PLC網(wǎng)絡(luò )中的任何一臺PLC與工控PC需要約150mS才能夠執行1次完整的通訊過(guò)程。這一時(shí)間即單臺PLC通訊周期。按此參數計算,當使用1條現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò ),建立有30臺PLC設備構成的PLC網(wǎng)絡(luò )時(shí),工控PC主動(dòng)查詢(xún)一遍所有PLC設備的狀態(tài),大概需要花費約30倍的單臺PLC通訊周期。應用組態(tài)環(huán)境開(kāi)發(fā)PLC網(wǎng)絡(luò )時(shí),用戶(hù)必須重視網(wǎng)絡(luò )的通訊延遲因素,并在組態(tài)環(huán)境中設置相關(guān)的定時(shí)參數;否則,可能會(huì )導致組態(tài)環(huán)境不能夠正常運行。
我們可以通過(guò)一些方法來(lái)提高PLC網(wǎng)絡(luò )的響應速度。解決方法之一是增加CAN-bus網(wǎng)絡(luò )的數量,由此減少每一個(gè)CAN-bus網(wǎng)絡(luò )中的PLC設備數量;另外,提高CAN-bus網(wǎng)絡(luò )的通訊波特率也可以獲得相同的效果,其代價(jià)是會(huì )縮短CAN-bus網(wǎng)絡(luò )的通訊距離。
結語(yǔ)
本文介紹的實(shí)例“通過(guò)現場(chǎng)總線(xiàn)CAN-bus網(wǎng)絡(luò )對多臺PLC進(jìn)行聯(lián)網(wǎng)控制”已經(jīng)通過(guò)了實(shí)際項目的運行考驗,現場(chǎng)作業(yè)的網(wǎng)絡(luò )長(cháng)度達到7Km以上。在系統的實(shí)際運行中,現場(chǎng)總線(xiàn)CAN-bus的穩定性、抗干擾能力得到充分的體現。在這個(gè)工程項目中,不需要改變原有的PC控制平臺,可以將現有控制設備無(wú)縫地嵌入先進(jìn)的現場(chǎng)總線(xiàn)網(wǎng)絡(luò ),構成新一代的DCS分布式控制系統。方案以較低的成本投入,換取了現場(chǎng)自動(dòng)化網(wǎng)絡(luò )的大跨度提升。
參考文獻:
1. Bosch, CAN specification, Version 2.0, 1991, Robert Bosch GmbH
2. 《CiA DS 201-207 V1.1, CAN Application Layer for Industrial Applications》,CiA , 1996
3. 夏繼強等,現場(chǎng)總線(xiàn)工業(yè)控制網(wǎng)絡(luò )技術(shù),北航出版社,2005
4. 構建CAN-bus網(wǎng)絡(luò )中的虛擬串口,周立功公司,2005
數字通信相關(guān)文章:數字通信原理
通信相關(guān)文章:通信原理
雙絞線(xiàn)傳輸器相關(guān)文章:雙絞線(xiàn)傳輸器原理
評論