1
LabVIEW 教程
创建 VI
2
LabVIEW的初步操作
创建 VI和调用子 VI
随机数发生
器
乘法函数
数值常数
进程监视器
3
LabVIEW的初步操作
程序调试技术
1,找出语法错误
如果一个 VI程序存在语法错误, 则在面板工具条上的 运行按钮 会变成一
个折断的箭头, 表示程序不能被执行 。 这时该按钮被称作 错误列表 。 点击
它, 则 LabVIEW弹出错误清单窗口, 选中相应错误双击 。
2,设置执行程序高亮
灯泡按钮 -,高亮执行, 。点击这个按钮使它变成高亮形式,再
点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,
执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以根据
数据的流动状态跟踪程序的执行。
4
LabVIEW的初步操作
程序调试技术
3,断点与单步执行
为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。
使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数
据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节
点或者图框表示为红框,对于连线表示为红点。当 VI程序运行到断点被设置处,
程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被
执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按
钮,这样程序将连续执行直到下一个断点。
4,探针
可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从 Tools工
具模板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器
上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上
面。在流程图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹
出式菜单中选择, 探针, 命令,加上一个探针同样可以为该连线。
5
LabVIEW的初步操作 VI子程序
? 子 VI( SubVI)相当于普通编程语言中的子程序,也就是被其他
的 VI调用的 VI。可以将任何一个定义了图标和联接器的 VI作为
另一个 VI的子程序。在流程图中打开 Functions?Select a VI…,,
就可以选择要调用的子 VI 。构造一个子 VI主要的工作就是 定义
它的图标和联接器 。
? 每个 VI在前面板和流程图窗口的右上角都显示了一个默认的图标。
启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的
默认图标,在弹出菜单中选择 Edit Icon。
6
LabVIEW的初步操作 子 VI的建立
下图显示了图标编辑器的窗口。可以用窗口左边的各种工具设计像素
编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图
标。图标编辑器的具体使用细节参阅有关资料。
图1-5 图标编辑器窗口
7
LabVIEW的初步操作 子 VI的建立
? 联接器是 VI 数据的输入输出接口。如果用面板控制对
象或者显示对象从子 VI 中输出或者输入数据,那么这
些对象都需要在联接器面板中有一个连线端子。您可
以通过选择 VI的端子数并为每个端子指定对应的前面
板对象以定义联接器。
? 定义联接器的方法是,用鼠标右键单击面板窗口中的
图标窗口,在快捷菜单中选择 Show Connector。
8
LabVIEW的初步操作 练习1 -2
? 练习 1 -2 为 VI创建图标和联接器
1,打开练习1-1做的程序。
2,在前面板中,用鼠标右键单击窗口右上角的图标,在快捷菜单中选择
Edit Icon…,,也可以双击图标激活图标编辑器。注意只能在前面板
中编辑图标和联接器。
3,删除默认图标。使用 Select Tool(矩形框),单击并拖动想要删除
的部分,按下 <Delete>。也可以通过双击工具框中的阴影矩形删除
图标。
9
LabVIEW的初步操作 练习1 -2
4,用 Pencil Tool (铅笔工具)绘制一个温度计。
5,用 Text Tool(文本工具)创建文本。得到图标将如下图所示。
图1-6 编辑后的图标编辑器窗口
10
LabVIEW的初步操作 练习1 -2
6,单击 OK,关闭编辑器。新创建的图标就显示在屏幕右上角的图标窗口中。
7,用鼠标右键单击前面板中的图标窗口,在快捷菜单中选择 Show
Connector,设置联接器端子连接模式。在默认情况下,LabVIEW 会根
据前面板中的控制对象和显示对象的数目确定联接器的端子连接模式。因
为前面板中有两个对象,所以联接器有两个端子,如下图所示。用鼠标右
键单击联接器窗口,在快捷菜单中选择 Rotate 90 Degrees(旋转 90
度),注意联接器窗口的变化,如下图所示。
11
LabVIEW的初步操作 练习1 -2
9,将端子连接到温度计和电压计:
a,点击联接器上部端子。光标自动变成连线工具,同时端子变成黑色。
b,单击温度显示对象。一个移动的虚线框把它包围起来,选中的端子的颜
色变为与控制 /显示对象的数据类型一致的颜色。
(如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗,
这表示您已经成功地把显示对象和上部端子连接起来。如果端子是白色,
则表示没有连接成功。 )
c,重复步骤 a 和 b,把底部的端子和容积计连接起来。
d,用鼠标右键单击联接器,在快捷菜单中选择 Show Icon…,
12
LabVIEW的初步操作 练习1 -2
10,选择 File?Save,保存该 VI。
这样这个 VI 就完成了,并也可以作为子 VI 被其他的 VI调
用。子 VI 的图标在主 VI 的流程图中代表它。 VI 的联接器(含
有两个端子)输出温度和电压。
13
LabVIEW的初步操作 关于连线
?连线是程序设计中较为复杂的问题。流程图上
的每一个对象都带有自己的连线端子,连线将
构成对象之间的 数据通道 。
?因为这 不是几何意义上的连线,因此并非
任意两个端子间都可连线,连线类似于普通程
序中的 变量 。数据 单向流动,从源端口向一
个或多个目的端口流动。不同的线型代表不同
的数据类型。
14
LabVIEW的初步操作 关于连线
? 下面是一些常用数据类型所对应的线型和颜色:
类型 颜色 标量 一维数组 二维数组
整形数 兰色
浮点数 橙色
逻辑量 绿色
字符串 粉色
文件路径 青色
15
LabVIEW的初步操作 关于连线
? 端点的先后次序不影响数据流动的方向。
? 当把连线工具放在端点上时,该端点区域将会闪烁,表示连线将
会接通该端点。当把连线工具从一个端口接到另一个端口时,不
需要按住鼠标键。当需要连线转弯时,点击一次鼠标键,即可以
正交垂直方向地弯曲连线,按空格键可以改变转角的方向。
? 接线头是为了帮助正确连接端口的连线。当把连线工具放到端口
上,接线头就会弹出。接线头还有一个黄色小标识框,显示该端 口的名字。
? 线型为波折号的连线表示坏线。出现坏线的原因有很多,例如:
连接了两个控制对象;源端子和终点端子的数据类型不匹配。可 以通过使用定位工具点击坏线再按下 <Delete> 来删除它。
? 选择 Edit?Remove Bad Wires 或者按下 <Ctrl-B>可以一次删
除流程图中的所有坏线。当 VI 无法运行,或者显示 Signal has
Loose Ends (信号丢失终端)的错误信息时,这是一个快捷的调
试方法。
16
图表( chart)入门 概述
?图表( chart)是一种周期性更新数据的数字式
图形显示对象 。
?可以在 Controls?Graph 模板中找到两种图表:
波形图和强度图 (后者不常用)。也可以自定义
图表的格式,以满足自己的显示需要或者让它显
示更多的数据。
?图表具有的特性有,滚动条、图例、模板、数值
显示、时间坐标显示。
17
图表( chart)入门 信号发生器示例
? 以下为一个信号发生器
的示例,
18
图表( chart)入门 概述
? 右图显示了快速菜单中
Advanced?Update Mode子菜
单中提供的三种显示类型:
? Strip chart(条状图)
? Scope chart(示波器图)
? Sweep chart(扫描图)
? 默认模式是条状图。
19
图表( chart)入门 练习 1-3
? 练习 1-3 使用三种图表模式
目的:查看 VI 分别在三种模式下执行时图表的显示。
1,建立前面板及流程图如下
该程序中利用一个循环产生连续的 sin(i)函数值, 并及时地在 chart图表上
显示出来, 现在前面板上的 chart是一个 strip,这是一个坐标式显示器,
与纸带式图表记录器相似 。 每接受一个新数据, 新数据就将显示在右侧,
而原有数据移动到左侧
20
图表( chart)入门 练习 1-3
2,用鼠标选中 chart,点击右键, 可在快速菜单中选择 Advanced?Update
Mode子菜单 。 可以选择更换其他两种更新模式 。
示波器模式是一个返回式的显示器, 与示波器类似 。 每接受一个新
数据时, 它就把新数据绘制在原有数据的右侧 。 当数据曲线到达显示区
的右边缘时, VI 会删除全部图形, 从左边缘重新开始绘制曲线 。 示波器
模式显然要快于条状图模式, 因为它不会因为滚动产生溢出 。
扫描模式更接近于示波器模式, 但是当数据曲线到达显示区
的右边时, 不会变成空白, 而是会出现一个移动的垂线, 标记新
数据的开始, 并当 VI添加新数据时穿过整个显示区 。
21
图表入门 重叠式和堆栈式图区
?LabVIEW可以用同一个垂直坐标在一个图
表中显示多个图区,这种图区被称为重
叠式图区,也可使用多个垂直坐标,这
时这种图形被称为堆栈式图区。请参考
Examples\General\ Graphs\charts.llb
中的 charts.vi示例。
LabVIEW 教程
创建 VI
2
LabVIEW的初步操作
创建 VI和调用子 VI
随机数发生
器
乘法函数
数值常数
进程监视器
3
LabVIEW的初步操作
程序调试技术
1,找出语法错误
如果一个 VI程序存在语法错误, 则在面板工具条上的 运行按钮 会变成一
个折断的箭头, 表示程序不能被执行 。 这时该按钮被称作 错误列表 。 点击
它, 则 LabVIEW弹出错误清单窗口, 选中相应错误双击 。
2,设置执行程序高亮
灯泡按钮 -,高亮执行, 。点击这个按钮使它变成高亮形式,再
点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,
执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以根据
数据的流动状态跟踪程序的执行。
4
LabVIEW的初步操作
程序调试技术
3,断点与单步执行
为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。
使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数
据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节
点或者图框表示为红框,对于连线表示为红点。当 VI程序运行到断点被设置处,
程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被
执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按
钮,这样程序将连续执行直到下一个断点。
4,探针
可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从 Tools工
具模板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器
上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上
面。在流程图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹
出式菜单中选择, 探针, 命令,加上一个探针同样可以为该连线。
5
LabVIEW的初步操作 VI子程序
? 子 VI( SubVI)相当于普通编程语言中的子程序,也就是被其他
的 VI调用的 VI。可以将任何一个定义了图标和联接器的 VI作为
另一个 VI的子程序。在流程图中打开 Functions?Select a VI…,,
就可以选择要调用的子 VI 。构造一个子 VI主要的工作就是 定义
它的图标和联接器 。
? 每个 VI在前面板和流程图窗口的右上角都显示了一个默认的图标。
启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的
默认图标,在弹出菜单中选择 Edit Icon。
6
LabVIEW的初步操作 子 VI的建立
下图显示了图标编辑器的窗口。可以用窗口左边的各种工具设计像素
编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图
标。图标编辑器的具体使用细节参阅有关资料。
图1-5 图标编辑器窗口
7
LabVIEW的初步操作 子 VI的建立
? 联接器是 VI 数据的输入输出接口。如果用面板控制对
象或者显示对象从子 VI 中输出或者输入数据,那么这
些对象都需要在联接器面板中有一个连线端子。您可
以通过选择 VI的端子数并为每个端子指定对应的前面
板对象以定义联接器。
? 定义联接器的方法是,用鼠标右键单击面板窗口中的
图标窗口,在快捷菜单中选择 Show Connector。
8
LabVIEW的初步操作 练习1 -2
? 练习 1 -2 为 VI创建图标和联接器
1,打开练习1-1做的程序。
2,在前面板中,用鼠标右键单击窗口右上角的图标,在快捷菜单中选择
Edit Icon…,,也可以双击图标激活图标编辑器。注意只能在前面板
中编辑图标和联接器。
3,删除默认图标。使用 Select Tool(矩形框),单击并拖动想要删除
的部分,按下 <Delete>。也可以通过双击工具框中的阴影矩形删除
图标。
9
LabVIEW的初步操作 练习1 -2
4,用 Pencil Tool (铅笔工具)绘制一个温度计。
5,用 Text Tool(文本工具)创建文本。得到图标将如下图所示。
图1-6 编辑后的图标编辑器窗口
10
LabVIEW的初步操作 练习1 -2
6,单击 OK,关闭编辑器。新创建的图标就显示在屏幕右上角的图标窗口中。
7,用鼠标右键单击前面板中的图标窗口,在快捷菜单中选择 Show
Connector,设置联接器端子连接模式。在默认情况下,LabVIEW 会根
据前面板中的控制对象和显示对象的数目确定联接器的端子连接模式。因
为前面板中有两个对象,所以联接器有两个端子,如下图所示。用鼠标右
键单击联接器窗口,在快捷菜单中选择 Rotate 90 Degrees(旋转 90
度),注意联接器窗口的变化,如下图所示。
11
LabVIEW的初步操作 练习1 -2
9,将端子连接到温度计和电压计:
a,点击联接器上部端子。光标自动变成连线工具,同时端子变成黑色。
b,单击温度显示对象。一个移动的虚线框把它包围起来,选中的端子的颜
色变为与控制 /显示对象的数据类型一致的颜色。
(如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗,
这表示您已经成功地把显示对象和上部端子连接起来。如果端子是白色,
则表示没有连接成功。 )
c,重复步骤 a 和 b,把底部的端子和容积计连接起来。
d,用鼠标右键单击联接器,在快捷菜单中选择 Show Icon…,
12
LabVIEW的初步操作 练习1 -2
10,选择 File?Save,保存该 VI。
这样这个 VI 就完成了,并也可以作为子 VI 被其他的 VI调
用。子 VI 的图标在主 VI 的流程图中代表它。 VI 的联接器(含
有两个端子)输出温度和电压。
13
LabVIEW的初步操作 关于连线
?连线是程序设计中较为复杂的问题。流程图上
的每一个对象都带有自己的连线端子,连线将
构成对象之间的 数据通道 。
?因为这 不是几何意义上的连线,因此并非
任意两个端子间都可连线,连线类似于普通程
序中的 变量 。数据 单向流动,从源端口向一
个或多个目的端口流动。不同的线型代表不同
的数据类型。
14
LabVIEW的初步操作 关于连线
? 下面是一些常用数据类型所对应的线型和颜色:
类型 颜色 标量 一维数组 二维数组
整形数 兰色
浮点数 橙色
逻辑量 绿色
字符串 粉色
文件路径 青色
15
LabVIEW的初步操作 关于连线
? 端点的先后次序不影响数据流动的方向。
? 当把连线工具放在端点上时,该端点区域将会闪烁,表示连线将
会接通该端点。当把连线工具从一个端口接到另一个端口时,不
需要按住鼠标键。当需要连线转弯时,点击一次鼠标键,即可以
正交垂直方向地弯曲连线,按空格键可以改变转角的方向。
? 接线头是为了帮助正确连接端口的连线。当把连线工具放到端口
上,接线头就会弹出。接线头还有一个黄色小标识框,显示该端 口的名字。
? 线型为波折号的连线表示坏线。出现坏线的原因有很多,例如:
连接了两个控制对象;源端子和终点端子的数据类型不匹配。可 以通过使用定位工具点击坏线再按下 <Delete> 来删除它。
? 选择 Edit?Remove Bad Wires 或者按下 <Ctrl-B>可以一次删
除流程图中的所有坏线。当 VI 无法运行,或者显示 Signal has
Loose Ends (信号丢失终端)的错误信息时,这是一个快捷的调
试方法。
16
图表( chart)入门 概述
?图表( chart)是一种周期性更新数据的数字式
图形显示对象 。
?可以在 Controls?Graph 模板中找到两种图表:
波形图和强度图 (后者不常用)。也可以自定义
图表的格式,以满足自己的显示需要或者让它显
示更多的数据。
?图表具有的特性有,滚动条、图例、模板、数值
显示、时间坐标显示。
17
图表( chart)入门 信号发生器示例
? 以下为一个信号发生器
的示例,
18
图表( chart)入门 概述
? 右图显示了快速菜单中
Advanced?Update Mode子菜
单中提供的三种显示类型:
? Strip chart(条状图)
? Scope chart(示波器图)
? Sweep chart(扫描图)
? 默认模式是条状图。
19
图表( chart)入门 练习 1-3
? 练习 1-3 使用三种图表模式
目的:查看 VI 分别在三种模式下执行时图表的显示。
1,建立前面板及流程图如下
该程序中利用一个循环产生连续的 sin(i)函数值, 并及时地在 chart图表上
显示出来, 现在前面板上的 chart是一个 strip,这是一个坐标式显示器,
与纸带式图表记录器相似 。 每接受一个新数据, 新数据就将显示在右侧,
而原有数据移动到左侧
20
图表( chart)入门 练习 1-3
2,用鼠标选中 chart,点击右键, 可在快速菜单中选择 Advanced?Update
Mode子菜单 。 可以选择更换其他两种更新模式 。
示波器模式是一个返回式的显示器, 与示波器类似 。 每接受一个新
数据时, 它就把新数据绘制在原有数据的右侧 。 当数据曲线到达显示区
的右边缘时, VI 会删除全部图形, 从左边缘重新开始绘制曲线 。 示波器
模式显然要快于条状图模式, 因为它不会因为滚动产生溢出 。
扫描模式更接近于示波器模式, 但是当数据曲线到达显示区
的右边时, 不会变成空白, 而是会出现一个移动的垂线, 标记新
数据的开始, 并当 VI添加新数据时穿过整个显示区 。
21
图表入门 重叠式和堆栈式图区
?LabVIEW可以用同一个垂直坐标在一个图
表中显示多个图区,这种图区被称为重
叠式图区,也可使用多个垂直坐标,这
时这种图形被称为堆栈式图区。请参考
Examples\General\ Graphs\charts.llb
中的 charts.vi示例。