您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > Labview > 虚拟仪器_labview_课件PPT_5
第五章结构与属性控制5.1For循环(重点)5.2While循环(重点)5.3顺序结构(重点)5.4选择结构(重点)5.5事件结构5.6公式节点5.7定时循环结构5.8属性节点(重点)第五章结构与属性控制第五章结构与属性控制5.1For循环For循环是LabVIEW最基本的结构之一,它执行指定次数的循环。相当于C语言的For循环:for(inti=0;iN;i++){}LabVIEW中For循环可从框图功能模板Function→Programming→Structure子模板中创建。第五章结构与属性控制→第五章结构与属性控制5.1.1For循环的组成最基本的For循环由:循环框架、迭代端口i和总计数端口构成。此外,LabVIEW在For循环中引入移位寄存器(ShiftRegister)和框架隧道(LoopTunnel)两个独具特色的新概念。→第五章结构与属性控制数据在移位寄存器中的流动过程:第五章结构与属性控制移位寄存器的特点:(1)移位寄存器(左右)是For循环的数据缓冲区。(2)可以增加和减少移位寄存器的个数。(3)左右两侧移位寄存器的数据类型必须一致。第五章结构与属性控制框架隧道:框架隧道是For循环与循环外部进行数据交换的数据隧道。其功能:(1)在循环开始前,将循环外的数据送至循环内;(2)在循环结束后将循环结果送至结构外。框架隧道的属性:有索引(EnableIndexing)和无索引(DisenableIndexing)。(1)当框架属性为EnableIndexing时,该框架隧道就是一个数据缓存,每次循环结果在隧道内按先后次序组成一个数组,循环结束时,一次将合成的数组送出。(2)当框架属性为DisenableIndexing时,该框架隧道最后一次循环送过来的数据,并在循环结束时将该数据送出。第五章结构与属性控制框架隧道属性用框架隧道右键菜单设置。第五章结构与属性控制5.1.2For循环的使用例5.1.1求N!.例5.1.2求0到99之间所有偶数的和.第五章结构与属性控制5.1.3For循环的特点1.一旦For循环开始执行,就必须执行完相应次数循环后才能终止,不可中途跳转出来。2.具有自动索引功能例:求一维数组所有元素的和。第五章结构与属性控制当For循环计数端口给定值与两数组长度不等时,For循环自动按最小循环次数执行。第五章结构与属性控制5.2While循环当循环次数不能预先确定时,就需要用到While循环。它也是LabVIEW最基本的结构之一。相当于C语言的While循环和do循环:While(条件){}Do{}LabVIEW中While循环可从框图功能模板Function→Programming→Structure子模板中创建。第五章结构与属性控制→第五章结构与属性控制5.2.1While循环的组成最基本的While循环由:循环框架、迭代端口i和条件端口构成。条件端口控制循环是否执行,每次循环结束后,判断条件端口的值,若为False,停止执行循环;若为True,则继续执行下一次循环。不给条件端口赋值,则While循环只执行一次。此外,LabVIEW在While循环中也可引入移位寄存器(ShiftRegister)和框架隧道(LoopTunnel),与For循环中用法完全相同。第五章结构与属性控制5.2.2While循环的使用例5.2.1求N!.第五章结构与属性控制5.2.3While循环的特点1.具有自动索引功能例:显示一维数组所有元素。2.停止条件可修改,避免死循环。第五章结构与属性控制5.3顺序结构在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,称为控制流程;但LabVIEW中不同,它是一种图形化的数据流式编程语言,具有并发、多任务的特点。在LabVIEW7.0以前只有一种顺序结构。从LabVIEW7.0开始,旧版本的顺序结构称为StackedSequenceStructure(堆叠顺序结构),同时引入新的FlatSequenceStructure(平铺顺序结构)。第五章结构与属性控制→StackedSequenceStructure的创建,在Function→Programming→Structure下第五章结构与属性控制→FlatSequenceStructure的创建第五章结构与属性控制5.3.1顺序结构的组成1.StackedSequenceStructure由:顺序框架(也称为帧,Frame)、框图标识符和递增/递减按钮构成。如下图:第五章结构与属性控制StackedSequenceStructure帧序号从0开始。StackedSequenceStructure中引入了局部变量(SequenceLocal)的概念,通过局部变量就可以在顺序框架中向后传递数据顺序框架中也存在框架隧道,但隧道没有EnableIndexing和DisenableIndexing属性第五章结构与属性控制右击顺序框架,在弹出对话框中可增加删除帧。第五章结构与属性控制2.FlatSequenceStructure与StackedSequenceStructure结构具有相同的功能,区别仅在于表现形式不一样。堆叠结构相对平铺结构,比较节省空间。平铺结构在帧数不多时,把每个帧平铺开来,比较直观,便于代码阅读。平铺结构如下图:第五章结构与属性控制FlatSequenceStructure顺序结构不能添加局部变量(SequenceLocal),因为每个帧都是可见的,不需要局部变量这种机制在帧之间传递数据。平铺结构可以转换为堆叠结构。→第五章结构与属性控制5.3.2顺序结构的使用例5.3.1用For循环产生一个2000点的随机波形,并计算所用时间.第五章结构与属性控制第五章结构与属性控制5.3.3顺序结构的特点1.LabVIEW在堆叠顺序框架中引入了局部变量(SequenceLocal)的概念,通过本地结果就可以在顺序框架中向后传递数据。2.顺序框架中也存在框架隧道,但隧道没有EnableIndexing和DisenableIndexing属性。3.NI提供了顺序结构,却不提倡过多使用。因为:●顺序结构妨碍了LabVIEW的优点之一的并行运行机制;●顺序结构掩盖了部分程序代码,中断了作为LabVIEW特点的数据流形式。第五章结构与属性控制5.4Case结构Case结构也是LabVIEW最基本的结构之一。相当于C语言的switch语句:switch(表达式){case1:语句1;case2:语句2;casen:语句n;default:语句n+1;}第五章结构与属性控制→LabVIEW中Case循环可从框图功能模板Function→Programming→Structure子模板中创建。第五章结构与属性控制5.4.1Case结构的组成最基本的Case结构由:Case框架、选择端口、框图标识符和递增/递减按钮构成。第五章结构与属性控制上图中选择端口相当于C语言的Switch语句中的“表达式”,选择标识符相当于“表达式n”。选择端口的外部控制条件的数据类型有3种:布尔型、数字型和字符串型。控制条件的数据类型必须与选择标识符中数据类型一致。1.控制条件为布尔类型,选择标识符取值True和False;2.控制条件为数字类型,选择标识符取值0,1,2,…;3.控制条件为字符串类型,选择标识符取值“条件n”;第五章结构与属性控制5.4.2Case结构的使用例5.4.1求一个数的平方根,若该数=0,输出开方结果;否则弹出对话框,报告错误,同时输出-99999.00.第五章结构与属性控制5.4.3Case结构的特点1.LabVIEW的Case结构简洁明了,不但相当于Switch语句,还可以实现ifelse语句功能。2.Case框架中也存在框架隧道,但隧道没有EnableIndexing和DisenableIndexing属性。3.每个子框架必须连接一个数据,否则程序出错。第五章结构与属性控制5.5事件结构5.5.1事件驱动的概念LabVIEW是一种数据流的编程环境,由数据流决定程序中节点的执行顺序。但在编程中可以设置事件,对数据流进行干预。这些事件是用户在前面板的互动操作,如:点击鼠标事件、键盘事件等。在事件驱动程序中,首先是等待事件,当事件发生时执行指定事件的程序代码,对事件进行响应,然后再回到等待状态。使用事件设置,当用户改变一个前面板的值、关闭前面板、退出程序等,都可以被程序及时捕捉到。第五章结构与属性控制5.5.2事件结构的建立LabVIEW中Event结构可从框图功能模板Function→Structure子模板中创建,如下。超时端口Timeout连接一个数值指定等待事件的毫秒数。默认值为-1,即无限等待。通过事件端口可以访问事件的数据值。事件选择标签显示当前响应事件的子图形代码框。第五章结构与属性控制5.5.3事件结构的设置在事件结构边框右键弹出菜单上选择CaseEventCase添加事件子图形代码框。点击事件数据节点可以选择、添加、删除事件节点。第五章结构与属性控制在EditEventsHandledbyThisCase设置代码框设置事件源和事件类型。第五章结构与属性控制例5.5.1:事件结构的使用。当按钮或滑钮按下时产生MouseDown事件,执行0帧代码,弹出对话框,询问是否继续?点击Yes,继续While循环,点击No结束While循环。此外设置一个超时处理事件,假如5秒没有在前面板操作,则退出While循环。第五章结构与属性控制第五章结构与属性控制5.6公式节点假如程序中有一些复杂的数学计算,编写图形代码是比较麻烦的。如x0,y=mx3+3nx2-x+1;x=0,y=-2mx3+x-5。第五章结构与属性控制第五章结构与属性控制→5.6.1公式节点的创建①在功能模板Function→Programming→Structure子模板中选择FormulaNode。第五章结构与属性控制→②添加输入输出端口。→第五章结构与属性控制③公式节点的预定义函数。第五章结构与属性控制第五章结构与属性控制④公式节点的操作符。第五章结构与属性控制5.6.2公式节点的使用例5.6.1求y=3x+100第五章结构与属性控制例5.6.2如x0,y=mx3+3nx2-x+1;x=0,y=-2mx3+x-5。应用选择结构逻辑表达式?表达式1:表达式2;第五章结构与属性控制5.6.3公式节点的特点1.LabVIEW的公式节点的使用简化计算公式的图形化编程,提高了效率。2.公式节点框架中出现的所有变量,必须有一个对应的输入输出端口,注意输入输出端口是可设置的。3.公式节点框架内每个公式后以分号”;”结束。第五章结构与属性控制5.7定时循环结构5.7.1定时循环的创建在功能模板Function→Programming→Structure子模板中选择TimedStructure下的TimedLoop。第五章结构与属性控制输入端子左数据端子右数据端子输出端子第五章结构与属性控制用ConfigureTimedLoop(双击输入端子)配置输入端子:第五章结构与属性控制用输入端口配置输入端子:第五章结构与属性控制5.7.2时间顺序结构第五章结构与属性控制5.8属性节点前面板对象属性是指前面板上控件的外观和功能特征,如显示的颜色、可见性、闪烁、位置、比例等。5.8.1属性节点的创建简便的方法是在前面板对象或其端口的右键弹出菜单中选择Creat→PropertyNode,如下图:第五章结构与属性控制第五章结构与属性控制属性类型的选择,单击属性节点,在弹出菜单中的Property下,列出了对象的所有属性,如下图:→增加多种属性,方法1:拖动;方法2:AddElement第五章结构与属性控制5.8.2属性节点的使用①VisibleAttribute控制前面板对象是否可见,数据类型为布尔型。当为True时,可见;当为False时,不可见第五章结构与属性控制②DisableAttribute控制前面板对象是否可用,数据类型为整型。当
本文标题:虚拟仪器_labview_课件PPT_5
链接地址:https://www.777doc.com/doc-7028572 .html