4. 啟動服務(wù)器,如圖 14 所示。
在“服務(wù)”菜單中啟動虛擬串口服務(wù)器,就可以使已映射的虛擬串口能夠正常通訊。
虛擬串口服務(wù)器的啟動參數(shù)可由用戶設(shè)置,方便系統(tǒng)的日常管理與運行,如圖 15 所示。

圖 15 設(shè)置服務(wù)器的系統(tǒng)參數(shù)
4.2.3 虛擬串口的測試
PC 運行虛擬串口服務(wù)器之后,便在設(shè)備列表中多出了一組虛擬串口;虛擬串口的編號一般會從COM3 開始,具體編號會取決于PC 機的硬件配置。
可以使用超級終端軟件,對新建的虛擬串口進行通信測試。將1 臺測試PC(標識A 機)的標準串口連接到CAN232MB 轉(zhuǎn)換器的RS-232 端口,在另1 臺運行虛擬串口服務(wù)器軟件的測試PC(標識B 機)建立一條CAN-bus 網(wǎng)絡(luò)并連接到CAN232MB 轉(zhuǎn)換器的CAN 端口。
首先,設(shè)置并啟動虛擬串口服務(wù)器。遠程的虛擬串口按以下步驟進行測試:
第一步,A 機和B 機都打開超級終端軟件,設(shè)置所連接的串口屬性,例如將通訊波特率設(shè)為9600bps、數(shù)據(jù)位8、無奇偶校驗、停止位1、無流控制;這些參數(shù)要與CAN232MB轉(zhuǎn)換器的配置參數(shù)一致。
第二步,串行發(fā)送字符測試。在A 機的超級終端窗口中鍵入一些字符,在B 機的超級終端窗口中將會看到這些字符的出現(xiàn)。反之,在B 機的超級終端窗口中鍵入一些字符,在A機的超級終端窗口中也會出現(xiàn)同樣內(nèi)容的字符。
第三步,發(fā)送文件測試。點擊A 機的超級終端軟件菜單“傳送→發(fā)送文件…”,即可以發(fā)送指定的文件到B 機,文件保存在B 機的默認目錄中;反之亦然。
有關(guān)虛擬串口的詳細說明,可以參考虛擬串口服務(wù)器的軟件幫助及技術(shù)文檔《構(gòu)建CAN-bus 網(wǎng)絡(luò)中的虛擬串口》。
5 應(yīng)用實例
在一個實際的油田控制系統(tǒng)中,需要由超過32 臺PLC 組建一個中型PLC 網(wǎng)絡(luò)。每一臺PLC 用于控制一套工作井站的現(xiàn)場設(shè)備。選用PLC 型號為OMRON 公司CPM2A 系列,不支持現(xiàn)場總線CAN-bus 網(wǎng)絡(luò),但集成有1 個RS-232 通訊端口。單臺PLC 之間的最大距離超過了10Km 距離,但這個油田控制系統(tǒng)要求能夠在同一個主控制器上,對每一臺現(xiàn)場的PLC 實時監(jiān)控。由于各個現(xiàn)場PLC 工作點距離很遠,主控制器PC 不可能實現(xiàn)每一臺PLC設(shè)備的單獨電纜連接。因此,將各臺PLC 設(shè)備通過現(xiàn)場總線CAN-bus 網(wǎng)絡(luò)連接,組建一個地區(qū)范圍內(nèi)的PLC 網(wǎng)絡(luò),從而實現(xiàn)PLC 遠程維護、數(shù)據(jù)實時監(jiān)控,既能夠大大提高系統(tǒng)的管理效率,也可以有效地降低網(wǎng)絡(luò)建設(shè)成本。
井站的PLC 設(shè)備集成有1 個RS-232 串行通訊端口,通過CAN232MB 轉(zhuǎn)換器連接到現(xiàn)場總線CAN-bus 網(wǎng)絡(luò)。主控制器PC 內(nèi)置1 塊PC-CAN 接口卡,型號為PCI-9840 接口卡,可以使PC 成為CAN-bus 網(wǎng)絡(luò)中的節(jié)點,能夠同時管理4 路物理獨立的CAN-bus 網(wǎng)絡(luò)。
5.1 CAN-bus 網(wǎng)絡(luò)的相關(guān)概念
現(xiàn)場總線CAN-bus 網(wǎng)絡(luò)的拓撲結(jié)構(gòu)一般使用直線結(jié)構(gòu),如圖 18 所示。所有CAN-bus設(shè)備節(jié)點通過短分支線連接至CAN-bus 網(wǎng)絡(luò)的主干線;短分支線不宜過長,一般必須小于3~6 米。如果因網(wǎng)絡(luò)布線、地理環(huán)境等因素,需要改變CAN-bus 網(wǎng)絡(luò)的拓撲結(jié)構(gòu),則可以通過CANbridge 網(wǎng)橋或CANHub 集線器。
在CAN-bus 網(wǎng)絡(luò)布線中,必須注意終端電阻的連接。CAN-bus 主干線的最遠兩端必須各端接一個120Ω 的終端電阻;主干線上的其它任何CAN-bus 節(jié)點則不用連接終端電阻。
設(shè)定為5Kbps 波特率時,使用截面積為Φ1.5 mm2 的普通雙絞線,CAN-bus 總線至少可以達到6~7Km 的通訊距離。通常,隨著通訊距離的加長,需要適當加大通訊電纜線的截面積。通信距離與波特率的關(guān)系如圖 19 所示。
隨著網(wǎng)絡(luò)中CAN-bus 節(jié)點數(shù)量的增加,最大通訊距離會有所降低,同一條CAN-bus 網(wǎng)絡(luò)中的節(jié)點數(shù)量達到100 個時,最大通訊距離至少會減少20%左右。通過在CAN-bus 網(wǎng)絡(luò)的合理位置安裝CANbridge 網(wǎng)橋,就可以使CAN-bus 網(wǎng)絡(luò)延長1 倍的通訊距離,并可以增加連接1 倍的CAN-bus 節(jié)點數(shù)目。
5.2 PLC 串行通訊協(xié)議
OMRON 公司CPM 系列中小型PLC 的串行通訊使用“命令-應(yīng)答”通信方式,工控PC 可通過對串口編程的方式與CPM 系列PLC 實現(xiàn)數(shù)據(jù)通信。PC 與PLC 實現(xiàn)一次數(shù)據(jù)交換的過程,即傳輸?shù)拿詈蛻?yīng)答之數(shù)據(jù)總和稱為一幀,一幀最多可包含131 個數(shù)據(jù)字符。OMRON 公司PLC 采用HOSTbbbb 通訊協(xié)議。
5.2.1 HOSTbbbb 命令幀格式
PC 機遵循HOSTbbbb 命令幀的格式,向PLC 發(fā)送命令。HOSTbbbb 命令幀如圖 20所示。
HOSTbbbb 命令幀的規(guī)定如下:
●@符號必須置于每個命令的開頭;
●節(jié)點號,用來辨識每一臺PLC 的節(jié)點地址;
●讀/寫,指明PLC 的哪個寄存器單元,例讀寫IR/SR 區(qū)時它的識別碼設(shè)置分別為RR和WR,讀寫DM 區(qū)分別為RD 和WD。
●FCS,設(shè)置兩字符的幀檢查順序碼,是一個轉(zhuǎn)換成2 個ASCII 字符的8 位數(shù)據(jù),這8 位數(shù)據(jù)為從幀開始到正文結(jié)束(即FCS 之前)所有數(shù)據(jù)執(zhí)行“異或”操作的結(jié)果。
●終止符設(shè)置“*”和回車兩字符,表示命令結(jié)束。
HOSTbbbb 命令幀可以有最多131 個字符長。一個等于或大于132 字符的命令必須分成若干幀。命令分段,使用回車定界符(CHR $(13))。
5.2.2 HOSTbbbb 應(yīng)答幀格式
PLC 對于接收到的正確命令幀,都會給予數(shù)據(jù)響應(yīng),發(fā)送HOSTbbbb 應(yīng)答幀,格式如圖 21 所示。
識別碼、正文取決于PLC 接收到的上位機聯(lián)結(jié)命令,結(jié)束字表示命令完成的狀態(tài)(即是否有錯誤發(fā)生),當應(yīng)答幀的長度超過132 字符,它必須分成若干幀。
結(jié)束字是應(yīng)答幀中表示PLC 應(yīng)答的信息。例結(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 根細導(dǎo)線,少量焊接工具。

圖 22 DB9 針連接器和引腳定義
串行通信電纜一端連接CAN232MB 轉(zhuǎn)換器,另一端連接CPM 系列PLC。注意,通訊電纜的兩個DB9 端口不可互換。通訊電纜的連接示意如圖 23 所示。
5.4 CXP 軟件與PLC 通訊
CXP 軟件是OMRON 公司CPM 系列PLC 的集成開發(fā)環(huán)境。這里,將通過CXP 軟件與PLC 的串行通訊功能,對建立的虛擬串口進行測試,驗證PLC 網(wǎng)絡(luò)的可靠性。
打開CX-Programmer 軟件,選擇一個通信端口。例如,選擇剛才由虛擬串口服務(wù)器軟件建立的串口COM3,如圖 24 所示。



圖 24 在CXP 軟件中選擇PLC 通信端口
點擊“PLC”菜單的“自動在線”項目,CXP 軟件會自動查找對應(yīng)的PLC 類型。一旦通過COM3 與PLC 成功建立了通訊連接,就可以對PLC 進行編程、擦除、調(diào)試等操作;這與使用標準串口COM1、COM2 的操作方式完全一致,如圖 25 所示。
5.5 PLC 與網(wǎng)關(guān)CAN485MB 的連接
OMRON 公司的CXP 軟件可以在一個RS-485 標準的串行通訊端口上連接多達32 臺CPM2A 系列PLC 設(shè)備;每臺PLC 設(shè)備都需要預(yù)先設(shè)定一個唯一的5 位地址編號,用于在RS-485 網(wǎng)絡(luò)中區(qū)分各臺PLC 設(shè)備。
RS-485 標準是一種多點網(wǎng)絡(luò)通訊方式。按照前面描述的方式,通過網(wǎng)關(guān)CAN485MB 轉(zhuǎn)換器,可以建立一個符合RS-485 標準的虛擬串口。CPM2A 系列PLC 可以借助于RS-232轉(zhuǎn)RS-485 電平轉(zhuǎn)換器,得到一個RS-485 標準的通訊端口。多臺預(yù)設(shè)地址編號的PLC 可以通過RS-485 串行通訊方式聯(lián)網(wǎng),并與CAN485MB 轉(zhuǎn)換器組成1~32 個節(jié)點、1Km 距離范圍內(nèi)、RS-485 標準的PLC 網(wǎng)絡(luò)。網(wǎng)絡(luò)結(jié)構(gòu)如圖 26 所示。
按上述方式,整個地區(qū)的PLC 網(wǎng)絡(luò)可以由多個網(wǎng)關(guān)CAN485MB 轉(zhuǎn)換器構(gòu)建面成,而每一個網(wǎng)關(guān)CAN485MB 轉(zhuǎn)換器都可以組建一個RS-485 標準的小型PLC 網(wǎng)絡(luò)構(gòu)成。這樣,就可以形成大型的星形PLC 網(wǎng)絡(luò)。
5.6 PLC 網(wǎng)絡(luò)的組態(tài)開發(fā)
通過網(wǎng)關(guān)CAN232MB 轉(zhuǎn)換器或CAN485MB 轉(zhuǎn)換器可以建立多個虛擬串口,用于連接PLC 設(shè)備。虛擬串口的操作方式與PC 標準串口完全相同。
通常的組態(tài)環(huán)境(例如昆侖通態(tài)MCGS、組態(tài)王KingView 等)都可以按串行通訊設(shè)備驅(qū)動的方式支持OMRON 公司PLC 設(shè)備的開發(fā)。如果組態(tài)環(huán)境可以支持按多串口方式擴展的多臺PLC 設(shè)備,同樣也可以支持基于現(xiàn)場總線CAN-bus 網(wǎng)絡(luò)的虛擬串口方式構(gòu)建的串行PLC 網(wǎng)絡(luò)。
需要注意的是,串行PLC 網(wǎng)絡(luò)基于現(xiàn)場總線CAN-bus 而構(gòu)建,每一條命令幀/響應(yīng)幀都需要一定的傳輸時間。例如,當CAN-bus 總線的通訊波特率設(shè)置為10Kbps 時,傳輸30 字節(jié)的命令幀至少約需60mS 傳輸時間;加上響應(yīng)幀的延遲,PLC 網(wǎng)絡(luò)中的任何一臺PLC 與工控PC 需要約150mS 才能夠執(zhí)行1 次完整的通訊過程。這一時間即單臺PLC 通訊周期。按此參數(shù)計算,當使用1 條現(xiàn)場總線CAN-bus 網(wǎng)絡(luò),建立有30 臺PLC 設(shè)備構(gòu)成的PLC 網(wǎng)絡(luò)時,工控PC 主動查詢一遍所有PLC 設(shè)備的狀態(tài),大概需要花費約30 倍的單臺PLC 通訊周期。應(yīng)用組態(tài)環(huán)境開發(fā)PLC 網(wǎng)絡(luò)時,用戶必須重視網(wǎng)絡(luò)的通訊延遲因素,并在組態(tài)環(huán)境中設(shè)置相關(guān)的定時參數(shù);否則,可能會導(dǎo)致組態(tài)環(huán)境不能夠正常運行。
我們可以通過一些方法來提高PLC 網(wǎng)絡(luò)的響應(yīng)速度。解決方法之一是增加CAN-bus 網(wǎng)絡(luò)的數(shù)量,由此減少每一個CAN-bus 網(wǎng)絡(luò)中的PLC 設(shè)備數(shù)量;另外,提高CAN-bus 網(wǎng)絡(luò)的通訊波特率也可以獲得相同的效果,它的代價是會縮短CAN-bus 網(wǎng)絡(luò)的通訊距離。
6 結(jié)束語
本文介紹的實例“通過現(xiàn)場總線CAN-bus 網(wǎng)絡(luò)對多臺PLC 進行聯(lián)網(wǎng)控制”已經(jīng)通過了實際項目的運行考驗,現(xiàn)場作業(yè)的網(wǎng)絡(luò)長度達到7Km 以上。在系統(tǒng)的實際運行中,現(xiàn)場總線CAN-bus 的穩(wěn)定性、抗干擾能力得到充分的體現(xiàn)。在這個工程項目中,不需要改變原有的PC 控制平臺,可以將現(xiàn)有控制設(shè)備無縫地嵌入先進的現(xiàn)場總線網(wǎng)絡(luò),構(gòu)成新一代的DCS分布式控制系統(tǒng)。方案以較低的成本投入,換取了現(xiàn)場自動化網(wǎng)絡(luò)的大跨度提升。在煤礦遠傳、電力通信、石油采集等行業(yè),該方案都有著廣泛的市場,較高的應(yīng)用價值。


















