基于图形化编程语言Labview的一种虚拟仪器的实现
薛得凤
(上海理工大学光电学院201108)
? 摘 要:虚拟仪器是现代测量技术和计算机技术结合的产物,用数字化和软件技术提高测试的灵活性和可扩充性。本文主要介绍虚拟仪器的概念、开发语言LabVIEW及其特点,及虚拟波形发生器、波形显示器实现的一种方法。
关键词:虚拟仪器 LabVIEW 图形化编程语言?
0前言
?测试技术发展到现在,数字技术逐渐取代模拟技术,组合式、集多功能于一体的仪器取代单台仪器,网络化趋势渐渐明显。软件在现代测量中举足轻重,计算机的日益普及也带动了测试技术的发展。
?随之而来的是现代测量技术的新一场革命——虚拟仪器的出现。它是测量技术与计算机技术结合的产物。所谓“虚拟仪器”,就是借助于计算机的软硬件平台,配以少量的辅助设备(或器件),构成功能适合用户要求的仪器。利用虚拟仪器软件开发平台在计算机屏幕上虚拟出仪器的面板,用户通过鼠标或键盘操作虚拟仪器面板上的旋钮、开关和按键,设置各种工作参数,启动或停止仪器。测量结果可以从虚拟仪器面板读出。用户在屏幕上通过虚拟仪器面板对仪器的操作如同在真实仪器上的操作一样直观、方便、灵活。另外,个人计算机的参与大大提高仪器的数据处理能力。
1虚拟仪器优势所在
?虚拟仪器技术取代传统仪器成为必然趋势。虚拟仪器相对于传统仪器,具有明显的优点:灵活性、高性价比、技术更新快、易于网络化、实现传统仪器不可能实现的功能。它的灵活性体现在,用户可以自定义功能,选择自己喜欢的界面图标符号,而不象传统仪器那样,一出厂其功能及外观已经固化,用户只是被动应用。高性价比主要指,用户拥有一台计算机,运行不同的应用程序就得到相应的仪器。换句话就是,一台计算机完全可以取代实验室里的所有仪器实现测量,从而节约大笔资金。由于虚拟仪器中软件是关键,所以更新软件使之功能更新所需时间大大减少。借助于计算机,实现测量系统的网络化、在线测量已成为可能。此外,传统仪器基于硬件、性能必然受到硬件的种种限制。如普通示波器无法捕捉很窄的脉冲,国外生产的特殊示波器能够作到这一点,其价格又不菲,而通过数据采集卡与计算机组成的虚拟仪器则可轻松实现。
2开发语言概况
?用于虚拟仪器开发的语言有文本式编程语言:如Visual basic、C++、VisualC++、labwidows/CVI等,图形化编程语言如LabVIEW、HPVEE。其中影响力最大的要数LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台)语言,被称为“仪器仪表界面”。
?LabVIEW及其编程
?LabVIEW是美国NI公司开发的一套基于G语言(Graphics Language,图形化编程语言),专为数据采集与仪器控制、数据分析和数据表达而设计的开发软件。符合国际标准IEEE488.2接口驱动程序,适合于用户组建小型的测试系统和较简单的虚拟仪器或者用于大系统中某个分系统的编程。它增强了用户在标准的计算机上配以高效经济的硬件设备来构建自己的仪器系统的能力。将LabVIEW与一般的数据采集以及仪器设备加以组合,就可以设计出虚拟仪器,并将其应用于许多领域,从而摆脱传统的仪器功能的限制。
?LabVIEW具有丰富的库函数供用户调用。以Labview6.0.1为例,功能模板包括27个子模板,每个子模板中又含有该类型的控制命令、函数、变量等。其中分析模板又有6个子模板,充分满足用户的不同要求。Labview提供了强大功能调试工具:单步执行、设置断点、探针(查看数据流)。Labview的帮助系统使得用户尽快掌握编程方法,此外Labview提供的例子程序也加快了开发进程。高级编程模块允许Labview与C语言进行数据交换,Labview实现不了的功能交给C来实现,结果再传递给Labview。例如用户在应用Labview不支持的数据板时,设置CIN图标,把C编制驱动程序装载到CIN图标中,在Labview中就可以象调用其他图标一样调用CIN,从而实现对采集板的驱动。
?Labview应用程序的设计包括前面板及程序框图。前面板是用户可以见到的,类似传统仪器的操作面板,利用工具模板添加输入控制器输出指示器。控制器和指示器种类可选择。程序框图是支持虚拟仪器实现其功能的核心。对程序框图的设计涉及节点、数据端口和连线的设计。连线代表数据走向,节点则是函数、VI子程序、结构或代码接口。
3一种虚拟仪器的实现方法
?下面是笔者应用Labview编制波形发生器及接收器的实现情况。波形发生器的前面板如图1所示,对应的程序框图如图2。此应用程序(这里称应用程序1)运行于一台计算机上。波形接收器的前面板如图3所示,对应的程序框图如图4。此应用程序(这里称应用程序2)运行于另外一台计算机上。
? 实验中,利用RS-232线连接两台计算机COM口(端口默认为一号),在一台计算机产生的波形可以在另外一台计算机上观察到。利用Labview提供的串口模块编制程序,从而方便的得到两台虚拟仪器。这里,需要说明的是,用两台计算机运行程序完全是实验测试结果。
?实际应用时,传感器的输出信号经过A/D转换,通过COM口输入计算机,同时运行应用程序2,即可观测波形,相当于示波器使用。同样,应用程序1运行,结果通过COM口输出,D/A转换后,得到相应信号。功能相当于信号发生仪。
4结论
?图形化程序设计编程简单、直观、开发效率高。随着虚拟仪器技术的不断发展,图形虚拟仪器依靠其自身的优势使它在仪器市场的竞争力不断增强。PC计算机价格近几年逐渐被人们所接受,在国内有迅速普及之势,这为虚拟仪器的发展奠定了基础。虚拟仪器作为传统仪器的替代品,市场潜在容量巨大,具有广阔的发展前景。据专家预测,到下世纪初我国将有50%的仪器为虚拟仪器。目前,我国高档台式仪器如频谱发生仪、数字示波仪、逻辑分析仪等还主要依赖进口。据统计,1995年我国进口电子测量仪器73.5万台,价值32亿美元。大力发展虚拟仪器,对我国现代化建设具有重要意义
参考文献
1邹翔,孙肖子.基于图形化编程语言Labview虚拟仪器的方法.现代电子技术,2003,(1).36~38
2李金霞,邱公伟.虚拟仪器及LabVIEW概况.电脑,2002年第9期
3刘君华等编著.虚拟仪器图形化编程语言LabVIEW教程