LabVIEW环境下的GPIB总线虚拟仪器开发

时间:2013-02-05来源:网络


在LabVIEW中为实现与GPIB仪器通信有两种方式,一种是利用函数模板中Instrument I/O子模板下的GPIB相关函数,另一种是利用函数模板中Instrument I/O子模板下的VISA相关函数,实际上VISA相关函数不仅能与GPIB总线通信,还能与许多其他接口类型的仪器通信,如串口仪器、PXI接口仪器和TCPPIP接口仪器。本文采用VISA相关函数,每一个VISA函数都有一个VISA资源名称参数,用来指明该函数对应的硬件设备。本实例中的VISA资源名称为GPIB:12,其中GPIB用于指明指口的类型,12是磁测量仪器在GPIB总线上的地址(出厂设定值)。与磁测量仪通信的第一步是建立计算机与仪器的连接,此任务可以通过VISA的OPEN函数来实现,接着利用VISA的WRITE函数,可以根据需要向仪器发送各种命令,VISA的READ函数可以读取仪器响应的任何数据,完成所有测试任务后,借助于VISA的CLOSE函数断开计算机与磁测量仪的通信连接。值得注意的是,多数GPIB接口仪器基于字符串格式的,即使从仪器读回的数字也是字符串格式的数字,为了进行后续的分析处理必须将其转化为数字类型。

LabVIEW中的函数模板中String子模板下的Srting/Numbder Conversion下提供了一个专门从字符串中扫描数字的函数,利用此函数可以方便的将字符串格式的数字转化成数字型。仪器的编程风格有两种方式:一种是非模块化编程,即针对特定的需要编写特定的程序以满足需要,此方法直接,容易实现,但其可扩充性差,不便于后续升级和更改。另一种是模块化编程,即将仪器的各种功能模块化,然后根据需要选择相应的模块来实现特定的要求,该方法前期工作投入大,但其后续工作简单,且便于升级和更改。本实例采用模块编程风格。

根据美国NI公司提出的“软件就是仪器”的口号,一个LabVIEW就是一台虚拟仪器,通常一个LabVIEW程序包括三个部分:前面板、框图和图标。图2为实例虚拟仪器的框图。


  如图2所示,本框图包括三个模块,即仪器设置模块(CONFIG模块)、单位显示模块(UNITDISPLAY模块)和数据采集测试模块(TEST模块)。其中设置模块主要用来完成测试相关参数的设定,如仪器GPIB地址、单位设置、量程模式选择(自动或手动)、量程范围(如果量程模式为自动则不需指定量程范围,仪器将根据外磁场自动变化到相应的量程)、磁场类型(交流或直流),如果测量的是交流磁场,可通过PeakPRMS按钮选择测量其峰值或平均值。单位显示模块主要用来指示测试结果的单位,由于磁场存在两种单位,高斯(Gauss)和特斯拉(Tesla),而且对应不同的量程有不同的单位,如T或mT、kG或G,所以专门编写了一个单位显示模块,三个单位显示分别为当前读数的单位及最大值和最小值的单位。数据采集测试模块是该虚拟仪器的核心模块,主要完成磁场的测试,根据实际测量需要任意指定磁场采样间隔,并将磁场的测量结果实时显示,测试完成后可将全部测试结果以文件方式保存,以便后续分析处理。另外,本模块只提供两个最简单的分析功能,即测量结果的最大值和最小值。对于更复杂的数据分析处理,如谱分析,可利用LabVIEW丰富分析函数库编写其他的模块加以实现,本虚拟仪器暂不涉及。

此外,由图2可以看出模块化的编程,不仅使程序结构变得十分简单,而且编程者可以不必了解仪器的底层通信协议,因为与仪器通信的底层编程已封装在模块内部,从而进一步简化了虚拟仪器的开发。图3(略)为实例虚拟器的前面板,左边为测试结果显示区,包括当前读数、最大值、最小值和测试曲线;右边是参数设置区,右下方的“停止P开始”开关用于停止和开始磁场的测试,“保存”按钮用于将测试结果存盘。与台式磁测量仪相比,此虚拟仪器最大特点在于它能进行实时采集测量,并将采集结果保存到文件,以供后续分析使用。严格意义上说,基于台式仪器的虚拟仪器不仅可以实现台式仪器的所有功能,而且还可以实现台式仪器所不具备的功能,尤其是测试结果后续分析与处理,因为测试结果的分析处理不依赖于硬件,完全取决于实际的要求。此外,虚拟仪器还具有易升级,易更改等优点。

结 论

文中介绍了采用LabVIEW虚拟仪器开发平台开发基于GPIB总线的虚拟仪器的硬件及软件要求。结合磁测量虚拟仪器开发实例,介绍了开发基于GPIB总线的虚拟仪器的全过程。实验证明该虚拟仪器能很好地完成磁场的实时采集测量,并将测试结果存盘以供后续分析使用,此功能是台式磁测量仪所不具备的功能,从而大大扩充了台式仪器的功能。
1 2

关键词: LabVIEW GPIB总线 虚拟仪器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版