您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 虚拟仪器-第四章结构与属性控制.
第六章程序结构6.1For循环6.2While循环6.3顺序结构6.4选择结构6.5事件结构6.6公式节点6.7属性节点第六章程序结构第六章程序结构6.1For循环For循环是LabVIEW最基本的结构之一,它执行指定次数的循环。相当于C语言的For循环:for(inti=0;iN;i++){}LabVIEW中For循环可从框图功能模板Function→Structure子模板中创建。第六章程序结构→第六章程序结构6.1.1For循环的组成最基本的For循环由:循环框架、迭代端口i和总计数端口构成。任务1:判断该程序运行后的结果,设计该循环结构程序,验证结果。第六章程序结构此外,LabVIEW在For循环中引入移位寄存器(ShiftRegister)和框架通道(Channel)两个独具特色的新概念。→第六章程序结构数据在移位寄存器中的流动过程:第六章程序结构移位寄存器的特点:(1)移位寄存器(左右)是For循环的数据缓冲区。(2)可以增加和减少移位寄存器的个数。(3)左右两侧移位寄存器的数据类型必须一致。任务2:计算1+2+3+…100的和。第六章程序结构6.1.2For循环的使用任务4:求0到99之间所有偶数的和.任务3:求N!.第六章程序结构6.1.3For循环的特点1.一旦For循环开始执行,就必须执行完相应次数循环后才能终止,不可中途跳转出来。2.具有自动索引功能例:求一维数组所有元素的和。第六章程序结构当For循环计数端口给定值与两数组长度不等时,For循环自动按最小循环次数执行。第六章程序结构6.2While循环当循环次数不能预先确定时,就需要用到While循环。它也是LabVIEW最基本的结构之一。相当于C语言的While循环和do循环:While(条件){}Do{}LabVIEW中While循环可从框图功能模板Function→Structure子模板中创建。第六章程序结构→第六章程序结构6.2.1While循环的组成最基本的While循环由:循环框架、迭代端口i和条件端口构成。条件端口控制循环是否执行,每次循环结束后,判断条件端口的值,若为False,停止执行循环;若为True,则继续执行下一次循环。不给条件端口赋值,则While循环只执行一次。此外,LabVIEW在While循环中也可引入移位寄存器(ShiftRegister)和框架通道(Channel),与For循环中用法完全相同。第六章程序结构6.2.2While循环的使用任务5摄氏温度与华氏温度的动态转化任务6求N!.第六章程序结构6.2.3While循环的特点1.具有自动索引功能例:显示一维数组所有元素。2.停止条件可修改,避免死循环。第六章程序结构6.3顺序结构在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,称为控制流程;但LabVIEW中不同,它是一种图形化的数据流式编程语言,具有并发、多任务的特点。ADCB第六章程序结构6.3.1顺序结构的组成最基本的顺序结构由:顺序框架、框图标识符和递增/递减按钮构成。LabVIEW在顺序框架中引入了本地结果(SequenceLocal)的概念,通过本地结果就可以在顺序框架中向后传递数据顺序框架中也存在框架通道,但通道没有EnableIndexing和DisenableIndexing属性第六章程序结构6.3.2顺序结构的使用任务7用For循环产生一个2000点的随机波形,并计算所用时间.第六章程序结构前面板输出:第六章程序结构6.3.3顺序结构的特点1.LabVIEW在顺序框架中引入了局部变量(SequenceLocal)的概念,通过本地结果就可以在顺序框架中向后传递数据。2.顺序结构可以提高某类程序的运行效率,但不可滥用,有些情况下数据流机制的程序效率会更高。第六章程序结构6.4Case循环(条件循环)Case结构也是LabVIEW最基本的结构之一。相当于C语言的switch语句:switch(表达式){case1:语句1;case2:语句2;casen:语句n;default:语句n+1;}第六章程序结构→LabVIEW中Case循环可从框图功能模板Function→Structure子模板中创建。第六章程序结构6.4.1Case结构的组成最基本的Case结构由:Case框架、选择端口(分支选择器)、选择器标签和递增/递减按钮构成。选择端口相当于C语言的Switch语句中的“表达式”,框图标识符相当于“表达式n”。选择端口的外部控制条件的数据类型有3种:布尔型、数字型和字符串型。控制条件的数据类型必须与框图标识符中数据类型一致。1.控制条件为布尔类型,框图标识符取值True和False;2.控制条件为数字类型,框图标识符取值0,1,2,…;3.控制条件为字符串类型,框图标识符取值“条件n”;第六章程序结构6.4.2Case结构的使用任务8求一个数的平方根,若该数=0,输出开方结果;否则弹出对话框,报告错误,同时输出-99999.00.第六章程序结构6.4.3Case结构的特点1.LabVIEW的Case结构简洁明了,不但相当于Switch语句,还可以实现ifelse语句功能。2.Case框架中也存在框架通道,但通道没有EnableIndexing和DisenableIndexing属性。3.每个子框架必须连接一个数据,否则程序出错。第六章程序结构6.5事件结构6.5.1事件驱动的概念LabVIEW是一种数据流的编程环境,由数据流决定程序中节点的执行顺序。但在编程中可以设置事件,对数据流进行干预。这些事件是用户在前面板的互动操作,如:点击鼠标事件、键盘事件等。在事件驱动程序中,首先是等待事件,当事件发生时执行指定事件的程序代码,对事件进行响应,然后再回到等待状态。使用事件设置,当用户改变一个前面板的值、关闭前面板、退出程序等,都可以被程序及时捕捉到。第六章程序结构6.5.2事件结构的建立LabVIEW中Event结构可从框图功能模板Function→Structure子模板中创建,如下。超时端口Timeout连接一个数值指定等待事件的毫秒数。默认值为-1,即无限等待。通过事件端口可以访问事件的数据值。事件选择标签显示当前响应事件的子图形代码框。第六章程序结构6.5.3事件结构的设置在事件结构边框右键弹出菜单上选择CaseEventCase添加子图形代码框。在EditEventsHandledbyThisCase可以为子图形代码框设置事件。第六章程序结构在EditEventsHandledbyThisCase设置代码框设置事件。第六章程序结构在EditEventsHandledbyThisCase设置代码框设置事件。例:事件结构的使用。第六章程序结构第六章程序结构6.6公式节点假如程序中有一些复杂的数学计算,编写图形代码是比较麻烦的。如x0,y=mx3+3nx2-x+1;x=0,y=-2mx3+x-5。第六章程序结构第六章程序结构→6.6.1公式节点的创建①在功能模板Function→Structure子模板中选择FormulaNode。第六章程序结构→①添加输入输出端口。→第六章程序结构6.6.2公式节点的使用任务9求y=3x+100第六章程序结构任务10x0,y=mx3+3nx2-x+1;x=0,y=-2mx3+x-5。应用选择结构逻辑表达式?表达式1:表达式2;第六章程序结构6.6.3公式节点的特点1.LabVIEW的公式节点的使用简化计算公式的图形化编程,提高了效率。2.公式节点框架中出现的所有变量,必须有一个对应的输入输出端口,注意输入输出端口是可设置的。3.公式节点框架内每个公式后以分号”;”结束。第六章程序结构6.7属性节点前面板对象属性是指前面板上控件的外观和功能特征,如显示的颜色、可见性、闪烁、位置、比例等。6.7.1属性节点的创建简便的方法是在前面板对象或其端口的右键弹出菜单中选择Creat→PropertyNode,如下图:第六章程序结构第六章程序结构属性类型的选择,单击属性节点,在弹出菜单中的Property下,列出了对象的所有属性,如下图:→增加多种属性,方法1:拖动;方法2:AddElement第六章程序结构6.7.2属性节点的使用①VisibleAttribute控制前面板对象是否可见,数据类型为布尔型。当为True时,可见;当为False时,不可见第六章程序结构②DisableAttribute控制前面板对象是否可用,数据类型为整型。当其值为0时,可用;当其值为1时,不可用;当其值为2时,不可用,且变暗。第六章程序结构③KeyFocusAttribute控制前面板对象是否处于焦点状态,数据类型为布尔型。当为True时,处于焦点状态;当为False时,失去焦点状态。第六章程序结构④BlinkingAttribute控制前面板对象是否闪烁,数据类型为布尔型。当为True时,处于闪烁状态;当为False时,处于正常状态。第六章程序结构⑤PositionAttribute设置控制前面板对象在前面板中的位置,数据类型为簇,均为整型。第六章程序结构⑥BoundsAttribute(ReadOnly)获得控制前面板中对象的大小,包括高和宽,数据类型为簇,均为整型。第六章程序结构6.6.3属性节点的特点1.与本地变量类似,属性节点也有Read和Write两种属性。2.在编程中会经常应用到属性节点,特别是对于Graph和Chart波形控件,应用属性节点能添加不少实用功能。第六章程序结构实验三1.产生100个0.0~100.0的随机数,求其最小值、最大值、平均值,并将数据在Graph中显示。2.产生0.0~100.0的随机数序列,求其最小值、最大值、平均值。并将随机数序列和平均值序列显示在Chart波形图中,直到人为停止。3.程序开始运行后,要求用户输入一个口令,口令正确时,滑件显示件显示一个0~100的随机数,否则程序立即停止。4.编写一个程序测试自己在前面板输入一下字符串所用的时间:Avirtualinstrumentisaprograminthegraphicalprogramminglanguage.个数据的平均值。是前nAAAnAAnnnnn)(111第六章程序结构实验四1.在前面板中显示一个按钮和一个滑钮,当在按钮或滑钮上按下鼠标时,产生事件。当该事件发生时,弹出对话框,询问是否继续,点击yeswhile循环继续执行;若点击No退出while循环;此外设置了一个超时处理子图形代码框,若5秒钟没有在前面板操作,则退出while循环。2.编写计算以下等式的程序:y1=x3-x2+5y2=m*x+bx的范围是0~10;y1和y2用数组显示件显示在前面板上。3.编写一个程序,实现是否可视、可用、焦点状态、闪烁、位置及对象尺寸等属性。第六章程序结构第六章程序结构
本文标题:虚拟仪器-第四章结构与属性控制.
链接地址:https://www.777doc.com/doc-2026454 .html