【2019年整理】循环labview系列教程之六_第1页
【2019年整理】循环labview系列教程之六_第2页
【2019年整理】循环labview系列教程之六_第3页
【2019年整理】循环labview系列教程之六_第4页
【2019年整理】循环labview系列教程之六_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、06、循环 While循环 I. While循环是一种结构,它重复执行代码片段直到满足某种条件为止。它可比作传统 语言中的Do Loop或Repeat Un til循环。它位于编程宀结构宀 Whi le循环。每个 While循 环都有一个条件端子和一个重复端子。如图: 虽:未旬名1程序框團* 文件(日編辑直看凹项目(E)操作工具(D宙口倒帮助 匣可1.1呱画闊 U僭1 / 両 应用程序字体 AVR与虚拟仪器 / 重复端子 While循环 条件端子 重复端子用于记录和输出已执行的循环的次数,条件端子输入的是一个布尔变量:真 或假,While循环将一直执行到连接条件端子上的布尔值变成真或假为止,取

2、决于条件端子 设置为“真(T)时停止”还是“真(T)时继续”。在条件端子上单击右键即可进行更改。 如图: AVR与虚拟仪器 创建當拉 创遂输入控件 创建显示控件 下面举个简单的例子:利用 While循环产生随机数,当产生的随机数大于 0.8时,循 环停止。 步骤如下: 1.打开前面板,新建两个数值显示控件,一个为循环次数,一个显示最后产生的那个 大于0.8的随机数。如图: 菲GE 1 li面袒* 2. 切换到程序框图,放置一个While循环,如图 XWE)编規査看他项目迢操作(Q)工具CD 窗口讯 亟 列111剣蓝 舌一厨13懐应用程序 洒坏次数I 3. 放置随机数函数到 While循环内,并

3、连线,如图: 文件f巳漏辑驾看防项乐巳操件Q)工具窗口匹 两雇I 丨岡3啓酥砸 I I - ” I 一 JI - . . . ”., 4. 放置比较函数,将循环次数与重复端子连线,如图: 随机数I O.B 備环次数I A未侖名1程序IOS* A耒命名1前面牧* 文件编辑(町查看(Y)项目(E)操作工具窗口让 0|刮悄冋塚豆卫| 廻殛用程序 AVR与虚拟仪器 5.运行,即可在前面板上看到结果,如图: 丈件(日骗辑查看加项目僧皆 |戈鏗|匕叵| 1敢应用程 AVR与虚拟仪器 循环次數 15 在程序框图中,在数值显示控件上单击右键,可更改数值的类型,如图: 0.99756E 範机数 文件巳編辑【孕查

4、看co 项目 BfefF(Q)工具(: 鹵口 妙粘助(to “ 不阖冋両底llUcd:.未命名1程序框图* 文件(日輪辑查看加项目(臼操作 工貝(I)窗口(创耕助 .门|3g应用程序字修、|可刁乔 显示项 帮助 范例 侃明和提示小 设置斷点 结构选板 7自动扩展? AVR与虚拟仪器 添抑移位寄存器 替换为FodJf环 替换対定时循环 删際Whiled环 y夏(D时停止 文(D时讎续 有关位移寄存器的用法,我们将会在For循环中讲到,这里暂不做介绍。 注意:While循环的条件端子一定要有连线,否则程序无法运行!如图: :未命名f程序框国* 文件遷 養看侧项目回操作工真窗口 n(W p? L!

5、II i创痢驶帥应用程丿 AV R与虚拟仪器 #错误列表 For循环 1. For循环位于函数t编程t结构t For循环,如图: P未命名丄琨序框闱* 文件巳輪辑 査看怕取目(巴 操作(0工具(!)窗口 (妙帮瞅也 屈曾1 HDI画 上-1沖t应用程序宇样* | i I 问r 、计数端子 AVR与虚拟仪器 7 5 运行程序,便可在前面板上看到结果。 6.因为程序的运行的速度非常快,我们无法一个一个地看清所产生的10个随机数,我们可 以在程序框图中添加时间延迟控件。它位于函数t编程 t定时t时间延迟,如图: xwe anw gff(y)j毀悝)TJun (*)Bb(h) EHEJ ffl ffi

6、 El W4(ffl53 s 卩卿和详舉H3L, AVR与虚拟仪器 B E 日術闻娶” ess 略观 7.放置它到程序框图上,选择延迟的时间,即两次循环之间的时间间隔。如图: EoHEI m 时间延迟 立件 編辑查看笛项目(巳慄作(Q)工具CD 窗口酗帮助(也 0厨叵|甬1阙血初由供師程序宇萍1*| AVR与虚拟仪器 www. a vr Viacom 1 A配查时鸿廷迟L耐间廷迟 凶 延迟时间 I10001 确定1职消 8将时间设置为1.000,点击确定即可,再运行程序就可从前面板上看到所产生的随 机数了。 移位寄存器 移位寄存器用于 For循环或While循环中从一个迭代传输数据到下一个迭代

7、,它由循 环垂直边框上一对反向相反的端子组成,在边框上单击右键, 选择添加移位寄存器, 就可进 行添加。如图: 未命名1程序框图* 文件(日蝙辑(或查看加项虫臼操作工具(I)窗口(妙稱助 .1劇曾属师 雨咼口甸厨I和讴用程序宇体莎乔 AVR与虚拟仪器 右端子(带向上箭头的矩形)在每完成一次迭代后存储数据,移位寄存器将上次迭代 的存储数据在下一次迭代开始时移动到左端子(具有向下箭头的矩形)上。移位寄存器可存 储任何数据类型,包括数字,布尔,字符串和数组,但连接到同一个寄存器端子上的数据必 须是同一类型。移位寄存器的类型与第一个连接到其端子之一的对象数据类型相同。 初始化 初始值 a -*3 第一

8、砍迭代 型初始值| 3 -E 新值 护虚拟仪器 第n次迭代 iUij-tss 新佰 Si BJ F面是1 + 2 + 3 + 4+-+ 100的程序,如图: )编辑查看(幻项肌 r名1前面板1 AVR与虚拟仪器 说明:进行第一次运算的是0+0, For循环中的重复端子是从 0开始计数,移位即寄存 器在没有初始化的情况下,默认的数值是0,所以第一次运算的是0+0,第二次运算的是寄 存器的0与重复端子的1相加,所以循环要进行101次。而计数端子输出的数据始终是101。 移位寄存器的初始化:移位寄存器的初始化是非常必要的,因为只要用户不退出VI, 移位寄存器便可记录上次运算完时的结果,所以上面的程序

9、在第二次执行时输出的结果不是 5050,而是10100 !添加初始化即可,如图: 11 下面在举几个复杂一点的例子。 例一:计算一组随机数的最大值和最小值 1. 新建一个VI,在前面板上放置一个波形图标,它位于新式T图形T波形图表,用它 来记录产生的随机数。同时在前面板上放置两个数值显示控件“最大值”和“最小 值”,用来显示随机数中的最大值和最小值。 2. 在程序框图中,放置一个 For循环,设置循环次数为 50次。单击边框选择添加两个 移位寄存器,分别初始化为 0和1。 3. 放置随机数函数和最大最小值函数与程序框图中,其中最大最小值函数位于编程t 比较t最大值与最小值。然后连线。如图: E

10、oJ- EJ EFEJ A.V R扁虚拟仪器 运行,便可在前面板上看到结果,如图: n 例二:计算a x! x 1. 在前面板上放置一个数值输入控件“阶次n”和一个数值显示控件“求和结果” 2. 在程序框图上放置两个For循环嵌套结构,外层循环的计数端口与“阶次 n”连接, 输出是各个数的阶乘所组成的一个数组。它的重复端子加1作为内层循环的循环次 数,内层循环利用一个移位寄存器实现阶乘运算,移位寄存器的初始值设为1。 3. 同样在程序框图的右边在放置一个For循环结构,它的计数端子没有任何连接数据, 使用的是自动索引功能。这个循环的作用是对由阶乘所组成的一个数组进行索引, 对索引出的各个元素进

11、行求和计算,最后将计算结果输出给“求和结果”。 4. 完成连线,如图: AVR与虚拟仪器 11111 算法:e : 1 直到:105 1! 2! 3!n!n! 步骤: 1. 新建一个VI,打开前面板,添加两个数字显示控件,分别表示“近似值e”和“临界阶 次N。 2. 切换到程序框图,放置一个While循环,将条件端子的条件改为“真时停止”。在 它内部再放置一个 For循环,计数端子与 While循环结构的重复端子加1后连接。 右击For循环边框,添加移位寄存器,并初始化为1,For循环结构的功能是计算各 个数的阶乘。 3. 计算各个数阶乘的倒数,添加倒数函数,它位于函数t编程t数值t倒数。 4

12、. 添加比较函数,将它的阶乘的倒数与10A-5比较,比较结果连接到 While循环结构 的条件端子上,如果小于则返回“真”,停止循环,否则返回“假”继续循环。 5. 由于While循环默认的是不能够自动索引功能,而程序中需要累加保存每次计算的 阶乘,这就需要在输出通道上选择“启用索引”,实现自动索引,将各个元素累加 成为一维数组。 6. 在程序框图右边再添加一个For循环,它的功能是进行自动索引求和,需要主机的 是它的移位寄存器被初始化为1,这是由近似算法所决定的。将输出结果送给“近 似值e”。 7. 完成连线,并运行程序。如图: AVR与虚拟仪器 www a 1巴 .0m 打 J7 J 运行结果,如图: 17 1. 新建一个VI,在前面板上放置两个波形图表,一个为“原始波形”,一个为“滤波 后波形”。 2. 在程序框图上放置一个 While循环,在边框添加一个移位寄存器,然后在左边的寄 存器上单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论