《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(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都是會(huì)被經(jīng)常用到的數(shù)據(jù)傳輸標(biāo)準(zhǔn)之一。例如,普通PC一般會(huì)提供1~4個(gè)標(biāo)準(zhǔn)RS-232端口,分別被標(biāo)注為COM1~COM4端口。用戶可以通過(guò)這些現(xiàn)成的RS-232端口連接外部設(shè)備,比如鍵盤、IC讀卡器、條碼閱讀器、數(shù)字化儀、打印機(jī)、數(shù)據(jù)記錄儀,或者由用戶自己定制的串行通訊儀器,等等。
Abstract:
Key words :

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

 

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

虛擬串口的建立

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

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

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

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

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

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

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