虚拟仪器设计第4章—条件结构顺序结构公式节点和事件结构.
虚拟仪器第4章

例如:下图中通道自动索引功能有效时,每一次 循环产生一个新的数据,存储在循环的边框通道 上,待循环结束以后,产生的6个数据将传送到一 个数组指示器中。自动索引功能无效时,只有最 后一次For循环产生的1个随机数传到循环外。
空心
实 心
4.移位寄存器 创建:右击边框,弹出一个菜单,选择Add Shift Register选项,可添加一个移位寄存器。 用途:主要用于While循环和For循环,将上一 次循环的值传给下一次循环。 数据类型: 数字型、布尔型、字符串等 。 初始化:在循环外将初始值连到移位寄存器的 左端口,有默认初值。 还可以存储前几次循环的值,在移位寄存器的 左端口或右端口上右击鼠标弹出菜单,选择 Add Element选项,可创建附加的左端口来存 储前几次循环的值。
值为-1,表示无 限等待 。
事件数 据端口
结构框
2.事件结构的使用 可有一个或多个子图形代码框,该图形代码框可以设置为响应多 个事件。 右击事件结构边框,从弹出的快捷菜单中选择Edit Events Handled by ThisCase…,这时将弹出编辑事件对话框。 显示当前建立的事件, 默认“Timeout’事件。
下面是用局部变量、移位寄存器和反馈节点实现 10次a++的框图程序。
4.3 While循环
While是条件循环结构,即为一种无限循环 结构,类似于C语言中的Do While结构。 For循环和While循环的区别:
For循环要执行预先指定的循环次数。
而While循环只有在条件端口接收到的值为
4.选择结构数据通道的设置 输入数据时,每个子Case框可连可不连数据通 道。 输出数据时,每个子Case框必须为通道连接数 据。否则程序不能运行,这时通道的图标是空 心的,只有为每个子Case框的数据端口都连接 数据后,图标才变成实心。 Use Default if Unwired可使程序中没有连线的 子Case框输出默认值。
LabVIEW虚拟仪器技术第4章-程序结构

基本程序结构
在各编程语言中,基本的程序结构有三种: 顺序结构、条件结构和循环结构。
LabVIEW中,除了具有上述三种程序结构外, 还提供了用于事件处理的事件结构。
此外,还有局部变量,属性节点和调用节点 等功能,为增加程序编写的灵活性提供了保障。
文本语言接口
在LabVIEW的图形化编程环境中,利用上述 程序结构可以解决很多非常复杂的问题。
范例
条件结构的输出隧道。
条件结构的输出方式
条件结构的输出有两种方式:
1.在条件分支内部输出数据
2.通过数据输出隧道,在条件结构外部输出数据
在分支内部输出数据更符合常规编程语言的编 程方式,但是从LabVIEW数据流的观点来看,并 不是最佳选择。
程序求输入数值的平方根,计算之前先判断 输入是否大于等于0。判断为真,结果由显示控件 输出,判断结果为假时,条件为真的分支不执行。
点击右键,在快捷菜单中我们可以添加或删 除每一帧。我们也可以通过拖曳的方式来改变每 一帧的大小。
顺序结构在执行时,会按照帧的顺序,从左 到右,依次执行每一帧。每一帧都有一个帧序号, 最小的帧序号为0,然后是1、2、3依次递增。
平铺式顺序结构因为代码是平铺的,因此代 码更直观,可读性较高。但是它的缺点是占用空 间较大。
针对于此,可以通过调用快捷菜单中的“替 换为层叠式顺序”功能,将平铺式的顺序结构转 换成层叠式的,以使VI看起来更为紧凑。
4.1.2 层叠式顺序结构
从本质上看,层叠式顺序结构和平铺式顺序 结构的功能完全相同,且二者可以相互转换。
层叠式顺序结构的创建
层叠式顺序结构外形类似于条件结构。它包 括一个或多个顺序执行的子程序框图或帧。
在很多情况下,程序员会需要多段代码按照预 先设定的顺序执行,这就需要顺序结构来帮忙了。
习题_LabVIEW虚拟仪器程序设计及应用(第2版)_[共2页]
![习题_LabVIEW虚拟仪器程序设计及应用(第2版)_[共2页]](https://img.taocdn.com/s3/m/dbb9d8bfa98271fe900ef98e.png)
77 过按名称解除捆绑函数将原来簇中的字符串数据解除出来,并作为输入数据连接至字符串函数,并将输入的字符串abcd 接在输入字符串的后面作为结果字符串输出,如图4-112所示。
【例4-4-2】 不同类型函数的综合应用示例二。
示例程序框图及运行结果如图4-113所示。
程序中的输入数据为一个簇数据,簇中的数据包括了数值数组、字符串数组、布尔控件。
在使用解除捆绑函数后,将簇中数值数组中的元素分别乘以图4-113所示的倍数输出至输出数组中,并使用数组最大值与最小值函数找出输出数组中元素的最大值与最小值,并输入至数值显示控件中。
使用索引数组函数,并设置索引端输入值为1。
因为字符串数组为一维数组,因此在索引数组的输入端不区别索引行与索引列。
当输入值为1时,索引出的字符串为一维字符串数组中的第1个元素,并使用字符串长度函数输出该字符串的长度;同时使用替换子字符串函数,设置偏移量为2,子字符串为test ,实现对索引出的字符串从第3位开始,替换为子字符串,并输出至字符串中,如图
4-113所示。
图4-113 不同类型函数的综合应用(2)
4-1 数值型数据可以分为哪些类型?它们的取值范围分别是多少?。
虚拟仪器LabVIEW 第4章 Case结构、Sequence结构和公式

4.1.4 Case结构应用举例(演示)
目的:求一个数的平方根,若该数 ≥ 0,计算该值平 方根并将计算结果输出;若该数 <0 时,则用弹出式 对话框报告错误,同时输出错误代码“-9999.00”。
4.2 顺序结构 4.2.1 顺序结构的创建与组成
图4.11单框架顺序结构
图4.12多框架顺序结构
有三个帧的顺序结构局部变量
源帧
顺序结构的输出通道仅能有一个数据源
数据源能被后续所有帧使用, 但在源帧前面的帧中不能使用
4.2.3 顺序结构应用举例
例4.2.1 :将一随机数发生器产生的数字与面板输入的给定数字进 行比较,计算当两个数匹配时所需要的时间。
4.3 公 式 节 点 (Formula
4.3.1 公式节点(Formula Node)的创建
选择 Case 结构
4.1.1
Case 结构的建立和组成
布尔型 Case 结构
数值型 Case 结构
字符串型 Case 结构
枚举型Case 结构
选择器的标识值的设定(演示)
1.单值: 2.数值列表: -1,0,5,10 (逗号分割) 3.数值范围的形式:10..20 (10~20) ..0(指所有≤0的数) 10.. (指所有≥10的数)
4.4 练 习 : 学 习 使 用 Case 结 构
目标:创建一个 VI 程序,连续以每 500 毫秒一次的速率测量
温度,如果温度高于或低于温度设定范围,告警灯点亮, 同时驱动蜂鸣器报警,工作状态栏显示“过量限”信息;若 检测温度在量程范围内,正常指示灯亮,同时工作状态栏 显示“正常”信息。按动 RUN 按钮,程序自动进入系统运 行状态,温度趋势图表逐点显示温度变化曲线,同时将上/ 下限设定值也显示在图表中。当点击运行控制开关时,程 序停止运行。 Temperature Limit.vi
第4章—条件结构、顺序结构、公式节点和事件结构

49
4.4.4. 事件结构边框上弹出的快捷菜单:
书:P123
50
4.4.5. “编辑事件”对话框:
具体介绍详
选择器标签
书:P114 图6-15 增量按钮
减量按钮
分支选择器
在该分支下执行的 框图程序
条件结构有一个或多个子框图。每个子框图都是一个执行分支, 每一个执行分支都有自己的选择器标签。执行条件结构时,与接入分 9 支选择器数据相匹配的标签对应的框图得到执行。
与C语言Switch语句相比,LabVIEW的选择结构更加灵活。 分支选择器端子的值可以为以下四种:布尔型、整型、字符串型 或者枚举型。
20
4.1.5
条件结构应用举例
目的:求一个数的平方根,若该数≥0,计算该值平方根 并将计算结果输出;若该数<0时,则用弹出式对话框报告 错误,同时输出错误代码“-999.99”。
应该如何写程序?
21
程序框图:
22
运行结果:
23
§4.2 顺序结构
在VI中,程序的运行是靠数据流来驱动的,利用数据流 机制可以实现很多顺序执行的功能。但是只有数据流控制的 顺序执行还不够,在某些复杂的情况下,需要更强的顺序执 行控制结构。引入了“顺序结构”的概念。
对于情况B:执行……
计算表达式值
……. 其他:执行……
...
语句1
语句2
语句n
语句n+1
表达式值= <常量表达式1> 时该开关合上,执行语句1
7
4.1.1 条件结构框图的创建:
创建:在函数选板编程结构中选择“条件结构”, 在程序框图上按住鼠标左键拖出条件结构框图,然 后将在该条件下执行的程序放入相应的条件结构框 图内。
虚拟仪器设计

虚拟仪器设计一:填空题(30分,30个空):1. 虚拟仪器的分类:按照构成虚拟仪器的接口总线不同,分为PCI总线接口虚拟仪器、串行总线虚拟仪器、并行接口虚拟仪器、USB总线接口虚拟仪器、GPIB 总线接口虚拟仪器、VXI总线接口虚拟仪器、PXI总线接口虚拟仪器和LXI总线接口虚拟仪器等。
2. 虚拟仪器设计步骤和过程:①确定虚拟仪器的类型②选择合适的虚拟仪器软件开发平台③开发虚拟仪器应用软件④系统调试⑤编写系统开发文档3. 数据采集系统通常由传感器、信号调理设备、数据采集设备、计算机等组成。
4. A/D转换器的主要参数:①分辨率②量化误差③精度④转换时间5. 模拟输入通道的组成:多路开关、放大器、采样/保持电路以及A/D转换器6. 多通道的采样方式:循环采样、同步采样和间隔采样。
7. 总线的性能指标:①总线宽度②寻址能力③总线频率④数据传输速率⑤总线的定时协议⑥热插拔⑦即插即用⑧负载能力8. GPIB总线的每个设备按三种基本工作方式进行:“听者”功能、“讲者”功能、“控者”功能9. USB特点:①支持多设备连接,减少了PC的I /O接口数量②能够采用总线供电③第一次真正实现了即插即用,外部设备的安装变得十分简单④对一般外部设备有足够的带宽和连接距离⑤传输方式灵活,可以适应不同设备的需要10. OSI体系结构:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层11. TCP\IP体系结构:应用层、传输层、网络互连层、网络接口层。
12.网络化虚拟仪器系统的组网模式:客户机/服务器(C/S)、浏览器/服务器(B/S)、客户机/服务器/浏览器(C/E/S)。
13.程序结构:①for循环组成:循环框架、重复端口、计数端口等②while循环组成:循环框架、重复端口及条件端口③选择结构:选择框架、选择端口、框图标识符及“递增/递减”按钮④顺序结构:单框架顺序结构和多框架顺序结构。
最基本的由顺序框架、框图标识符、“递增/递减”按钮组成⑤事件结构⑥公式节点14, 数组,簇,字符串,波形二、名词概念解释(30分,10个,一个三分):1.虚拟仪器:多种形式输是利用计算机显示器模拟传统仪器控制面板,以出检测结果,利用计算机软件实现信号数据的运算、分析和处理,利用I/O接口设备完成信号的采集、测量与调理,从而完成各种测试功能的一种计算机仪器系统。
虚拟仪器技术_3结构程序设计

For循环伪代码形式: For i=0 to N-1 执行循环体 End
计数端子:要执行循环 的次数
重复端子:已执行循环 的次数
操作:Functions->All Functions->For Loop 5
循环结构—For循环
该循环有如下特点: 计数从0开始(i=0)。 循环次数是在循环开始执行之前已经确定的 先判断次数,再执行循环。
While循环,直到循环结束才将数据传递到 输出隧道。
8
循环结构的自动索引
索引隧道:使循环框外面的数据成员逐个进 入循环框,或者使循环框内的数据累计成为 一个数组后再输出到循环框外,是 LabVIEW 的一种独特功能。 一维数组数据进入循环时,被索引成单个 元素; 二维数组数据进入循环时,被索引 成一维数组; 循环体内的数据输出到循环体外时,单个 元素被累积,成为一维数组;一维数组累 积成为二维数组。
或者“Make This The Default Case” 17
分支结构
Case结构快捷菜单 Add Case After Add Case Before Duplicate Case Remove Empty Cases Show Case Swap Diagram
18
分支结构
分支结构的数据的输入和输出是通过隧道来 实现的 向分支结构的一个分支提供数据时,这个 数据对于所有的分支都是有效的,也就是 其他分支都可以使用这个输入数据。 输出隧道必须从每一个case中得到明确的 输入值,否则程序无法运行。也可以为没 有连接的分支定义一个默认输出值。
操作:Functions->Exec Ctrl->While Loop
3
循环结构—While循环
【LabVIEW】程序结构

【LabVIEW】程序结构(包括:while循环、For循环、事件结构、条件结构、公式节点)1、while循环LabVIEW 在执⾏While循环时,如果⽤户没有给它设定循环时间间隔,那么它将以CPU的极限速度运⾏。
按下Ctrl+Alt+Delete 快捷键打幵任务管理器,可以看到它⼏乎将CPU全部利⽤,正常情况这样做⽐较危险,因为这样可能会导致整个LabVIEW 程序看上去跟“死掉” ⼀样。
在很多情况下我们没有必要让 While 循环以最⼤的速度运⾏,所以最好给 While 循环加上时间间隔。
有两种⽅法:⼀种是在每个循环中添加⼀个等待时间,只有在等待完毕后才运⾏下⼀个循环。
另⼀种⽅法是使⽤定时循环(Timed Loop)。
2、事件结构Labview 提供了事件结构,即仅当 “事件” 发⽣时,程序才作相应的响应。
通过事件结构,程序可以变得很简单,并降低CPU利⽤率。
当多个事件发⽣时会形成事件队列,直到每个事件对应的代码都被执⾏为⽌,因此不会有事件被漏掉的情况。
注意:事件结构必须放在 While 循环中,否则没有意义,因为当⼀个事件完成后,程序需要去等下⼀个事件的发⽣。
在跟⽤户进⾏交互的时候,尽量使⽤事件结构。
3、条件结构(1)当条件结构有多个分⽀时,必须设置默认分⽀,否则程序⽆法执⾏。
(是条件结构不是层叠顺序时)(2)隧道在条件结构⼀个分⽀的边框上创建输出隧道时,其他分⽀边框上也会出现输出隧道。
只要有⼀个输出隧道没有连线,则条件结构每个分⽀边框上的输出的隧道都显⽰为⽩⾊正⽅形。
隧道可使⽤数据类型的默认值,不是每个速调都必须连线。
在条件结构上右键单击输出隧道,从快捷菜单中选择未连接时使⽤默认,这样所有未连线的隧道都将使⽤隧道数据类型的默认值。
索引隧道,⼀个循环外的数组通过索引隧道连接到循环结构上,隧道在循环内⼀侧会⾃动取出数组的元素,依顺序每次循环取出⼀个元素。
⽤索引隧道传出数据,可以⾃动把循环内的数据组织成数组。
精品文档-虚拟仪器应用设计(陈栋)-第4章

10
第4章 越限报警的程序设计
说明: (1) 条件结构必须设置处理超出范围值的默认分支。 设置默认分支的方法:在需要显示默认的子程序框图边框 上右击,在弹出快捷菜单中选择【本分支设置为默认分支】, 将当前分支设置为默认分支;或选择一个需设为默认的分支, 用标签工具单击选择器标签并输入默认,注意不要在默认外添 加引号,如添加引号则表明输入值是一个字符串而不是默认分 支。
图4.14 在顺序结构添加帧
32
第4章 越限报警的程序设计
顺序结构说明如下: (1) 当平铺式顺序结构的每一个帧都连接了可用的数据时, 结构的帧按照从左至右的顺序执行。每帧执行完毕后会将数据 传递至下一帧。 (2) 层叠式顺序结构将所有的帧依次层叠,因此每次只能 看到其中的一帧,并且按照帧0、帧1、直至最后一帧的顺序执 行。层叠式顺序结构仅在最后一帧执行结束后返回数据。
33
第4章 越限报警的程序设计
(3)
:层叠式顺序结构顶部的顺序选择标
识符,显示当前帧号和帧号范围。0..2表示顺序结构的帧的范
围是0~2。层叠式顺序结构的帧标签类似于条件结构的条件选
择器标签。帧标签包括中间的帧号码以及两边的递减和递增箭
头。单击递减和递增箭头可以循环浏览已有帧。单击帧号旁边
的向下箭头,从下拉菜单中选择某一帧。与条件选择器标签不
2.输入和输出隧道 可为条件结构创建多个输入和输出隧道。所有输入都可供 条件分支选用,但条件分支不需使用每个输入。但是,必须为 每个条件分支定义各自的输出隧道。在某一个条件分支中创建 一个输出隧道时,所有其它条件分支边框的同一位置上也会出 现类似隧道。只要有一个输出隧道没有连线,该结构上的所有 输出隧道都显示为白色正方形,如图4.4所示。正确的连接如图 4.5所示。每个条件分支的同一输出隧道可以定义不同的数据源, 但各个条件必须兼容这些数据类型。右击输出隧道并从快捷菜 单中选择【未连线时使用默认】,所有未连线的隧道将使用隧 道数据类型的默认值。
labview第四讲 程序结构

优点: 把每个帧平铺开来比较直观,方便代 码阅读,不需借助局部变量这种机制在 帧之间传递数据。 缺点:浪费空间。
例:求循环时间
四、公式节点
通过公式节点,用户可以实现复杂的数学
公式,还可以通过文本编程写一些基本的
逻辑语句,如if…else、case、while循环
之类的语句,弥补了图形化开发语言相对
(三)全局变量 与传统编程语言中的全局变量类似, 可以在不同的VI之间进行数据传递。 1、创建 2、属性:读和写 3、使用(举例)
4、特点 (1)以独立文件的形式存在 (2)一个全局变量中可以包含多个对 象,拥有多种数据库类型 (3)与子VI不同,不能进行编程,只 能用于简单的数据存储。 (4)速度快 (5)其中的数据可以分别访问
Local variaval
3、本地变量的属性: 读(Read)和写(Write) 4、使用 前面板对象的本地变量相当于其端口 的一个拷贝,它的值与该端口同步。
举例: 例1、用一个布尔开关同时控制两个循环
例2、给一个控制赋值,从一个指示中读 出数据。
例3、在顺序结构中的使用:创建一个 VI, 计算生成等于某个给定值的随机数所需 要的时间。
例1:用While循环
创建一个可以产生 并在图表中显示随 机数的VI。 前面板 有一个控制旋钮可 在0到10秒之间调 节循环时间,还有 一个开关可以中止 VI的运行。学习怎 样改变开关的动作 属性,以便不用每 次运行VI时都要打 开开关。
随机信号 1.0 0.8 0.6 0.0 0.4 0.2 0.0 0 1023 10.0 2.0 循环延时 4.0 6.0 8.0
(二)本地(局部)变量 相当于传统编程语言中的局部变量,可以 在同一个程序内使用。 1、引入理由: (1)每个控制或指示的数据端口只有一 个; (2)需要在同一个VI的不同位置多次为 指示赋值;或多次从控制中取出数据;或者 为控制赋值,从指示中取出数据。
LabVIEW编程及虚拟仪器设计(第三讲)

这里,对应前页 中的上例(2页、3行、 4列)。点击该函数 图标的右端,可直接 生成数组显示器。
一、数组(7)
4. 数组操作函数
(2)索引数据 路径:“函数”选板->“编程”->“数组”子选板
使用该函数,可获得对该数组中感兴趣部分的数据。 这里只
显示了输入数组的第0页;获得(显示)了其第0页第1行。
板 二、簇(9 )
“函数”选板 -> “编程” -> “簇与变体”子选
3.簇的操作函数
(5)簇与数组的相互转换 功能:把所有簇元素按 顺序组合成一维数组经 “数组”端子输出。 显然, 它要求簇的所有元素的类 型要相同。
把“数组”端子输入 的数组中的元素,按顺序 捆绑成簇,并经“簇”端 子输出。
练习1:建立一个VI,产生一个包含20个随机数的
《LabVIEW编程及虚拟 仪器设计》
第三讲:数组、簇及其操作函数
上节课内容回顾(1)
一、循环结构 二、条件结构 三、顺序结构 四、公式节点 五、事件结构
•While循环 •For循环 •循环结构内外的数据交换 •自动索引 •移位寄存器
注意: ( 1 ) While循环是先执行、后判断;
而 For 循环的循环次数则是事先定,且具体 操作为先判断、后执行(0就不执行)。 (2)循环前读入一次,循环完才输出。
一、数组(10)
4. 数组操作函数
(5)创建数组 路径:“函数”选板 -> “编程” -> “数组”子选
板
拖曳下边框可增
加输入端子。
功能:将若干个输入数组即“数组”与“元素”组合成一个 数组。该函数图标上弹出的快捷菜单中有“连接输入”选项 ,当 它被选中时,该函数输出端会提供将所有输入连接在一起的结果, 此输出数组的维数,与所有输入中的最高维数相同;该选项被关 闭,所有输入的维数必须相同,该函数输出的数组比输入(数组) 高一维;若所有输入均为标量, “连接输入”选项被自动关闭, 函数输出一维数组,按顺序输出所有输入的参数(作为它的元
虚拟仪器技术_3 (结构程序设计)

会再开始执行下一个子框图。
28
Functions->All Functions->Structures
第0帧 第 1帧
堆叠的 顺序结 构
选择器标签
平铺的 顺序结 构 放置帧代码 放置帧代码
放置帧代码
29
顺序结构的隧道说明
输入隧道得到输入值保持不变,每个帧都 可以读取。
选择器端子
22
分支结构
选择器端子
选择器端子的输入值是由与它相连的输
入控件对象决定的。
数据类型可以是布尔量、整形、字符串
型或者枚举型。
当选择器端子的值与选择器标签值没有
一个匹配时,就执行默认分支。 注意:必须指定默认分支! 操作:标签处右键选择“Remove Default” 或者“Make This The Default Case”
19
循环结构—移位寄存器
一个循环可以建立多个移位寄存器。 一个移位寄存器可以有多个左端子,但只能有一 个右端子。
边框右键“Add Shift Register”
右键“Add Element”
20
循环结构—反馈端子
反馈节点:与移位寄存器的功能完全相同。 数据在本次循环结束前从反馈节点的箭尾 端进入,在下一次循环开始后从箭头流出。
右键“Add Output”
右键“Add Input”
注意:公式使用的操作符。
35
应用实例
模拟温度采集监测系统 要求: 1. 用随机数模拟温度数据(20-40摄氏度) 2.采集开始用开关控制,每次采集10个数据, 并实时显示(温度计和数值控件),显示 采集进度,采样间隔可调 3. 开关控制是否转换为华氏温度显示 4. 可设温度上限,超限时报警(LED灯亮)
虚拟仪器-第4章 LabVIEW的程序结构

数据隧道
条件结构内部与外部之间的数据也是通过隧道来交换传递的。 向条件结构边框内输入数据时,各个子程序框图连接或不连接这个数 据的隧道都可以。从条件结构边框向外输出数据时,各个子程序框图都必 须为这个隧道连接数据,否则隧道图标是空的,程序也不能运行。 如果允许没有连线的子程序框图输出默认值,可以在数据隧道上右击, 在弹出的快捷菜单中选择“未连线时使用默认”命令,在这种情况下,程 序执行到没有为输出隧道连线的子程序框图时,就输出相应数据类型的默 认值。
【实训练习】
用条件结构来实现两个数的加、减、乘、除四则运算,要 求用组合框作为条件结构的选择器。
4.3 顺序结构
LabVIEW作为一种图形化的编程语言,有其独特的程序执行顺序——数据 流执行方式,数据流经节点的动作决定了程序框图上VI和函数的执行顺序。 但在实际中希望节点按一定的次序执行,这就需要引入顺序结构执行。 LabVIEW顺序结构的功能是强制程序按一定的顺序执行。
种变量的操作方法
第4章 LabVIEW的程序结构
程序结构对任何一种计算机编程语言来说都是十分重要的,它控制整 个程序语言的执行过程,一个好的程序结构,可以大大提高程序的执行效率。 LabVIEW作为一种图形化的高级程序开发语言,执行的是数据流驱动机制, 在程序结构方面除支持循环、顺序、条件等通用编程语言支持的结构外,还 包含一些特殊的程序结构,如事件结构、使能结构、公式节点等等。
条件接线端是一个布尔变量,接入布尔 值用于控制循环执行。条件接线端有两种 使用状态。
循环框架 为真时停止
计数接线端 条件接线端
为真时继续
与For循环是在执行前检查是否符合条件不同,While循环是在执行后再检查条 件端子,因此,在While循环的执行流程中,循环框架中的代码至少执行一次。
虚拟仪器设计基础

包含两个端口: 总数接线端N 计数接线端i
移位寄存器
在LabVIEW的循环结构中创建移位寄存器的方法是在循环 框图的左边或右边单击鼠标右键,在弹出的快捷菜单中选择 【添加移位寄存器】,可创建一个移位寄存器
移位积存器的功能是将第i-1, i-2, i-3…次循环的计算结果保 存在For循环的缓冲区内,并在第i次循环时将这些数据从循 环况架左侧的移位寄存器中送出,供循环框架内的节点使用, 其中,i=0,1,2,3… 。
部门5
包负责人也许还可以查
阅业主已经作出的但尚
未推行(详细安排)的信
息,则形成了如图18-l
所示的信息流通。
部门3
部门4
图18-1
(一)现代信息技术对现代项目管的促进作用 1.现代信息技术加决了项目管理系统中的信息 反馈速度和系统的反应速度,人们能够及时查 询工程的进展情况的信息,进而能及时地发现 问题,及时作出决策。 2.信息的可靠性、项目的透明度增加,人们能够了解企业 和项目的全貌。 3.总目标容易贯彻,项目经理和上层领导容易发现问题。 4. 信息的可靠性增加。 5.比较传统的信息处理和传输方法,现代信息技术有更大 的信息容量。 6.使项目风险管理的能力和水平大为提高。 7.现代信息技术使人们更科学,更方便地进行如下类型的 项目的管理 。
单项工程、整个项目报告; 专门的内容的报告,如质量报告、成本报告、工期报告
; 特殊情况的报告,如风险分析报告、总结报告、特别
事件报告等; 状态报告,比较报告等。
return
二、报告的作用
1.作为决策的依据。 2.用来评价项目,评价过去的工作以及阶段成果。 3.总结经验,分析项目中的问题。 4.通过报告去激励各参加者,让大家了解项目成就。 5.提出问题,解决问题,安排后期的计划。 6.预测将来情况,提供预警信息。 7.作为证据和工程资料。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
✓ 在VI中,结构控制数据流执行。 ✓ While循环结构控制程序反复执行框内程序,直到满足其结束循
环的条件。 ✓ For循环控制框内程序段执行指定的次数, 循环次数由连接到计
数端口的值确定。 ✓ 在循环边框可建立多个移位寄存器,使用移位寄存器可在循环体
的循环之间传递数据。For循环和While循环都可以使用移位寄 存器。 ✓ 波形图表可以实时显示数据变化趋势,具有三种不同显示模式。 ✓ 在波形图表或它的各个组成部分上弹出菜单, 可修改图表显示的 属性和参数。 ✓ 控制循环时间最常用、最简单的方法。
11
分支选择器端子的值的类型决定了选择器标签的 值的类型。 当分支选择器端子的值为布尔型时,选择器标签的 值为“真”或“假”。 当分支选择器端子的值为整型时,选择标签的值为 整数0,1,2……选择框架的个数可根据实际需要确定。 当分支选择器端子的值为字符串型或者枚举型时, 选择器标签的值为由双引号括起来的字符串。
6
计算表达式值
...
对于情况A:执行…… 对于情况B:执行…… ……. 其他:执行……
语句1 语句2
语句n 语句n+1
表达式值= <常量表达式1>
时该开关合上,执行语句1
7Hale Waihona Puke 4.1.1 条件结构框图的创建:
创建:在函数选板编程结构中选择“条件结构”, 在程序框图上按住鼠标左键拖出条件结构框图,然 后将在该条件下执行的程序放入相应的条件结构框 图内。
1
什么是结构?
结构用于控制 G程序的数据流向。 G语言常用5种结构如下: ✓ While循环结构 ✓ For循环结构 ✓ Case(条件)结构 ✓ Sequence(顺序)结构
对数据流的执行顺序作出强制规定
✓ 事件结构
用以对用户操作作出响应和处理
2
12/32学时
第4章 条件结构、顺序结构、 公式节点和事件结构
布尔型选择结构
整型选择结构
10
字符串型选择结构
枚举型选择结构
LabVIEW中的枚举类型:
与C语言中的枚举类型定义相同,可以认为是一种受到 约束或限制的字符串类型。它提供了一个选项列表,其中每 一项都包含了一个字符串标识和数字标识,数字标识与每一 选项在列表中的顺序一一对应。
枚举控件的值:0——(n-1)的正整数
8
4.1.2 条件结构的组成:
选择器标签
减量按钮
书:P114 图6-15 增量按钮
分支选择器
在该分支下执行的 框图程序
条件结构有一个或多个子框图。每个子框图都是一个执行分支,
每一个执行分支都有自己的选择器标签。执行条件结构时,与接入分
支选择器数据相匹配的标签对应的框图得到执行。
9
与C语言Switch语句相比,LabVIEW的选择结构更加灵活。 分支选择器端子的值可以为以下四种:布尔型、整型、字符串型 或者枚举型。
道连接。
当输出通道连接不正确时,为空心方框。连接正确时,为实心
方框。
20
4.1.5 条件结构应用举例
目的:求一个数的平方根,若该数≥0,计算该值平方根 并将计算结果输出;若该数<0时,则用弹出式对话框报告 错误,同时输出错误代码“-999.99”。
应该如何写程序?
21
程序框图:
22
运行结果:
23
13
选择器标签可以按照 列表 和 范围 指定。
书:P115 图6-16
列表:项目之间用英 文逗号(,)隔开。
范围:用两个英文句 号(..)表示。
..-1:≤-1
7.. :≥7
6,默认:当分支选择器端子的值为6以及其他未明确指出的数 字(此处为0,2,5)
1,3,4:当分支选择器端子的值为1或3或4时
14
课堂小练习: 选择器的标识值的设定: ❀ <10 ❀ 10——20 ❀ >20
15
课堂小练习答案: 选择器的标识值的设定: ❀ <10 ❀ 10——20 ❀ >20
..9 10..20 21..
16
4.1.3 条件结构边框上弹出的快捷菜单。(书:P115)
17
快捷菜单:重排分支
重排之前
对分支列表自动排序
原来的顺序做出相应的移动。例子见书:P116图6-18
19
4.1.4 数据的输入和输出通道
当由外部节点向结构框架连线时,在结构边框就创建了 输入通道,而当由框内节点与边框连线时,在结构边框 就建立了输出通道。
输出通道不正确连接
对所有Case分支来说对于输入通道的数据可以使用,也可以不
使用。
只要有一个分支提供输出数据,所有分支Case都必须与输出通
switch(表达式) { case 常量表达式1 : 语句组1 ; case 常量表达式2 : 语句组2 ; … case 常量表达式n : 语句组n ; default : 语句组n+1 ; }
5
break语句必不可少!
switch(表达式) { case 常量表达式1 : 语句组1 ; [break]; case 常量表达式2 : 语句组2 ; [break]; … case 常量表达式n : 语句组n ; [break]; default : 语句组n+1 ; }
重排之后
18
快捷菜单:将子框图程序交换至分支 AB C D
注意二者之区别
DB C A 将当前分支内容与目标分支内容对换,其他分支内容不受影响。 快捷菜单:将子框图程序移位至分支 (书本上的版本为:“将程序框图转换为分支”)P115
AB C D
BCDA
将当前分支内容移动到目标分支内容之后,其他分支内容按照
12
注意:
➢ 在使用条件结构时,分支选择器端子的数据类型 必须与选择器标签中的数据类型相一致,否则程 序会报错,无法运行。
➢ 在 LabVIEW中,对于分支为整型的条件结构必 须包含处理超出范围值的默认分支(选择器标签 中必须包含“默认”项);对于其它类型的条件 结构可设可不设,但必须明确地列出每一个可能 的输入值。
授课内容包括书本P114-126: 6.2、条件结构 6.3、顺序结构 6.4、公式节点 6.5、事件结构
3
本次课的学习目标
1.学习条件结构、顺序结构、事件结构 和公式节点的基本概念。
2. 学习如何使用这三种结构和公式节点。
4
§4.1 条件结构(也叫Case结构)
“条件结构”是一种多分支程序控制结构, 类似于 C 语言的 switch 多分支选择结构。
§4.2 顺序结构