有一些情況下需要將一個RS-232口擴展出多個RS-232口,本文以波仕電子產品為例介紹如何選擇RS-232擴展器及其使用方法。
從總體上講,RS-232擴展器分為兩類:帶地址與不帶地址的。我們知道,RS-485以及RS-422可以實現多機通信,前提是各個下位機都可以設置地址。上位機與下位機進行數據通信之前先發送地址信號,選通某地址的下位機后進行數據通信。而RS-232口本身不支持多機通信,即使帶可設置地址功能也必須先轉換為RS-485或RS-422口后才能夠實現。更多情況下,RS-232口不帶設置地址功能,但是加帶地址的RS-232擴展器后可以實現多機通信。
1、帶地址的RS-232擴展器
波仕的產品型號為4232A、8232A。 RS-232一變四擴展器(型號:4232A)用于將PC機的一個RS-232串行口分時擴展成四個準RS-232串行口。4232A已經有4個下位機的硬件地址,無需修改下位機的軟件。準RS-232串行口只有TXD(發送)、RXD(接收)、GND(信號地)三個信號。4232A適用于一臺PC機與多臺PC機、單片機或儀表之間的通信。
4232A的外型為DB-9(孔)/DB-25(針)轉接盒大小,直接插在PC機的DB-9芯RS-232串行口上。4232A無須外接電源!4232A還配套有帶4個DB-9針座的板,可以直接插4232A的DB-25端。使用之前通過軟件設置來分時選通四個下位機RS-232口。選擇下位機串口地址只需要加一句指令或者只需要一個初始設置。
WINDOWS下4232A的軟件設置方法
4232A支持mscomm.ocx通信控件。WINDOWS下的編程語言只要可以使用mscomm.ocx通信控件就可以方便地得到4232A的支持。打開一個mscomm控件,分別設:
RTS.Enable=False DTR.Enable=False ; 此時選中0# 準RS-232口
RTS.Enable=False DTR.Enable=True ; 此時選中1# 準RS-232口
RTS.Enable=True DTR.Enable=False ; 此時選中2# 準RS-232口
RTS.Enable=True DTR.Enable=True ; 此時選中3# 準RS-232口
也可以使用波仕網站上的軟件NTPort對端口地址(比如3FC)進行寫操作,軟件設置方法為向所插的RS-232串行口地址送被選中的準RS-232口編號(0、1、2、3)。比如外插COM1串行口(物理地址為3FC)時,要選通2號準RS-232口,則
BASIC語言為OUT &H3FC,2 C語言為outportb (0x3fc,2);
以上語句均指向COM1串行口,如果是COM2串行口則將物理地址3FC改為2FC即可。
2、不帶地址的RS-232擴展器
波仕的產品型號為4232B、8232B。4232B本身不帶地址,所以要求各個下位機RS-232口自己帶地址。4232B的一個上位機向4個下位機發送的數據是一樣的,軟件與RS-485多機通信是一樣的。4232B用于一個RS-232串行口與多個(1、2、3或4個)RS-232串行口的通信連接。4232B使傳統的RS-232口實現多機通信。4232B已經有4個下位機的插座(DB-9針座),無需修改軟件、無須供電。4232B的RS-232串行口只有TXD(發送)、RXD(接收)、GND(信號地)三個信號。4232B適用于一臺上位機的RS-232口同時驅動多至四臺下位機的RS-232口。
4232B實現RS-232多機通信時,軟件與RS-485多機通信是一樣的??梢岳斫鉃橐粋€4232B代替了5個RS-232/RS-485轉換器。因為這5個RS-232口(1個上位機、4個下位機)也可以通過都轉換為RS-485口的方法實現多機通信。
4232B的外型與4232A是完全一樣的,也無須供電。它們的區別在于:4232B既可以外插計算機、也可以外插設備的RS-232口,因為4232B無須軟件設置。4232A必須外插計算機,因為要使用軟件設置地址。
2、其它RS-232擴展器
從計算機擴展多個RS-232口的方法還有:從PCMCIA口擴展、從USB口擴展、從以太網擴展。這些方法擴展出來的RS-232口是帶獨立地址的,不依賴原來的RS-232口。
筆記本的PCMCIA擴展出的RS-232口的通用性是最好的,因為是帶獨立物理地址的。它相當于從臺式計算機的PCI擴展的RS-232口的通用性。 由于計算機的PCMCIA口的變化,現在的PCMCIA卡有3種插口外形:最左邊的為方形,中間為T形,最右邊為條形,請一定特別注明。
USB擴展RS-232口已經非常廣泛,優勢是無須供電,使用方便。缺點是通用性比PCMCIA擴展的RS-232口差。以太網擴展RS-232口也在工業上大量使用,需要供電,需要專門的軟件,通用性介于PCMCIA串口擴展器與USB串口擴展器之間。