虚拟仪器-ppt-第6章-程序结构

上传人:F****n 文档编号:88230595 上传时间:2019-04-21 格式:PPT 页数:61 大小:905KB
返回 下载 相关 举报
虚拟仪器-ppt-第6章-程序结构_第1页
第1页 / 共61页
虚拟仪器-ppt-第6章-程序结构_第2页
第2页 / 共61页
虚拟仪器-ppt-第6章-程序结构_第3页
第3页 / 共61页
虚拟仪器-ppt-第6章-程序结构_第4页
第4页 / 共61页
虚拟仪器-ppt-第6章-程序结构_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《虚拟仪器-ppt-第6章-程序结构》由会员分享,可在线阅读,更多相关《虚拟仪器-ppt-第6章-程序结构(61页珍藏版)》请在金锄头文库上搜索。

1、1,第6章 程序结构,2,本章内容,6.1 循环结构( For循环、 While循环) 6.2 Case结构 6.3 顺序结构(Sequence Structure) 6.4 公式节点(Formula Node),3,6.1.1 While循环,While 循环是一种带条件判断的循环,如果条件成立,While 循环可以反复执行循环内的框图程序部分。,4,While 循环框内有一个条件端口: ,用于判断是否继续While 循环。 当条件端口接收到布尔值是Ture 时,继续循环 当条件端口接收到布尔值是False时,则退出循环 不管条件成立与否,循环至少执行一次,While循环图标的另一个端口是计

2、数端口: ,计数端口用于统计循环执行的次数,While循环每执行一次,计数端口的值就加 1。计数端口从零开始计数。,6.1.1 While循环,5,6.1.1 While循环,6,6.1.1 While循环,添加定时器,7,6.1.2 For循环,For循环用于将某段程序循环执行指定的次数。可以通过两种方法指定循环次数,一种是直接给定,一种是通过输入数值的大小给定,8,6.1.2 For循环,输入和输出数组,9,6.1.3 循环结构内外的数据交换与自动索引,在满足循环条件的情况下,循环结构在一次循环结束后将尽快开始执行下一次循环,但可以用 函数来控制循环的运行速度。,循环结构通道上的数据在循环

3、第一次执行时进入循环框内,以后在循环执行过程中将不再理会这个数据的变化。(实例1、实例2),10,移位寄存器用于While 和For循环,它可以将上一次循环的值传给下一次循环。,6.1.4 移位寄存器,11,6.1.4 移位寄存器,创建移位寄存器的方法是:在循环的左边框或右边框上弹出菜单并选择Add Shift Register 选项。,12,创建的移位寄存器包含两个相对的端口,分别位于循环的两个竖直边框上,右边的端口存储循环结束时的数据,到下一次循环开始时,该数据出现在左边的端口上,左边的端口可以增加,以便存储多次循环数据。,6.1.4 移位寄存器,13,移位寄存器的初始化,初始化移位寄存器

4、时,在循环外将初始值连到移位寄存器的左端口。如果不初始化,移位寄存器的默认初始值为: 布尔型的初始值为:False 数字型的初始值为:0,注意:如果第一次运行含有未初始化移位寄存器的VI程序时,LabVIEW 将移位寄存器初始化为默认值,只要不关闭VI程序,下一次运行时,移位寄存器就保留上一次运行程序后存储的值,而不会被LabVIEW重新初始化。,14,移位寄存器传递数据的方法,15,实例:,16,框图程序:,17,6.2 条件结构,点击该图标,条件结构的建立,18,Case结构是一种控制程序分支的结构,类似与文本编程语言中的 IF语句。每个Case结构可包含多个Case,如同一叠卡片,每张卡

5、片为一个子Case,即一个程序分支,但每次只显示一个Case结构。可以通过Case结构框图标题旁的箭头按钮来切换子Case框图。,选择端口,降序钮,子图形标识,升序钮,数据通道,子图形列表,19,选择端口的值决定了选择结构执行时到底执行哪一个子图形代码框内的代码。 这个值的类型可以是整型、布尔型、字符型或枚举型。选择端口图标的颜色会随连接的数据类型而改变。默认情况是连接一个布尔量,图标为绿色。,6.2 条件结构,20,条件结构的设置,缺省选项的设置,在LabVIEW 中,必须设置一个缺省选项处理超出选项范围的情况,除非能够为每个可能的选择值都设置一个子图形代码框。 设置缺省选项的方法是,当显示

6、缺省子图形代码框时在选择结构边框上弹出菜单选项 Make This The Default Case 。,6.2 条件结构,21,子图形代码框的设置,用标签工具修改子图形代码框标识。 子图形代码框标识可以是一个单值,也可以是一个表(如:1,2,3等),或者是一个范围(如:510)。范围也可以是开放的,(如:1,或9,前者表示小于或等于1的选项值都执行这个图形代码框,后者表示大于或等于9的选项值都执行这个图形代码框)。 字符型和枚举型数值在子图形代码框标识中被自动加上双引号。 错误的数值用红色显示。,6.2 条件结构,22,数据通道的要求,在向选择结构框内输入数据时,各个子图形代码框连接或不连接

7、这个数据通道都可以,但是从选择结构框向外输出数据时,各个子图形代码框都必须为这个通道连接数据。否则通道图标是中空的,程序运行按钮也是断开的。,6.2 条件结构,23,6.2 条件结构,应用实例,7-1 设计一个VI程序,检查一个数据是不是正数,如果是正数,则计算出它的平方根,否则,VI返回一条信息。,24,前面板设计,25,框图程序设计,Case 1,Case 2,26,应用实例:,7-2 测量实时温度和前三次温度的平均值,并能检测出温度是否超出设置范围。如果温度超出了设置范围,前面板的LED点亮,同时喇叭发音报警。,27,前面板设计,28,框图程序设计,29,6.3 顺序结构,LabVIEW

8、程序的执行顺序,数据流式的编程方法,多段代码同时执行,30,Flat Sequence Structure Stacked Sequence Structure,6.3 顺序结构,31,顺序结构的建立,基于文本的编程语言,是按照程序的语句出现的顺序执行。而在数据流程序中,只要一个节点所有需要输入的数据全部到达就开始执行。如果有时需要某个节点先于其它节点执行,可以用顺序结构作为控制节点执行次序的一种方法。,顺序结构从0号图形代码框内的代码开始,顺序执行每一个子图形代码框。,32,顺序结构的数据输入输出,向顺序结构框内输入数据时,各个子图形代码框连接或不连接这个数据通道都可以;但是从顺序结构框向外

9、输出数据时,各个子图形代码框只能有一个连接这个数据通道;否则通道图标是中空的,程序运行按钮也是断开的。而且,不管由哪一层子图形代码框框向外传递数据,都要等所有子图形代码框顺序执行完后才能传出数据。,33,顺序局部变量 Sequence Local,顺序局部变量用于在各个子图形代码框之间传递数据。 建立顺序局部变量的方法是在顺序结构边框上弹出菜单,选 Add Sequence Local 。,注意:不能在为顺序局部变量赋值的子图形代码框之前 访问这个数据。,34,应用实例:,7-3 设计一个VI程序,计算产生一个与指定的数字相等的随机数所需花费的时间。,35,前面板设计,36,框图程序设计:Fr

10、ame,37,框图程序设计:Frame,38,框图程序设计:Frame,39,6.4 公式节点(Formula Node),通过公式节点,用户不仅可以实现复杂的数学公式,还能通过文本编程写一些基本的逻辑语句,如ifelse, case, while循环之类的语句。,y=,40,6.4 公式节点(Formula Node),公式节点中可以包含任意数量的公式,41,公式节点的用途,问题: 当 x0, y=mx3+3nx2-x+1 当 x=0, y=-2mx3+x-5,程序中有一些复杂的数学计算,那么编写图形代码是比较麻烦的。,42,注意: 每个公式语句必须以分号结束,43,公式节点的建立,公式节点

11、函数 Structure函数子模板 Analyze MathematicsFormula,44,应用实例:,建立一个VI程序,用 Graph 指示器来显示方程式 y=Log(x)+cos(x)3+ Log(x)+cos(x) (x的范围是 0200),45,前面板设计,46,框图程序设计,47,利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节,48,5.5 事件结构(Event Structure),分析该程序可以看出,这个程序在没有用户点击的情况下完全都是在“空转”,浪费了大量的CPU资源,而且当“事件”发生太快时可能会被忽略。因此Labvi

12、ew提供了事件结构来解决这个问题,即仅当“事件”发生时,程序才做相应的响应,基于While循环和Case结构的单击计数器,49,5.5 事件结构(Event Structure),50,5.5 事件结构(Event Structure),51,52,5.5 事件结构(Event Structure),基于事件结构的单击计数器,53,5.5 事件结构(Event Structure),5.5.2 Filter事件 顾名思义,当该事件发生时,用户可以过滤掉甚至完全放弃掉该事件将触发的活动。,54,注意:,一般来说,事件只能通过外在用户的动作触发,如单击鼠标,键盘等。如果需要内部数据触发事件(例如当

13、ab条件满足时触发一个事件),就需要通过用户自定义事件的方法实现,这将在本书的21.3节中介绍。,55,5.6 使能结构,5.6.1 框图使能结构注释程序框图,56,5.8 跟着实例学模拟温度采集监测系统,57,小试身手,1. 利用顺序结构和timing面板下的tick count VI,计算for循环1000000次所需的时间。 2. 为第4章习题4添加一个While循环和定时器,实现连续的温度采集监测,58,小试身手,3、利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节,59,小试身手,4. 求分数序列 前20项之和。 5. 给出一百分制成绩,要求输出等级A,B,C,D,E。90分以上为A,8089为B,7079为C,6069为D,60分以下为E。,60,小试身手,6. 利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。例如按下34时,累加值为7;按下345时,累加值为12,61,小试身手,7. 利用公式节点判断一个数是否是素数,我们可以采用这样的算法:用2sqrt(N),依次去对N求余,只要有一个余数是0,则N就不是素数。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号