《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 構(gòu)建CAN-bus網(wǎng)絡(luò)中的虛擬串口
構(gòu)建CAN-bus網(wǎng)絡(luò)中的虛擬串口
摘要: 基于CAN-bus網(wǎng)絡(luò)的虛擬串口在工業(yè)串行通訊領(lǐng)域中,RS-232與RS-485都是會被經(jīng)常用到的數(shù)據(jù)傳輸標準之一。例如,普通PC一般會提供1~4個標準RS-232端口,分別被標注為COM1~COM4端口。用戶可以通過這些現(xiàn)成的RS-232端口連接外部設(shè)備,比如鍵盤、IC讀卡器、條碼閱讀器、數(shù)字化儀、打印機、數(shù)據(jù)記錄儀,或者由用戶自己定制的串行通訊儀器,等等。
Abstract:
Key words :

基于CAN-bus網(wǎng)絡(luò)的虛擬串口

 

  在工業(yè)串行通訊領(lǐng)域中,RS-232與RS-485都是會被經(jīng)常用到的數(shù)據(jù)傳輸標準之一。例如,普通PC一般會提供1~4個標準RS-232端口,分別被標注為COM1~COM4端口。用戶可以通過這些現(xiàn)成的RS-232端口連接外部設(shè)備,比如鍵盤、IC讀卡器、條碼閱讀器、數(shù)字化儀、打印機、數(shù)據(jù)記錄儀,或者由用戶自己定制的串行通訊儀器,等等。操作或編程這些標準的COM端口也是非常方便的,因為市場上有眾多的串口軟件調(diào)試工具可供通訊測試,也有功能齊全的DLL程序開發(fā)庫可供編程時調(diào)用。
  但是,傳統(tǒng)RS-232串行通訊存在著數(shù)據(jù)可靠性、通訊距離、端口數(shù)量等多個方面的限制。例如,在工業(yè)控制等現(xiàn)場環(huán)境中,常會有電氣噪聲干擾傳輸線路,使用RS-232通訊時經(jīng)常因外界的電氣干擾而導(dǎo)致信號傳輸錯誤;其次,在不增加緩沖器的情況下,RS-232通訊的最大傳輸距離只可以達到15米;還有,同1個RS-232端口只能夠連接1個RS-232通訊設(shè)備。上述因素大大限制了RS-232通訊的應(yīng)用領(lǐng)域。
  本文介紹了一種簡單、可靠的方法,通過利用ZLGCAN接口卡、CAN232MB轉(zhuǎn)換器等設(shè)備,可以在1條普通雙絞線上連接多達2048個RS-232設(shè)備,通訊距離可以長達10公里甚至更遠的距離。
  下面,先介紹實現(xiàn)遠程RS-232通訊的設(shè)備驅(qū)動軟件:虛擬串口服務(wù)器,即VCOM服務(wù)器。虛擬串口服務(wù)器是一款專用的配置工具;運行此服務(wù)器軟件,即可以在同一臺PC上安裝一個或多個虛擬串口,虛擬串口的數(shù)目可以多達2048個。這些虛擬串口可以同真實串口執(zhí)行完全一致的操作;實際上,通過普通雙絞線構(gòu)成的CAN-bus網(wǎng)絡(luò),在這些虛擬串口上通訊的數(shù)據(jù)被快速映射到CAN-bus網(wǎng)絡(luò)中遠端CAN232MB轉(zhuǎn)換器的RS-232通訊端口。這樣,在同一CAN-bus網(wǎng)絡(luò)中連接n個CAN232MB轉(zhuǎn)換器,即可以映射成本地的n個遠程虛擬串口。通過軟件的無縫銜接,遠程虛擬串口和本地串口在操作上并不存在任何差異。例如,將一些設(shè)備的串口程序升級到通過遠程虛擬串口來實現(xiàn)時,升級軟件可以不作任何修改,只需在打開串口時設(shè)定所操作的遠程虛擬串口號,就可以實現(xiàn)正常的串行數(shù)據(jù)通訊。

虛擬串口的建立

  下面以一個提供8個串口的虛擬串口網(wǎng)絡(luò)實例為原型,說明如何在同一臺PC建立多個虛擬串口,并且提供了虛擬串口測試網(wǎng)絡(luò)的實現(xiàn)方法。如需要建立更多數(shù)目的虛擬串口,可以參考建立上述網(wǎng)絡(luò)的方法,步驟基本一致;只需要在CAN-bus網(wǎng)絡(luò)中增加CAN232MB轉(zhuǎn)換器的數(shù)目,并通過軟件適當(dāng)配置參數(shù)即可以工作。
  虛擬串口服務(wù)器可以在安裝PCI-9810/9820/9840接口卡的PC上添加多達2048個遠程虛擬串口。
  同一臺PC上可安裝多塊CAN接口卡。無論安裝有多少塊CAN卡,虛擬串口服務(wù)器都會把它們統(tǒng)一管理起來。不同的CAN接口卡以及同一塊CAN接口卡上的不同CAN通道將共同分享0~2048的CAN ID號。每一個ID號對應(yīng)一個串口號,這樣CAN-bus網(wǎng)絡(luò)中的任一個CAN232MB轉(zhuǎn)換器就對應(yīng)著PC上的一個虛擬串口。
  例如,當(dāng)前PC上安裝了一個虛擬串口,名稱為COM33。用戶向COM33端口寫入的數(shù)據(jù)將直接送到CAN-bus網(wǎng)絡(luò)中,由一個ID設(shè)置為33值的 CAN232MB轉(zhuǎn)換器接收,并在其RS-232端口輸出;同理,連接到ID設(shè)置為33值的CAN232MB轉(zhuǎn)換器的用戶RS-232設(shè)備所發(fā)出的數(shù)據(jù),將通過CAN-bus網(wǎng)絡(luò)送到PC機,保存在PC上虛擬串口COM33的數(shù)據(jù)緩沖區(qū)內(nèi)。當(dāng)用戶讀取COM33數(shù)據(jù)的時候,虛擬串口服務(wù)器就把這些數(shù)據(jù)返回給用戶。

上圖所示的CAN-bus網(wǎng)絡(luò)中連接有8個CAN232MB轉(zhuǎn)換器,每個CAN232MB轉(zhuǎn)換器的串口都被映射成第1臺工作PC的1個虛擬串口,共8個虛擬串口;每個串口都和MOXA多串口卡(型號:CP-168U 8路多串口卡)的其中一個串口相連,用于提供各個串口數(shù)據(jù)的測試與驗證。同時,第 1臺工作PC安裝有1個PCI-9840接口卡,連接在CAN-bus網(wǎng)絡(luò)中;用戶也可以連接其他型號的CAN接口卡,同樣可以實現(xiàn)這一個虛擬串口的網(wǎng)絡(luò)實例。

虛擬串口服務(wù)器的配置
  
   下面介紹虛擬串口服務(wù)器的配置軟件。軟件啟動界面如下:

  通過服務(wù)器軟件安裝虛擬串口,和遠程RS-232設(shè)備建立通訊,首先需要新建一個配置文件,并進行一些相關(guān)配置。點擊界面左上角的“新建”按鈕,此時彈出保存配置文件對話框,在其中選定保存路徑以及保存文件名。

CAN-bus網(wǎng)絡(luò)的優(yōu)勢

  CAN-bus是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,被廣泛應(yīng)用于歐洲的中高檔汽車中,用作ECU單元的串行數(shù)據(jù)傳輸網(wǎng)絡(luò);近幾年來,CAN-bus開始進入中國各個行業(yè)的數(shù)據(jù)通訊應(yīng)用,并于2002年被確定為電力通訊產(chǎn)品領(lǐng)域的國家標準。
  與RS-485類似,CAN-bus網(wǎng)絡(luò)使用普通雙絞線作為傳輸介質(zhì),采用直線拓樸結(jié)構(gòu),單條網(wǎng)絡(luò)線路至少可連接110個節(jié)點,網(wǎng)絡(luò)總長度最大可達 10公里。在CAN-bus網(wǎng)絡(luò)中,數(shù)據(jù)收發(fā)、硬件檢錯均由CAN控制器硬件完成,大大增強了CAN-bus網(wǎng)絡(luò)的抗電磁干擾能力,即由硬件來保證 CAN-bus網(wǎng)絡(luò)運行的可靠性。據(jù)國際CiA協(xié)會統(tǒng)計,2001年僅在歐洲就銷售了超過1億個CAN-bus節(jié)點,幾乎淘汰了歐洲所有的RS-485系統(tǒng)。目前,國內(nèi)的汽車、電梯行業(yè)已是CAN-bus應(yīng)用的典型領(lǐng)域,工業(yè)控制、智能樓宇、煤礦設(shè)備等行業(yè)也是日見更多型號的應(yīng)用CAN-bus總線設(shè)備與產(chǎn)品。
  CAN-bus總線的優(yōu)點:可靠性高,可以支持硬件節(jié)點的即插即用;故障節(jié)點可自動關(guān)閉,不影響其他網(wǎng)絡(luò)節(jié)點;采用芯片硬件ID方式管理網(wǎng)絡(luò),故障節(jié)點界定十分方便,網(wǎng)絡(luò)維護成本比較低。同時,CAN-bus網(wǎng)絡(luò)可以保證良好的通訊實時性。
CAN-bus總線的適用范圍:可適用于節(jié)點數(shù)目很多,傳輸距離在10公里以內(nèi),安全性要求高的場合;也可適用于對實時性、安全性要求十分嚴格的機械控制網(wǎng)絡(luò)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。