Labview是Laboratory Virtual Instrument Engineering Workbench (实验室虚拟仪器集成开发环境)的简称,是有美国国家仪器公司(National instruments, IN)创立的一个功能强大而又灵活的仪器和分析应用开发工具。Labview不同于基于文本的的编程语言(如Fortran和C),他是一种图形编程语言----通常称为G语言,其编程过程就是同过图形符号描述程序的运行。NI Labview使用已获取专利的数据流编程模式,他能是用户从基于文本程序语言的循序结构中解脱出来,他的执行循序是由节点间的数据而不是由文本行的循序决定的。并且,Labview是唯一具有编译器的图形化程序环境,所生成的的优化代码的执行速率可以和C语言媲美。Labview就有开放的环境,能和第三放软件轻松连接,通过Labview,用户可以把现有的应用程序和.NET组件、ActiveX、 DLL以及广泛的网络协议相连,同样用户可以在Labview中创建能在其软件环境中调用的独立执行程序或动态连接库。在设计集成系统中,特别是做硬件数据采集,仪器控制等,有其一套快速开发组件,从而大大缩短了系统的开发周期,着是其他开发平台所没法比较的。下面对Labview基于图形化语言作简要介绍: 2.1 程序前面板 程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称为控制(Controls),输出量被称为显示(Indicators)。控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图形等,这使这得前面板直观易懂。 2.2 框图程序 每一个程序前面板都对应着一段框图程序。框图程序用Labview图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。上述信号发生器的框图程序如下面的的图2-2: 2.3 图标/连接器 图标/连接器是子VI被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。连接器一般情况下隐含不显示,除非用户选择打开观察它。 2.4 Labview中的操作模板 Labview具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模板共有三类,为工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。 工具模板(Tools Palette) 工具模板为编程者提供了各种用于创建、修改和调试VI程序的工具。如果该模板没有出现,则可以在Windows菜单下选择Show Tools Palette命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从Windows菜单下选择了Show Help Window功能后,把工具模板内选定的任一种工具光标放在框图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。工具图标有如下几种: 操作工具:使用该工具来操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成标签工具的形状。 选择工具:用于选择、移动或改变对象的大小。当它用于改变对象的连框大小时,会变成相应形状。 标签工具:用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。 连线工具:用于在框图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。 对象弹出菜单工具:用左鼠标键可以弹出对象的弹出式菜单.
漫游工具:使用该工具就可以不需要使用滚动条而在窗口中漫游。
断点工具:使用该工具在VI的框图对象上设置断点。
探针工具:可以在框图程序内的数据流线上设置探针。程序调试员可以通过控 针窗口来观察该数据流线上的数据变化状况。 颜色提取工具:使用该工具来提取颜色用于编辑其他的对象。 颜色工具:用来给对象定义颜色。它也显示出对象的前景色和背景色。 与上述工具模板不同,控制和功能模板只显示顶层子模板的图标。在这些顶层子模板中包含许多不同的控制或功能子模板。通过这些控制或功能子模板可以找到创建程序所需的面板对象和框图对象。用鼠标点击顶层子模板图标就可以展开对应的控制或功能子模板,只需按下控制或功能子模板左上角的大头针就可以把对这个子模板变成浮动板留在屏幕上。 2.5 控制模板(Controls Palette) 用控制模板可以给前面板添加输入控制和输出显示。每个图标代表一个子模板。如果控制模板不显示,可以用Windows菜单的Show Controls Palette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。 注:只有当打开前面板窗口时才能调用控制模板。
控制模板如左图所示,以下介绍几个常用的模板:
数值子模板:包含数值的控制和显示。
布尔值子模块:逻辑数值的控制和显示。
数组和群子模板:复合型数据类型的控制和显示。
图形子模板:显示数据结果的趋势图和曲线图。
修饰子模板:用于给前面板进行装饰的各种图形对象。
调用存储在文件中的控制和显示的接口。
2.6 功能模板(Functions Palette) 功能模板是创建框图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若功能模板不出现,则可以用Windows菜单下的Show Functions Palette功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。 (注:只有打开了框图程序窗口,才能出现功能模板。) 功能模板如右图所示。以下介绍几个常用的模板:
结构子模板:包括程序控制结构命令,例如循环 控制等,以及全局变量和局部变量。 数值运算子模板:包括各种常用的数值运算符,如+、-等;以及各种常见的数值运算式,如+1运算;还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。 布尔逻辑子模板:包括各种逻辑运算符以及布尔常数。
群子模板:包括群的处理函数,以及群常数等。这里的群相当于C语言中的结构。
比较子模板:包括各种比较运算函数,如大于、小于、等于。
时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。
信号处理子模板:包括信号发生、时域及频域分析功能模块。
“选择…VI子程序”子模板:包括一个对话框,可以选择一个VI程序作为子程序(SUB VI)插入当前程序中。 2.7 Labview中的框图程序 框图程序是由节点、端子、图框和连线四种元素构成的。 节点类似于文本语言程序的语句、函数或者子程序。Labview有二种节点类型----函数节点和子VI节点。两者的区别在于:函数节点是Labview以编译好了的机器代码供用户使用的,而子VI节点是以图形语言形式提供给用户的。用户可以访问和修改任一子VI节点的代码,但无法对函数节点进行修改。 端子是只有一路输入/输出,且方向固定的节点。Labview有三类端子----前面板对象端子、全局与局部变量端子和常量端子。对象端子是数据在框图程序部分和前面板之间传输的接口。一般来说,一个VI的前面板上的对象(控制或显示)都在框图中有一个对象端子与之一一对应。当在前面板创建或删除面板对象时,可以自动创建或删除相应的对象端子。控制对象对应的端子在框图中是用粗框框住的。它们只能在VI程序框图中作为数据流源点。显示对象对应的端子在框图中是用细框框住的。 图框是Labview实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执行方式。代码接口节点(CIN)是框图程序与用户提供的C语言文本程序的接口。 连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显上,每种数据类型还以不同的颜色予以强调。 当需要连接两个端子时,在第一个端子上点击连线工具(从工具模板栏调用),然后移动到另一个端子,再点击第二个端子。端子的先后次序不影响数据流动的方向。当把连线工具放在端子上时,该端子区域将会闪烁,表示连线将会接通该端子。当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。当需要连线转弯时,点击一次鼠标键,即可以正交垂直方向地弯曲连线,按空格键可以改变转角的方 2.虚拟信号发生器的设计思想 虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控键. 虚拟信号发生器可产生正弦波、方波和三角波等信号,根据需要,可调节其中面板上的控键,改变信号的频率、幅度与相位,并可以进行数据存储,所有信号发生的结果都可以通过软件设计的虚拟面板显示.. |