LABVIEW结构的应用例题
- 格式:doc
- 大小:172.51 KB
- 文档页数:5
LabVIEW课后答案与例题答案1. 简介本篇文档将提供LabVIEW课后习题和例题的答案,并以Markdown文本格式输出。
LabVIEW是一种用于数据采集、测量和控制的图形化编程环境。
通过本文档,您将能够了解如何使用LabVIEW来解决各种数据采集和控制问题。
2. 课后答案Q1.编写一个LabVIEW程序,将输入的两个数字相加并显示结果。
A1.1. 创建一个新的`LabVIEW`项目。
2. 在`Block Diagram`中,使用两个`Numeric Control`来输入两个数字。
3. 使用一个`Add`函数将两个数字相加。
4. 将结果连接到一个`Numeric Indicator`来显示结果。
5. 运行程序并输入两个数字,将结果显示出来。
Q2.编写一个LabVIEW程序,将一个输入的数字平方并显示结果。
A2.1. 创建一个新的`LabVIEW`项目。
2. 在`Block Diagram`中,使用一个`Numeric Control`来输入一个数字。
3. 使用一个`Multiply`函数将输入的数字与自己相乘。
4. 将结果连接到一个`Numeric Indicator`来显示结果。
5. 运行程序并输入一个数字,将结果显示出来。
Q3.编写一个LabVIEW程序,在一个给定的数值范围内生成一个随机数,并将其显示出来。
A3.1. 创建一个新的`LabVIEW`项目。
2. 在`Block Diagram`中,使用一个`Random Number`函数来生成一个随机数。
3. 使用`Numeric Constants`来设置数值范围的上下限。
4. 将生成的随机数连接到一个`Numeric Indicator`来显示结果。
5. 运行程序并观察生成的随机数。
3. 例题答案Q1.编写一个LabVIEW程序,通过点击一个按钮来控制一个灯泡的开关。
A1.1. 创建一个新的`LabVIEW`项目。
2. 在`Front Panel`中,使用一个`Boolean Control`来模拟按钮的开关。
labVIEW-练习题1. 随机数及其显⽰,创建⼀个VI,不断产⽣随机数,并将随机数通过图形控件显⽰出来。
参考图如下,各参赛队伍可以根据题⽬要求进⾏⾃由设计。
2.循环的使⽤,分别使⽤while循环结构和for循环结构的⾃动索引功能,⽣成⼀维数组(如:0~10)。
要求:都要⽤到循环结构内的“i”,其中while循环的停⽌条件,也要⽤到“i”。
3. 事件结构,前⾯板设置⼀个布尔灯,利⽤事件结构对布尔灯的颜⾊进⾏设置(如:⿏标进⼊布尔灯范围内现实红⾊,否则为灰⾊)4. 数组的应⽤,产⽣⼀个 1~100 的随机数,当该随机数在⼀个指定值± 3范围内停⽌,并且输出程序循环的次数以及随机数历史数组。
5. ⽂本⽂件,产⽣0—9共10个数据,然后按⾏写⼊与VI相同路径下的⽂本⽂件。
要求:(1)每⼀个数值占⽤⼀⾏;(2)⽂本⽂件与VI在同⼀路径下;6. 编写程序实现⼀个带⼝令的⽤户登录窗⼝,⽤户输⼊的⼝令符以*显⽰,当⽤户输⼊的⼝令与程序中预设的⼝令⼀致时登录成功,不⼀致时登录失败,⽤对话框提⽰⽤户,并强制⽤户必须等待⼀段时间后才可再次输⼊⼝令,每次登录失败后所等待时间是上⼀次的⼆倍,初次等待时间为2秒钟。
7. 使⽤级数求和的⽅法计算⾃然对数底e的公式为:e=1 + 1/1! + 1/2! + 1/3! + 1/4! + ... + 1/(n-1)! + ....请根据该公式,实现对⾃然对数底e的计算8. 创建VI模仿扔(可能的值为1到6),记录每个值出现的次数。
输⼊扔的次数,输出每个值(对于各个可能的值)出现的次数。
9. 新建⼀个VI,在前⾯板上放置若⼲个按钮、数字输⼊框、字符串输⼊框等控件,使⽤基于事件驱动的程序框架,编写程序实现以下功能。
当⽤户⿏标移动⾄某个按钮上⾯时,该按钮颜⾊变为红⾊;当⽤户在某个数字输⼊框中的输⼊值超出预设的范围时,弹出对话框提⽰,并将输⼊框中的值更改为默认值;当⽤户在某个字符串输⼊框中输⼊字符时,⾃动统计已输⼊字数,并显⽰在前⾯板上。
labview经典实例九九乘法表九九乘法表是一个经典的数学题目,也是许多程序员在学习编程时接触到的经典例题。
在本文中,我们将介绍如何使用LabVIEW编写一个九九乘法表程序。
首先,我们需要明确要实现的功能。
九九乘法表是一个由1~9组成的表格,每个单元格中填写的是两个数字的乘积。
因此,我们需要设计一个能够:1. 生成1~9的数字序列;2. 针对每个数字,生成一个1~9的数字序列;3. 针对每个数字组合,计算它们的乘积,并在LabVIEW中显示。
以下是实现这些功能的具体步骤:1. 生成1~9的数字序列我们可以使用一个for循环迭代1~9,将每个数字存储在数组中。
在LabVIEW中,可以使用“Build Array”节点实现这个功能。
将循环数字作为输入,将生成的数字序列作为输出,连接至下一个步骤。
2. 针对每个数字,生成一个1~9的数字序列类似于第一步,我们需要为每个数字生成一个1~9的数字序列。
这可以通过嵌套的for循环实现。
外层for循环会对每个数字进行迭代,内层for循环会迭代1~9,生成数字序列。
同样使用“Build Array”节点将数字序列的数组输出至下一个步骤。
3. 计算数字序列中数字的乘积并在LabVIEW中显示我们现在有两个数组:一个包含数字1~9,另一个包含每个数字的1~9序列。
现在我们需要将它们组合在一起,计算乘积,并在LabVIEW中显示。
我们可以使用两个for循环,一个迭代数字序列,另一个迭代每个数字的1~9序列。
内层循环中,使用“Multiply”节点计算乘积。
将乘积作为一个元素添加到一个新的数组中。
在外层循环结束后,可以使用“2D Array”节点将结果转化为2D数组。
然后,将结果显示在LabVIEW中,例如使用“Table Control”节点。
完成上述步骤后,我们就可以获得一个在LabVIEW中显示的九九乘法表。
实现这个程序的关键在于理解LabVIEW的数组操作,以及使用for循环进行重复操作的能力。
例题和作业1、创建一个子VI,计算3个数平均值,并输出结果。
将VI保存为Find the Average.vi。
自己设计一个主程序,调用上述子程序。
(基本编程和子程序调用)2、应用全局变量实现:一个程序改变数值,另一个程序中数值要作相应改变。
(全局变量)3、定时器,倒计时。
(局部变量)4、创建一个 VI,计算生成等于某个给定值的随机数所需要的时间。
(用平铺结构和叠层结构如何完成,顺序结构局部变量)5、编程实现10!计算。
1!+2!+3!+…+10!(循环以及移位寄存器)6、练习建立一个有正负数的数组,并且通过程序实现将正数和负数分开,并且分别建立自己的数组。
(Case结构)7、创建VI,检测簇中numeric1数值控件的值是否大于0。
如果小于0,VI计算所有控件绝对值,如果大于等于0,VI不用计算任何控件的绝对值。
无论该值为什么,都将所有值乘以0.5并将结果显示在output cluster上。
(Case结构)8、掷骰子,并统计各点数的投中次数。
给出首次投中6的投掷次数。
(循环结构)9、利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,共采集50个点,采集完后一次性显示在Waveform Graph上。
(波形图。
注意波形图和波形表区别)10、在上题的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V,采样间隔是50ms,共采100个点。
采样完成后,将两路采样信号显示在同一个Waveform Graph中。
(多路信号显示于同一图的方法)11、将上题中的X轴改为时间轴显示,要求时间轴能真实的反映采样时间。
分析为什么与习题5的显示结果截然不同?(横轴为时间坐标的方法)12、绘制理萨如图形。
(XY图)13、设计几个不同频率的信号相加,然后对其进行傅立叶变换,获得其频谱。
(频谱分析)14、设计几个不同频率的信号相加,或者带有噪声的信号。
然后对其进行滤波。
(数字滤波器设计)15、产生若干周期的正弦波数据,以当前系统日期和自己姓名为文件名,分别存储为文本文件、二进制文件和电子表文件。
labview基础练习题LabVIEW是一款功能强大的图形化编程语言和开发环境,用于实时数据采集、控制系统、信号处理和虚拟仪器等领域。
在学习和使用LabVIEW过程中,进行一些基础的练习题可以帮助我们更好地掌握该软件的使用方法和技巧。
本文将介绍一些LabVIEW的基础练习题,帮助读者提升对LabVIEW的理解和应用能力。
练习一:简单的图形绘制1. 打开LabVIEW软件,并创建一个新的VI(Virtual Instrument)。
2. 在Front Panel上添加一个Graph控件,并设置其大小和位置。
3. 在Block Diagram上添加一个For Loop循环结构。
4. 在For Loop中使用一个正弦函数来生成数据。
5. 将生成的数据通过一个数组输出到Graph控件中。
练习二:数据采集与显示1. 打开LabVIEW软件,并创建一个新的VI。
2. 在Front Panel上添加一个Graph控件,并设置其大小和位置。
3. 在Block Diagram上添加一个While Loop循环结构。
4. 使用一个DAQmx控件来进行数据采集,设置采集的通道和采样率等参数。
5. 将采集到的数据通过一个数组输出到Graph控件中,实现实时数据显示。
练习三:控制系统仿真1. 打开LabVIEW软件,并创建一个新的VI。
2. 在Front Panel上添加一个Numeric控件,并设置其为输入。
3. 在Block Diagram上添加一个PID控制器,并将Numeric控件的值作为输入。
4. 设置PID控制器的相关参数,并连接到输出端。
5. 在Front Panel上添加一个Graph控件,并将PID控制器的输出连接到Graph上,实现对控制系统的仿真。
练习四:信号处理1. 打开LabVIEW软件,并创建一个新的VI。
2. 在Front Panel上添加一个Waveform Chart控件,并设置其为输入。
最新labview典型题目及答案
1.在什么情况下,应选择使用探针工具而非高亮显示执行过程?()单选
a.查看数据流
b.查看连线上的实时值
c.进程运行时,查看子VI
d.降低VI运行速度,显示连线上的值
2.下列哪项不符合数据流编程方式?()单选
a.移位寄存器
b.隧道
c.子VI
d.局部变量
3.发生错误时停止While循环的最佳方法是?()单选
a.比较错误簇的状态布尔值与常量,然后将比较结果连接至停止接线端
b.直接将错误连线连接至停止接线端
c.创建一个事件结构处理错误事件
d.使用错误处理器VI自动处理错误
4.如子VI的某个输入端的名称在显示即时帮助窗口中以粗体显示,下列表述正确的是?()多选
a.输入值必须是标量
b.输入为推荐连线,非必需连线
c.输入为必需连线
d.如未连接该输入端,运行按钮将断开
5.如要考虑状态图应用程序的扩展性,基本结构的最佳选择是?()单选
a.顺序结构
b.条件结构
c.公式节点
d.面向对象的结构
6.关于下列代码执行正确的表述是?()单选
a.循环在执行50次后停止
b.循环在执行49次后停止
c.循环在执行51次后停止
d.循环在执行52次后停止
7.若待测波形为100Hz正弦波,采样率设置为以下哪个选项较合理()单选
a、10Hz
b、100Hz
c、1000Hz
d、100MHz
8.若待测波形为1MHz正弦波,可以选择以下哪些采集卡()多选
A、串口采集卡
B、USB采集卡
C、PCI采集卡
D、PXI采集卡。
labview子程序例题LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美国National Instruments开发的图形化编程语言。
LabVIEW主要用于开发测试和测量应用程序。
以下是一个简单的LabVIEW子程序示例,该子程序将两个数字相加并返回结果。
```labview// 主程序// 创建一个子程序端口右键单击程序框图,选择"创建" -> "子VI"。
// 输入两个数字从"函数面板" -> "数值" 中拖动两个"数值" 控件到主程序中,命名为"num1" 和"num2"。
// 创建子程序连接器在主程序中,右键单击"子VI" 端口,选择"创建" -> "常量"。
// 创建子程序在子VI中,从"函数面板" -> "数值" 中拖动一个"数值" 显示控件到子程序中,用于显示结果。
// 将输入连接到加法运算的输入端从"函数面板" -> "算术与比较" 中拖动"加法" 到子程序中。
将"num1" 连接到加法运算的第一个输入端,将"num2" 连接到第二个输入端。
// 将加法运算的结果连接到显示控件将加法运算的输出端连接到显示控件。
// 完成子程序设计在子程序的属性对话框中,将子程序命名为"AddNumbers",并保存它。
// 主程序(回到主程序)// 将主程序的"num1" 和"num2" 连接到子程序的输入端。
labview经典练习题LabVIEW是一种广泛应用于科学研究和工程领域的图形化编程语言和开发环境。
它以其简单易学的特点,成为了许多工程师和科学家的首选工具。
为了更好地掌握LabVIEW的使用技巧和提高编程能力,下面将介绍一些经典的LabVIEW练习题。
1. 温度转换器首先,让我们来设计一个简单的温度转换器。
要求用户输入摄氏温度,并将其转换为华氏温度。
我们可以使用LabVIEW中的数字输入框和按钮来实现用户输入和触发转换的功能。
然后,使用数学运算模块将摄氏温度转换为华氏温度,并将结果显示在屏幕上。
2. 数字求和器接下来,我们来设计一个数字求和器。
用户可以输入一系列数字,并通过点击按钮来计算它们的总和。
我们可以使用循环结构和累加器来实现这个功能。
首先,使用循环结构来重复获取用户输入的数字,然后使用累加器将这些数字相加,并将结果显示在屏幕上。
3. 数据绘图器LabVIEW还提供了强大的数据绘图功能,我们可以利用它来设计一个简单的数据绘图器。
用户可以输入一系列的数据,并通过点击按钮来绘制这些数据的曲线图。
我们可以使用图表控件和数据输入框来实现这个功能。
首先,使用数据输入框来获取用户输入的数据,然后使用图表控件将这些数据绘制成曲线图。
4. 信号发生器接下来,让我们设计一个信号发生器。
用户可以设置信号的频率和幅度,并通过点击按钮来生成该信号。
我们可以使用波形发生器模块和按钮控件来实现这个功能。
首先,使用波形发生器模块来生成用户设置的信号,然后使用按钮控件来触发信号的生成和停止。
5. 数据采集器最后,我们来设计一个数据采集器。
用户可以设置采样频率和采样时间,并通过点击按钮来开始数据采集。
我们可以使用数据采集模块和按钮控件来实现这个功能。
首先,使用数据采集模块来按照用户设置的频率进行数据采集,然后使用按钮控件来触发数据采集的开始和停止,并将采集到的数据显示在屏幕上。
通过完成这些经典的LabVIEW练习题,我们可以更好地掌握LabVIEW的使用技巧和提高编程能力。
1. 产生100个随机数,求其中的最大值、最小值和这100个数的平均值
2. 分别利用for循环的移位寄存功能和反馈节点两种方法求0+5+10+15+······+45+50的值
寄存器功能:
3. 创建一个VI,实现对按钮状态的指示和按钮“按下”持续时间的简单计数功能,按钮按下时,对应的指示灯亮,对应的数字量显示控件中开始计时。
松开按钮时,指示灯灭,计时停止。
4. 温度报警程序,当温度大于30则报警,小于-25则推出运行状态。
5. 建立一个布尔按钮以及一个字符串显示控件,要求当按钮被按下时,显示“按扭被按下”;当按钮被松开时,显示“按钮被松开”。
实验结果:
6. 建立一个枚举控件,其内容为张三、李四、王五共三位先生,要求当枚举控件显示“张三”时,输出“张三在这里”;同理,当枚举控件显示“李四”、“王五”时,输出:“李四在这里”和“王五在这里”
实验结果:
7. 建立一个实现计算器功能的VI。
前面板有数字控制器用来输入两个数值,有数值指示器用来显示运算结果。
运算方式有加、减、乘、除,可用一个滑动条实现运算方式的设定。
实验结果:
8. 输入自变量为x,输入方程系数m和n。
当x>0时,y=m×3x+3×n×2x-x+1;当x≤0时,
x+x-5,试用两种方法求函数y的值。
y=-2×m×3
实验结果:
9. 分别用公式节点和图形代码实现运算z=2x+3xy-2y+2x。
●温度监测器
写一个温度监测器,如下图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。
温度值可以由随即数发生器产生。
当报警发生时输出报警信息,例如“温度超限!当前温度78.23℃”,正常情况下输出空字符串。
●跑马灯
利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节。
●累加器
利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。
例如按下34时,累加值为7;按下345
时,累加值为12…
(本题目要求累加值实时更新,即按下3时,累加值马上显示3,再按下4时,累加值马上显示7,而不需要输入后再按一次Enter键或者点鼠标左键才能显示)
●水仙花
编程求1000以内的所有水仙花数,"水仙花数"指一个三位数,它的各位数字的立方和等于她本身.例如:371=3*3*3+7*7*7+1*1*1
●最小公倍数与最大公约数
求任意两个输入数值的最小公倍数与最大公约数。
●绘制正弦波
产生正弦波数据,设信号频率为60,采样频率为1000,采样点数为50.以自己的学号为文件名,将采样序号和数据存储为电子表格文件,然后将存储的数据文件读出来并显示在前面板上,用'°'显示采样点.(20分)
●构建数组
创建一个vi,该程序可以产生一个6*4的二维数组(数组元素为0-10的随机数字),并把此二维数组的前三行、前三列提取出来,构成一个新数组,。
labview练习题LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种流行的图形化程序设计语言,常用于科学研究、工程设计和嵌入式系统开发。
本文将为您提供一些LabVIEW练习题,帮助您提高对LabVIEW的理解和应用能力。
1. 题目一:加法器创建一个简单的LabVIEW程序,实现两个数的相加功能。
在用户界面上放置两个输入框,用于输入两个数值。
通过一个按钮触发程序执行,将两个数相加的结果输出到另一个显示框中。
2. 题目二:温度转换器创建一个LabVIEW程序,将摄氏度转换为华氏度。
在用户界面上放置一个输入框,用于输入摄氏度值。
通过一个按钮触发程序执行,将转换后的华氏度输出到一个显示框中。
3. 题目三:计时器创建一个简单的LabVIEW程序,实现一个计时器功能。
在用户界面上放置一个开始按钮和一个停止按钮。
当用户点击开始按钮时,计时器开始计时,并在界面上显示经过的时间。
当用户点击停止按钮时,计时器停止,并将计时结果显示在一个文本框中。
4. 题目四:数据绘图创建一个LabVIEW程序,读取一个文本文件中的数据,并将数据绘制成折线图。
在用户界面上放置一个文件选择按钮,用于选择要读取的文本文件。
点击读取按钮后,程序读取文件中的数据,并将数据绘制成折线图展示在用户界面上。
5. 题目五:串口通信创建一个LabVIEW程序,实现与外部设备的串口通信。
在用户界面上放置一个串口选择下拉菜单和一个发送按钮。
用户可以选择要通信的串口,点击发送按钮后,程序向选定的串口发送指定的数据。
以上是几个常见的LabVIEW练习题,通过完成这些练习,您可以逐步熟悉LabVIEW的操作和功能。
当然,除了这些题目,您还可以根据自己的实际需求和兴趣,设计更加复杂的LabVIEW程序。
希望本文对您的学习和实践有所帮助!。
《虚拟仪器技术实验》LabVIEW 编程的结构实验二
一、实验目的
1.掌握选择结构(Case Structure),顺序结构(Sequence Structure)编程;
2.了解时间估计和控制函数。
3.了解公式节点(Formula Node)的使用。
二、实验内容
1.使用Case结构,创建一个VI以检查一个数值是否为正数
a.实验要求:如果它是正的,VI就计算它的平方根,反之则显示出错。
b.实验结果
程序框图:
前面板:
3.练习用公式节点
a.实验要求:实现y=x-e sinx的计算,x为输入数据,y为输出显示数据,存为Formula Code.vi
b.实验结果
程序框图:
前面板:
1.分别用Case结构和公式节点语句两种方法
a.实验要求:实现下列条件分支语句:
考虑计算两数比率x/y的下列代码段:
if (y≠0) then
z=x/y
else
z=+∞
end if
两VI保存为Case Division.vi和Formula Division.vi。
三、结果分析
(1)采用Case结构
程序框图:
上面为前面板图:
(2)采用公式节点语句
程序框图:
上面为前面板图
四、课程设计总结
本次实验我学会了选择结构、顺序结构的编程,还了解了时间估计和控制函数、公式节点的使用。
公式节点语句除了可以输入特殊公式外,还可以实现文本编辑语言。
通过对比Case结构和公式节点的使用,可以知道无论是图形编辑还是文本编辑都有各自的优点。
图形编程的优势在于其数据流的形式让程序可读性更好。
1. 10.21 产生100个随机数,求其最小值和最大值以及平均值2. 10.22 用for循环产生4行100列的二维数组,数组成员如下:1,2,3.......100;100,99,98.......1;6,7,8.......105;105,104,103......6;从这个数组中提取2行50列的二维数组,数组成员如下:50,49,48......1;56,57,58 (105)将这2个数组用数组显示件显示在前面板.3. 10.23 程序开始运行时候要求用户输入一个口令,口令显示正确时候滑钮显示件显示0---100的随机数,否则程序立即停止.4. 10.24 编写一个程序,在前面板上放3个按钮,当按下某个按钮时,输出按钮的编号.5. 10.25 编写计算以下等式的程序:y1=x3-x2+5y2=m*x+bx的范围是0---10。
y1和y2用数组显示件显示在前面板。
6. 10.26 编程求Josephus(约瑟夫环)问题:m个小孩子围成一圈,从第一个小孩子开始顺时针方向数数字,到第n个小孩子离开,这样反反复复,最终只剩下一个小孩子,求第几个小孩子留下?7. 10.27 猴子吃桃子问题,每天吃完全部的桃子一半又一个,到第10天的时候还剩下一个,编程求第一天桃子的总数.8. 10.28 编程求1000以内的所有水仙花数,"水仙花数"指一个三位数,它的各位数字的立方和等于她本身.例如:371=3*3*3+7*7*7+1*1*1;9. 10.31 编程求1000以内的"完数","完数"是指一个数恰好等于它本身的因子之和,例如28=14+7+4+2+1;10. 11.1 在一个chart中显示3条曲线,分别用红,绿,蓝3种颜色表示范围0-1,0-5,0-10的3个随机数.11. 11.2 在一个Graph中用2种不同的的线宽显示1条正弦曲线和一条余弦曲线,每条曲线长度为128个点.正弦曲线x0=0,Dealt x=1,余弦曲线x0=2,Dealt x=10.12. 11.3 用XY Graph显示一个半径为1的圆13. 11.4 产生一个10行10列的二维数组,数组成员为0--100的数字,并用强度图显示.14. 11.5 画出Labview图形显示,以及放大缩小功能,以及在此图标上添加可改变的labVIEW字体样式.15. 11.6 在前面板创建数值型控件,输入一个数值,在乘以一个比列系数,然后还在同一个控件中显示出来.(局部变量用法)16. 11.7 编写一个程序,用labview的信号生成函数产生一个三角波并显示在chart上,在编写例外一个程序读出数据显示在chart上,调节2者的程序运行的时间,比较波形的差异.(全局变量)17. 11.8 编写一个程序,用labview的信号生成函数产生一个三角波并显示在chart上,在编写例外一个程序读出数据显示在chart上,调节2者的程序运行的时间,比较波形的差异.(通告函数)18. 11.10 创建一个程序显示内存中所有的VI的名称与路径?19. 11.11 创建一个程序把另外一个VI的前面板显示在Picture控件中.20. 11.12 请用Vi本身的属性来控制自己前面板的外观属性.21. 11.13 用一个chart显示一个随机数,用前面板控件chart的大小和位置.22. 11.14 前面板上放一个压力表,指针位置在0-255之间随机变化,指针颜色同时发生变化23. 11.15 建立一个枚举控件,其内容为张三、李四、王五共三位先生,要求当枚举控件显示“张三”时,输出“张三在这里”;同理,当枚举控件显示“李四”、“王五”时,输出:“李四在这里”和“王五在这里”24. 11.16 分别利用for循环的移位寄存功能和反馈节点两种方法求0+5+10+15+······+45+50的值25. 11.17 用顺序结构实现数值匹配:输入1~100之间的任意1个整数,然后系统随机产生1~100之间的整数,直到和预先输入的整数一样,然后输出匹配的次数和时间。
102 LabVIEW虚拟仪器程序设计从入门到精通5.2.2 条件结构的隧道还是上面的例子,若在“默认”结构里没有连接任何输出至数值显示,那么将产生什么样的结果?如图5-23(a)所示,在数值显示与条件结构边框的连线会产生一个空心的蓝色方形,而且程序无法运行,产生错误提示“隧道未赋值”。
该蓝色方形即为“隧道”,当不对其赋值时,那么执行到该条件时,数值显示将无法输出,因此产生错误。
在该隧道上右键单击,在弹出的快捷菜单中选择“未连线时使用默认”,那么原来的空心蓝色方形将变成一个半实心的蓝色方形,此时LabVIEW 将默认给输出赋一个值,在此为0,如图5-23(b)所示。
图5-23(a) 默认结构没有连接输出数据 图5-23(b) 未连线时使用默认 接着,看另外一个简单的例子来说明一下隧道,如图5-24(a)、(b)所示,输入的常量在不同的条件下分别经过+1、-1,保持原值等处理后输出给数值显示。
在默认条件结构下,输入的常量“10”未经处理,直接输出到数值显示。
而在平时的编程应用中,该位置可能是一个输入控件或其他的数据输出,如5-24(c)所示。
如果在这种条件下没有与输出直接相连,往往会导致错误,而这个错误对于初学者来说比较不容易被发现,因此对于默认结构也是需要考虑清楚的。
图5-24(a) 数值为1、+1处理 图5-24(b) 数值为11..20、-1处理 图5-24(c) 默认结构的处理5.2.3 条件结构的应用实例1.While+条件结构和其他的编程语言相似,LabVIEW 程序中几乎都有一个主循环,会一直运行到程序结束。
While 和条件结构相结合可以实现程序的并行操作,监控前面板的一个或多个布尔控件,图5-25中所示的程序为While 循环和条件结构组成程序监控布尔控件的值。
当“确定按钮”被单击时,程序进入条件结构“真”分支,弹出对话框,单击对话框的“确定”按钮,程序恢复主循环。
为单按钮对话框函数,位于编程>>对话框与用户界面子选项卡,该函数显示包含一条消息和一个按钮的对话框。
1. 产生100个随机数,求其中的最大值、最小值和这100个数的平均值
2. 分别利用for循环的移位寄存功能和反馈节点两种方法求0+5+10+15+······+45+50的值
寄存器功能:
3. 创建一个VI,实现对按钮状态的指示和按钮“按下”持续时间的简单计数功能,按钮按下时,对应的指示灯亮,对应的数字量显示控件中开始计时。
松开按钮时,指示灯灭,计时停止。
4. 温度报警程序,当温度大于30则报警,小于-25则推出运行状态。
5. 建立一个布尔按钮以及一个字符串显示控件,要求当按钮被按下时,显示“按扭被按下”;当按钮被松开时,显示“按钮被松开”。
实验结果:
6. 建立一个枚举控件,其内容为张三、李四、王五共三位先生,要求当枚举控件显示“张三”时,输出“张三在这里”;同理,当枚举控件显示“李四”、“王五”时,输出:“李四在这里”和“王五在这里”
实验结果:
7. 建立一个实现计算器功能的VI。
前面板有数字控制器用来输入两个数值,有数值指示器用来显示运算结果。
运算方式有加、减、乘、除,可用一个滑动条实现运算方式的设定。
实验结果:
8. 输入自变量为x,输入方程系数m和n。
当x>0时,y=m×3x+3×n×2x-x+1;当x≤0时,
x+x-5,试用两种方法求函数y的值。
y=-2×m×3
实验结果:
9. 分别用公式节点和图形代码实现运算z=2x+3xy-2y+2x。