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