虚拟仪器实用编程技术 教学课件 ppt 作者童刚 第2章 结构

上传人:E**** 文档编号:89188921 上传时间:2019-05-21 格式:PPT 页数:52 大小:300.50KB
返回 下载 相关 举报
虚拟仪器实用编程技术 教学课件 ppt 作者童刚 第2章 结构_第1页
第1页 / 共52页
虚拟仪器实用编程技术 教学课件 ppt 作者童刚 第2章 结构_第2页
第2页 / 共52页
虚拟仪器实用编程技术 教学课件 ppt 作者童刚 第2章 结构_第3页
第3页 / 共52页
虚拟仪器实用编程技术 教学课件 ppt 作者童刚 第2章 结构_第4页
第4页 / 共52页
虚拟仪器实用编程技术 教学课件 ppt 作者童刚 第2章 结构_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《虚拟仪器实用编程技术 教学课件 ppt 作者童刚 第2章 结构》由会员分享,可在线阅读,更多相关《虚拟仪器实用编程技术 教学课件 ppt 作者童刚 第2章 结构(52页珍藏版)》请在金锄头文库上搜索。

1、第2章 结构,主要学习内容,重点掌握循环结构For Loop和While Loop的使用,以及两者的联系和区别; 重点掌握移位寄存器和反馈节点的使用,注意两者的初始化问题,这是本章的难点内容; 掌握自动索引的功能,本章要和第三章数组部分的内容联系起来理解; 掌握选择结构,注意条件选择端的设置; 掌握顺序结构的使用; 掌握公式节点的使用;,LabVIEW的几种基本结构,循环结构、选择结构(Case)、顺序结构(Sequence)、事件结构(Event)、公式节点以及反馈节点(Feedback Node)。其中循环结构又分为For循环、While循环和定时循环;顺序结构分为堆栈型顺序结构(Stac

2、ked Sequence Structure)和平铺型顺序结构(Flat Sequence Structure)。 这些结构都位于All FunctionsStructures子模板。,2.1 循环结构,LabVIEW中的循环结构主要有While循环、For循环和定时循环(Timed Loop)。 For循环必须指定循环的次数,循环一定的次数后自动退出循环;而While循环不用指定次数,而是需要指定条件,当达到循环指定条件时退出循环。定时循环是LabVIEW7.1最新出现的结构,这种结构有助于控制循环的运行时间。 重点掌握For Loop和While Loop 循环。,2.1.1 While循

3、环结构,创建方法是:选择结构子模板中的While Loop图标放到框图程序窗口中,拖动鼠标确定图框大小,或者使用位置工具拖动循环结构的边框,来改变其框的大小。 最基本的While Loop循环由循环边框、循环重复端及条件判断端组成(演示)。,While循环执行的是包含在循环框架中的流程图,反复执行的循环次数不定,只有当条件满足时,才停止循环的执行。循环重复端i的初始值为0,每执行一次循环自动加1。,条件端口用于判断循环是否执行,条件端口有两种使用状态:Stop if True和Continue if True。 条件端口的使用状态可以根据情况自己选择,方法是在条件端口上右键弹出菜单,选择Sto

4、p if True或者Continue if True即可(演示)。 注意:在While循环中,不管条件是否成立,While循环中的代码至少要执行一次。如果不给条件端口赋值,则While循环只执行一次。,例2.1 使用While循环显示随机数序列,其前面板和框图程序如图,2.1.2 For循环结构,For循环结构将某段程序段重复执行预先设定的次数 。 For循环的创建方法和While循环类似,从框图Structures子模板中选取创建即可。 最基本的For循环结构由循环框架、循环计数端口N和重复端口i组成,如图。,For循环结构组成,例2.2 使用For循环显示随机数序列,其前面板和后面板框图

5、程序如图,移位寄存器和反馈节点,移位寄存器和反馈节点都是循环结构的附加对象,前者的功能是把当前循环完成时的某个数据传递给下一次循环的开始;后者相当于只有一个左端子的移位寄存器,同样用于在两次循环之间传递数据。 移位寄存器是LabVIEW在循环中引入的独具特色的新概念。,创建移位寄存器的方法是:在循环框的左边界或右边界右键弹出菜单,选择Add Shift Register,可以创建一个移位寄存器 。(演示,并说明添加多个移位寄存器和删除移位寄存器的方法)。 移位寄存器可存储包括数值、布尔值、字符串、数组、簇等任何类型的数据,但连接到同一个寄存器端口的数据必须是同一类型的。移位寄存器能够自动与连接

6、到它上面的第一个对象的数据类型匹配。,数据在移位寄存器中的传递过程如图,例2.3 在While循环中使用移位寄存器,例2.4 使用For循环与移位寄存器实现n!的运算,学生自做练习。,初始化移位寄存器,移位寄存器的初始化是在循环外部将常数或控制件连接到移位寄存器的左端子上来实现的。移位寄存器初始化和未初始化的情况程序运行结果是不一样的,下面通过例子对比说明。 求0+1+2+3+4的值,用For Loop循环设为5次,初始值设为5和不设初始值的情况。,初始化移位寄存器两次运行VI的情况,未初始化移位寄存器两次运行VI的情况,反馈节点,反馈节点(Feedback Node)和只有1个左端子的移位寄

7、存器的功能完全相同,同样用于在两次循环之间传递数据,它是一种更简洁的表达方式。 例子:用移位寄存器和反馈节点在数字指示器中输出一个不断累积的正整数值 。(见图),循环的自动索引,所谓“自动索引”是指使循环框(即循环体)外面的数据成员逐个进入循环框,或者使循环框内的数据累积成一个数组后再输出到循环框外的特性和功能。 For循环和While循环都具有这种“自动索引”的功能。其中For循环自动索引功能默认是打开的,而While循环默认是关闭的。 要打开或关闭自动索引的功能,可以在数据输入或输出循环体的节点上单击右键弹出快捷菜单,选择Enable Indexing或Disable Indexing即可

8、。,例2.6 建立For循环和使用自动索引的功能。,本例中使用For循环,选择正弦函数产生数据。 其前面板和框图程序如图。,2.1.3 定时循环,定时循环的建立和前面两种循环结构建立的方法类似。 定时循环结构主要由5部分组成,下面分别介绍。 (1)输入节点 确定定时循环的循环时序、循环优先级和循环名称等参数(如图所示); (2)左数据节点 提供上一次循环的时间和状态信息,例如上一次循环是否延迟执行、上一次循环的实际执行时间等; (3)循环体 和While循环类似,定时循环的循环体包括Loop Iteration端口和Loop Condition端口,前者指示当前循环的次数,后者连接一个布尔型常

9、量,指示循环结束或循环继续的条件; (4)右数据节点 接收左数据节点的信息,以决定下一次循环的时间或状态; (5)输出节点 输出循环执行过程中可能出现的错误信息。,定时循环结构的框图组成,输入节点的各部分参数,输入节点设定对话框中的主要参数,例2.7 此VI程序中包含有两个定时循环Loop A和Loop B,两者同时进行累加计算,但通过定时循环固定了两者的不同累加速度。,2.2选择结构(Case Structure),Case结构是一种多分支程序控制结构,类似C语言的Switch多分支选择结构。Case结构位于All FunctionsStructures子模板中,其创建方法和循环结构类似。

10、Case结构包含有多个子图形代码框,每个子图形代码框包含一段程序代码,程序选择其中的一段执行,一个子图形代码框对应一个Case。,2.2.1 Case结构的建立和组成,Case结构框架包括选择器标识框和选择器控制端口; 可有两个或多个Case子框图,但任何时候都只有一个Case被执行,执行哪一个Case取决于选择器端子的输入值。,LabVIEW默认的选择框架类型和组成,Case选择器输入数据类型,选择器输入数据类型有四种,即布尔型、数字整型、字符串型及枚举类型。选择器端子的图标颜色会随连接的数值类型而改变。,选择器端子为字符串或者枚举类型时的Case结构,2.2.2 Case结构分支的添加、删

11、除与排序,在Case选择框上单击鼠标右键弹出快捷菜单,进行添加、删除和排序的操作。 1. Add Case After或Add Case Before:可在当前分支之后或分支之前添加分支。 2. Delete This Case: 删除当前Case 分支。 3. Rearrange Case:重排分支,并出现Rearrange对话框进行设置即可。 4. Make This Default Case :设置默认分支 。,2.2.3 数据的输入和输出通道,当由外部节点向结构框架连线或者框内节点与边框连线时,在结构边框就创建了输入通道或输出通道。 对所有Case分支来说对于输入通道的数据可以使用,也

12、可以不使用。但从选择结构框向外输出数据时,各个子图形框必须为这个通道连接数据。 当各个子图形框都为这个通道连接了数据,通道图标才是实心的,程序才可运行。,例2.8求一个数的平方根,要求:若该数0,计算该值平方根,并将计算结果输出;若该数0时,则用弹出式对话框报告错误,同时输出错误代码“-99999.0”。,2.4 顺序结构,顺序结构(Sequence Structure)看上去像电影胶片一样,由一帧或多帧图框组成,在通用编程语言中,程序语句执行顺序是依据它们在程序中的前后位置。 顺序结构可从框图程序中的功能模板All Functions Structures子模板中创建,刚创建的顺序结构为单框

13、架顺序结构,只能执行一步操作。但用户根据需要可创建多框架顺序结构。创建方法是在顺序结构边框上弹出菜单,选择Add Frame After或Add Frame Before即可添加框架。,2.4.1 顺序结构的创建与组成,最基本的顺序结构由顺序框架(Sequence Frame)、图框标识符(Diagram Identifier)和递增/递减按钮组成,如图。,2.4.2 顺序结构局部变量的创建,顺序结构可在帧与帧之间传递信息。为了从一个帧向其他帧传递数据,使用称为“Sequence Local”(顺序结构局部变量)的端口。(在Stacked Sequence) 创建“Sequence Local

14、”端口的方法是,在顺序结构边框弹出菜单,选择Add Sequence Local。 开始时,局部变量端子表现为一个空的小方块,一旦将数据连接到端子上,帧端子中出现一个向外的箭头,而且颜色也变为与所连接的数据类型相符。箭头向外表示本帧是向外输出数据的数据源。,在这个局部变量被赋了值的子图形框以后的所有帧中,局部变量图标都有一个向内的箭头,即都可以访问这个数据。而在这之前的所有帧中都没有箭头,也不允许连线。,在顺序结构中仅能在一个帧中给顺序结构局部变量赋值,该帧称为数据源帧,这个数据源能被后续所有帧所用,但在源帧前的帧中不能使用。,如图,2帧为数据源,这个数据对0,1帧无效,但对后续的所有局部变量

15、都有效。,与Case结构不同,顺序结构的输出通道仅能有一个数据源。输出可以由任一个帧发出,且此数据一直要保持到所有帧全部完成执行后才能脱离结构。,顺序结构数据源帧的使用,例2.9将一随机数发生器产生的数字与前面板输入的给定数字进行比较,计算当两个数匹配时所需要的时间。 要求:在前面板上的“指定的数字”控件中设定需要匹配的数字,程序运行时由“当前值”指示器显示当前随机数,当得到匹配数字时,“次数”指示器显示出匹配时进行重复循环比较的次数,搜索到匹配数字所需要的时间送“所花时间”指示器显示。,其前面板和框图程序如图,前面板创建步骤,打开一个前面板,按图所示创建面板,并按图中文本描述修改控制器和指示

16、器; 在“所花时间”控件上弹出菜单,选择“Format & Precision ” 选项,输入两位数字精度,按“OK”按钮; 在“指定的数字”、“当前值”和“次数”数字控件上弹出菜单选择“RepresentationI32”,将输出设置为32位整型数。 在“指定的数字”指示器上弹出菜单,选择“Data Range”选项,弹出对话框,设定最小值、最大值和增量值,设置完毕按“OK”按钮。,框图程序创建步骤,在框图窗口放置顺序结构采用平铺形式; 在帧的边框上右键弹出菜单选择“Add Frame After”,创建1个新帧。重复此步创建第2帧; 按图所示创建各帧流程图。,注: Tick Count(ms)函数(位于Time & Dialog子模板)读取操作系统的软件定时器的当前值,并以毫秒为单位返回时间值。,对程序的解释 在0帧建立一个顺序局部变量,Tick Count(ms)函数读操作系统的软件时钟,并将返回时钟值(以毫秒为单位)经顺序局部变量送到后面的帧。 在1帧子图里,将随机数与

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

当前位置:首页 > 高等教育 > 大学课件

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