当前位置:文档之家› LabVIEW_顺序结构

LabVIEW_顺序结构


五、局部变量和全局变量
局部变量和全局变量是 LabVIEW用来传递数据的工具。 LabVIEW 编程是一种数据流编程,它是通过连线来传 递数据的。但是如果一个程序太复杂的话,有时连线会很 困难甚至无法连接,这时就需要用变量进行数据传递。
另外,也会经常遇到这样一种情况,对程序中一个控件 对象,希望既能写入数据,又能读出数据,这在数据流编 程中是无法实现的,这也需要用局部变量或全局变量代替 该控件来实现。
数据流的概念源于电子表格的数据处理思路。例如,在电子表 格中你可以指定一个公式与某些单元格建立数据关联,当这些单 元格的所有数据都有效时,公式才会给出最终的计算结果。当任 一单元的数据发生变化时,将会按公式重新进行计算。
起必数着据数须流据牢机传记制递:更和L适图ab合形V图化IE形程W化序采编运用程行语的控言制数,的据在双流图重运形作行化用机编。制程而是语且依言数赖中据,数流它机 制据具有来并驱发动性的,。可这以是使初程学序者并要行执认行真,注大意大的提问高题运,行忽效略率这。个
四、顺序结构
LabVIEW_数据流运行机制
传统的编程语言,程序运行是基于程序编码的顺序,是指令驱 动的代码流。LabVIEW 的运行机制是基于数据流的。也就是说: 当程序中的可执行元素(节点)在收到所有必须的输入数据时才 开始执行。当该元素内的所有代码执行完成后,数据才流出该执 行元素并流向其他元素。
基本操作: ➢添加空白帧:右击相应边框,通过快捷菜单添加、插 入空白帧或合并帧。
②.层叠式:按上下顺序层叠排列
减量按钮: 向前翻页
选择器标签: 以序号的形式标 示各子框页的基 本信息。
增量按钮: 向后翻页
基本特性: ➢顺序可变性:层叠式结构各框图由各自的序号进行区别,按照 从小到大的顺序执行。顺序(号)可通过右击边框的【本帧设 置为】进行调整改变。 ➢传输特性:由于该结构各帧是向下层叠不可见的,因此各帧之 间的数据必须借助局部变量进行传输。
现黄色小方框,这就是顺序局部变量,用来在层叠顺序结构中各 帧之间传递数据。
放置时间计数器到顺序结构内记录程序运行时的初始时间,并 与顺序局部变量相连,此时黄色框内将会出现一个指向顺序结构 外部的箭头用以向外传递数据。时间计数器位于:函数→编程→ 定时→时间计数器。
⑷.选取第 1 帧,实现等于给定值的 匹配运算程序如图:
⑸.选取第 2 帧,同样放置一个时间计 数器用于返回当前时间,将它减去顺 序局部变量传递过来的第 0 帧初始时 间即可得到花费的时间,如图:
⑹.运行结果:
注意:Labview 编程的主要特点是数据流形式,这便于VI 大量的按照并行方式运行,优化了程序的计算性能。而 顺序结构却趋向于中断数据流编程,禁止程序的并行操 作,顺序结构还掩盖了部分代码,所以用户在编程时应 尽量不用或少用顺序结构。
1. 功能和作用
顺序结构将按照既定的顺序依次执行,它可以包含 多个代码子框图,这些子框图看起来就像是多帧电影 一样,所以把每个子框图称为一帧。
顺序结构分为平铺式和层叠式两种,二者表现形式 不同,但其基本功能则完全相同。
2.所在位置
函数→编程→右顺序依次排列
在实际应用中,经常用人为的 数据从依第从一个关系W来hil确e 循定环程结序构先中后的 执 行布的尔顺开序关,上连在了前一面根簇线的到章第节二个中, 我W们hi就le 提循到环过结构E的rr边or框簇上可,以可控以 制 程看序到执,行第的二个先后Wh顺ile序循,环但结并构不中是 每没一有个一控个件对象都需有要E这r个ro数r簇据的,只输入 和是输起出到端顺口序执,行这程时序还的有目另的一。种方 法能实现顺序执行的功能。如图
右击左边 框,向前插 入一帧
右击内边框, 可向后插入一 帧或合并帧
右击右边 框,向后添 加一帧
基本特性: ➢顺序不变性:平铺式结构各框架之间的顺序不能改变,但 可以先变换成层叠式再还原成平铺式进行改变。 ➢传输特性:由于该结构各帧都是平铺可见的,因此各帧之 间的数据可以直接传输,无须借助局部变量进行。
一种方法是:在程序框图中直接添加,如图: 如此创建的变量属于裸变量,必须在 右击图标的快捷菜单中,与前面板相 应控件进行关联方可有效。
另一种方法是:在右 击控件对象的快捷菜 单中执行 “创建— 局 部变量”,如图
局部变量的应用
该例的目的在于使用局部变量向它联系的前面板上的 电流控件写数据,也可以从电流控件读取数据。程序框 图如图所示:
基本操作: ➢添加空白帧:右击边框,可通过快捷菜单向前、向后添加帧。 ➢添加局部变量:右击边框,【添加顺序局部变量】,所添加的 变量为蓝色箭头标记 数据源、 传入端。
LabVIEW
应用举例:产生随机数直到等于给定数时显示所需时间与执行次数 采用平铺式顺序结构
通过数据通道传递数据
LabVIEW
采用层叠式:
⑴.新建 VI,在前面板上放置数值输入控 件“给定数据”和两个数值显示控件 “执行次数”,“所需时间”。
⑵.在程序框图上放置一个层叠式顺序结 构,在右击结构框图边框的快捷菜单中 执行两次“在后面添加帧”,创建 帧 1 和帧2。
⑶.选取第 0 帧,记录程序运行初始时间。 右击结构框图边框 — “添加顺序局部变量”,将在下边框出
问题将会给程序设计带来麻烦乃至灾难。
为什么要引入顺序结构?
数据流编程机制为用户带来了方便,但同时也在 某些方面存在不足。比如,程序框图中如果两个节 点同时满足执行条件,则会同时执行。但在实际问 题中往往需要二者按一定先后顺序执行的话,则数 据流编程将不能满足要求。为此 LabVIEW 引入了 顺序结构,强行规定程序的执行顺序。
局部变量主要用于本VI内不同位置之间的数据传递,而 全局变量主要是针对不同VI程序之间的数据通信。
1.局部变量
谈到局部变量,其实在介绍顺序结构时就已经接触过了,当时 是添加顺序局部变量来传递程序初始时间,以便计算程序所执行 的时间。目的是在不同选择分支中都能够对指示器进行赋值。
建立局部变量:建立局部变量的方法有两种。
相关主题