• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關注中國自動化產業發展的先行者!
    CAIAC 2025
    2025工業安全大會
    OICT公益講堂
    當前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    用VB6實現儀器串口通信及檢測功能
    • 企業:控制網     領域:儀器儀表    
    • 點擊數:1091     發布時間:2005-08-02 16:47:22
    • 分享到:
    介紹利用 VB6串行通信編程的方法,對采用了RS-232接口的儀器進行串行通信的計算機測控軟件開發,以及實現儀器功能和指標的驗收。



        越來越多的微機用戶已習慣于Windows操作系統。不過Windows應用軟件的開發對于一般工程技術領域的技術人員來說并非易事,然而使用微軟的VisualBasic6.0(簡稱VB6)來開發這些方面的Windows應用軟件就十分方便,編程工作量相對較小,只需進行主要應用功能的編程和少量界面控制的編程。本文介紹利用VB6串行通信編程的方法對采用了RS-232接口的儀器,進行串行通信的計算機測控軟件開發和實現儀器功能和指標的驗收。

        VB6提供了許多供用戶選擇的控件(Customcontrol),這些控件以.OCX為文件后綴名,其中MSCOMM.OCX即是用于串行通信的控件。如果需要使用該控件,可將該控件添加到工具箱(toolbox)內,這樣就可以利用該控件進行串行通信程序的設計。

        下面舉一個簡單的例子,說明如何進行串行通信程序的設計,該程序在Windows98環境下已調試通過。該例介紹通過RS-232對一臺HP53150A微波計數器的程控功能和性能指標的驗收。

        1 設計用戶界面

        首先新建一個“標準EXE”工程,然后選擇“工程/部件”菜單項,在“部件”對話框中選擇Microsoft Comm Control6.0即可添加MsComm控件;再在窗體中依次布置如下控件并設置其屬性。
     

    控件名稱

    name 屬性

    Caption 屬性

    Form

    form1

    Frame1

    frame1

    Frame2

    frame2

    Frame3

    frame3

    Command1

    comd1

    確定

    Command2

    comd2

    退出

    Command3

    comd3

    確定

    Command4

    comd4

    退出

    Command5

    comd5

    做完退出

    MSComm

    msc1

    Label 1

    lab1

    RS-232 接口功能檢測

    Label 2

    lab2

    請輸入被檢儀器程控碼控制儀器功能

    Label 3

    lab3

    請輸入被檢儀器程控碼讀取儀器數據

    Text1

    txt1

    Text2

    txt2

     

     

        2 編寫程序代碼

        編寫的程序代碼如下:

    PriVate Sub Form_Load ()

    Msc1.CommPort=1    使用串行口 1

    波特率 9600 ,偶校驗, 8 個數據位, 1 個停止位

    Msc 1.Settings=“9600 , E , 8 , 1”

    當使用 Msc 1.Input 時,每次從接收緩沖區取一個字節。

    Msc1.InputLen=0 讀取整個接收緩沖區內碼或消除

    Msc1.Portopen=True   打開串行口

    End Sub

    Private Sub Comd1_Click ()

    On Error Resume Next    簡單的錯誤處理

    If Txt1.Text = "" Then

    x = MsgBox ( " 被檢儀器程控碼不能為空值 ", 16 )

    Exit Sub

    End If

    MSC1.Output = Txt1.Text + Chr$ ( 13 )

    發送程控碼

    For i = 1 To 20000000

    Next

    End Sub

    Private Sub Comd2_Click ()

    Txt1.Text = ""

    Txt1.SetFocus

    End Sub

    Private Sub Comd3_Click ()

    Dim instring As string

    instring = MSC1.Input

    MSC1.Output = Txt2.Text + Chr$ ( 13 )

    Do

    DoEvents

    Loop Until MSC1.InBufferCount >= 20

    instring = MSC1.Input 從接收隊列中讀入字符串

    Txt2.Text = ""

    Txt2.Text = instring 顯示讀入的字符串

    End Sub

    Private Sub Comd4_Click ()

    Txt2.Text = ""

    Txt2.SetFocus

    End Sub

    Private Sub Comd5_Click ()

    MSC1.PortOpen = False 關閉串行口

    End

    End Sub

     

        3 程序簡要說明

        上述程序設置的端口通信協議為: 9600波特率,偶校驗,8個數據位,1個停止位。當退出程序時,一定要關閉串行口,通過comm1.PortOpen=False完成。使用時,在“請輸入被檢儀器程控碼控制儀器功能”文本框中輸入“FUNC‘FREQ 1;FREQ:RES1HZ”即儀器的程控碼為:“功能通道1測頻,分辨率為1Hz。單擊“確定”后,HP53150A置于相應功能。加入信號后即可測量檢測,當讀取測量數據時在“請輸入被檢儀器程控碼讀取儀器數據”框中輸入“DATA?”,單擊“確定”后,該框中以字符的形式顯示測量結果。從而實現儀器程控功能和性能指標的檢測。上述只是一個簡單的例子。要實現完善的功能,必須進一步改進程序。

        上面介紹了筆者在使用 VB6 開發 Windows 環境下測控軟件的一點收獲,可以看出使用 VB6 開發 Windows98 下與儀器進行串口通信程序是非常簡單的。

    熱點新聞

    推薦產品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細的需求:
    姓名:
    單位:
    電話:
    郵件: