part使用结构控制程序执行.ppt

上传人:牧羊曲112 文档编号:6513732 上传时间:2023-11-08 格式:PPT 页数:48 大小:2.77MB
返回 下载 相关 举报
part使用结构控制程序执行.ppt_第1页
第1页 / 共48页
part使用结构控制程序执行.ppt_第2页
第2页 / 共48页
part使用结构控制程序执行.ppt_第3页
第3页 / 共48页
part使用结构控制程序执行.ppt_第4页
第4页 / 共48页
part使用结构控制程序执行.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《part使用结构控制程序执行.ppt》由会员分享,可在线阅读,更多相关《part使用结构控制程序执行.ppt(48页珍藏版)》请在三一办公上搜索。

1、济南大学自动化与电气工程学院授课教师:谢锦丽E-mail:联系方式:,虚拟仪器技术,1,第3章 使用结构控制程序执行,3.1 两种循环3.2 移位寄存器3.3 选择结构3.4 顺序结构3.5 定时及定时结构3.6 公示节点3.7 表达式节点3.8 循环与选择结构联合,2,3.3 选择结构,选择结构(Case结构)是LabVIEW中执行条件语句的方法,就像“if-then-else”。函数选项卡编程结构子选项卡Case结构有两个或更多个的子框图,但是只有一个在执行,这取决于连接到分支选择器上的布尔型、数值型或字符串型的值。,3,3.3 选择结构,如果是布尔型连接到分支选择器上,选择结构就只有两个

2、分支:FALSE和TRUE如果是数值型或字符串型连接到分支选择器上,选择结构可以有无数个分支。初始时虽然只有两个,但是可以很容易的添加分支。可以给一个分支指定多个值,并用逗号分开。需要选择一个默认分支,当分支选择器上输入的值和其它所有分支都不匹配时,就会执行默认分支。在很难考虑到所有的可能分支,但又希望覆盖所有可能分支时,使用默认分支是非常方便的。选择结构必须处理到分支选择器的所有可能值,否则VI处于中断状态。使用默认分支能够轻易解决该问题。,4,3.3 选择结构,在首次放置Case结构到前面板上式,它是布尔型的。一旦分支选择器连接上数值型的值,分支就呈现出对应的数值型。Case结构可以有多个

3、子框图,但是只能显示一个分支。单击结构上方的减量或增量箭头,可以显示前一个或后一个子框图。同时可以单击结构上方的下拉菜单,里面列出了所有分支,单击显示需要的分支。在结构的边框上的弹出菜单上选择显示分支,5,3.3 选择结构,如果连接到分支选择器上的值是浮点数,LabVIEW则将其装换成I32数值类型,而且分支选择使用转换后的数值。左边框的任何位置都可以放置分支选择器,但是必须有值连接到分支选择器,这样分支选择器就会自动识别器数据类型。如果连接到选择器的数据类型从数值型编程布尔型,那么分支0和1编程FALSE和TRUE。如果还有其他分支存在,LabVIEW不会删除这些分支,以防误操作。但是在结构

4、运行前,这些额外的分支必须手动删除。如果是字符串型连接到分支选择器,分支的值必须是引号“”内的字符串。如果输入的字符串没有引号,LabVIEW会自动添加。,6,3.3 选择结构,Case结构输入端子(隧道和分支选择器)的数据是所有分支公用的。分支并不一定需要输入数据或输出数据,但是如果有一个分支输出数据到隧道,那么所有分支都必须输出数据。在给分支输出连线时,在每个分支的同一个位置会出现一个白色的小隧道,这是运行箭头会裂开,直到所有分支输出都已连线后,隧道就变成黑色,而且运行箭头也会合拢。连线时一定确认是对现存的输出隧道连线,而不是建立其他更多的隧道。给每一个分支都指定输出是因为LabVIEW要

5、求无论那一个分支在运行,选择结构都必须给下一个节点提供数据。,7,3.3 选择结构,在输出隧道设置成未连线时使用默认,输出隧道将会在运行分支没有连接输出时提供一个默认值。要确保默认数据不会引起错误。LabVIEW强制给选择结构每个子框图的端子连线,是为了让用户决定输出端子的数据类型在选择结构的边框上单击,选择在前面添加分支或在后面添加分支,选择复制分支可以复制当前分支,还可以删除分支。如果需要了解如何使用LabVIEW中不同的结构,可以选择弹出菜单中的范例选项,这样会显示帮助页面,里面有示例的连接。,8,对话框,LabVIEW可以弹出带有响应按钮如“确定”和“取消”的对话框窗口。函数选项卡编程

6、对话与用户界面LabVIEW提供了三种标准弹出对话框:单按钮、双按钮和三按钮;以及express对话框:提示用户对话框和显示信息对话框用户写入的信息可以出现在窗口和按钮的标签上。双按钮对话框会返回一个布尔值,三按钮对话框会返回一个数值来表示按了哪个按钮。在任何情况下,LabVIEW会暂停运行VI,直到用户对对话框做出响应。,9,对话框,例如:加入一个对话框来确认用户的关键选择。,10,对话框,标准对话框单按钮对话框:直到单击OK按钮后才会关闭;双按钮:直到单击OK或Cancel按钮之后才会关闭;三按钮对话框:直到单击任何一个按钮或关闭窗口时关闭窗口,并且能分辨出4个事件中哪一个发生了。,11,

7、对话框,Express对话框显示消息:打开配置对话框,可以通过“显示按钮2”配置显示消息对话框的按钮个数提示用户:提示用户输入数据,例如用户名和密码,12,当调用该VI时,会显示一个对话框,对话框包括了在配置对话框中“输入”栏里所指定的控件及指定的文本消息和按钮。,13,练习:平方根,选择结构和对话框的练习,创建VI,如果输入是正数,则返回平方根,如果输入是负数,则弹出对话框并返回错误。1.创建前面板:数值控件提供输入数据,指示器显示平方根,14,2.打开框图,构造程序框图。放置选择结构,保持默认的布尔型,通过选择结构边框上的箭头改变分支,每次只能显示一个分支。3.选择其他的框图对象并连线。包

8、括:4.运行并保存VI。,15,大于等于函数(编程比较),检查输入数据是否为负数。如果输入大于等于0,则返回TURE;平方根函数(编程数值),返回输入数据的平方根;数值常量(编程数值),“-99999.0”作为错误分支的输出,“0”作为判断输入数据是否为负数的基准,位于选择结构外。单按钮对话框(编程结构),显示一个包含“Error Negative Number”消息的对话框。字符串常量(编程字符串),向文本框内输入文本。,可以使用帮助窗口显示输入和输出端子。本练习中,VI总是执行Case结构的True分支或者False分支中的一个,如果输入数值大于等于0,VI执行True分支,返回数据的平方

9、根。如果输入的数值小于0,False分支输出-99999.00,并且显示包含“Error Negative Number”信息的对话框。必须为每个分支指定输出隧道,这是在错误分支上输出-99999.00的原因。在创建了一个输出隧道后,在其他分支的相同位置也会出现隧道。未连接的隧道是空心方框。,16,Square Root VI 的逻辑If(Number=0)then Square Root Value=SQRT(Number)Else Square Root Value=-99999.0 Display Message“Error Negative Number”End If,17,第3章 使

10、用结构控制程序执行,3.1 两种循环3.2 移位寄存器3.3 选择结构3.4 顺序结构3.5 定时及定时结构3.6 公示节点3.7 表达式节点3.8 循环与选择结构联合,18,3.4 顺序结构,按一定的顺序排列程序元素来决定程序执行的顺序,称为控制流。LabVIEW使用顺序结构实现数据流框架中的控制流。顺序结构是一系列顺序执行的有序帧集合。顺序结构顺序执行帧0,然后是帧1、帧2,直到最后一个帧。只有最后一个帧执行完毕,数据才会离开结构。LabVIEW有两种风格的顺序结构:单层顺序结构和叠层顺序结构。函数选项卡编程结构子选项卡。单层顺序结构是一个接一个排列的,叠层顺序结构的帧是顺序的排成一叠,和

11、选择结构相似。与选择结构一样,同一时间只能在叠层顺序结构上看见一个帧,单击结构上方的箭头来浏览其它帧,或者单击结构上方浏览帧列表,也可以通过结构边框的弹出菜单设置。在框图上放置顺序结构时,一开始只有一帧,结构的上方没有箭头或数字表示当前帧,同样在弹出菜单中设置。,19,3.4 顺序结构,这两种顺序结构(单层和叠层)外观不同,但是以相同的方式执行代码,并且可以相互转换。,20,3.4 顺序结构,单层顺序结构优于叠层顺序结构:单层顺序结构所有的帧都可以同时看到,能够一目了然;在单层顺序结构中,帧之间的数据传输通过隧道而不是顺序结构的局部变量。顺序结构局部变量的缺陷:它强制改变了从左到右的数据流编程

12、习惯;很难发现在哪一帧初始化了顺序结构局部变量;在同样的帧代码中,叠层顺序结构需要更多的顺序结构局部变量,而单层顺序结构只需要较少的隧道。,21,3.4 顺序结构,单层顺序结构不能使用局部变量顺序结构局部变量在初始化帧中是数据接收器顺序结构局部变量在初始化后是数据源,可以连接到指示器(数据接收器)不能连接到输入数据(其它数据源),22,3.4 顺序结构,23,第3章 使用结构控制程序执行,3.1 两种循环3.2 移位寄存器3.3 选择结构3.4 顺序结构3.5 定时及定时结构3.6 公示节点3.7 表达式节点3.8 循环与选择结构联合,24,3.5 定时及定时结构,3.5.1 定时函数用来测量

13、时间、同步任务,在循环中插入足够的处理器空闲时间,可以控制VI的运行速度,不至于独占CPU。函数选项卡编程定时选项卡上可以找到LabVIEW的定时函数。LabVIEW的基本定时函数有时间计数器(ms)、等待(ms)和等待下一个整数倍毫秒。时间计数器(ms):返回一个操作系统内部时钟的毫秒值,通常用于计算用掉的时间。,25,3.5 定时及定时结构,等待(ms):控制VI等待指定的毫秒数,然后再继续运行。常用于在事件之间暂停,等待指定的时间。等待下一个整数倍毫秒:控制LabVIEW等待内部时钟等于或超过输入毫秒数的倍数再执行VI。因为其定时时间是周期性的,在控制循环的间隔时间和同步时很有用。在第一

14、次循环中等待的时间也许要小于指定的毫秒数,这取决于开始时间。,26,3.5 定时及定时结构,3.5.2 Express定时函数包括时间延迟和已用时间函数。时间延迟函数:与等待(ms)函数功能基本相同,只是以秒为单位。已用时间函数:检查是否已经超过指定的定时时间。在配置该定时函数时,需要设置其定时时间。在调用VI时,如果已经超过指定的定时时间,布尔型输出“Time has Elapsed”并返回TRUE值,否则返回FLASE值。,27,3.5 定时及定时结构,3.5.3 定时结构编程结构定时结构,用于While循环(顺序结构)定时和同步的工具。在定时结构和VI可以控制其子框图的速率和优先级,同步

15、定时结构的启动时间,创建时钟源及层次时钟源。在定时循环和定时顺序结构框架上有许多节点,可以配置循环并获得其执行信息。在使用定时结构时,结构必须命名(字符串)。名称字符串传递到定时节点外部左侧节点的“名称”端子中。在使用定时结构的VI运行时,该名称就作为定时结构的一个引用。同样,时钟源和同步组也要命名(字符串),以便通过名称引用。,28,3.5 定时及定时结构,定时循环:定时循环在指定的时间内顺序的执行每次循环迭代中的一个或多个子框图、帧。在VI开发中使用到多速率定时功能、经确定时、循环执行反馈、动态定时特性和多级执行优先权时,可以使用定时循环。右侧单击结构边框,添加、删除、插入或合并帧。定时顺

16、序:由顺序执行的一个或多个任务子框图或帧组成。在VI中使用到多速率定时功能、精确定时、循环执行反馈、动态定时特性及多级执行优先权时,可以使用定时顺序结构。右键单击边框添加、删除、插入及合并帧。,29,3.5 定时及定时结构,练习:创建一个VI,计算循环指定次数所消耗的时间,指定次数是输入的随机数。1.创建前面板。2.放置顺序结构到程序框图,创建有3个独立帧的单层顺序结构。3.创建程序框图中函数和连线。返回时钟间隔值4.输入数字到Number to Match控件,执行VI并保存。,30,3.5 定时及定时结构,31,返回时钟间隔值,将随机数舍为最近的值,比较随机数和前面板指定值,相等返回TRU

17、E,否则返回FALSE,给循环次数加1来产生循环执行的值,3.5 定时及定时结构,第1帧,时间计数器(ms)函数返回时钟间隔的毫秒数,该值连接到了下一帧。第2帧,VI一直执行While循环,直到指定的数值等于随机函数返回的数值。第3帧,时间计数器(ms)函数返回一个新的毫秒时间数。VI把新的时间和旧的时间相减,就得到用掉的时间,然后除以1000把毫秒转换成秒。,32,第3章 使用结构控制程序执行,3.1 两种循环3.2 移位寄存器3.3 选择结构3.4 顺序结构3.5 定时及定时结构3.6 公示节点3.7 表达式节点3.8 循环与选择结构联合,33,3.6 公示节点,函数编程结构选项卡公式节点

18、是一个可调整大小的方框,用来直接在框图中输入代数公式,在计算较长的公式时非常有用。例如:考虑简单方程,尽管这是个简单公式,如果使用传统的LabVIEW数学函数来表示,其框图也要比文本公式复杂的多:用公式节点表示:,34,3.6 公示节点,LabVIEW数学函数组成的代码可以转换成公式,再将其放入公式节点,用以表达数学公式。在公式节点的方框中可以直接输入公式,不用创建复杂的框图。在公式节点的弹出菜单,选择“添加输入”或“添加输出”,可以添加输入/输出端子。变量名对大小写敏感,每个公式之间必须用分号隔开,可以在公式节点中使用运算符和函数。了解公式节点的详细信息,可以打开即时帮助,将光标放置到公式节

19、点上。还可单击详细帮助链接到LabVIEW帮助文件,找到公式节点。,35,3.6 公示节点,可以在公式节点中执行的条件分支语句。平方根计算:当x为正数时,计算其平方根,并把结果赋值到y;x为负数时,将y赋值为-99If(x=0)then y=sqrt(x)else y=-99 end if可以使用公式节点实现以上的代码段:,36,3.6 公示节点,练习:创建VI,使用公式节点计算方程,并绘制结果。1.创建前面板。控件选项卡新式图形波形图,命名为Waveform Graph2.创建框图。使用公式节点,直接输入数学公式,在公式节点边框上弹出菜单并选择“添加输入”和“添加输出”,添加输入/输出端子。

20、在创建输入/输出端子时必须输入变量名,变量名与公式中的变量相同。(变量名对大小写敏感),37,3.6 公示节点,3.常数 位于函数编程数值数学与科学常量。4.每次迭代,VI给迭代端子的值乘以,得到的乘积连线到公式节点,计算其正弦值。然后,VI将计算的结果存储在For循环边框的数组中。For循环执行完后,VI将数组绘制成图形。5.运行VI。6.保存VI。,38,第3章 使用结构控制程序执行,3.1 两种循环3.2 移位寄存器3.3 选择结构3.4 顺序结构3.5 定时及定时结构3.6 公示节点3.7 表达式节点3.8 循环与选择结构联合,39,3.7 表达式节点,函数编程数值子选项卡中有表达式节

21、点,它只是一个基本的简化公式节点,具有一个未命名的输入和一个未命名的输出。表达式节点只有一个输入/输出端子,只有一个表达式,因此不需要设置输入/输出端子和表达式结束时的分号。表达式节点可以使用任何有效的变量名作为输入变量,但是表达式节点中只能使用一个变量,而在公式节点中可以使用多个输入变量和多个输出变量。公式节点中的运算符和函数都适用于表达式节点。,40,第3章 使用结构控制程序执行,3.1 两种循环3.2 移位寄存器3.3 选择结构3.4 顺序结构3.5 定时及定时结构3.6 公示节点3.7 表达式节点3.8 循环与选择结构联合,41,3.8 循环与选择结构联合,3.8.1 主循环LabVI

22、EW几乎所有的应用程序都有及一个主循环,它会循环直到程序结束,受控于停止按钮、错误或者其他的退出条件。While循环示例,其中只有一个等待定时器(避免独占CPU)和一个停止按钮。在循环中加入一个Case结构,并连接到按钮Do work。在Case结构的TRUE分支中放置能够完成某些任务的函数或子VI。每次按下Do work按钮时,打开“Hello World”对话框。Do work配置为释放时触发,其值被读取后会弹起为Flse,这保证了每次按下按钮时,对话框只出现一次。,42,3.8 循环与选择结构联合,While循环+Case结构联合是创建LabVIEW应用程序的关键。,43,3.8 循环与

23、选择结构联合,3.8.2 在While循环中处理多个任务在While循环中添加Case结构,可以处理众多的任务。使用一个具有多个分支的Case结构:一个分支处理一个任务,可以减少框图中的控件,并提高处理任务的数量。首先创建按钮值的布尔型数组,并搜索值为True的元素索引值,即寻找哪个按钮被按下,然后连线到对应的Case结构分支选择器上。不必理解例中的数组操作。,44,3.8 循环与选择结构联合,Build Array函数(编程数组)把两个布尔变量转换成一个一维布尔型数组。Search ID Array函数(编程数组)找出哪个按钮被按下了-1:没有按钮被按下0:Say something被按下1

24、:Play a sound被按下,45,3.8 循环与选择结构联合,如果要扩展代码,只需要增加按钮,扩展Build Array节点(添加其他端子到底部),然后连线按钮到节点,最后添加分支来处理按钮。在Case结构的默认分支中放置了一个错误消息对话框,在放置了按钮后忘记添加分支来处理时,它会提醒。,46,上机练习题目:,1.启动LabVIEW,熟悉LabVIEW的工作环境;2.通过范例中的Temperature System Demo.vi熟悉LabVIEW的前面板和程序框图的创建;3.创建一个VI,对两个输入数进行加减乘除运算,并在前面板上显示其结果;4.创建子VI,计算3个数的平均值,并输出结果;5.创建VI,使用公式节点计算下列方程:,47,6.创建一个计算器VI,在前面板上用数值控件输入两个数值,数值指示器显示VI的运算结果(加、减、乘除)。使用滑动控件指定执行的运算。7.只能用一个While循环,创建For/While循环联合,在达到N(前面板控件指定)次后停止,或当用户按下停止按钮时停止。8.创建VI,读取前面板上开关的值,并弹出对话框说明开关是开还是关。,48,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号