第4章LabVIEW中的程序结构

合集下载

LabVIEW虚拟仪器技术第4章-程序结构

LabVIEW虚拟仪器技术第4章-程序结构
第4章 程序结构
基本程序结构
在各编程语言中,基本的程序结构有三种: 顺序结构、条件结构和循环结构。
LabVIEW中,除了具有上述三种程序结构外, 还提供了用于事件处理的事件结构。
此外,还有局部变量,属性节点和调用节点 等功能,为增加程序编写的灵活性提供了保障。
文本语言接口
在LabVIEW的图形化编程环境中,利用上述 程序结构可以解决很多非常复杂的问题。
范例
条件结构的输出隧道。
条件结构的输出方式
条件结构的输出有两种方式:
1.在条件分支内部输出数据
2.通过数据输出隧道,在条件结构外部输出数据
在分支内部输出数据更符合常规编程语言的编 程方式,但是从LabVIEW数据流的观点来看,并 不是最佳选择。
程序求输入数值的平方根,计算之前先判断 输入是否大于等于0。判断为真,结果由显示控件 输出,判断结果为假时,条件为真的分支不执行。
点击右键,在快捷菜单中我们可以添加或删 除每一帧。我们也可以通过拖曳的方式来改变每 一帧的大小。
顺序结构在执行时,会按照帧的顺序,从左 到右,依次执行每一帧。每一帧都有一个帧序号, 最小的帧序号为0,然后是1、2、3依次递增。
平铺式顺序结构因为代码是平铺的,因此代 码更直观,可读性较高。但是它的缺点是占用空 间较大。
针对于此,可以通过调用快捷菜单中的“替 换为层叠式顺序”功能,将平铺式的顺序结构转 换成层叠式的,以使VI看起来更为紧凑。
4.1.2 层叠式顺序结构
从本质上看,层叠式顺序结构和平铺式顺序 结构的功能完全相同,且二者可以相互转换。
层叠式顺序结构的创建
层叠式顺序结构外形类似于条件结构。它包 括一个或多个顺序执行的子程序框图或帧。
在很多情况下,程序员会需要多段代码按照预 先设定的顺序执行,这就需要顺序结构来帮忙了。

最新第4章LabVIEW的循环与结构教学课件

最新第4章LabVIEW的循环与结构教学课件

4.1.4 移位寄存器在For循环内的应用
上次循环的 结果值
上一次的i
当前的i
当前循环的 结果值
图4-5 For循环移位寄存器示例
4.1.4 移位寄存器在For循环内的应用
图4-6 For循环中不添加移位寄存器的结果
4.1.3 自动索引在For循环内的应用
自动索引的功能是使循环框外面的数 组成员逐个进入循环框内,或使循环框内 的数据累加成一个数组输出到循环框外面。 循环内--》循环外, 元素--》数组,一维---》二维, 自动索引值,在完成循环后才一次性输出。
图4-9 条件端子变换后的While循环界面
4.2 While循环
与For循环是在执行前检查是否符合条 件不同,While循环是在执行后再检查条件 端子。因此,While循环至少执行一次。
图4-10 简单While循环示例
4.2 While循环
While循环示例1
While循环示例2
While循环示例3
在右键关联菜单中,只要选定了某一个事件产生源,其相应的所有事件均排列 在右侧events框中 。
4.5.1 事件结构的创建与简单示例
一个标准的事件结构由框架、超时端 子、事件数据节点、递增/减按钮、选择器 标签组成,如图4-21所示。和条件结构相 似,事件结构也可以由多层框架组成,但 与条件结构不同的是,事件结构虽然每次 只能运行一个框图,但可以同时响应几个 事件。
4.2 While循环
图4-8 While循环界面
最基本的While循环由循环框架、条件接线端 (输入端)和计数接线端(输出端)组成。
4.2 While循环
与For循环的计数接线端一样,While的计数接 线端也是输出循环已执行次数的数字输出端子。 While的条件接线端是一个布尔变量,需要输入一 个布尔值。

LabVIEW 完全自学手册

LabVIEW 完全自学手册

LabVIEW 完全自学手册加入书架
登录
•书名页
•版权信息
•前言
•第1部分入门篇
•第1章初识LabVIEW
•第2章 LabVIEW 基本操作
•第3章 LabVIEW 基本数据类型及其相互转换
•第4章 LabVIEW 程序结构
•第5章 LabVIEW 数据运算函数
•第6章 LabVIEW 控件及其使用方法
•第7章 LabVIEW 数据表达与显示
•第2部分提高篇
•第8章 LabVIEW 文件I/O
•第9章 LabVIEW 中的字符串操作
•第10章 LabVIEW 数学分析
•第11章 LabVIEW 信号处理
•第12章 LabVIEW 与其他软件通信
•第13章 LabVIEW 时间相关操作
•第14章 LabVIEW 应用程序控制
•第15章 LabVIEW 网络编程技术
•第16章 LabVIEW 总线技术与仪器控制
•第17章 LabVIEW 数据库的访问
•第18章 LabVIEW 程序发布
•第3部分应用篇
•第19章多通道温度检测记录系统
•第20章温湿度检测管理系统
•参考文献
是否关闭自动购买?
关闭后需要看完本书未购买的章节手动确认购买。

虚拟仪器LabVIEW 第4章 Case结构、Sequence结构和公式

虚拟仪器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讲 LabVIEW的基本程序结构

第4讲 LabVIEW的基本程序结构
层叠式顺序结构和平铺式顺序结构的功能相同,不同在于可读 性和占用面积的不同。
例子
第一帧与第三帧间如何传递数据?
图4-16 层叠式顺序结构界面
层叠式顺序结构中的数据要借助于顺序结构变量来传递。
(a)未赋值的局部变量 (b)连接数据 (c)赋值后的局部变量 (d)结果
图4-17 顺序局部变量的创建与使用
和移位寄存器一样,反馈节点也是用来实现数据在前后两 次循环中的传递。但与移位寄存器相比,使用反馈节点有时能 让程序更加简洁易懂。
循环中一旦连线构成反馈,就会自动出现反馈节点的符号。 反馈节点符号由两部分构成,分别为初始化端子和反馈节点箭 头。
4.1.5 反馈节点在Fo环框图外,默认为位于For循环框图内。
相比于层叠式顺序结构,平铺式顺序结构各帧之间同样可以传输数据, 而且平铺式顺序结构传递数据的方式与层叠式顺序结构相比较而言更加简单和 直观,只需直接在两帧间连线就可以自动创建一个循环隧道传输数据,如图420所示。
图4-20 平铺式顺序结构的数据传输
空 心 框
(a)不正确的连接—边框上的数据通道为中空状态
实 心 框
(b)正确的连接—边框上的数据通道为实心状态
图4-13 连接数据的输入与输出
4.3.6 选择函数
4.3.7 条件结构示例
图4-14 执行两个数相乘或相加运算的Case条件结构示例
图4-15 执行两个数相乘或相加运算的Case条件结构示例
当在条件接线端图标上单击鼠标右键选择“真(T)时继 续”,则图标变成如图4-9所示,此时表示当条件为真时循环继 续。当每一次循环结束时,条件端口检测通过数据连线输入的布 尔值和其使用状态决定是否继续执行循环。
图4-9 条件端子变换后的While循环界面

第四章 LabVIEW编程环境与基本操作

第四章 LabVIEW编程环境与基本操作
15
第四章 LabVIEW编程环境与基本操作
• 4.4 LabVIEW程序设计过程
(1)找出错误如果一个VI程序不能执行,运行按钮将会显示为一个折断的箭头。单击该按钮 , 则会弹出一个列有错误清单的对话框,选择任何一个所列出的错误,单击【Show Error】按钮就会显 示出错的对象或端口。 (2)设置执行程序高亮——在执行前单击高亮按钮 ,该按钮图标会变成高亮形式 。这种执行 方式一般用于单步模式,来跟踪程序框图中的数据流动。 (3)VI程序的单步执行——为了达到调试程序的目的,用户也许希望程序框图一个节点一个节点地 执行。要设置单步执行模式,只需单击单步按钮。这样下一个将要执行的节点就会闪烁,指示它将被 执行。用户也可以再次单击单步按钮,这样程序将会变成连续执行方式。
4
第四章 LabVIEW编程环境与基本操作
• 4.3 LabVIEW的编程环境
LabVIEW软件用“VI”作为图形化程序的简称,子程序即称为“子VI”,每个程序都包含类似 仪器调节控制用的“前面板(front panel)”和类似内部处理连接线路的“程序框图(block diagram)”两部分。当点击启动画面的“新建VI”菜单时,可以建立一个空白的程序,即VI。当 点击“打开”菜单时,可以浏览打开一个已有的VI。使用新建或打开菜单进入VI界面后,即可同 时打开两个窗口:“前面板”和“程序框图”。
图4-2前面板和控件选板 6
第四章 LabVIEW编程环境与基本操作
• 4.3 LabVIEW的编程环境
前面板窗口的工具栏包括用来控制VI的命令按钮和状态指示器,各功能介绍如下:
表4-1前面板工具栏功能说明
7
第四章 LabVIEW编程环境与基本操作
• 4.3 LabVIEW的编程环境

labview吴成东版第四章课后习题部分

labview吴成东版第四章课后习题部分

For循环自动索引实例移位寄存器反馈节点(禁索引)
Case条件结构不正确的连接—边框上数据通道为中空状态;相反,实心为正确连接。

层叠式顺序结构要借助于顺序结构变量来传数据;平铺式可以各帧间直接传递。

过滤事件和通知事件:编程事件对话框中的事件列表,左侧箭头红色为过滤;蓝色通知
改错节点框图程序(数组大小、两个索引数组、簇中捆绑、实心点禁用索引,空心启用索引极坐标显示在前面板控件选板下“新式—图像模板—控件”子选板中数据为一维数组DEL1D)。

【LabVIEW】程序结构

【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)隧道在条件结构⼀个分⽀的边框上创建输出隧道时,其他分⽀边框上也会出现输出隧道。

只要有⼀个输出隧道没有连线,则条件结构每个分⽀边框上的输出的隧道都显⽰为⽩⾊正⽅形。

隧道可使⽤数据类型的默认值,不是每个速调都必须连线。

在条件结构上右键单击输出隧道,从快捷菜单中选择未连接时使⽤默认,这样所有未连线的隧道都将使⽤隧道数据类型的默认值。

索引隧道,⼀个循环外的数组通过索引隧道连接到循环结构上,隧道在循环内⼀侧会⾃动取出数组的元素,依顺序每次循环取出⼀个元素。

⽤索引隧道传出数据,可以⾃动把循环内的数据组织成数组。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
循环结构——For循环
移位寄存器初始化
移位寄存器可以存储的 数据类型有:数值型、布尔 型、数组、字符串型等。
“显式初始化” “非初始化”
不同初始化方式运行结果
第4章 LabVIEW中的程序结构
2020/4/2
循环次数和循环计数端
口的数值范围为0~2^31-1 的长整型数,如果给N的赋值 为0,则程序一次也不执行。
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
实例——产生数据点数为1000的正弦波
在做算法仿真时,经常需要产 生指定点数的数据波形,最基本的 实现方法就是通过For循环+基本函 数的方式。
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
循环结构——For循环
For循环的自动索引
正常情况下For循环是要指 定循环次数程序才能正常执 行的,但如果我们不知道具 体的循环次数,那又该如何 运用For循环呢?
For循环的自动索引功能默认 情况下是自动开启的,在自动索引 开启的状态下,数据进入循环体时 是降维的。
序,则要用到顺序结构。
平铺式顺序结构
LabVIEW中的顺序结构包括: 平铺式顺序结构 层叠式顺序结构
第4章 LabVIEW中的程序结构
层叠式顺序结构
它们的功能是相同的, 只是图形形式不同,也即编 程时所占用的空间不同。
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
平铺式顺序结构的数据流向
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
循环结构——For循环
一个完整的For循环体它包含 两个端口:循环次数(输入端口) 和循环计数(输出端口)。
循环次数端口N用于指定框图 代码的执行次数,它是一个输入端 口,除非应用了自动索引功能,否 则用必须输入一个整型数,当连接 一个浮点数时,LabVIEW会自动 对它按“四舍五入”的原则进行强 制转换。
切换索引功能开启与关闭的 方法为:鼠标右击索引通道,选 择“禁用/启用索引”即可。
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
实例——自动索引功能使用
在LabVIEW中用框图的嵌 套来实现循环嵌套,一层一层 执行。
第4章 LabVIEW中的程序结构
数据流向
第4章 LabVIEW中的程序结构
执行效果
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
层叠式顺序结构的数据流向
数据流向 第4章 LabVIEW中的程序结构
执行结果
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
定时结构
定时循环 定时顺序 定时VI
函数→编程→结构
While循环的停止最常用的方法是用 一个“停止”控件,当然,也可以用其它 的条件判断来终止While循环的执行。
e 1 1 1 1 1 精确到 1 10 5为止
1! 2! 3!
n!
n!
使用While循环时,建议用户设定循环间隔,因为如果 没有循环间隔的话,While循环是“全速”运行的,这样会 占用过多的系统资源,尤其是对需要长时间执行的循环。
While循环也可以用移位寄存器, 索引通道,与For循环相同。
第4章 LabVIEW中的程序结构
当While循环开始执行后,外部 数据就无法传递到循环体内,所以循 环的控制条件一定要放置在循环体内, 否则会造成死循环。
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
实例——While循环基本应用
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
顺序结构
LabVIEW是图形化的编程语言, 程序的执行顺序是基本数据的流向的, 也即,数据的连接即指定了程序的执 行顺序,没有数据线连接的不同程序 块是并行执行的,所以一般情况下不 用顺序结构,但在某些特殊时候,如 果一定指定某几段程序执行的先后顺
精通LabVIEW虚拟仪器程序设计与案例实现
实例——前100个自然数求和
For循环的一个重要应用场合就是知道 具体的循环次数。
对于求和的运算,基本可以用For 循环+移位寄存器的结构实现,例如求
阶乘和、求前1000个素数和等等。
用For循环实现前100个自然数求和
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
循环结构——For循环
For循环的移位寄存器
如果程序后一次的运行 需要用到前一次的值,则可 以使用移位寄存器,它实际 上是For循环和While循环独 有的局部变量。
移位寄存器的使用要经过创 建和初始化两步。
移位寄存器的左右端口可以成对出 现,也可以“一对多”,在“一对多” 的情况中要特别注意的是,只能是右侧 的“一个端口”对应左侧的“多个端 口”,而不能反向。
精通LabVIEW虚拟仪器程序设计与案 例实现
第4章 LabVIEW中的程序结构
精通LabVIEW虚拟仪器程序设计与案例实现
LabVIEW中的程序结构
函数→编程→结构
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
本章内容
基本程序结构的使用 变量的使用 公式节点的使用 反馈节点的使用 条件与禁用结构的使用
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
循环结构——While循环
While循环重复执行循环体内的 代码,直到满足某种条件为止,它相 当于传统文本编程语言中的Do Loop 或Repeat-Until循环。
While包含两个端口:条件接线 端(输入端口)和循环计数端(输出 端口)。
平铺式顺序结构
第4章 LabVIEW中的程序结构
2020/4/2
精通LabVIEW虚拟仪器程序设计与案例实现
定时结构——定时循环
定时循环根据指定的循环周 期顺序执行一个或多个子程序 框图或帧。
一般在以下情况中可以使 用定时循环结构:
平铺式顺序结构
相关文档
最新文档