基于VB6.0的MSComm通信方法設(shè)計_第1頁
基于VB6.0的MSComm通信方法設(shè)計_第2頁
基于VB6.0的MSComm通信方法設(shè)計_第3頁
基于VB6.0的MSComm通信方法設(shè)計_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于VB6.0的MSm通信方法設(shè)計摘要:本文介紹了基于vb6.0的s串行通信設(shè)計方法,并給出了計算機與智能采集模塊進展通信的程序設(shè)計的框架。關(guān)鍵詞:串行通信,vb6.0,s1前言在工業(yè)控制領(lǐng)域,我們經(jīng)常需要進展計算機與其他設(shè)備之間的通信,而串行通信作為一種靈敏、方便、可靠的通信方式被廣泛采用。在開發(fā)串行通信程序的過程中,利用微軟的s通信控件那么相對較簡單,該控件具有豐富的與串行通信親密相關(guān)的屬性及事件,提供了對串口的各種操作。s控件在串口編程時非常方便,程序員不必花時間去理解較為復(fù)雜的api函數(shù),而且在vb中容易使用。2用visualbasi6.0進展串行通信程序設(shè)計的方法1用visualba

2、si6.0進展串行通信程序的設(shè)計有兩種方式,一是直接調(diào)用indsapi,另一種方式是使用通信組件,但后一種方式實際上是通過通信組件間接的調(diào)用了indsapi函數(shù),其過程要比直接調(diào)用api要復(fù)雜,但是在程序的實現(xiàn)上要比前一種方式簡單的多。在操作系統(tǒng)方面,inds使用通信驅(qū)動程序.drv,以便于應(yīng)用程序可以使用標(biāo)準(zhǔn)的indsapi函數(shù)來傳遞和接收數(shù)據(jù)。串行外圍設(shè)備的制造商那么提供硬件驅(qū)動程序,以便讓其硬件能與inds連接。使用s控件時,實際上就是使用了api函數(shù),api函數(shù)將被.drv解釋并傳送給外圍設(shè)備驅(qū)動程序,使用s的用戶只需要關(guān)心如何使用s所提供的屬性或事件,以驅(qū)動api函數(shù)的接口完成工作。

3、串行通信程序的執(zhí)行過程2s提供了兩種處理通信問題的方法,一是事件驅(qū)動方法,一是查詢法。事件驅(qū)動法在使用事件驅(qū)動法設(shè)計程序時,每當(dāng)有新字符到達或端口狀態(tài)改變,或發(fā)生錯誤時,s控件將觸發(fā)n事件,而應(yīng)用程序在捕獲該事件后,通過檢查s控件的event屬性可以獲知所發(fā)生的事件或錯誤,從而采取相應(yīng)的操作。這種方法的優(yōu)點是程序響應(yīng)及時,可靠性高。查詢法查詢法適宜于較小的應(yīng)用程序,在這種情況下,每當(dāng)應(yīng)用程序執(zhí)行完某一串行口操作后,將不斷檢查s控件的event屬性,以檢查執(zhí)行結(jié)果或檢查某一事件是否發(fā)生。3串行通信的兩種格式進展串行通信時有兩種傳輸方式:字符形式:通常以小于asii碼128的字符碼來傳遞,通常用于

4、傳送指令。二進制形式:將數(shù)據(jù)以二進制編碼的方式傳遞,它可能含有asii碼128以上的字符碼,通常用來傳送數(shù)據(jù),以進步速度。3串行通信實例下面給出在in2000下利用vb6.0的s控件開發(fā)計算機與一智能采集模塊進展串行通信的程序?qū)崿F(xiàn)。在工控領(lǐng)域內(nèi),智能采集模塊有著相當(dāng)重要的地位,它可以通過串口通訊協(xié)議rs232、rs485等或其他通訊協(xié)議與p機相連,并與外界現(xiàn)場信號直接相連或與由傳感器轉(zhuǎn)換過的外界信號相連,由p機中的程序控制并實現(xiàn)采集現(xiàn)場的模擬信號,并處理采集到的現(xiàn)場信號并輸出模擬控制信號、開關(guān)量輸入輸出等功能。因此,智能采集模塊在工業(yè)控制領(lǐng)域內(nèi)有著極其廣泛的應(yīng)用。本例子中的智能采集模塊與計算機

5、進展通信時,采用一位開始位、一位停頓位、7位數(shù)據(jù)位、偶校驗方式,波特率為9600bps.1在窗體中添加名為y的s控件,并設(shè)置空間的屬性,如下:.prt=2使用2.setting=9600,e,7,1波特率9600,偶校驗,7個數(shù)據(jù)位,1個停頓位.inbuffersize=40設(shè)置y接收緩沖區(qū)為40個字節(jié).utbuffersize=2設(shè)置y發(fā)送緩沖區(qū)為2個字節(jié).inputde=inputdebinary設(shè)置接收數(shù)據(jù)形式為二進制形式.inputlen=1設(shè)置一次從接收緩沖區(qū)讀取字節(jié)數(shù)為1.sthreshld=1設(shè)置一次從發(fā)送緩沖區(qū)讀取字節(jié)數(shù)為1.prtpen=true翻開通信口其他屬性設(shè)置省略2下面是響應(yīng)y_n事件的處理程序,對數(shù)據(jù)庫采集的處理程序采用s事件驅(qū)動方式。privatesuby_n()ithyseletase.eventase.evreeive接收數(shù)據(jù)對數(shù)據(jù)進展處理ase.evsend發(fā)送數(shù)據(jù)ase.eventrxparity對奇偶校驗錯誤進展處理endseletendithendsub4完畢語本文結(jié)合實例介紹了基于vb6.0的s串行通信設(shè)計方法。參考書目:1、范逸之等.利用visualbasi實現(xiàn)串并行通信技術(shù)清華大學(xué)出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論