26年9月-ABB
关注中国自动化产业发展的先行者!
2026具身智能·边缘计算赋能新质智造峰会
人工智能+制造融合创新研讨会
2026中国自动化产业年会
2025工业安全大会
OICT公益讲堂
当前位置:首页 >> 案例 >> 案例首页

案例频道

用VB6实现仪器串口通信及检测功能
  • 企业:控制网     领域:仪器仪表    
  • 点击数:1601     发布时间: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.详细的需求:
姓名:
单位:
电话:
邮件: