您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 果洛分类信息网,免费分类信息发布

测量仪器科普:labview与虚拟仪器那点事

2019/10/15 6:52:17发布163次查看
说起labview编程软件,大家接触的时候大多是与虚拟仪器分不开的,这儿理一下什么是虚拟仪器,什么是labview,它们之间关系是怎样的,下面作个简单的说明,以便记录及理解。
1、何谓虚拟仪器
“虚拟仪器”从字面上简单的理解,它就是一种测量仪器,只所以称之为虚拟,是相对于传统仪器来说的。我们知道,传统的电子测量仪器如示波器、频谱仪、信号源等,都是由专业厂家生产的,具有特定的功能和仪器外观,如一台典型的数字示波器仪器外观如下图所示:
而虚拟仪器呢,它具备传统仪器的功能,只是它的组成部分或者构成方式与传统仪器不同。如对于上图的数字示波器来讲,虚拟示波器的样子可能如下图所示:
它与传统仪器的主要区别是,虚拟仪器的硬件部分是由基本的测试硬件模块(如ad采集模块)和计算机组成,两者通过某种总线形式进行有机结合后构成基本的硬件平台,然后在计算机屏幕上显示虚拟的仪器面板,在虚拟面板上除数据结果的波形图显示外,也提供了各种如开关按钮等控件对仪器进行操作。另外,仪器的内部功能也是通过软件编程在计算机上实现的。
因此,说到这儿,虚拟仪器的概念也就出来了,主要包括下面三个要素:
硬件部分:是虚拟仪器的基础,由计算机和具体的硬件测试模块构成:软件部分:是虚拟仪器的核心,利用计算机强大的计算处理能力定义仪器的具体功能;面板部分:在计算机屏幕上显示虚拟面板,包括波形图的显示及各种按钮的操作。
我们知道,电子测量仪器从内部功能构成的角度可以分为三个部分,分别为采集与产生部分、分析和处理部分、显示和输出部分。那么从这个角度来讲,虚拟仪器与传统仪器的区别也很好理解了,即:
传统仪器:三个部分都是由硬件完成的;虚拟仪器:只有采集和产生部分是由硬件完成的,而其它两部分全由软件完成。
总而言之,虚拟仪器以软件为核心,利用计算机强大的数据处理能力,将以前传统仪器中由硬件电子线路实现的信号处理、结果显示和仪器控制用计算机软件来实现,用户通过软件实现的虚拟面板操作计算机,即可实现对测试仪器的操作。
那虚拟仪器相对于传统仪器有什么好处呢?以下是几个明显的优点,如生产成本低、开发周期短、可利用最新的软件及计算机技术、功能柔性灵活可自定义、人机交互界面漂亮美观等。虚拟仪器技术的应用,使得现代电子测量仪器的硬件设计更加简化,既降低了测试系统的组建成本,又可使测试系统更加高效和灵活。
2、何谓labview
上面说了什么是虚拟仪器,那labview又是什么呢?labview是美国ni(national instrument)公司的用于虚拟仪器软件开发的一种编程语言,其全称是laboratory virtual instrument engineering workbench的缩写,其意为实验室虚拟仪器工程平台。
当前主流的编程语言有很多种了,如c/c++语言、c#语言、basic语言、matlab、python语言等等,那我们为什么要选择labview作为虚拟仪器软件的首选开发语言呢?
在回答这个问题之前,大家先想一下,当你开发一款虚拟仪器软件时,你所选的编程语言必须具备哪些功能才能方便我们开发或者提高开发效率呢?我们稍微理一下:
第一,必须要有现成的各种仪器控件,如各种开关、旋钮、指示灯、图表显示等这些常见的仪器控件来代表真实仪器的外观;第二,必须要有现成的各种信号分析处理库,采集到数据后要作各种处理,如fft变换、滤波等处理;第三,虚拟仪器软件要与硬件测试模块打交道,所有必须要有各种硬件驱动程序库,方便操控硬件;第四,必须具有开放性,能与其它编程语言编写的功能模块进行交互;第五,要有灵活的调试手段,编程效率要高。
针对上面五个方面,labview都能完美满足上面的条件。labview是一种以数据流驱动的图形化编程语言,它代替文本编程语言来创建应用程序,其源程序完全是图形化的框图,而不是文本代码。它把复杂、繁琐、费时的语言编程,简化为利用线条把各种不同的图形化功能模块连接起来的图形编程,在labview中编写软件的过程,其实就变成了一个程序流程框图绘制的过程,结合它提供的各种控件、信号分析处理函数库,可以大大提高我们的编程效率。如一个典型的框图程序代码如下图所示:
大家想一下,如果用c++语言开发一款虚拟仪器软件,只是软件界面部分,如各种仪表显示控件,就够麻烦的了,再加上各种信号处理算法、各种仪器总线驱动的缺乏,写一个简单的波形采集程序,那不知要写到什么时候了,而如果用labview软件来开发的话,那可能就是半天的时间就搞定了。
当然,对于虚拟仪器软件开发的编程语言选择,还有agilent公司的图形化语言vee,只是这种语言用的人相对少多了,而且在各种支持上相对于labview也有一定的差距。此外,ni公司也提供了一种集成于c语言的编程环境labwindows/cvi,它为c语言开发者提供了各种控件库、函数库等功能,但前提是你必须非常熟悉c语言,上手难度较大,用户群也不是特别多。
所以,最终,虚拟仪器软件开发的主流编程语言的选择自然就落到labview平台上了。
3、总结
在虚拟仪器软件开发领域,labview是一种简单易学、形象直观的图形化编程语言,具有丰富的同传统仪器外观类似的控件库(如旋钮、仪表盘、温度计、波形图表等),可以构建漂亮专业的用户界面,同时,内部提供了庞大的函数库(如数据采集、分析处理、图形显示、数据存储及总线驱动控制等),可以满足各行业各领域的开发需求。
另外,由于它并非一种封闭的语言,而是具有强大的外部接口能力,可实现与诸如c/c++、basic、matlab等编程语言互通的能力,现在,labview不仅仅局限于虚拟仪器软件类的开发,而是已经发展成为了一种通用的、完善的、开放的高级编程语言。
本文由编码那些事原创,请关注+转发+收藏+点赞吧,带你一起长知识!

果洛分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录