淺談RS-485通信卡及其應用
在工業控制領域,數據采集與傳輸是經常性的工作,RS-485協議通信由于采用差分方式接收,對共模干擾抑制能力強,故廣泛應用于工業控制領域。
實現RS-485通信的兩種方法
智能儀表是隨著80年代初單片機技術的成熟而發展起來的,現在世界儀表市場基本被智能儀表所壟斷。究其原因就是企業信息化的需要,企業在儀表選型時其中的一個必要條件就是要具有聯網通信接口。最初是數據模擬信號輸出簡單過程量,后來儀表接口是RS232接口,這種接口可以實現點對點的通信方式,但這種方式不能實現聯網功能。隨后出現的RS485解決了這個問題。
微機標準通信適配器滿足RS-232C協議標準,在波形畸變小于10%的條件下,最大傳輸距離為50英尺(約15.24米),最高傳輸速率小于20kbps,無法滿足工業現場數據較遠距離和較高速率傳輸的要求。微機要實現RS-485協議通信可以采用兩種方法:第一種是采用RS-232C與RS-485轉換接口裝置;第二種是采用RS-485通信卡,插在微機主板擴展槽上。采用第一種方法的優點是硬件裝置安裝簡單,軟件編程相對簡單;缺點中通信速率仍然限制在20kbps以內(RS-232C協議的限制)。第二種方法的優點是通信速率較高,可達921.6kbps;缺點是通信卡需安裝在微機擴展槽上,軟件需安裝通信卡的驅動程序及進行必要的設置。
RS-485通信卡的特點和連接方式
RS-485通信卡的通信波特率由50bps至921.6kbps可選;通常每卡有兩個通信口,各支持32個節點,共64個節點;軟件環境支持DOS、WINDOWS95、WINDOWS NT。通信聯接方式可以采用點對點半雙工方式、點對點全雙工方式、多點半雙工方式和多點全雙工方式。
RS-485通信卡的應用
安裝驅動程序
RS-485通信卡隨卡帶有驅動程序,第一次使用通信卡時須首選安裝驅動程序,設置通信卡的I/O地址、中斷號、通信口號等內容,以后系統運行時無需再次設置。
VB通信軟件的特性
本例通信軟件是采用VB5.0在WINDOWS95平臺下實現的,數據以隨機文件的形式存放。由于WINDOWS不支持對系統I/O端口的直接訪問,因此在WINDOWS下實現串行通信的簡便方法就是利用VB提供的通信軟件MSComm。MSComm軟件中幾個最重要和最常用的屬性是:CommPort 設置或返回通信端口的編號;其格式為:MSComm.Comm Port=n,其中no 1~99中的任何整數值。若這個端口不存在,當用PortOpen屬性打開端口時,就會產生錯誤。
Settings設置或返回波特率、數據位、停止位等參數。例如:MSComm1.Settings="9600,N,8,1"
其中等號右邊的參數中,每一部分表示通信波特率。第二部分為校驗方式,N表示不校驗;E表示偶校檢;O表示奇校驗;S表示空格校驗;M表示符號校驗。第三部分為數據位數。最后是停止位位數。
PortOpen設置或返回通信口的狀態,若為TRUE,打開通信口;若為FALSE,則關閉通信口。
Input從接收緩沖區取出并返回字符串。
Output向發送緩沖區寫入字符。
InBuffSize設置或返回接收緩沖區字節值。
InputLen設置或返回從緩沖區讀字符串時每次讀出的字符串個數;若設置InputLen為0, 則讀緩沖區時,一次讀出整個緩沖區內容。
結語
RS-485通信卡以其具有較高的通信速率(921kbps)、較強的抗干擾能力和較低的價格,在工業控制領域具有較強競爭力,極具實用價值。筆者將RS-485通信卡成功地應用于微機與單片機數據采集系統的串行通信,微機側采用VB編制通信及數據處理軟件,單片機側采用匯編語言編程。VB中采用CHR()函數進行數據轉換是微機與單片機實現16進制數據通信的關鍵。
數字通信相關文章:數字通信原理
通信相關文章:通信原理
評論