通過現(xiàn)場總線CAN-bus,可以將多達數(shù)十臺的中/小型PLC 聯(lián)網(wǎng),構(gòu)成一個智能PLC 網(wǎng)絡;同時,主控制器可以與指定的遠程PLC 實現(xiàn)遠程配置、控制通訊,以及實現(xiàn)組態(tài)環(huán)境中的應用。
1 PLC 特點與PLC 網(wǎng)絡
可編程控制器簡稱PLC(Programmable Logic Controller),是一種數(shù)字控制專用電子計算機,它使用了可修改的程序存儲器儲存指令,執(zhí)行諸如邏輯、順序、計時、計數(shù)與演算等功能,并通過模擬和數(shù)字輸進、輸出等功能組件,控制各種機械或工作程序。長期以來,PLC一直在各個行業(yè)的自動化控制領域得到廣泛的使用,為各種各樣的自動化設備提供了非?煽康目刂茟。
PLC 系統(tǒng)的工作任務相對簡單,且需要傳輸?shù)臄?shù)據(jù)量一般不會太大,所以常見的PLC系統(tǒng)為一層網(wǎng)絡結(jié)構(gòu)。PLC 一般應用在小型自控場所,比如設備的控制或少量模擬量的控制及聯(lián)鎖。小范圍的集中式控制環(huán)境是PLC 發(fā)揮功能的最佳舞臺。
目前,只有少量型號的PLC 集成有以太網(wǎng)Ethernet 或現(xiàn)場總線CAN-bus 通訊接口,價格也較昂貴;一般常見PLC 型號沒有隨本機集成通訊功能,不便于組建多臺PLC 構(gòu)成的中型控制網(wǎng)絡。但是,隨著應用技術(shù)的發(fā)展,經(jīng)常會出現(xiàn)一些應用場合,在面積較大的范圍內(nèi),需要n 臺PLC 協(xié)同完成一個系統(tǒng)的綜合控制。此時,原有集中控制的單一PLC 控制方案就顯得無可奈何,PLC 網(wǎng)絡的需求也應運而生。
本文提出了一種基于現(xiàn)場總線CAN-bus 的PLC 網(wǎng)絡方案,能夠?qū)Χ嗯_聯(lián)網(wǎng)的PLC 實現(xiàn)遠程配置、數(shù)據(jù)通訊,并能夠在投進較低硬件本錢的基礎上,實現(xiàn)良好的系統(tǒng)運行性能。這個方案也充分發(fā)揮了現(xiàn)場總線CAN-bus 的通訊特點:實時、可靠、高速、遠間隔、易維護等。此方案是現(xiàn)場總線技術(shù)與集中控制技術(shù)的有機結(jié)合,聯(lián)網(wǎng)后的PLC 網(wǎng)絡可以構(gòu)成一個性能優(yōu)秀的DCS 系統(tǒng);用戶在同一個主控制器上可以遠程監(jiān)控、改變?nèi)魏我慌_聯(lián)網(wǎng)PLC 的程序或狀態(tài)。
2 PLC 網(wǎng)絡的幾種方式
通用PLC 一般都會提供1~2 個RS-232 標準或RS-485 標準的通訊端口,用于與其他控制設備或主控制器PC 通訊;這些集成的通訊端口支持自行規(guī)定的通訊協(xié)議,或者Modbus協(xié)議,實現(xiàn)PLC 設備的通訊與配置。構(gòu)建PLC 網(wǎng)絡,即利用PLC 本機的這一類通訊端口,將其擴展成為能夠與多臺設備聯(lián)網(wǎng),實現(xiàn)多點通訊的現(xiàn)場總線CAN-bus 通訊接口。
根據(jù)網(wǎng)絡中主控制器的不同,PLC 網(wǎng)絡可以分為以下方式:
●多臺PLC 聯(lián)網(wǎng),各PLC 地位同等,可外擴HMI 人機界面。
●多臺PLC 聯(lián)網(wǎng),由1 臺工控PC 作為主控制器與操縱界面。
下面將分別描述,從應用區(qū)別、硬件配置、軟件設置等方面加以說明。
2.1 多臺PLC 串行聯(lián)網(wǎng)
通過一個RS-232/RS-485 轉(zhuǎn)CAN-bus 網(wǎng)關(guān)進行信號轉(zhuǎn)換,獨立PLC 就具有了現(xiàn)場總線CAN-bus 通訊接口。多臺具有現(xiàn)場總線CAN-bus 通訊接口的PLC 之間相互連接,即可以組建PLC 網(wǎng)絡。
每一臺連接PLC 單元的RS-232/RS-485 轉(zhuǎn)CAN-bus 網(wǎng)關(guān)都可以設定一個獨立的設備ID號,長度為11 位或29 位,用作為該PLC 單元的地址。每一臺聯(lián)網(wǎng)的PLC 單元在發(fā)送數(shù)據(jù)時,可設定在數(shù)據(jù)流中自動添加本地網(wǎng)關(guān)的設備ID 號;同理,每一臺PLC 單元在接收數(shù)據(jù)時,可設定由網(wǎng)關(guān)檢查數(shù)據(jù)流中的設備ID 號,自動接收符合要求的數(shù)據(jù)。
通過上述方式組建的PLC 網(wǎng)絡,各臺PLC 地位同等,任何一臺PLC 均可以主動發(fā)起數(shù)據(jù)通訊,由CAN-bus 網(wǎng)關(guān)起硬件自動仲裁作用,保障每一次通訊的數(shù)據(jù)不丟失;網(wǎng)絡中的PLC 數(shù)目不受限制,數(shù)百、上千臺PLC 都可以連接在同一現(xiàn)場總線CAN-bus 網(wǎng)絡中。同時,這個PLC 網(wǎng)絡中還可以連接具有CAN-bus 通訊接口的HMI 人機界面,或由其中一臺PLC通過其他的串行通訊端口連接HMI 人機界面。
這種方式建立的PLC 網(wǎng)絡如圖 1 所示。
圖 1 多臺PLC 串行聯(lián)網(wǎng)
采用這種方式組建PLC 網(wǎng)絡,與選擇集成CAN-bus 通訊功能的PLC 設備相比,具有更加靈活的系統(tǒng)擴展能力,也能夠獲得更好的性價比。
2.2 多臺PLC 與工控PC 并行聯(lián)網(wǎng)
工控PC 能夠深進地配合PLC 廠商提供的各種軟件,從而實現(xiàn)更多強大的功能,比如系統(tǒng)配置、人機界面、組態(tài)開發(fā)等,在PLC 領域的作用也越來越不可或缺。通常,工控PC與單臺PLC 通過1 個串口連接通訊,實現(xiàn)各種擴展功能;但串口的通訊間隔、節(jié)點數(shù)目都受到了串口本身的性能限制。比如,RS-232 標準只可以實現(xiàn)“點-點”通訊,RS-485/422標準能夠?qū)崿F(xiàn)32 個節(jié)點以內(nèi)的通訊,但通訊間隔、抗干擾能力都比較弱,并不能夠滿足實際產(chǎn)業(yè)現(xiàn)場多臺PLC 聯(lián)網(wǎng)應用的需求。
工控PC 內(nèi)置PC-CAN 接口卡,可以建立起1 條或者多條現(xiàn)場總線CAN-bus 網(wǎng)絡,并通過連接在CAN-bus 網(wǎng)絡中的網(wǎng)關(guān)RS-232/RS-485 轉(zhuǎn)CAN-bus 轉(zhuǎn)換器,借助于CAN-bus 網(wǎng)絡配套的“虛擬串口”軟件,建立多達2047 個標準的串行通訊端口,從而連接多達2047條串行網(wǎng)絡。也就是說,可以在同1 條普通雙絞線上連接多達2047 臺PLC 設備,工控PC訪問連接在這條CAN-bus 網(wǎng)絡上的PLC 設備,也與操縱標準串口完全一致。這種方式可以充分發(fā)揮工控PC 的作用,通訊效率也比較高。
通過工控PC 組建多臺PLC 網(wǎng)絡的系統(tǒng)結(jié)構(gòu)如圖 2 所示。按這一種方式的建立PLC 網(wǎng)
絡的通訊效率較高,應用靈活,是一般PLC 網(wǎng)絡建設的主流方向。
圖 2 多臺PLC 與工控PC 并行聯(lián)網(wǎng)
3 PLC 網(wǎng)絡的硬件組成與連接
建立PLC 網(wǎng)絡,除了實現(xiàn)具體功能的PLC 設備,還需要一些建立現(xiàn)場總線CAN-bus網(wǎng)絡的設備,主要有RS-232 轉(zhuǎn)CAN-bus 網(wǎng)關(guān)、PC-CAN 接口卡等。下面將扼要先容一下這些設備。
3.1 RS-232 轉(zhuǎn)CAN-bus 網(wǎng)關(guān)
CAN232MB 轉(zhuǎn)換器即一種常用型號的RS-232 轉(zhuǎn)CAN-bus 網(wǎng)關(guān)。
CAN232MB 轉(zhuǎn)換器集成有1 個RS-232 通道、1 個CAN-bus 通道,可以很方便地連接到PLC 設備的RS-232 標準通訊端口,使PLC 設備具有與現(xiàn)場總線CAN-bus 網(wǎng)絡通訊的能力。CAN232MB 轉(zhuǎn)換器提供三種工作模式——透明轉(zhuǎn)換、透明帶標識轉(zhuǎn)換、Modbus 協(xié)議轉(zhuǎn)換,分別可以支持不同通訊協(xié)議的PLC 設備。
CAN232MB 轉(zhuǎn)換器的RS-232 通道支持多種通訊波特率,范圍是600bps~115200bps。CAN-bus 通道支持國際主流的15 種標準通訊波特率,也支持用戶自定義波特率,波特率范圍為5Kbps~1Mbps。CAN232MB 轉(zhuǎn)換器內(nèi)設1024 字節(jié)的數(shù)據(jù)緩沖區(qū);一般工作模式中,用戶可以軟件設定CAN232MB 轉(zhuǎn)換器的CAN-bus 通訊波特率為RS-232 波特率的2 倍以上,用以保證大批量數(shù)據(jù)傳輸時數(shù)據(jù)緩沖區(qū)不致溢出。
通過PC 配置軟件,CAN232MB 轉(zhuǎn)換器可設定一個獨立的11 位或29 位設備ID 號,可以用作為該網(wǎng)關(guān)所連接PLC 設備的地址編號,并對往來串口的數(shù)據(jù)流加以標注或識別。
CAN232MB 轉(zhuǎn)換器滿足產(chǎn)業(yè)級溫度范圍(-40℃~+85℃),內(nèi)置硬件雙看門狗,能夠在惡劣的工作環(huán)境中連續(xù)運行。
圖 3 CAN232MB 轉(zhuǎn)換器
對于只集成有RS-485/422 通訊端口的PLC 設備,可以選擇RS-485 轉(zhuǎn)CAN-bus 網(wǎng)關(guān);類似的產(chǎn)品型號有CAN485MB 轉(zhuǎn)換器,基本功能與CAN232MB 轉(zhuǎn)換器一致。
3.2 PC-CAN 接口卡
工控PC 內(nèi)置或外接PC-CAN 接口卡,可以令工控PC 具有現(xiàn)場總線CAN-bus 通訊接口,從而成為CAN-bus 網(wǎng)絡中的一個主要功能節(jié)點。
根據(jù)與PC 連接方式的不同,PC-CAN 接口卡可以分為很多種不同的類型,常見的型號有PCI-CAN 接口卡、ISA-CAN 接口卡、PC104-CAN 接口卡、USBCAN 接口卡、以太網(wǎng)轉(zhuǎn)CAN 接口卡,等等。根據(jù)型號的不同,同一個PC-CAN 接口卡可以集成1~4 個CAN-bus通道,同一PC 可以連接多達8 塊PC-CAN 接口卡,從而可以使同一臺PC 連接多個現(xiàn)場總線CAN-bus 網(wǎng)絡。
PC-CAN 接口卡一般都提供有強大的軟件支持,其中包括CAN-bus 測試工具、多語言版本(VC++、VB、Delphi、C++Builder)的API 開發(fā)例程,也提供有支持組態(tài)開發(fā)的OPC 服務器軟件,方便用戶針對不同的產(chǎn)品項目開發(fā)具體的應用程序。另外,支持工控PC 與多臺PLC 聯(lián)網(wǎng)的“虛擬串口服務器”軟件可以令用戶在不用修改原有PC 軟件的基礎上,開發(fā)新項目的實際應用。
根據(jù)不同的應用場合、參數(shù)需求,可以有多種不同型號的PC-CAN 接口卡適用。圖 4為一些經(jīng)常使用的PC-CAN 接口卡。
圖 4 常見型號的PC-CAN 接口卡
3.3 通訊附件
通訊電纜是現(xiàn)場總線CAN-bus 網(wǎng)絡的重要組件。通訊電纜的公道選擇,對CAN-bus 網(wǎng)絡的通訊間隔也有非常重要的影響。
使用國標AWG18(截面積為Φ0.75 mm2)的普通雙絞線作為CAN-bus 網(wǎng)絡的通訊電纜,一般可以保證在1Km 間隔下實現(xiàn)可靠通訊;使用截面積為Φ1.5 mm2 的普通雙絞線,則可以達到6~7Km 的通訊間隔。通常,隨通訊間隔的加長,需要適當加大通訊電纜線的截面積。
現(xiàn)場總線CAN-bus 網(wǎng)絡在布線時,必須留意終端電阻的連接。主干線的最遠兩端必須各連接一個120Ω 的終端電阻,對于主干線上的其它任何CAN-bus 節(jié)點設備,則不用接終端電阻;假如使用了CANbridge 網(wǎng)橋分割成多個物理獨立的CAN-bus 子網(wǎng),同樣要在每個CAN-bus 子網(wǎng)的最遠兩端各接一個120Ω 的終端電阻。
另外,CAN-bus 網(wǎng)絡的分支線不宜過長,建議每一條連接PLC 設備的分支線長度小于3 米;為保障可靠的連接,分支線宜采用焊接或緊密絞接的方式,以保障CAN-bus 網(wǎng)絡中的等效阻抗不超出答應的范圍。
4 PLC 網(wǎng)絡的軟件配置與設置
連接PLC 設備的RS-232 轉(zhuǎn)CAN-bus 網(wǎng)關(guān)需要配置一些運行參數(shù),以保障PLC 網(wǎng)絡中的每一臺PLC 設備都可以正常運行。配置參數(shù)包括網(wǎng)關(guān)的運行方式、RS-232 通訊波特率、CAN-bus 通訊波特率、設備ID 號等。
我們以組建一個OMRON 公司多臺PLC 設備的PLC 網(wǎng)絡為例,具體說明各功能軟件的配置過程。
4.1 RS232 轉(zhuǎn)CAN-bus 網(wǎng)關(guān)的配置
將CAN232MB 轉(zhuǎn)換器的CFG 引腳與GND 引腳短接,CAN232MB 即進進配置方式,可以通過隨機光盤的PC 配置軟件設置工作參數(shù)。
根據(jù)OMRON 公司PLC 設備的RS-232 端口數(shù)據(jù)格式,CAN232MB 轉(zhuǎn)換器應按以下步驟進行配置。
1. 配置網(wǎng)關(guān)的數(shù)據(jù)轉(zhuǎn)換方式,如圖 5 所示。
圖 5 配置網(wǎng)關(guān)的轉(zhuǎn)換方式
轉(zhuǎn)換模式為“雙向透明轉(zhuǎn)換”方式,透明轉(zhuǎn)換即意味著兩種通訊接口的接收數(shù)據(jù)不作任何修改的傳遞給對方通道。
2. 配置網(wǎng)關(guān)的串口通訊格式,如圖 6 所示。
圖 6 配置網(wǎng)關(guān)的串口通訊參數(shù)
根據(jù)PLC 設備的RS-232 參數(shù),設定RS-232 通道的波特率參數(shù);示例中為9600bps,與PLC 的運行參數(shù)一致。
3. 配置網(wǎng)關(guān)的CAN 通訊參數(shù),如圖 7 所示。
圖 7 配置網(wǎng)關(guān)的CAN-bus 通訊參數(shù)
CAN 通道的波特率主要是考慮CAN-bus 網(wǎng)絡的最遠通訊間隔;另外,CAN-bus 網(wǎng)絡中所有設備的CAN-bus 通訊波特率必須一致,也與PC-CAN 接口卡的波特率設置一致。
發(fā)送標識符設置為十六進制的0x03 值,表示網(wǎng)關(guān)發(fā)送的CAN-bus 標準報文ID 為0x03值;過濾驗收碼設置成0x03 值,表示網(wǎng)關(guān)只能接收報文ID 為0x03 的標準報文。當使用虛擬串口通訊方式時,這兩個設置值必須為同一個值。留意,這里的數(shù)值0x03 與下一步配置虛擬串口時的虛擬串口號設置一致。也就是說,該網(wǎng)關(guān)設備所映射的虛擬串口號必須為COM3。同理,設置為0x04 值的網(wǎng)關(guān)設備所對應的虛擬串口號為COM4,以此類推。
4. 設置好參數(shù)后,點擊“寫配置”按鈕,如圖 8 所示。
圖 8 成功寫進網(wǎng)關(guān)的配置參數(shù)
然后,往除連接在CFG 引腳與GND 引腳之間的短路線,給CAN232MB 轉(zhuǎn)換器重新上電,使剛才的配置參數(shù)生效。網(wǎng)關(guān)CAN232MB 轉(zhuǎn)換器的設置即告完成。
4.2 虛擬串口的配置
在多臺PLC 與工控PC 并行聯(lián)網(wǎng)的應用場合,通過虛擬串口服務器軟件,工控PC 可以沿用標準串口通訊的方式,訪問連接在CAN-bus 網(wǎng)絡中的各臺PLC 設備。
4.2.1 虛擬串口服務器軟件
虛擬串口服務器,顧名思義,通過運行此虛擬串口服務器軟件,可以在PC 上構(gòu)建一個或多個虛擬串口。這些虛擬串口的操縱和真實串口操縱一樣,只是在用戶調(diào)用虛擬串口的軟件內(nèi)部,PC 通過所連接的PC-CAN 系列接口卡把串口通訊數(shù)據(jù)傳輸?shù)紺AN-bus 網(wǎng)絡,并且由連接在CAN-bus 網(wǎng)絡中的RS-232 轉(zhuǎn)CAN-bus 網(wǎng)關(guān)(例如CAN232MB 轉(zhuǎn)換器),再次將CAN-bus 數(shù)據(jù)再轉(zhuǎn)成RS-232 串口數(shù)據(jù),這樣就實現(xiàn)了PC 和遠程串口之間的無縫透明銜接,使遠程虛擬串口的操縱與應用看起來與本地串口沒什么不同。一般情況下,PC 串口程序升級到操縱遠程虛擬串口時,基本無需進行任何修改,只需改變軟件操縱的串口號即可。
虛擬串口服務器的軟件功能如下所列:
1. 支持操縱系統(tǒng)Win2000/XP/2003;
2. 可添加多達2047 個虛擬串口;
3. 可以動態(tài)添加設備映射到任意已安裝的虛擬串口上,也可以動態(tài)刪除映射到任意虛擬串口上的設備;
4. 可保存當前配置到文件中;
5. 可設置服務器啟動條件(比如開機自啟動),也可以設置啟動時的默認配置。
虛擬串口服務器的應用如圖 9 所示。
圖 9 用于CAN 的虛擬串口服務器軟件
4.2.2 虛擬串口軟件設置
由于OMRON 公司系列PLC 設備的串口通訊格式(7/2/1/Even)與通常的PC 軟件串口通訊格式(8/1/1/None)有所區(qū)別,工控PC 需要運行用專門用于OMRON 公司PLC 的虛擬串口服務器“ZVComCANMgr(for OMRON PLC)”軟件。具體按以下步驟,在PC 上進行虛擬串口服務器軟件的設置。
1. 點擊“文件”菜單,新建一項配置;配置文件命名為OMRON_PLC,如圖 10 所示。
圖 10 新建一個配置文件
2. 建立虛擬串口,如圖 11 所示。
圖 11 建立虛擬串口的操縱
建立虛擬串口時,首先選擇需要創(chuàng)建的虛擬串口數(shù)目。在“虛擬串口數(shù)”右邊的下拉框中,選擇需要建立的虛擬串口數(shù)目,值為0~2047,其中選擇0 表示不建立虛擬串口。如圖11 所示,列表數(shù)值為“10”表示選擇建立10 個虛擬串口設備。在“虛擬串口數(shù)”設置完成后,下一步點擊“創(chuàng)建虛擬虛擬串口”按鈕;PC 即自動加載驅(qū)動,完成虛擬串口設備的添加過程。這時,用戶可從計算機的設備列表中查找到這些新增的虛擬串口設備,如圖 12 所示。
圖 12 設備列表中新建的虛擬串口設備
3. 映射端口,如圖 13 所示。
虛擬串口建立之后,在“未映射串口”列表中顯示PC 已創(chuàng)建的虛擬串口號。此時,點擊“添加”(用于添加單個虛擬串口)或“批量添加”(用于添加所有的虛擬串口),將指定的虛擬串口與CAN-bus 網(wǎng)絡捆綁屬性,并添加到“已映射串口”列表中。
圖 13 添加到“已映射串口”
4. 啟動服務器,如圖 14 所示。
在“服務”菜單中啟動虛擬串口服務器,就可以使已映射的虛擬串口能夠正常通訊。
圖 14 啟動虛擬串口服務器
虛擬串口服務器的啟動參數(shù)可由用戶設置,方便系統(tǒng)的日常治理與運行,如圖 15 所示。
圖 15 設置服務器的系統(tǒng)參數(shù)
4.2.3 虛擬串口的測試
PC 運行虛擬串口服務器之后,便在設備列表中多出了一組虛擬串口;虛擬串口的編號一般會從COM3 開始,具體編號會取決于PC 機的硬件配置。
可以使用超級終端軟件,對新建的虛擬串口進行通訊測試。將1 臺測試PC(標識A 機)的標準串口連接到CAN232MB 轉(zhuǎn)換器的RS-232 端口,在另1 臺運行虛擬串口服務器軟件的測試PC(標識B 機)建立一條CAN-bus 網(wǎng)絡并連接到CAN232MB 轉(zhuǎn)換器的CAN 端口。
首先,設置并啟動虛擬串口服務器。遠程的虛擬串口按以下步驟進行測試:
第一步,A 機和B 機都打開超級終端軟件,設置所連接的串口屬性,例如將通訊波特率設為9600bps、數(shù)據(jù)位8、無奇偶校驗、停止位1、無流控制;這些參數(shù)要與CAN232MB轉(zhuǎn)換器的配置參數(shù)一致。
第二步,串行發(fā)送字符測試。在A 機的超級終端窗口中鍵進一些字符,在B 機的超級終端窗口中將會看到這些字符的出現(xiàn)。反之,在B 機的超級終端窗口中鍵進一些字符,在A機的超級終端窗口中也會出現(xiàn)同樣內(nèi)容的字符。
圖 16 虛擬串口的串行發(fā)送字符測試
第三步,發(fā)送文件測試。點擊A 機的超級終端軟件菜單“傳送→發(fā)送文件…”,即可以發(fā)送指定的文件到B 機,文件保存在B 機的默認目錄中;反之亦然。
圖 17 虛擬串口的串行發(fā)送文件測試
有關(guān)虛擬串口的具體說明,可以參考虛擬串口服務器的軟件幫助及技術(shù)文檔《構(gòu)建CAN-bus 網(wǎng)絡中的虛擬串口》。
5 應用實例
在一個實際的油田控制系統(tǒng)中,需要由超過32 臺PLC 組建一個中型PLC 網(wǎng)絡。每一臺PLC 用于控制一套工作井站的現(xiàn)場設備。選用PLC 型號為OMRON 公司CPM2A 系列,不支持現(xiàn)場總線CAN-bus 網(wǎng)絡,但集成有1 個RS-232 通訊端口。單臺PLC 之間的最大間隔超過了10Km 間隔,但這個油田控制系統(tǒng)要求能夠在同一個主控制器上,對每一臺現(xiàn)場的PLC 實時監(jiān)控。由于各個現(xiàn)場PLC 工作點間隔很遠,主控制器PC 不可能實現(xiàn)每一臺PLC設備的單獨電纜連接。因此,將各臺PLC 設備通過現(xiàn)場總線CAN-bus 網(wǎng)絡連接,組建一個地區(qū)范圍內(nèi)的PLC 網(wǎng)絡,從而實現(xiàn)PLC 遠程維護、數(shù)據(jù)實時監(jiān)控,既能夠大大進步系統(tǒng)的治理效率,也可以有效地降低網(wǎng)絡建設本錢。
井站的PLC 設備集成有1 個RS-232 串行通訊端口,通過CAN232MB 轉(zhuǎn)換器連接到現(xiàn)場總線CAN-bus 網(wǎng)絡。主控制器PC 內(nèi)置1 塊PC-CAN 接口卡,型號為PCI-9840 接口卡,可以使PC 成為CAN-bus 網(wǎng)絡中的節(jié)點,能夠同時治理4 路物理獨立的CAN-bus 網(wǎng)絡。
5.1 CAN-bus 網(wǎng)絡的相關(guān)概念
現(xiàn)場總線CAN-bus 網(wǎng)絡的拓撲結(jié)構(gòu)一般使用直線結(jié)構(gòu),如圖 18 所示。所有CAN-bus設備節(jié)點通過短分支線連接至CAN-bus 網(wǎng)絡的主干線;短分支線不宜過長,一般必須小于3~6 米。假如因網(wǎng)絡布線、地理環(huán)境等因素,需要改變CAN-bus 網(wǎng)絡的拓撲結(jié)構(gòu),則可以通過CANbridge 網(wǎng)橋或CANHub 集線器。
圖 18 CAN-bus 網(wǎng)絡的拓撲結(jié)構(gòu)
在CAN-bus 網(wǎng)絡布線中,必須留意終端電阻的連接。CAN-bus 主干線的最遠兩端必須各端接一個120Ω 的終端電阻;主干線上的其它任何CAN-bus 節(jié)點則不用連接終端電阻。
設定為5Kbps 波特率時,使用截面積為Φ1.5 mm2 的普通雙絞線,CAN-bus 總線至少可以達到6~7Km 的通訊間隔。通常,隨著通訊間隔的加長,需要適當加大通訊電纜線的截面積。通訊間隔與波特率的關(guān)系如圖 19 所示。
圖 19 CAN-bus 網(wǎng)絡的波特率與通訊間隔的關(guān)系
隨著網(wǎng)絡中CAN-bus 節(jié)點數(shù)目的增加,最大通訊間隔會有所降低,同一條CAN-bus 網(wǎng)絡中的節(jié)點數(shù)目達到100 個時,最大通訊間隔至少會減少20%左右。通過在CAN-bus 網(wǎng)絡的公道位置安裝CANbridge 網(wǎng)橋,就可以使CAN-bus 網(wǎng)絡延長1 倍的通訊間隔,并可以增加連接1 倍的CAN-bus 節(jié)點數(shù)目。
5.2 PLC 串行通訊協(xié)議
OMRON 公司CPM 系列中小型PLC 的串行通訊使用“命令-應答”通訊方式,工控PC 可通過對串口編程的方式與CPM 系列PLC 實現(xiàn)數(shù)據(jù)通訊。PC 與PLC 實現(xiàn)一次數(shù)據(jù)交換的過程,即傳輸?shù)拿詈蛻鹬當?shù)據(jù)總和稱為一幀,一幀最多可包含131 個數(shù)據(jù)字符。OMRON 公司PLC 采用HOSTLINK 通訊協(xié)議。
5.2.1 HOSTLINK 命令幀格式
PC 機遵循HOSTLINK 命令幀的格式,向PLC 發(fā)送命令。HOSTLINK 命令幀如圖 20所示。
圖 20 OMRON 公司PLC 命令幀格式
HOSTLINK 命令幀的規(guī)定如下:
●@符號必須置于每個命令的開頭;
●節(jié)點號,用來辨識每一臺PLC 的節(jié)點地址;
●讀/寫,指明PLC 的哪個寄存器單元,例讀寫IR/SR 區(qū)時它的識別碼設置分別為RR和WR,讀寫DM 區(qū)分別為RD 和WD。
●FCS,設置兩字符的幀檢查順序碼,是一個轉(zhuǎn)換成2 個ASCII 字符的8 位數(shù)據(jù),這8 位數(shù)據(jù)為從幀開始到正文結(jié)束(即FCS 之前)所有數(shù)據(jù)執(zhí)行“異或”操縱的結(jié)果。
●終止符設置“*”和回車兩字符,表示命令結(jié)束。
HOSTLINK 命令幀可以有最多131 個字符長。一個即是或大于132 字符的命令必須分成若干幀。命令分段,使用回車定界符(CHR $(13))。
5.2.2 HOSTLINK 應答幀格式
PLC 對于接收到的正確命令幀,都會給予數(shù)據(jù)響應,發(fā)送HOSTLINK 應答幀,格式如圖 21 所示。
圖 21 OMRON 公司PLC 應答幀格式
識別碼、正文取決于PLC 接收到的上位機聯(lián)結(jié)命令,結(jié)束字表示命令完成的狀態(tài)(即是否有錯誤發(fā)生),當應答幀的長度超過132 字符,它必須分成若干幀。
結(jié)束字是應答幀中表示PLC 應答的信息。例結(jié)束字代碼為00 表示正常結(jié)束,13 表示FCS 錯誤,14 表示格式錯誤,15 表示進口碼數(shù)據(jù)錯誤,18 表示幀長度錯誤,A3 表示傳輸數(shù)據(jù)時因FCS 錯誤引起終止,A8 表示傳輸數(shù)據(jù)時,因幀長度錯誤引起終止。
5.3 PLC 與網(wǎng)關(guān)CAN232MB 的連接
CPM 系列PLC 集成1 個RS-232 串行通訊端口,采用DB9 孔型插座;CAN232MB 轉(zhuǎn)換器集成1 個RS-232 串行通訊端口,也采用DB9 孔型插座。
按下面的連接方法,可以快速制作CPM 系列PLC 與網(wǎng)關(guān)CAN232MB 之間連接的通訊電纜;此通訊電纜也可用于PC 與OMRON 公司PLC 之間通訊。制作材料包括兩個DB9 針型直腳連接器,3 根細導線,少量焊接工具。
圖 22 DB9 針連接器和引腳定義
串行通訊電纜一端連接CAN232MB 轉(zhuǎn)換器,另一端連接CPM 系列PLC。留意,通訊電纜的兩個DB9 端口不可互換。通訊電纜的連接示意如圖 23 所示。
圖 23 PLC 通訊電纜的引腳連接
5.4 CXP 軟件與PLC 通訊
CXP 軟件是OMRON 公司CPM 系列PLC 的集成開發(fā)環(huán)境。這里,將通過CXP 軟件與PLC 的串行通訊功能,對建立的虛擬串口進行測試,驗證PLC 網(wǎng)絡的可靠性。
打開CX-Programmer 軟件,選擇一個通訊端口。例如,選擇剛才由虛擬串口服務器軟件建立的串口COM3,如圖 24 所示。
圖 24 在CXP 軟件中選擇PLC 通訊端口
點擊“PLC”菜單的“自動在線”項目,CXP 軟件會自動查找對應的PLC 類型。一旦通過COM3 與PLC 成功建立了通訊連接,就可以對PLC 進行編程、擦除、調(diào)試等操縱;這與使用標準串口COM1、COM2 的操縱方式完全一致,如圖 25 所示。
圖 25 通過虛擬串口對PLC 進行遠程配置
5.5 PLC 與網(wǎng)關(guān)CAN485MB 的連接
OMRON 公司的CXP 軟件可以在一個RS-485 標準的串行通訊端口上連接多達32 臺CPM2A 系列PLC 設備;每臺PLC 設備都需要預先設定一個唯一的5 位地址編號,用于在RS-485 網(wǎng)絡中區(qū)分各臺PLC 設備。
RS-485 標準是一種多點網(wǎng)絡通訊方式。按照前面描述的方式,通過網(wǎng)關(guān)CAN485MB 轉(zhuǎn)換器,可以建立一個符合RS-485 標準的虛擬串口。CPM2A 系列PLC 可以借助于RS-232轉(zhuǎn)RS-485 電平轉(zhuǎn)換器,得到一個RS-485 標準的通訊端口。多臺預設地址編號的PLC 可以通過RS-485 串行通訊方式聯(lián)網(wǎng),并與CAN485MB 轉(zhuǎn)換器組成1~32 個節(jié)點、1Km 間隔范圍內(nèi)、RS-485 標準的PLC 網(wǎng)絡。網(wǎng)絡結(jié)構(gòu)如圖 26 所示。
圖 26 由網(wǎng)關(guān)CAN485MB 組建小型PLC 網(wǎng)絡
按上述方式,整個地區(qū)的PLC 網(wǎng)絡可以由多個網(wǎng)關(guān)CAN485MB 轉(zhuǎn)換器構(gòu)建面成,而每一個網(wǎng)關(guān)CAN485MB 轉(zhuǎn)換器都可以組建一個RS-485 標準的小型PLC 網(wǎng)絡構(gòu)成。這樣,就可以形成大型的星形PLC 網(wǎng)絡。
5.6 PLC 網(wǎng)絡的組態(tài)開發(fā)
通過網(wǎng)關(guān)CAN232MB 轉(zhuǎn)換器或CAN485MB 轉(zhuǎn)換器可以建立多個虛擬串口,用于連接PLC 設備。虛擬串口的操縱方式與PC 標準串口完全相同。
通常的組態(tài)環(huán)境(例如昆侖通態(tài)MCGS、組態(tài)王KingView 等)都可以按串行通訊設備驅(qū)動的方式支持OMRON 公司PLC 設備的開發(fā)。假如組態(tài)環(huán)境可以支持按多串口方式擴展的多臺PLC 設備,同樣也可以支持基于現(xiàn)場總線CAN-bus 網(wǎng)絡的虛擬串口方式構(gòu)建的串行PLC 網(wǎng)絡。
需要留意的是,串行PLC 網(wǎng)絡基于現(xiàn)場總線CAN-bus 而構(gòu)建,每一條命令幀/響應幀都需要一定的傳輸時間。例如,當CAN-bus 總線的通訊波特率設置為10Kbps 時,傳輸30 字節(jié)的命令幀至少約需60mS 傳輸時間;加上響應幀的延遲,PLC 網(wǎng)絡中的任何一臺PLC 與工控PC 需要約150mS 才能夠執(zhí)行1 次完整的通訊過程。這一時間即單臺PLC 通訊周期。按此參數(shù)計算,當使用1 條現(xiàn)場總線CAN-bus 網(wǎng)絡,建立有30 臺PLC 設備構(gòu)成的PLC 網(wǎng)絡時,工控PC 主動查詢一遍所有PLC 設備的狀態(tài),大概需要花費約30 倍的單臺PLC 通訊周期。應用組態(tài)環(huán)境開發(fā)PLC 網(wǎng)絡時,用戶必須重視網(wǎng)絡的通訊延遲因素,并在組態(tài)環(huán)境中設置相關(guān)的定時參數(shù);否則,可能會導致組態(tài)環(huán)境不能夠正常運行。
我們可以通過一些方法來進步PLC 網(wǎng)絡的響應速度。解決方法之一是增加CAN-bus 網(wǎng)絡的數(shù)目,由此減少每一個CAN-bus 網(wǎng)絡中的PLC 設備數(shù)目;另外,進步CAN-bus 網(wǎng)絡的通訊波特率也可以獲得相同的效果,它的代價是會縮短CAN-bus 網(wǎng)絡的通訊間隔。
6 結(jié)束語
本文先容的實例“通過現(xiàn)場總線CAN-bus 網(wǎng)絡對多臺PLC 進行聯(lián)網(wǎng)控制”已經(jīng)通過了實際項目的運行考驗,現(xiàn)場作業(yè)的網(wǎng)絡長度達到7Km 以上。在系統(tǒng)的實際運行中,現(xiàn)場總線CAN-bus 的穩(wěn)定性、抗干擾能力得到充分的體現(xiàn)。在這個工程項目中,不需要改變原有的PC 控制平臺,可以將現(xiàn)有控制設備無縫地嵌進先進的現(xiàn)場總線網(wǎng)絡,構(gòu)成新一代的DCS分布式控制系統(tǒng)。方案以較低的本錢投進,換取了現(xiàn)場自動化網(wǎng)絡的大跨度提升。在煤礦遠傳、電力通訊、石油采集等行業(yè),該方案都有著廣泛的市場,較高的應用價值。