• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 基于VB6.0的MSComm通信方法設(shè)計(jì)

        時(shí)間:2024-09-01 16:15:00 理工畢業(yè)論文 我要投稿
        • 相關(guān)推薦

        基于VB6.0的MSComm通信方法設(shè)計(jì)

        摘要:本文介紹了基于VB6.0的MSComm串行通信設(shè)計(jì),并給出了機(jī)與智能采集模塊進(jìn)行通信的程序設(shè)計(jì)的框架。
        關(guān)鍵詞:串行通信,vb6.0,MSComm 1 前言
        在控制領(lǐng)域,我們經(jīng)常需要進(jìn)行計(jì)算機(jī)與其他設(shè)備之間的通信,而串行通信作為一種靈活、方便、可靠的通信方式被廣泛采用。在開發(fā)串行通信程序的過程中,利用微軟的MSComm通信控件則相對較簡單,該控件具有豐富的與串行通信密切相關(guān)的屬性及事件,提供了對串口的各種操作。MSComm控件在串口編程時(shí)非常方便,程序員不必花時(shí)間去了解較為復(fù)雜的API函數(shù),而且在VB中容易使用。 2 用visual basic 6.0進(jìn)行串行通信程序設(shè)計(jì)的方法
        (1) 用visual basic 6.0進(jìn)行串行通信程序的設(shè)計(jì)有兩種方式,一是直接調(diào)用Windows API,另一種方式是使用通信組件,但后一種方式實(shí)際上是通過通信組件間接的調(diào)用了Windows API函數(shù),其過程要比直接調(diào)用API要復(fù)雜,但是在程序的實(shí)現(xiàn)上要比前一種方式簡單的多。在操作系統(tǒng)方面,Windows使用通信驅(qū)動(dòng)程序Comm.drv,以便于程序能夠使用標(biāo)準(zhǔn)的Windows API函數(shù)來傳遞和接收數(shù)據(jù)。串行外圍設(shè)備的制造商則提供硬件驅(qū)動(dòng)程序,以便讓其硬件能與Windows連接。使用MSComm控件時(shí),實(shí)際上就是使用了API函數(shù),API函數(shù)將被Comm.drv解釋并傳送給外圍設(shè)備驅(qū)動(dòng)程序,使用MSComm的用戶只需要關(guān)心如何使用MSComm所提供的屬性或事件,以驅(qū)動(dòng)API函數(shù)的接口完成工作。
        串行通信程序的執(zhí)行過程(2) MSComm提供了兩種處理通信的方法,一是事件驅(qū)動(dòng)方法,一是查詢法。
        ①事件驅(qū)動(dòng)法
        在使用事件驅(qū)動(dòng)法設(shè)計(jì)程序時(shí),每當(dāng)有新字符到達(dá)或端口狀態(tài)改變,或發(fā)生錯(cuò)
        誤時(shí),MSComm控件將觸發(fā)OnComm事件,而應(yīng)用程序在捕獲該事件后,通過檢查MSComm控件的CommEvent屬性可以獲知所發(fā)生的事件或錯(cuò)誤,從而采取相應(yīng)的操作。這種方法的優(yōu)點(diǎn)是程序響應(yīng)及時(shí),可靠性高。
        ②查詢法
        查詢法適合于較小的應(yīng)用程序,在這種情況下,每當(dāng)應(yīng)用程序執(zhí)行完某一串行口操作后,將不斷檢查MSComm控件的CommEvent屬性,以檢查執(zhí)行結(jié)果或檢查某一事件是否發(fā)生。
        (3) 串行通信的兩種格式
        進(jìn)行串行通信時(shí)有兩種傳輸方式:
        ①字符形式:通常以小于ASCII碼128的字符碼來傳遞,通常用于傳送指令。
        ②二進(jìn)制形式:將數(shù)據(jù)以二進(jìn)制編碼的方式傳遞,它可能含有ASCII碼128以上的字符碼,通常用來傳送數(shù)據(jù),以提高速度。3.串行通信實(shí)例下面給出在Win2000下利用VB6.0的MSComm控件開發(fā)計(jì)算機(jī)與一智能采集模塊進(jìn)行串行通信的程序?qū)崿F(xiàn)。在工控領(lǐng)域內(nèi),智能采集模塊有著相當(dāng)重要的地位,它可以通過串口通訊協(xié)議(RS232、RS485等)或其他通訊協(xié)議與PC機(jī)相連,并與外界現(xiàn)場信號直接相連或與由傳感器轉(zhuǎn)換過的外界信號相連,由PC機(jī)中的程序控制并實(shí)現(xiàn)采集現(xiàn)場的模擬信號,并處理采集到的現(xiàn)場信號并輸出模擬控制信號、開關(guān)量輸入輸出等功能。因此,智能采集模塊在工業(yè)控制領(lǐng)域內(nèi)有著極其廣泛的應(yīng)用。本例子中的智能采集模塊與計(jì)算機(jī)進(jìn)行通信時(shí),采用一位開始位、一位停止位、7位數(shù)據(jù)位、偶校驗(yàn)方式,波特率為9600bps.
        (1)在窗體中添加名為MyComm的MSComm控件,并設(shè)置空間的屬性,如下:
        .CommPort=2 ‘使用COM2
        .Setting=”9600,e,7,1” ‘波特率9600,偶校驗(yàn),7個(gè)數(shù)據(jù)位,1個(gè)停止位
        .InBufferSize=40 ‘設(shè)置MyComm接收緩沖區(qū)為40個(gè)字節(jié)
        .OutBufferSize=2 ‘設(shè)置MyComm發(fā)送緩沖區(qū)為2個(gè)字節(jié)
        .InputMode=comInputModeBinary
        ‘設(shè)置接收數(shù)據(jù)模式為二進(jìn)制模式
        .InputLen=1 ‘設(shè)置一次從接收緩沖區(qū)讀取字節(jié)數(shù)為1
        .Sthreshold=1 ‘設(shè)置一次從發(fā)送緩沖區(qū)讀取字節(jié)數(shù)為1
        .PortOpen=True ‘打開通信口
        ‘其他屬性設(shè)置省略(2)下面是響應(yīng)Mycomm_OnComm事件的處理程序,對數(shù)據(jù)庫采集的處理程序采用MSComm事件驅(qū)動(dòng)方式。
        Private Sub MyComm_OnComm()
        With MyComm
        Select case .CommEvent
        Case .comEvReceive
        ‘ 接收數(shù)據(jù)
        ‘ 對數(shù)據(jù)進(jìn)行處理
        case .comEVSend
        ‘發(fā)送數(shù)據(jù)
        case .comEventRxParity
        ‘對奇偶校驗(yàn)錯(cuò)誤進(jìn)行處理
        end selectend with
        end sub 4.結(jié)束語
        本文結(jié)合實(shí)例介紹了基于VB6.0的MSComm串行通信設(shè)計(jì)。
        書目:
        1、 范逸之等.利用Visual Basic 實(shí)現(xiàn)串并行通信技術(shù)
        清華大學(xué)出版社 2001.3
        2、 黃淼云等.Visual Basic控件高手
        北京希望出版社 2001.1
        3、 范逸之等.Visual Basic與RS-232串行通信控制最新版
        青年出版社 2002.1

        【基于VB6.0的MSComm通信方法設(shè)計(jì)】相關(guān)文章:

        基于軟件無線電的GPP通信波形軟件設(shè)計(jì)方法03-11

        基于 DSP 的網(wǎng)絡(luò)通信程序設(shè)計(jì)03-20

        基于通信器S1503的門禁系統(tǒng)的設(shè)計(jì)03-19

        基于雙口RAM的LonWorks智能通信節(jié)點(diǎn)設(shè)計(jì)03-18

        基于Monte Carlo方法的通信仿真實(shí)現(xiàn)及應(yīng)用研究03-30

        基于CPLD的RS485通信實(shí)現(xiàn)方法研究03-07

        基于VB的分布式監(jiān)控系統(tǒng)通信設(shè)計(jì)03-18

        基于CAN總線的EV電控系統(tǒng)通信的設(shè)計(jì)與開發(fā)03-19

        基于CC1000的射頻光傳輸模塊FSK通信設(shè)計(jì)03-07

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 在线综合亚洲欧美网站 | 久久精品视频777 | 日本免费最新高清不卡视频 | 视频偷拍亚洲一区 | 亚洲人成在线免费福利 | 亚洲中文字幕aⅴ天堂自拍 思思热精品在线8 |