可R210..2aa 匹民时(秒) 口口■■口口■■圆■口■口口■口口■画■■口■■ 图2一8练习2一5的流程图(共3帧) 1.在流程图中放置顺序结构( Functions》 Structures)。 2.用鼠标右键单击帧的边框,在快捷菜单中选择Add Frame After,创建一个新帧。重复这个步骤,再创建一个帧。 3.选中第0桢,设置读取初始时间(子)程序 4.第0帧的下边框上含有一个小方框,其中有一个箭头。 这个方框叫做顺序局部变量,可以在同一个顺序结构中的各个帧 之间传递数据。用鼠标右键单击第0帧的底部边框,选择Add Sequence Loca1,创建顺序局部变量。顺序局部变量显示为一个 空的方块。当您将某个功能函数与顺序局部变量相连时,方块中 的箭头就会自动显示 5. Tick count(ms)函数( Functions>Time& Dialog)—返回启动到现在的时间(以毫秒为单位) 在这里例子里需要使用两个这个函数。另一个在第2帧 中 6.按图连好线。转入第1帧。该帧是匹配计算,内含 个循环结构。该图中使用的新函数有: Round to Nearest函数( Functions> Numeri)一在 该例中,它用于取0到100之间的随机数到距离最近的整数 ot equa1?函数( Functions》 Comparison)—在该例 中,它将随机数和前面板中设置的数相比较,如果两者不相等会 返回TRE值,否则返回 FALSE cresent函数( Functions>Numeric)—在该例中, 它将 While循环的计数器加1。 7.按图连好线。转入第2帧 在第0帧中, Tick Count(ms)功能函数将以毫秒为单位 表示当前时间。这个数值被连到顺序局部变量,这样它就可以被 后续的帧使用。在第1帧中,只要函数返回的值与指定值不等, ⅥI就会持续执行 While循环。在第2帧中, Tick Count(ms) 功能函数以毫秒为单位返回新的时间。Ⅵ从中减去原来的时间
1000.00 匹配时间(秒) 计算延时时间(秒) 2 [0..2] 图2-8 练习2-5的流程图(共3帧) 1. 在流程图中放置顺序结构(Functions»Structures)。 2. 用鼠标右键单击帧的边框,在快捷菜单中选择 Add Frame After,创建一个新帧。重复这个步骤,再创建一个帧。 共3桢。 3. 选中第0桢,设置读取初始时间(子)程序 4. 第 0 帧的下边框上含有一个小方框,其中有一个箭头。 这个方框叫做顺序局部变量,可以在同一个顺序结构中的各个帧 之间传递数据。用鼠标右键单击第 0 帧的底部边框,选择 Add Sequence Local,创建顺序局部变量。顺序局部变量显示为一个 空的方块。当您将某个功能函数与顺序局部变量相连时,方块中 的箭头就会自动显示。 5. Tick Count (ms) 函数(Functions»Time & Dialog)——返回启动到现在的时间(以毫秒为单位)。 在这里例子里需要使用两个这个函数。另一个在第2帧 中。 6. 按图连好线。转入第1帧。该帧是匹配计算,内含一 个循环结构。该图中使用的新函数有: Round to Nearest 函数(Functions»Numeric)——在 该例中,它用于取 0 到 100 之间的随机数到距离最近的整数。 Not Equal?函数(Functions» Comparison)——在该例 中,它将随机数和前面板中设置的数相比较,如果两者不相等会 返回 TRUE 值,否则返回 FALSE。 Increment 函数(Functions»Numeric)——在该例中, 它将 While 循环的计数器加 1。 7. 按图连好线。转入第2帧 在第 0 帧中,Tick Count (ms)功能函数将以毫秒为单位 表示当前时间。这个数值被连到顺序局部变量,这样它就可以被 后续的帧使用。在第 1 帧中,只要函数返回的值与指定值不等, VI 就会持续执行 While 循环。在第 2 帧中,Tick Count (ms) 功能函数以毫秒为单位返回新的时间。VI 从中减去原来的时间
(由第0帧通过顺序局部变量提供)就可以计算出花费的时间。 8.返回前面板,在 Number to match控制对象中输入一 个数值,执行该ⅥI。 9.把该Ⅵ保存为 LabVIEW Activity目录下 Time to Match.vi。 练习2-5结束。 附注与说明:设置数据范围 在设定一个数据对象时,可以设置对输入数据的限制,利用 快捷键选择 Data Range…选项,将会出现如下对话框 Marum 100 iValue s Out of Range Increment 1 Default UeDd涂vaa U Cancel 图2一9设置数据范围 它可以防止用户创建的控制对象或显示对象的值超出某个 预设的范围。您可以选择忽略这个值,将它强制修改到范围以内, 或暂停程序的执行。在程序执行时,如果发生溢出错误,溢出错 误符号将显示在工具栏中的执行按钮的位置。而且,一个立体的 黑框将把发生溢出的控制对象包围起来。 2.3.2公式节点( Formula node) 公式节点是一个大小可变的方框,可以利用它直接在流程图 中输入公式。从 Functions)Structures中选择公式节点就可以 把它放到流程图中。当某个等式有很多变量或者非常复杂时,这 DBL DBL 个功能就非常有用。例如等式:y=x2+x+1使用公式节点可
(由第 0 帧通过顺序局部变量提供)就可以计算出花费的时间。 8. 返回前面板,在 Number to Match 控制对象中输入一 个数值,执行该 VI。 9. 把该 VI 保存为 LabVIEW\Activity 目录下 Time to Match.vi。 练习 2-5 结束。 附注与说明:设置数据范围 在设定一个数据对象时,可以设置对输入数据的限制,利用 快捷键选择 Data Range… 选项,将会出现如下对话框: 图2-9 设置数据范围 它可以防止用户创建的控制对象或显示对象的值超出某个 预设的范围。您可以选择忽略这个值,将它强制修改到范围以内, 或暂停程序的执行。在程序执行时,如果发生溢出错误,溢出错 误符号将显示在工具栏中的执行按钮的位置。而且,一个立体的 黑框将把发生溢出的控制对象包围起来。 2.3.2 公式节点(Formula Node) 公式节点是一个大小可变的方框,可以利用它直接在流程图 中输入公式。从 Functions»Structures 中选择公式节点就可以 把它放到流程图中。当某个等式有很多变量或者非常复杂时,这 个功能就非常有用。例如等式:y = x2 + x + 1 使用公式节点可 以表示为:
图2-10公式节点示意图 利用公式节点可以直接输入一个或者多个复杂的公式,而不 用创建流程图的很多子程序。使用文本编辑工具来输入公式。创 建公式节点的输入和输出端子的方法是,用鼠标右键单击第0 帧的底部边框,选择 Add Input( Add Output)。再在节点框中 输入变量名称。变量名对大小写敏感。然后就可以在框中输入公 式。每个公式语句都必须以分号(;)结尾。 公式节点的帮助窗口中列出了可供公式节点使用的操作符 函数和语法规定。一般说来,它与C语言非常相似,大体上一个 用C写的独立的程序块都可能用到公式节点中。但是仍然建议不 要在一个公式节点中写过于复杂的代码程序 下面这个例子显示了如何在一个公式节点中执行不同条件 时的数据发送。 请阅读下面这段程序代码,如果X为正数,它将算出X的平 方根并把该值赋给Y,如果X为负数,程序就给Y赋值-99。 if (x >=0) then y sgrt(x) else y=-99 end if 可以用公式节点取代上面这段代码,如下图所示 Y=(X>=0)?sqrt(x):-99 output 注意:公式节点中变量字母X,Y大、小写是有区别的,开方 的函数sqrt(x中函数名称是小写 练习2-6使用公式节点 目的:创建一个Ⅵ,它用公式节点计算下列等式 x + b x的范围是从0到10。可以对这两个公式使用同一个公式节 点,并在同一个图表中显示结果 前面板
图2-10 公式节点示意图 利用公式节点可以直接输入一个或者多个复杂的公式,而不 用创建流程图的很多子程序。使用文本编辑工具来输入公式。创 建公式节点的输入和输出端子的方法是,用鼠标右键单击第 0 帧的底部边框,选择 Add Input (Add Output)。再在节点框中 输入变量名称。变量名对大小写敏感。然后就可以在框中输入公 式。每个公式语句都必须以分号(;)结尾。 公式节点的帮助窗口中列出了可供公式节点使用的操作符、 函数和语法规定。一般说来,它与 C 语言非常相似,大体上一个 用 C 写的独立的程序块都可能用到公式节点中。但是仍然建议不 要在一个公式节点中写过于复杂的代码程序。 下面这个例子显示了如何在一个公式节点中执行不同条件 时的数据发送。 请阅读下面这段程序代码,如果 X 为正数,它将算出 X 的平 方根并把该值赋给 Y,如果 X 为负数,程序就给 Y 赋值-99。 if (x >= 0) then y = sqrt(x) else y = -99 end if 可以用公式节点取代上面这段代码,如下图所示: output input Y=(X>=0)?sqrt(X):-99; Y X 注意:公式节点中变量字母 X,Y 大、小写是有区别的,开方 的函数 sqrt(X)中函数名称是小写。 练习 2-6 使用公式节点 目的:创建一个VI,它用公式节点计算下列等式: y1 = x 3 – x 2 + 5 y2 = m* x + b x 的范围是从 0 到 10。可以对这两个公式使用同一个公式节 点,并在同一个图表中显示结果。 前面板
Waveform Graph 1000.0 yI B00800 600.0 0.00 200.0 0.0 图2-11练习2-6的面板 1.打开一个新的前面板,按照上图(该图中包含运行结 果)创建前面板中的对象。波形图显示对象用于显示等式的图形。 该ⅥI使用两个数字式控制对象来输入m和b的值。 流程图 2.按照下图创建流程图。 y1=x**3+x**2+5 y2一m*x+b Waveform Gra DBL DBL 图2-12练习2-6的流程图 在创建某个输入或者输出端子时,必须给它指定一个变量 名。这个变量名必须与公式节点中使用的变量名完全相符。 公式节点中,在边框上单击鼠标右键,在快捷菜单中选择 Add Input,可以创建三个输入端子。在快捷菜单中选择Ad Output,创建输出端子。 x的范围是从0到10(包括10),就必须连接11到计数端 Build array( Functions》 Array)—在这个 例子中,它用于将两个数据构成数组形式提供给 个多曲线的图形中。通过用变形工具拖拉边角就可 以创建两个输入端子
30.00 m 20.00 b 1000.0 0.0 200.0 400.0 600.0 800.0 0 1 2 3 4 5 6 7 8 9 10 y1 y2 Waveform Graph 图2-11 练习2-6的面板 1. 打开一个新的前面板,按照上图(该图中包含运行结 果)创建前面板中的对象。波形图显示对象用于显示等式的图形。 该 VI 使用两个数字式控制对象来输入 m 和 b 的值。 流程图 2. 按照下图创建流程图。 图2-12 练习2-6的流程图 在创建某个输入或者输出端子时,必须给它指定一个变量 名。这个变量名必须与公式节点中使用的变量名完全相符。 公式节点中,在边框上单击鼠标右键,在快捷菜单中选择 Add Input,可以创建三个输入端子。在快捷菜单中选择 Add Output,创建输出端子。 x 的范围是从 0 到 10(包括 10),就必须连接 11 到计数端 子。 Build Array (Functions»Array)——在这个 例子中,它用于将两个数据构成数组形式提供给一 个多曲线的图形中。通过用变形工具拖拉边角就可 以创建两个输入端子。 11 y1=x**3+x**2+5; y2=m*x+b; y2 x b y1 m m Formule Node b Waveform Graph
3.返回前面板,尝试给m和b赋以不同的值再执行该ⅥI。 4.把该ⅥI保存为 Labview/ Activity目录下的 练习2-6结束
3. 返回前面板,尝试给 m 和 b 赋以不同的值再执行该 VI。 4. 把 该 VI 保存为 LabVIEW/Activity 目录下的 Equations.vi。 练习 2-6 结束