基于VB和LabVIEW的自动化控制和编程设计
1 引言
虚拟仪器(简称为VI)的开发环境有很多,但NI公司的LabVIEW最为著名。LabVIEW不同于基于文本的编程语言(如Fortran和C),是一种图形编程语言——通常称为G编程语言,其编程过程是通过图形符号描述程序的行为。LabVIEW使用的是科学家和工程师们所熟悉的术语,还使用了很易于识别的构造G语言的图形符号,即使具有很少编程经验的人也能学会使用LabVIEW。而VB作为可视化编程工具,不仅简单容易上手,而且功能强大,可以开发友好的用户使用界面,同时通过ActiveX控件、DLL(动态链接库)等多种方法实现与其他软件的联合开发。
Microsoft把所有以COM为基础的技术统称为ActiveX技术。自动化是大多数ActiveX技术的基础,它可使解释性的宏语言(如VB)能够在不了解应用程序实现细节的情况下控制自动化对象。Labview实现了ActiveX自动化服务支持,在VB下通过ActiveX自动化接口可将 Labview作为Visual Basic语言的一个ActiveX部件调用。
本文以Agilent公司的E5262A仪器为例,通过Labview和VB混合编程,实现了多种数据采集和自动化控制系统。
2 程序设计
程序设计以VB作为编程界面,同时调用Labview的图形显示控件,而动态链接库则要使用Win的Kernel32.dll,以及Labview的 Gpib32.dll、Visa32.dll、仪器驱动安装时生成的E5260_32.dll等。程序流程图如下图所示。
首先安装仪器自动的驱动库,接口一般采用通用的GPIB标准,不仅数据、命令传输速度快,而且一张GPIB卡能够同时控制最多16台仪器。仪器驱动安装后,会生成一个以仪器为名的DLL文件。可以利用Labview的MAX进行接口扫描,发现新增加的仪器。安装Labview后,在系统目录下有 gpib32.dll文件。
其次当电脑中安装了Labview后,在VB的工程引用中选取所需要的库文件,其中包括了Agilent的VISA库文件;在控件引用中,选中 National Instrument公司的CW(波形显示)等控件;Microsoft的通用对话控件。这样就可以直接使用NI公司Labview的控件了。在VB工程中,添加仪器的动态链接库(DLL)声明,包括将要使用的常量字符、GPIB、VISA接口库函数、仪器(E5262A)库函数、以及系统的Kernel32库函数等等。如:Declare Function viOpenDefaultRM Lib "VISA32.DLL" Alias "#141" (sesn As Long) As Long 等等。
程序设计中首先出现用户选择界面,选择所需要的测量方式,进入下一界面,填写测量参数,程序进行仪器初始化,根据送入参数进行测试,测试结果由Labview控件显示,用户指定文件保存信息将数据保存到文件中。
VB自带了时钟控件Timer,但时间量级是毫秒,快速测量或者反复切换测量状态时不方便,程序中采用了Win的API函数,通过调用 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)函数,更加方便的对程序进行控制。
相关文章
- 2024-05-13MC100EP016AECL高速计数器及其在微波L频段计数电路中的应用
- 2024-03-27浅谈动态轨道衡与传感器的发展过程
- 2022-05-13集成触摸屏功能的平板显示系统的设计
- 2022-07-25PLD技术在功能薄膜材料研究中的应用
- 2024-01-17脉搏血氧饱和度测量系统的设计研究



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。