<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > RS-485通信卡及其應用

RS-485通信卡及其應用

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:本文介紹了RS-485通信卡方式的特點(diǎn)、使用方法以及在實(shí)際中采用VB5編程實(shí)現微機與單片機通信的方法和應注意的問(wèn)題。

本文引用地址:http://dyxdggzs.com/article/244632.htm

關(guān)鍵詞:RS-485通信 微機串行通信 VB通信編程

領(lǐng)域,數據采集與傳輸是經(jīng)常性的工作,RS-485協(xié)議通信由于采用差分方式接收,對共模干擾抑制能力強,故廣泛應用于領(lǐng)域。

實(shí)現RS-485通信的兩種方法

微機標準通信適配器滿(mǎn)足RS-232C協(xié)議標準,在波形畸變小于10%的條件下,最大傳輸距離為50英尺(約15.24米),最高傳輸速率小于20kbps,無(wú)法滿(mǎn)足工業(yè)現場(chǎng)數據較遠距離和較高速率傳輸的要求。微機要實(shí)現RS-485協(xié)議通信可以采用兩種方法:第一種是采用RS-232C與RS-485轉換接口裝置;第二種是采用RS-485通信卡,插在微機主板擴展槽上。采用第一種方法的優(yōu)點(diǎn)是硬件裝置安裝簡(jiǎn)單,軟件編程相對簡(jiǎn)單;缺點(diǎn)中通信速率仍然限制在20kbps以?xún)龋≧S-232C協(xié)議的限制)。第二種方法的優(yōu)點(diǎn)是通信速率較高,可達921.6kbps;缺點(diǎn)是通信卡需安裝在微機擴展槽上,軟件需安裝通信卡的驅動(dòng)程序及進(jìn)行必要的設置。

RS-485通信卡的特點(diǎn)和連接方式

RS-485通信卡的通信波特率由50bps至921.6kbps可選;通常每卡有兩個(gè)通信口,各支持32個(gè)節點(diǎn),共64個(gè)節點(diǎn);軟件環(huán)境支持DOS、WINDOWS95、WINDOWS NT。通信聯(lián)接方式可以采用點(diǎn)對點(diǎn)半雙工方式、點(diǎn)對點(diǎn)全雙工方式、多點(diǎn)半雙工方式和多點(diǎn)全雙工方式。

RS-485通信卡的應用

安裝驅動(dòng)程序

RS-485通信卡隨卡帶有驅動(dòng)程序,第一次使用通信卡時(shí)須首選安裝驅動(dòng)程序,設置通信卡的I/O地址、中斷號、通信口號等內容,以后系統運行時(shí)無(wú)需再次設置。

VB通信軟件的特性

本例通信軟件是采用VB5.0在WINDOWS95平臺下實(shí)現的,數據以隨機文件的形式存放。由于WINDOWS不支持對系統I/O端口的直接訪(fǎng)問(wèn),因此在WINDOWS下實(shí)現串行通信的簡(jiǎn)便方法就是利用VB提供的通信軟件MSComm。MSComm軟件中幾個(gè)最重要和最常用的屬性是:CommPort 設置或返回通信端口的編號;其格式為:MSComm.Comm Port=n,其中no 1~99中的任何整數值。若這個(gè)端口不存在,當用PortOpen屬性打開(kāi)端口時(shí),就會(huì )產(chǎn)生錯誤。

Settings設置或返回波特率、數據位、停止位等參數。例如:MSComm1.Settings=9600,N,8,1

其中等號右邊的參數中,每一部分表示通信波特率。第二部分為校驗方式,N表示不校驗;E表示偶校檢;O表示奇校驗;S表示空格校驗;M表示符號校驗。第三部分為數據位數。最后是停止位位數。

PortOpen設置或返回通信口的狀態(tài),若為T(mén)RUE,打開(kāi)通信口;若為FALSE,則關(guān)閉通信口。

Input從接收緩沖區取出并返回字符串。

Output向發(fā)送緩沖區寫(xiě)入字符。

InBuffSize設置或返回接收緩沖區字節值。

InputLen設置或返回從緩沖區讀字符串時(shí)每次讀出的字符串個(gè)數;若設置InputLen為0, 則讀緩沖區時(shí),一次讀出整個(gè)緩沖區內容。

通信協(xié)議

物理層通信協(xié)議采用RS-485標準;鏈路層采用面向字符型規程;本例采用筆者在現場(chǎng)實(shí)際使用的字符型通信規程,具體數據(16進(jìn)制)格式如表1所示。

表1

字頭 命令代碼 數據1 數據2 校驗 字尾
FCH 00H~FEH 00H~FEH 00H~FEH 校驗字 FFH
8位 8位 8位 8位 8位 8位

其中命令代碼中含有數據重發(fā)命令(校驗出錯時(shí)),連續3次校驗出錯,系統應告警。

特別提到的是,本例程序是完成微機與單片機系統之間的串行通信,微機端采用的是VB軟件平臺,在WINDOWS95環(huán)境下編程。由于VB在WINDOWS環(huán)境下是以字符(ANSI碼)方式進(jìn)行通信,而單片機系統則采用16進(jìn)制代碼,因此VB在實(shí)現通信過(guò)程中,對數據須進(jìn)行特殊的轉換,才能與單片機系統進(jìn)行通信。

程序中所輸出的數據只有用CHR()函數轉換,才能使VB輸出16進(jìn)制數據,才能使VB輸出16進(jìn)制數據,單片機系統才能正常接收。具體程序見(jiàn)程序清單。

結語(yǔ)

RS-485通信卡以其具有較高的通信速率(921kbps)、較強的抗干擾能力和較低的價(jià)格,在領(lǐng)域具有較強競爭力,極具實(shí)用價(jià)值。筆者將RS-485通信卡成功地應用于微機與單片機數據采集系統的串行通信,微機側采用VB編制通信及數據處理軟件,單片機側采用匯編語(yǔ)言編程。VB中采用CHR()函數進(jìn)行數據轉換是微機與單片機實(shí)現16進(jìn)制數據通信的關(guān)鍵。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>