構建CAN-bus網(wǎng)絡(luò )中的虛擬串口
在工業(yè)串行通訊領(lǐng)域中,RS-232與RS-485都是會(huì )被經(jīng)常用到的數據傳輸標準之一。例如,普通PC一般會(huì )提供1~4個(gè)標準RS-232端口,分別被標注為COM1~COM4端口。用戶(hù)可以通過(guò)這些現成的RS-232端口連接外部設備,比如鍵盤(pán)、IC讀卡器、條碼閱讀器、數字化儀、打印機、數據記錄儀,或者由用戶(hù)自己定制的串行通訊儀器,等等。操作或編程這些標準的COM端口也是非常方便的,因為市場(chǎng)上有眾多的串口軟件調試工具可供通訊測試,也有功能齊全的DLL程序開(kāi)發(fā)庫可供編程時(shí)調用。
但是,傳統RS-232串行通訊存在著(zhù)數據可靠性、通訊距離、端口數量等多個(gè)方面的限制。例如,在工業(yè)控制等現場(chǎng)環(huán)境中,常會(huì )有電氣噪聲干擾傳輸線(xiàn)路,使用RS-232通訊時(shí)經(jīng)常因外界的電氣干擾而導致信號傳輸錯誤;其次,在不增加緩沖器的情況下,RS-232通訊的最大傳輸距離只可以達到15米;還有,同1個(gè)RS-232端口只能夠連接1個(gè)RS-232通訊設備。上述因素大大限制了RS-232通訊的應用領(lǐng)域。
本文介紹了一種簡(jiǎn)單、可靠的方法,通過(guò)利用ZLGCAN接口卡、CAN232MB轉換器等設備,可以在1條普通雙絞線(xiàn)上連接多達2048個(gè)RS-232設備,通訊距離可以長(cháng)達10公里甚至更遠的距離。
下面,先介紹實(shí)現遠程RS-232通訊的設備驅動(dòng)軟件:虛擬串口服務(wù)器,即VCOM服務(wù)器。虛擬串口服務(wù)器是一款專(zhuān)用的配置工具;運行此服務(wù)器軟件,即可以在同一臺PC上安裝一個(gè)或多個(gè)虛擬串口,虛擬串口的數目可以多達2048個(gè)。這些虛擬串口可以同真實(shí)串口執行完全一致的操作;實(shí)際上,通過(guò)普通雙絞線(xiàn)構成的CAN-bus網(wǎng)絡(luò ),在這些虛擬串口上通訊的數據被快速映射到CAN-bus網(wǎng)絡(luò )中遠端CAN232MB轉換器的RS-232通訊端口。這樣,在同一CAN-bus網(wǎng)絡(luò )中連接n個(gè)CAN232MB轉換器,即可以映射成本地的n個(gè)遠程虛擬串口。通過(guò)軟件的無(wú)縫銜接,遠程虛擬串口和本地串口在操作上并不存在任何差異。例如,將一些設備的串口程序升級到通過(guò)遠程虛擬串口來(lái)實(shí)現時(shí),升級軟件可以不作任何修改,只需在打開(kāi)串口時(shí)設定所操作的遠程虛擬串口號,就可以實(shí)現正常的串行數據通訊。
虛擬串口的建立
下面以一個(gè)提供8個(gè)串口的虛擬串口網(wǎng)絡(luò )實(shí)例為原型,說(shuō)明如何在同一臺PC建立多個(gè)虛擬串口,并且提供了虛擬串口測試網(wǎng)絡(luò )的實(shí)現方法。如需要建立更多數目的虛擬串口,可以參考建立上述網(wǎng)絡(luò )的方法,步驟基本一致;只需要在CAN-bus網(wǎng)絡(luò )中增加CAN232MB轉換器的數目,并通過(guò)軟件適當配置參數即可以工作。
虛擬串口服務(wù)器可以在安裝PCI-9810/9820/9840接口卡的PC上添加多達2048個(gè)遠程虛擬串口。
同一臺PC上可安裝多塊CAN接口卡。無(wú)論安裝有多少塊CAN卡,虛擬串口服務(wù)器都會(huì )把它們統一管理起來(lái)。不同的CAN接口卡以及同一塊CAN接口卡上的不同CAN通道將共同分享0~2048的CANID號。每一個(gè)ID號對應一個(gè)串口號,這樣CAN-bus網(wǎng)絡(luò )中的任一個(gè)CAN232MB轉換器就對應著(zhù)PC上的一個(gè)虛擬串口。
例如,當前PC上安裝了一個(gè)虛擬串口,名稱(chēng)為COM33。用戶(hù)向COM33端口寫(xiě)入的數據將直接送到CAN-bus網(wǎng)絡(luò )中,由一個(gè)ID設置為33值的CAN232MB轉換器接收,并在其RS-232端口輸出;同理,連接到ID設置為33值的CAN232MB轉換器的用戶(hù)RS-232設備所發(fā)出的數據,將通過(guò)CAN-bus網(wǎng)絡(luò )送到PC機,保存在PC上虛擬串口COM33的數據緩沖區內。當用戶(hù)讀取COM33數據的時(shí)候,虛擬串口服務(wù)器就把這些數據返回給用戶(hù)。
上圖所示的CAN-bus網(wǎng)絡(luò )中連接有8個(gè)CAN232MB轉換器,每個(gè)CAN232MB轉換器的串口都被映射成第1臺工作PC的1個(gè)虛擬串口,共8個(gè)虛擬串口;每個(gè)串口都和MOXA多串口卡(型號:CP-168U8路多串口卡)的其中一個(gè)串口相連,用于提供各個(gè)串口數據的測試與驗證。同時(shí),第1臺工作PC安裝有1個(gè)PCI-9840接口卡,連接在CAN-bus網(wǎng)絡(luò )中;用戶(hù)也可以連接其他型號的CAN接口卡,同樣可以實(shí)現這一個(gè)虛擬串口的網(wǎng)絡(luò )實(shí)例。
虛擬串口服務(wù)器的配置
下面介紹虛擬串口服務(wù)器的配置軟件。軟件啟動(dòng)界面如下:
通過(guò)服務(wù)器軟件安裝虛擬串口,和遠程RS-232設備建立通訊,首先需要新建一個(gè)配置文件,并進(jìn)行一些相關(guān)配置。點(diǎn)擊界面左上角的“新建”按鈕,此時(shí)彈出保存配置文件對話(huà)框,在其中選定保存路徑以及保存文件名。
CAN-bus網(wǎng)絡(luò )的優(yōu)勢
CAN-bus是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一,被廣泛應用于歐洲的中高檔汽車(chē)中,用作ECU單元的串行數據傳輸網(wǎng)絡(luò );近幾年來(lái),CAN-bus開(kāi)始進(jìn)入中國各個(gè)行業(yè)的數據通訊應用,并于2002年被確定為電力通訊產(chǎn)品領(lǐng)域的國家標準。
與RS-485類(lèi)似,CAN-bus網(wǎng)絡(luò )使用普通雙絞線(xiàn)作為傳輸介質(zhì),采用直線(xiàn)拓樸結構,單條網(wǎng)絡(luò )線(xiàn)路至少可連接110個(gè)節點(diǎn),網(wǎng)絡(luò )總長(cháng)度最大可達10公里。在CAN-bus網(wǎng)絡(luò )中,數據收發(fā)、硬件檢錯均由CAN控制器硬件完成,大大增強了CAN-bus網(wǎng)絡(luò )的抗電磁干擾能力,即由硬件來(lái)保證CAN-bus網(wǎng)絡(luò )運行的可靠性。據國際CiA協(xié)會(huì )統計,2001年僅在歐洲就銷(xiāo)售了超過(guò)1億個(gè)CAN-bus節點(diǎn),幾乎淘汰了歐洲所有的RS-485系統。目前,國內的汽車(chē)、電梯行業(yè)已是CAN-bus應用的典型領(lǐng)域,工業(yè)控制、智能樓宇、煤礦設備等行業(yè)也是日見(jiàn)更多型號的應用CAN-bus總線(xiàn)設備與產(chǎn)品。
CAN-bus總線(xiàn)的優(yōu)點(diǎn):可靠性高,可以支持硬件節點(diǎn)的即插即用;故障節點(diǎn)可自動(dòng)關(guān)閉,不影響其他網(wǎng)絡(luò )節點(diǎn);采用芯片硬件ID方式管理網(wǎng)絡(luò ),故障節點(diǎn)界定十分方便,網(wǎng)絡(luò )維護成本比較低。同時(shí),CAN-bus網(wǎng)絡(luò )可以保證良好的通訊實(shí)時(shí)性。
CAN-bus總線(xiàn)的適用范圍:可適用于節點(diǎn)數目很多,傳輸距離在10公里以?xún)?,安全性要求高的?chǎng)合;也可適用于對實(shí)時(shí)性、安全性要求十分嚴格的機械控制網(wǎng)絡(luò )。
評論