19LabVIEW编程基础.docx
- 文档编号:30478830
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:25
- 大小:764.72KB
19LabVIEW编程基础.docx
《19LabVIEW编程基础.docx》由会员分享,可在线阅读,更多相关《19LabVIEW编程基础.docx(25页珍藏版)》请在冰豆网上搜索。
19LabVIEW编程基础
第四章LabVIEW编程基础
4.1LabVIEW简介
1.LabVIEW的发展状况及特点
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一种图形化的编程语言和开发环境。
自NI公司于1986年正式推出LabVIEW1.0以来,经过20多年的不断改进和完善,现已发展至LabVIEW2010版本,我们做实验时就用这个版本。
目前,LabVIEW在测控领域的影响越来越大,逐步奠定了NI在虚拟仪器方面的领导地位。
目前,该软件已广泛应用于航空、航天、通信、电力、汽车、电子半导体、生物医学等众多领域。
LabVIEW把复杂、繁琐、费时的语言编程简化成“用图标提示的方法选择功能块,用线条将各种功能连接起来”的编程方式。
用户利用LabVIEW编程就好像在“绘制”程序流程图。
正由于LabVIEW面向的是广大普通工程师而不是编程专家,因而其已经成为目前应用最广、发展最快、功能最强、最流行的虚拟仪器开发平台。
概括起来,LabVIEW编程语言具有以下特点:
①实现了仪器控制与数据采集的完全图形化编程,设计者无需编写任何文本形式的代码。
②提供了大量面向测控领域应用的库函数,如面向数据采集的DAQ库函数;面向分析的高级分析库;面向显示的大量仪器面板等。
③提供了大量与外部代码或应用软件进行连接的机制,如动态链接库(DLL)、动态数据交换(DDE)、各种ActiveX等。
④具有强大的网络连接功能,支持常用网络协议,便于用户开发各种网络测控、远程虚拟仪器系统。
⑤LabVIEW应用程序具有可移植性,适用于多种操作系统。
⑥能生成可执行文件,脱离LabVIEW开发环境运行。
2.启动LabVIEW
图4-1LabVIEW窗口
从NationalInstrumentsLabVIEW→“启动LabVIEW”按钮→“启动”对话框
从开始菜单运行NationalInstrumentsLabVIEW,在计算机屏幕上将出现如图4-1所示的LabVIEW窗口。
点击“启动LabVIEW”按钮,将进入如图4-2所示的“启动”对话框。
从启动对话框可以看出,我们使用的是LabVIEW2009版本。
图4-2启动对话框
本对话框用于启动需要进行的内容。
在“新建”选项栏中,“VI”选项用于建立一个新程序;“项目”选项用于集合LabVIEW文件和非LabVIEW文件、创建程序生成规范,以及在终端部署或下载文件;“基于模板的VI”选项中,按类型列出了LabVIEW系统提供的程序模板,用户可以以这些模板为基础建立自己的程序;“更多”选项中除了包含以上文档类型外,还列出了其它文档类型。
在“打开”选项栏中,可以打开最近编辑过的各种LabVIEW文件。
单击“浏览”按钮,将弹出标准的Windows打开文件对话框,可以打开计算机上所有的LabVIEW文件。
右侧的选项栏共有四项内容:
“最新消息”、“在线支持”、“帮助”及“范例”。
主要用于对LabVIEW软件使用中的技术帮助。
在图4-2左上角有四个下拉菜单:
“文件”菜单用于新建或打开各种LabVIEW文件;“操作”菜单用于连接远程前面板,以及调试应用程序或共享库;“工具”菜单用来对LabVIEW进行各种配置;“帮助”菜单用来打开各种LabVIEW帮助窗口。
3.LabVIEW程序的基本构成
LabVIEW是虚拟仪器的开发工具,在LabVIEW中开发的应用程序都被称为VI(虚拟仪器),其扩展名均默认为vi。
所有的VI都包括前面板、框图、图标和连接器窗格三部分。
⑴前面板和框图
①前面板
前面板窗口见图4-3所示,它是图形用户界面,在该界面上可以创建交互式的输入控件和输出显示控件。
输入控件如开关、旋钮、按钮等;输出显示控件如波形图、波形图表、指示灯等。
②框图
框图窗口见图4-4所示,框图是VI程序的图形化源代码,相当于标准电子仪器的功能部件。
在框图中对VI编程的主要工作,就是从前面板上的输入控件获得输入信号,然后进行计算和处理,最后在输出控件中把处理结果显示出来。
框图上的编程元素,有连线端子、函数、子VI、常量、结构和连线等。
图4-3LabVIEW前面板
图4-4程序框图
③前面板、框图与各种LabVIEW对象的关系
下面举例说明前面板、框图与各种LabVIEW对象的关系。
在“新建”选项栏中选择“VI”选项,出现前面板窗口和框图窗口。
在前面板上创建信号波形输出控件,见图4-5(a)所示;这个控件同时在框图上形成一个连线端子,见图(b)。
在框图上调用“正弦函数”,并用连线将正弦函数与信号波形输出控件的连线端子相连接。
这时正弦信号的发生、显示程序就编辑完成(图(b))。
单击工具条左侧的白色箭头,程序运行,可以看到信号波形控件中显示出正弦信号波形。
(a)前面板
(b)程序框图
图4-5前面板、框图与LabVIEW对象的关系举例
在图4-5的程序中,前面板的控件用于显示信号波形;框图中的正弦函数用于发生正弦信号;显示控件的连线端子,用于接收信号。
实际上,显示控件与它对应的连线端子是同一对象在前面板和框图中的不同形式。
框图中的连线,用于传递数据。
⑵图标和连接器
图标和连接器也是VI的重要组成部分。
VI具有层次化和结构化的特征,一个程序可以作为另一个VI的子程序被调用。
一个VI作为子VI后,在主程序框图中往往以功能块的形式出现,并通过代表这个功能块的图标对其进行标识。
所以说,图标是子VI在程序框图中的图形化表示。
如图4-6(a)是一个
的运算程序,图(b)是将这个程序作为一个功能块来使用,为了标识这个功能块,把其编辑成一个图标形式。
这个功能块就是一个子VI,它可以像图4-5中的正弦函数一样,作为一个整体,以图标的形式被调用。
(a)
程序
(b)把图(a)的VI编辑成子VI
图4-6图标和连接器概念的讲解示意图
标识子VI的图标,并非常规意义上的图标,子VI图标可以实现它所表示的程序的功能,如图(b)的子程序图标仍然可以实现图(a)程序的功能。
既然如此,那么子程序与主程序之间必然要设置参数接口;连接器就是定义子VI与主VI之间的参数接口。
4.LabVIEW的选板
LabVIEW提供了三种选板:
工具选板、控件选板和函数选板。
⑴工具选板
图4-7工具选板
LabVIEW的工具选板如图4-7所示。
工具选板提供了用于创建、修改和调试VI程序的各种工具。
如果该选板不可见,则在“查看”菜单下选择“工具选板”选项,可以显示该选板。
工具选板顶端的绿色长方形,为“自动选择工具”,使用自动选择工具可以提高编程的速度。
当从工具选板中选择了任一种工具后,鼠标箭头就会变成与该工具对应的形状。
当鼠标在工具选板的图标上停留2秒后,会弹出提示框以说明该工具的用途。
⑵控件选板
控件选板如图4-8所示。
只有打开前面板时,才能显示控件选板。
如果选板不可见,可以选择“(前面板的)查看”→“控件选板”菜单项,以使其显示出来;也可以在前面板上单击鼠标右键,弹出临时控件选板。
控件选板用来给前面板添加各种输入控件和输出控件。
图4-8控件选板
⑶函数选板
图4-9函数选板
函数选板如图4-9所示。
只有打开框图窗口,才能显示函数选板。
若函数选板不可见,则可以用“(程序框图的)查看”→“函数选板”来打开它;也可以在框图窗口下单击鼠标右键,以弹出临时函数选板。
函数选板里有创建程序框图需要的对象,该选板上的每一个顶层图标都表示一个子选板。
5.LabVIEW的基本数据类型
表4-1数值数据类型
框图端子
数值数据类型
存储位数
数值范围
单精度浮点数
32
1.40e-45—3.40e+38;-1.40e-45—-3.40e+38
双精度浮点数
64
4.94e-324—1.79e+308;-4.94e-324—-1.79e+308
扩展精度浮点数
128
6.48e-496—1.19e+493;-6.48e-496—-1.19e+493
单精度浮点复数
64
实部和虚部分别与单精度浮点数相同
双精度浮点复数
128
实部和虚部分别与双精度浮点数相同
扩展精度浮点复数
256
实部和虚部分别与扩展精度浮点数相同
带符号字节整数
8
-128—127
带符号字整数
16
-32768—32767
带符号长整数
32
-2147483648—2147483647
带符号长整数
64
-9.223372e+18—9.223372e+18
无符号字节整数
8
0—255
无符号字整数
16
0—65535
无符号长整数
32
0—4294967295
无符号长整数
64
0—1.8446744e+19
和许多高级编程语言一样,LabVIEW中有一些基本数据类型,这些基本数据类型是使用LabVIEW编写程序的基础,也是构成复合数据类型的基础。
⑴数值数据
图4-10数值输入控件快捷菜单的“表示法”子菜单
①数值数据的类型
数值数据类型可以分为浮点数、整数和复数三种基本形式,从这三种基本形式可以衍生出更多的具体数据类型。
表4-1给出了LabVIEW提供的所有数值数据类型;表中第一列为数值数据类型的输入控件在框图上的端子图标,第二列为数值数据类型名称,第三列为数值数据类型在存储器中占用的位数,第四列给出了相应类型所能表示的数据范围。
②数值类型控件的数据类型转换
一般情况下,前面板上数值类型的输入控件或显示控件可以被指定为任意数值数据类型。
例如,把“控件选板”→“数值”子选板上的“数值输入控件”添加到前面板上时,其数据类型为双精度浮点数。
在这个数值输入控件或其对应的框图端子上弹出快捷菜单,“表示法”子菜单的选项如图4-10所示。
DBL选项方框边缘的粗线框表示数值输入控件的当前数据类型是双精度浮点数。
在“表示法”子菜单上进行选择可以改变数值输入控件的数值数据类型。
③数值数据类型的LabVIEW对象
图4-11数值显示控件的三种形式
数值数据类型的LabVIEW对象有两种:
一种是前面板上的数值输入控件和数值显示控件;另一种是框图上的数值常量。
ⅰ数值类型控件
图4-12数值输入控件的快捷菜单
(a)(b)
图4-13控件端子的两种显示形式
数值类型控件的完整列表在“控件选板”→“数值”子选板上。
不同外观的数值控件在编程上没有任何实质的区别,设置众多外观不同的数值控件仅仅是为了增强虚拟仪器面板的视觉效果。
例如图4-11给出了从“控件选板”→“数值”子选板上添加的三种不同的数值显示控件:
“数值”、“量表”及“温度计”。
它们的用途可能有所区别,温度计只用于温度数据的显示,而“量表”可用于多种物理量的显示;但是,它们在框图上的编程没有任何区别。
在数值输入控件上弹出的快捷菜单如图4-12所示,我们可以根据需要选择选项。
在输入控件和显示控件的框图端子上打开快捷菜单,“显示为图标”菜单项默认为当前面板添加控件时在框图上生成的方形端子图标,如图4-13(a)所示;取消该菜单项的选中状态,端子图标变为图(b)形式。
ⅱ数值常量
数值常量在“函数选板”上的位置是“函数选板”→“编程”→“数值”→“数值常量”。
添加到框图上的数值常量默认为带符号长整数类型(123),在快捷菜单的“表示法”子菜单内进行适当选择,可以把数值常量设置为其他数值数据类型。
可以为数值常量手工输入任意数值,作为数据源出现在框图上,在程序运行过程中该数值不能改变。
此外,在“函数选板”→“编程”→“数值”→“数学与科学”子选板上有其他数值类型常量可供选用,例如
等。
一些运算操作图标,如加、减、乘、除等,位于“函数选板”→“编程”→“数值”子选板上。
在“函数选板”→“数学”子选板上,给出了各种数学运算图标,如三角函数、对数函数等。
⑵布尔数据
①布尔数据类型和布尔数据的LabVIEW对象
布尔数据类型只有“真”和“假”两种取值。
布尔数据的LabVIEW对象有布尔类型控件和布尔类型常量。
布尔类型控件在“控件选板”→“新式”→“布尔”子选板上。
布尔输入控件和显示控件的快捷菜单内容与数值输入控件的基本相同,故这里不再介绍。
布尔类型常量“真常量”和“假常量”都在“函数选板”→“编程”→“布尔”子选板上。
使用操作工具单击布尔常量,可以把布尔常量值取反。
图4-14布尔输入控件的机械动作
②布尔输入控件的机械动作,
布尔输入控件的一个重要属性是机械动作,正确配置布尔输入控件的这一属性,将有助于更精确地模拟电子仪器上的开关器件。
在布尔输入控件的快捷菜单里,“机械动作”子菜单中给出了所有可能的机械动作选项,如图4-14所示;但对于布尔显示控件,该菜单项被禁用。
在图4-14中,出现在“单击时转换”选项方框边缘的粗线框表示该选项为布尔输入控件当前使用的机械动作。
表4-2给出了布尔输入控件的六种机械动作的说明。
在布尔输入控件的属性对话框的“操作”选项卡里,也可以设置机械动作,而且还有详尽的说明和动作效果预览。
③布尔数据的运算
对布尔数据可以进行的运算操作,位于“函数选板”→“编程”→“布尔”子选板上。
典型的布尔数据运算包括:
与、或、非和异或等。
“函数选板”→“编程”→“比较”子选板上的各种比较运算,一般也返回布尔值。
④数值和布尔数据类型的特征颜色及连线样式
在程序框图上,各种数据类型都有自己的特征颜色,该特征颜色表现在输入控件和输出控件的框图端子以及数据线上。
表4-3给出了常见数据类型的连线样式和特征颜色。
以上介绍了LabVIEW的两种数据类型:
数值数据类型和布尔数据类型,另外还有数组和簇类等数据类型。
数组和簇都是复合数据类型,等有了一定的编程基础后再做介绍。
表4-2布尔输入控件的六种机械动作
机械动作图例
机械动作名称
动作说明
单击时转换
单击时改变值,并保持到下一次单击。
释放时转换
单击时值不变,释放时改变值,并保持到下一次释放。
保持转换直到释放
单击时改变值,保持新值直到释放。
单击时触发
单击时改变值,保持新值直到被VI读取。
释放时触发
释放时改变值,保持新值直到被VI读取。
保持触发直到释放
单击时改变值,保持新值直到释放后新值被VI读取。
表4-3数据类型的连线外形和特征颜色
端子图标
数据类型
连线外形和特征颜色
数值类型
(浮点类型为橙色,整型为蓝色)
布尔类型
(绿色)
4.2VI创建、编辑和调试
4.2.1创建一个VI
这里创建一个简单的VI,其功能是求两个双精度浮点数的平均值,创建步骤如下:
1.选择LabVIEW对话框的“新建”选项栏中的VI选项,先建立一个空白VI。
2.在前面板上创建两个数值输入控件和一个数值显示控件,并分别命名为A、B和结果。
①(见图4-15)打开“控件选板”,定位到“新式”→“数值”子选板,单击“数值输入控件”,此时鼠标指针变为手形。
移动鼠标指针到前面板,可以看到手形的鼠标指针下出现虚线的控件轮廓;同时,前面板工作区也被虚线包围。
单击鼠标左键控件被放置到前面板上,完成了“数值输入控件”的放置。
图4-15把输入控件放置到前面板上
②“数值输入控件”放置到前面板上后,控件标签“数值”自动选中;也可在快捷菜单的属性中将标签进行修改,如把这个数值输入控件改名为A。
③重复步骤①、②,建立另一个“数值输入控件”B。
④仿照步骤①、②,定位到“新式”→“数值”→“数值显示控件”子选板,把“数值显示控件”放置在前面板上,命名为“结果”。
图4-16框图窗口
3.选择“窗口”→“显示程序框图”菜单项,打开框图窗口,如图4-16所示。
可以看到前面板的三个控件在框图上已生成对应的端子。
前面板控件的框图端子上都标有指向右边的小箭头。
输入控件端子的箭头标在右侧,表示数据从这里流入框图;显示控件端子的箭头标在左侧,表示框图上的数据从这里流入端子。
4.添加加法和除法运算函数。
添加函数的过程和添加前面板控件相似。
加法函数和除法函数的位置在“函数选板”→“编程”→“数值”子选板上。
添加两个函数后的框图窗口如图4-17所示。
图4-17在框图上添加函数
5.建立连线,完成程序。
图4-18连线过程
①图4-18说明了在框图上从A端子开始定义连线的方法。
这里使用默认的工具模式,即自动选择工具。
把鼠标指针移动到A端子白色箭头附近,鼠标指针自动切换为连线工具的样式,同时白色箭头附近的小矩形区域出现闪烁,此时单击鼠标左键开始连线。
连线开始后,随着鼠标指针的移动,将会在连线源(A端子)和指针之间出现流动的虚线,表明连线的路径。
鼠标指针移动到加法函数左上角连线区域。
如果指针指向的区域发生闪动,同时出现显示输入参数名称x的提示框,则表明已经达到了正确的连线位置,单击鼠标左键完成连线。
②仿照步骤①,在B端子和加法函数的y输入端子之间;在加法函数的x+y输出端子和除法函数被除数x端子之间;以及在除法函数x/y输出端子和结果之间建立连线。
③在除法函数y端子上单击鼠标右键弹出快捷菜单,选择“创建”→“常量”选项,添加双精度浮点常量作为函数y输入参数。
常量初始值0被自动选中,直接输入2,然后确认。
最终程序框图如图4-19所示。
回到前面板窗口,在A、B中填入两个任意数字,单击“运行”按钮,在“结果”显示控件中观测计算得到的平均数。
把程序保存为“平均数.vi”。
图4-19求解平均数的VI程序框图
4.2.2子VI
VI中的子VI相当于文本编程语言中的函数、过程和子程序,是可以被其它VI调用的VI。
给VI定义图标和连接器后,就可以作为子VI进行调用。
调用的方法是在框图窗口打开时,选择“函数选板”→“选择VI”选项,然后在弹出的“选择需打开的VI”对话框中定位所要调用的子VI,双击将其打开后,就可以像子LabVIEW内置的VI和函数一样放在框图上。
下面介绍如何构建VI的图标和连接器。
4.2.2.1创建和编辑图标
图4-20“图标编辑器”对话框
1.启动图标编辑器的方法
创建和编辑图标的工作在图标编辑器中完成。
启动图标编辑器的方法有3种:
1.每个VI在前面板和框图窗口的右上角都显示了一个默认的图标,用鼠标右键单击这个默认图标,在弹出的快捷菜单中选择“编辑图标”选项;2.直接双击图标窗格;3.选择“文件”→“VI属性’菜单项打开VI属性对话框,在类别下拉列表中选择常规选项,然后单击编辑图标按钮。
2.图标编辑器的使用方法
图4-20是图标编辑器对话框,可以用对话框右边的各种编辑工具设计图标编辑区中的图标。
表4-4列出了图标编辑工具的功能。
表4-4图标编辑工具介绍
序号
图标
名称
功能
1
铅笔
通过指定线条颜色,绘制单个像素。
2
线条
通过指定线条颜色,绘制单个线条。
3
吸管
线条颜色(填充颜色)为左键(右键)单击像素颜色。
4
填充
通过LineColor填充相连像素。
5
矩形
通过线条颜色绘制一个矩形边框;双击工具可为线条颜色中的图标添加一个像素的边框。
6
实心矩形
绘制一个边框颜色为线条颜色,内部用填充颜色填充的矩形。
7
椭圆
绘制一个颜色为线条颜色的椭圆形边框。
8
实心椭圆
绘制一个边框颜色为线条颜色,内部用填充颜色填充的椭圆。
9
橡皮擦
绘制单个透明像素。
10
文本
在指定位置输入文本。
文本处于活动状态时,可用方向键移动文本。
11
选择
选择图标中要剪切、复制或移动的区域。
双击该工具,选择整个图标。
(只用于用户图层的像素)
12
移动
移动所选用户图层的像素,使用选择工具可同时移动多个图层的像素。
13
水平翻转
水平翻转所选用户图层。
如未选中某个图层,将翻转所有图层。
14
顺时针旋转
顺时针旋转所选用户图层;如未选中某个图层,将旋转所有用户图层。
15
线条颜色(蓝)
填充颜色(白)
指定用于线条、边框和填充的颜色;单击线条颜色或填充颜色,可通过颜色选择器选择颜色;单击交换颜色箭头,交换线条颜色和填充颜色。
4.2.2.2定义连接器
图标是子VI在程序框图上的图形化表示,连接器则定义了子VI和主程序之间的参数接口。
1.定义连接器模式
定义连接器的方法是用鼠标右键单击前面板窗口中的图标窗格,在快捷菜单中选择“显示接线板”选项,连接器窗格会取代前面板窗口右上角的图标窗格。
在连接器窗格上弹出快捷菜单,选择“模式”子菜单,子菜单中一共列出了36种不同的予定义连接器模式(如图4-21所示),在其中选择定义连接器模式。
图4-21连接器窗格弹出快捷菜单
2.关联连接器
定义好连接器模式后,还需要①把前面板上的控件和连接器窗格的端子关联起来:
把鼠标指针放在连接器中某个未连接的端子(白色)上,鼠标指针自动变换为连线工具的指针样式。
单击选中的端子,该端子会变为黑色。
然后单击前面板的控件(输入控件或显示控件),控件方框边缘出现的虚线框表示控件处于选中状态,同时连接器端子变为选中控件的数据类型的颜色,表示关联成功。
一般习惯把输入控件连接到连接器窗口左边的端子上,把显示控件连接到连接器窗口右边的端子上。
确定了某个端子和控件的连接关系后,就可以②通过快捷菜单的“连线端类型”子菜单指定端子的连接类型:
对于输入端子,“接线端类型”子菜单的可选项有“必须、推荐和可选”。
如前所述,“必须”连接的端子,在调用子VI时必须有输入数据连线与之连接,否则程序出现错误无法运行;“推荐”连接的端子可以不连接;“可选”连接的端子在“即时帮助”窗口被默认为隐藏,相应端子以灰色字体显示。
输出端子不允许被指定为“必须”类型,因为子VI使用者有权不使用其输出数据。
3.图4-21快捷菜单中各选项的功能
在图4-21的快捷菜单里选择“添加接线端”菜单项,将在鼠标指针所在端子附近增加一个端子;选择“删除接线端”菜单项,将把鼠标指针所在端子删除掉。
可以有未定义连接关系的多余端子存在。
“旋转90°”、“水平翻转”、“垂直翻转”选项用于对整个连接器窗格进行转动和翻转操作;“断开连接全部接线端”选项用于把已经接好的端子都断开;“断开连接本接线端”选项把弹出快捷菜单时鼠标指针所在位置端子的连接断开;“接线端类型”子菜单用于指定端子类型。
这里的最后两个选项,只有在确定了所定义连接器端子与前面板控件的关联关系后才能使用。
4.2.2.3创建子VI举例
在前面建立了一个求解两数的平均数的VI,在这里把这个VI改造为可供其他VI调用的子VI。
1.编辑图标
打开已保存的“平均数.VI”,在前面板或框图窗口的图标窗格上双击打开“图标编辑器”对话框。
(见图4-22)首先给图标编辑区域加框,同时使用白色作为编辑区背景色,把图标设置为蓝色。
选择工具,在图标编辑区中间位置写下“(x+y/2)”(可以使用方向键调节文本的位置),然后单击“确定”按钮,图标编辑完毕。
图4-22求平均数子VI的图标编辑对话框
2.建立连接器
在前面板图标窗格上弹出快捷菜单,选择“显示接线板”选项,打开连接器窗格。
根据前面板上的输入控件和显示控件的数目,选择左2右1的三端子连接器模式。
把鼠标指针移动到连接器窗格的左上端子处单击鼠标,端子变黑,表明该端子已被选中。
然后单击数值输入控件A,连接器端子变为橙色,表明端口和A控件连接成功。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 19 LabVIEW 编程 基础