9.将端子连接到温度计和电压计:
a. 点击联接器上部端子。光标自动变成连线工具,同时端子变成黑色。
b. 单击温度显示对象。一个移动的虚线框把它包围起来,选中的端子的颜色变为与控制/显示对象的数据类型一致的颜色。
如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗,这表示您已经成功地把显示对象和上部端子连接起来。如果端子是白色,则表示没有连接成功。
c. 重复步骤a 和 b,把底部的端子和容积计连接起来。
d. 用鼠标右键单击联接器,在快捷菜单中选择Show Icon….
10.选择File?Save ,保存该 VI。
这样这个 VI 就完成了,并也可以作为子 VI 被其他的VI调用。子VI 的图标在主 VI 的流程图中代表它。VI 的联接器(含有两个端子)输出温度和电压。
练习 1-2 结束
1.5 图表(chart)入门
图表(chart)是一种周期性更新数据的数字式图形显示对象。可以在Controls?Graph 模板中找到两种图表:波形图和强度图(后者不常用)。也可以自定义图表的格式,以满足自己的显示需要或者让它显示更多的数据。图表具有的特性有:滚动条、图例、模板、数值显示、时间坐标显示。 右图显示了快速菜单中Advanced?Update Mode子菜单中提供的三种图表显示类型——Strip chart(条状图),
Scope chart(示波器图)和Sweep chart(扫描图)。默认模式是条状图。
练习 1-3 使用三种图表模式
目的:查看 VI 分别在三种模式下执行时图表的显示。
1.建立前面板及流程图如下
该程序中利用一个循环产生连续的sin(i)函数值,并及时地在chart图表上显示出来,现在前面板上的chart是一个strip,这是一个坐标式显示器,与纸带式图表记录
器相似。每接受一个新数据,新数据就将显示在右侧,而原有数据移动到左侧
图1-7 图表的例子
2.用鼠标选中chart,点击右键,可在快速菜单中选择Advanced?Update Mode子菜单。可以选择更换其他两种更新模式。
示波器模式是一个返回式的显示器,与示波器类似。每接受一个新数据时,它就把新数据绘制在原有数据的右侧。当数据曲线到达显示区的右边缘时,VI 会删除全部图形,从左边缘重新开始绘制曲线。示波器模式显然要快于条状图模式,因为它不会因为滚动产生溢出。
扫描模式更接近于示波器模式,但是当数据曲线到达显示区的右边时,不会变成空白,而是会出现一个移动的垂线,标记新数据的开始,并当VI添加新数据时穿过整个显示区。
练习 1-3 结束。
重叠式和堆栈式图区
LabVIEW可以用同一个垂直坐标在一个图表中显示多个图区,这种图区被称为重叠式图区,也可使用多个垂直坐标,这时这种图形被称为堆栈式图区。请参考Examples\\General\\ Graphs\\charts.llb 中的charts.vi示例。
补充练习:
通过下面的要求练习LabVIEW的操作。 画出如右下所示的流程图,配以适当的前面板。注意连线时快捷菜单和Create功能的使用,和在前面板上替换不同的Indicator的方法。
图1-8 补充练习的面板及框图
第二章 程序结构
2.1 循环结构
2.1.1 While 循环
While 循环可以反复执行循环体的程序,直至到达某个边界条件。它类似于普通编程语言中的 Do 循环和 Repeat-Until 循环。While 循环的框图是一个大小可变的方框,用于执行框中的程序,直到条件端子接收到的布尔值为 FALSE。
? 该循环有如下特点: ? 计数从0开始(i=0)。
? 先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。
? 循环至少要运行一次。
条件端子循环变量
图2-1 While 循环示意图
练习 2-1 使用While循环和图表
目的:用 While 循环和图表获得数据,并实时显示。
创建一个可以产生并在图表中显示随机数的VI。 前面板有一个控制旋钮可在0到10秒之间调节循环时间,还有一个开关可以中止VI的运行。学习怎样改变开关的动作属性,以便不用每次运行VI时都要打开开关。操作步骤如下:
前面板
随机信号1.00.80.60.40.20.001023循环延时4.02.00.06.08.010.0控制开关ONOFF
图2-2 练习2-1的前面板
1. 选择File?New,打开一个新的前面板。
2. 选择Controls?Boolean,在前面板中放置一个开关。设置开关的标签为控制开关。
3. 使用标签工具创建 ON 和 OFF 的标签,放置于开关旁。 4. 选中Controls?Graph,在前面板中放置一个波形图(是chart,而不是graph)。设置它的标签为随机信号。这个图表用于实时显示随机数。
5. 把图表的纵坐标改为0.0 到 1.0。方法是用标签工具把最大值从10.0改为1.0。
6. 选择Controls?Numeric,在前面板中放置一个旋钮。设置旋钮的标签为循环延时。这个旋钮用于控制While 循环的循环时间。
流程图
7. 开流程图,按照下图创建流程图。
图2-2 练习2-1的流程图
a. 从 Functions?Structures 中选择 While 循环,把它放置在流程图中。将其拖至适当大小,将相关对象移到循环圈。
b. 从 Functions? Numeric中选择随机数(0-1)功能函数放到循环。
c. 在循环中设置Wait Until Next ms Multiple函数 (Functions?Time & Dialog),该函数的时间单位是毫秒,按
目前面板旋钮的标度,可将每次执行时间延迟0到10毫秒。
d. 照上面所示的流程图连线,把随机数功能函数和随机信号图表输入端子连接起来,并把启动开关和While 循环的条件端子连接。
8. 返回前面板,调用操作工具后单击垂直开关将它打开。 9. 把该 VI 保存为 LabVIEW\\Activity目录中的Random Signal.vi。
10. 执行该 VI。While循环的执行次数是不确定的,只要设置的条件为真,循环程序就会持续运行。在这个例子中,只要开关打开(TRUE),框图程序就会一直产生随机数,并将其在图表中显示。
11. 单击垂直开关,中止该VI。关闭开关这个动作会给循环条件端子发送一个FALSE值,从而中止循环。
12. 用鼠标右键单击图表,选择Data Operations?Clear Chart,清除显示缓存,重新设置图表。
练习 2-1结束
附注与说明
布尔开关的机械动作:
布尔开关有6种机械动作属性可供选择。在前面板上用鼠标右键单击开关,在快捷菜单中选择Mechanical Action就可以看到这些可选的动作。LabVIEW还提供了一个例示这些动作,它是位于Examples\\General\\Controls\\booleans.llb的Mechanical Action of Booleans.vi。
2.1.2 移位寄存器(Shift Register)
移位寄存器可以将数据从一个循环周期传递到另外一个周期。在程序设计中,经常要用到它.创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择 Add Shift Register。如右图所示。
移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。下图表示了它的工作过程.
相关推荐: