虚拟仪器程序结构学习
LabVIEW虚拟仪器技术第4章-程序结构
基本程序结构
在各编程语言中,基本的程序结构有三种: 顺序结构、条件结构和循环结构。
LabVIEW中,除了具有上述三种程序结构外, 还提供了用于事件处理的事件结构。
此外,还有局部变量,属性节点和调用节点 等功能,为增加程序编写的灵活性提供了保障。
文本语言接口
在LabVIEW的图形化编程环境中,利用上述 程序结构可以解决很多非常复杂的问题。
范例
条件结构的输出隧道。
条件结构的输出方式
条件结构的输出有两种方式:
1.在条件分支内部输出数据
2.通过数据输出隧道,在条件结构外部输出数据
在分支内部输出数据更符合常规编程语言的编 程方式,但是从LabVIEW数据流的观点来看,并 不是最佳选择。
程序求输入数值的平方根,计算之前先判断 输入是否大于等于0。判断为真,结果由显示控件 输出,判断结果为假时,条件为真的分支不执行。
点击右键,在快捷菜单中我们可以添加或删 除每一帧。我们也可以通过拖曳的方式来改变每 一帧的大小。
顺序结构在执行时,会按照帧的顺序,从左 到右,依次执行每一帧。每一帧都有一个帧序号, 最小的帧序号为0,然后是1、2、3依次递增。
平铺式顺序结构因为代码是平铺的,因此代 码更直观,可读性较高。但是它的缺点是占用空 间较大。
针对于此,可以通过调用快捷菜单中的“替 换为层叠式顺序”功能,将平铺式的顺序结构转 换成层叠式的,以使VI看起来更为紧凑。
4.1.2 层叠式顺序结构
从本质上看,层叠式顺序结构和平铺式顺序 结构的功能完全相同,且二者可以相互转换。
层叠式顺序结构的创建
层叠式顺序结构外形类似于条件结构。它包 括一个或多个顺序执行的子程序框图或帧。
在很多情况下,程序员会需要多段代码按照预 先设定的顺序执行,这就需要顺序结构来帮忙了。
(完整版)虚拟仪器的系统结构PPT文档
01 常用虚拟仪器板卡
信号调理(信号幅度、频率、驱动、隔离等);
信号调理(信号幅度、频率、驱动、隔离等);
NI 提出“软件即仪器” 硬件是基础,软件是核心
韩 君 张胜宇
团队:晏 凯 肖迎春
计算机+接口+软件=虚拟仪器
为简化硬件板卡编程和控制,NI和Agilent标准化了数D百A种Q常C用仪ar器d、板卡的驱动,它们已成为虚拟仪器开发平台的一部分M,o开ti发on时可C直o接nt复ro用l这C些a硬rd件驱动代码。
用户界面
软件驱动
02 应用软件
LabView
Agilent VEE
DASYLab
DirectView
ProcessControl
02 示例
THANK YOU FOR WATCHING
感谢观看
Serial
应用软件 仪器驱动程序 I/O 接口软件(VISA 库)
VXI
GPIB 等
02 I/O接口软件(VISA库)
I/O接口软件存在于仪器设备(即I/O接口设备)与仪器驱动程序之间,是一个完 成对仪器寄存器进行直接存取数据操作,并为仪器设备与仪器驱动程序提供信息 传递的底层软件。
VPP规范了虚拟仪器的I/O接口软件的特点、组成、内部结构与实现规范,并将符 合VPP规范的虚拟仪器I/O接口软件定义为VISA(虚拟仪器软件结构)软件。
计算机
韩 君 张胜宇
信号调理(信号幅度、频率、驱动、隔离等);
PXI 系统
I/O接口软件存在于仪器设备(即I/O接口设备)与仪器驱动程序之间,是一个完成对仪器寄存器进行直接存取数据操作,并为仪器设备与仪器驱动程序提供信息传递的底层软件。
串口系统
01 通用硬件平台的基本功能
LabVIEW虚拟仪器设计教程第5章 程序结构
Result=(A+B)/C的控制流编程和数据流编程的流程图
Result=(A+B)/C的LabVIEW实现
由于LabVIEW是图形化编程语言,它的代码以图形形式表现,因此各种 结构的实现也是图形化的。每种结构都含有一个可调整大小的清晰边框,用 于包围根据结构规则执行的程序框图部分。结构边框中的程序框图部分被称 为子程序框图,从结构外接收数据和将数据输出结构的接线端称为隧道,隧 道是结构边框上的连接点。
5.1 顺序结构
第5章 程序结构
5.1 5.2 5.3 顺序结构 循环结构 条件结构
5.4
5.5 5.6
事件结构
禁用结构 公式节点
程 序 结 构 简 介
程序结构对任何一种计算机编程语言来说都是十分重要的,它控制整个 程序语言的执行过程,一个好的程序结构,可以大大提高程序的执行效率。 LabVIEW作为一种图形化的高级程序开发语言,执行的是数据流驱动机制, 在程序结构方面除支持循环、顺序、条件等通用编程语言支持的结构外,还 包含一些特殊的程序结构,如事件结构、使能结构、公式节点等等。
1.层叠式顺序结构
递增/递 减按钮 选择器标签 当前帧
单帧结构
多帧结构
(a)层叠式顺序结构
2.平铺式顺序结构
单帧结构
(a)层叠式顺序结构
多帧结构
(b)平铺式顺序结构
层叠式顺序结构的优点是节省程序框图窗口空间,但用户在某一时刻只能看到 一帧代码,这会给程序代码的阅读和理解带来一定的难度。
虚拟仪器第3章-构建程序框图要点
些部分能划分为一个逻辑上的单元,就创建一个子VI。 整齐清晰的排列连线,以免造成读程序的困难。 按住<Ctrl>键用选择工具在程序框图中划出一块面积,
可以解决部分程序框图过于拥挤的问题。 为了节省程序框图空间,不必为函数和子VI显示标签,
包括算术运算符、数值类型转换函数、三角函数、对数函数、 数值 复数函数、数值常数、数据操作函数、与信号调理有关的量值
转换VI等。
文件I/O
包括对各种格式文件读写的函数和VI,对文件及路径进行操作 的各种函数和VI。
布尔 包括逻辑运算符、布尔型常数、布尔量与数值的转换函数等。
3-2 函数选板
图标
名称 字符串
第3章 构建程序框图
程序框图里的对象 函数选板 基本数据类型 程序的层次结构 Express VI 多态 程序框图设计原则 修复程序创建中的错误 程序调试
唐山学院测控中心 (C) 2008
3-1 程序框图里的对象
3-1-1 节点 3-1-2 接线端 3-1-3 常量 3-1-4 连线
3-1-1 节点
函数 函数是完成LabVIEW程序功能的最基本成员,它相当于文
本编程语言对较少。
子VI 用于另一个VI中的VI叫子VI,这实际就是供其它程序调用
的子程序。
Express VI Express VI是一类特殊子VI,可以通过对话框配
。
3-4 程序的层次结构
3-4-1 层次结构窗口
帮助我们了解软件 层次结构的一个图形工 具是LabVIEW的层次结 构窗口,层次结构窗口 通过显示VI的调用与被 调用来表达VI的从属关 系。
虚拟仪器程序结构
循环结构通道上的数据在循环第一次执行时 进入循环框内,以后在循环执行过程中将不再理 会这个数据的变.4 移位寄存器
移位寄存器用于While 和For循环,它可以 将上一次循环的值传给下一次循环。
第6章 程序结构
1
本章内容
6.1 循环结构( For循环、 While循环) 6.2 Case结构 6.3 顺序结构(Sequence Structure) 6.4 公式节点(Formula Node)
2
6.1.1 While循环
While 循环是 一种带条件判断的循 环,如果条件成立, While 循环可以反复 执行循环内的框图程 序部分。
降序钮 选择端口
子图形标识 升序钮
数据通道
子图形列表
18
6.2 条件结构
选择端口的值决定了选择结构执行时 到底执行哪一个子图形代码框内的代码。
这个值的类型可以是整型、布尔型、 字符型或枚举型。选择端口图标的颜色会 随连接的数据类型而改变。默认情况是连 接一个布尔量,图标为绿色。
19
6.2 条件结构
27
框图程序设计
28
6.3 顺序结构
LabVIEW程序的执行顺序
数据流式的编程方法
多段代码同时执行
29
6.3 顺序结构
Flat Sequence Structure
Stacked Sequence Structure
30
顺序结构的建立
基于文本的编程语言,是按照程序的语句出现的顺序执行。而在数据流程 序中,只要一个节点所有需要输入的数据全部到达就开始执行。如果有时需要 某个节点先于其它节点执行,可以用顺序结构作为控制节点执行次序的一种方 法。
labview2018中文版虚拟仪器程序设计自学手册
LabVIEW 2018中文版是一款由美国National Instruments公司推出的虚拟仪器图形化编程软件,它以图形化编程语言的形式,为用户提供了直观、高效、便捷的编程体验。
LabVIEW 2018中文版广泛应用于测试、测量、自动化等领域,是虚拟仪器开发的首选工具。
下面将针对LabVIEW 2018中文版虚拟仪器程序设计自学手册的内容,从五个方面进行回答:一、LabVIEW 2018概述LabVIEW 2018是一款功能强大的图形化编程语言,它基于G语言(Graphics Programming Language)开发,具有可视化、交互性强的特点。
通过使用LabVIEW,用户可以轻松地创建各种虚拟仪器应用程序,如数据采集、仪器控制、数据分析等。
在LabVIEW 2018中,用户可以通过图形化编程块构建程序,并通过连线进行连接,形成各种复杂的应用程序。
二、虚拟仪器设计虚拟仪器是基于计算机技术构建的一种新型仪器设备,它以计算机为核心,通过软件实现对传统仪器的模拟、扩展和升级。
在LabVIEW 2018中,用户可以通过创建虚拟仪器来设计和开发各种测试测量仪器。
在设计虚拟仪器时,用户需要掌握各种VI(虚拟仪器界面)和函数的使用方法,包括数据采集、数据显示、数据存储、数据处理等。
此外,用户还需要根据实际需求选择合适的测量方法和测量指标,确保测量结果的准确性和可靠性。
三、数据采集与处理数据采集是虚拟仪器应用的核心之一,它通过传感器、仪器等设备获取各种测试测量数据。
在LabVIEW 2018中,用户可以通过VI实现数据的采集、转换和存储等功能。
对于数据采集和处理,用户需要了解硬件设备的连接方式和工作原理,并根据实际情况选择合适的传感器和接口。
同时,用户还需要根据测试需求选择合适的测量指标和方法,如波形分析、频率分析等。
在数据处理方面,用户可以使用各种数据处理函数和算法对采集的数据进行加工处理,以满足实际应用的需求。
虚拟仪器技术_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循环
虚拟仪器第五讲
VI,计算生成等于某个给定值 的随机数所需要的时间
24
顺序结构练习5
生成前面板如图
ø ¨ý Ý · ¶ Ê ¾ 50 ±°µ µ Ç Ö 50 ´ Ð Î ý Ö ´ Ê 6 ¥ ä ±ä ¨ë © Æ Å Ê ¼ £ à £ 0.00
25
使用顺序结构练习
26
使用顺序结构练习
27
8
9
10
分支结构:Case
Case结构含有两个或者更多的子程序(Case),执行哪个取决于与 选择端子相连接的某个整数、布尔数、字符串或者标识的值。
布尔型:则有两个分支-FALSE,TRUE. 如果是数值型或者字符型,原则上可以有无数个分支。很难覆盖 所有可能情况,必须选择一个默认的Case以处理超出范围的数值, 或者直接列出所有可能的输入数值。 Case结构见下图,各个子程序占有各自的流程框,在其上沿中央 有相应的子程序标识:Ture、False或1、2、3…。按钮用来改 变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。
隧道为所有分支公有。 连线时一定确认是对现有隧道连线,而
非建立新的隧道。 “use default if unwired”,但要“慎重”
15
分支结构
Number 2.00 SQRT 1.41
练习
16
分支结构
VI程序代码
练习
if (Number >= 0) then Square Root Value = SQRT(Number) else Square Root Value = -999.00 Display Message “输入数据错误!" end if
20
如何使用顺序结构
编程及虚拟仪器设计之程序结构
系统软件
操作系统、编译器等核心软件 主要使用C、C等语言编写。
Web开发
前端使用HTML、CSS、 JavaScript等语言,后端使用 Python、Java、Ruby等语言 。
虚拟仪器设计
使用LabVIEW、MATLAB等语 言进行图形化编程,实现数据 采集、处理和显示等功能。
CHAPTER 02
脚本语言
如JavaScript、Python等,主要用于Web 开发,执行速度快。
领域特定语言
针对特定领域设计的语言,如SQL、 MATLAB等。
编程语言特点
语法规则
每种编程语言都有自己的语法规则,遵循这些规则才能编写出正确的程序。
数据类型
定义了变量和常量的类型,决定了它们可以存储的数据和可以执行的操作。
编程及虚拟仪器设计 之程序结构
目 录
• 编程语言基础 • 程序结构基础 • 虚拟仪器设计基础 • 程序优化与调试 • 编程与虚拟仪器设计案例分析
CHAPTER 01
编程语言基础
编程语言分类
低级语言
如机器语言和汇编语言,直接控制计算机硬 件,但可读性差,不易维护。
高级语言
如C、C、Python等,更接近自然语言,易 于编写和理解。
CHAPTER 03
虚拟仪器设计基础
虚拟仪器概念
虚拟仪器是一种基于计算机的测 试和测量系统,通过软件实现对
硬件设备的控制和数据采集。
它利用计算机的强大计算和图形 显示能力,将传统仪器的硬件部 分集成到计算机中,通过软件实
现仪器的功能。
虚拟仪器具有灵活性、可扩展性 和可复用性等特点,能够满足各
种不同的测试和测量需求。
程序调试技巧
利用MATLAB的调试工具,如断点、单步执行等 ,可以快速定位和修复程序中的错误。
虚拟仪器实验报告三
虚拟仪器实验报告三一、实验目的:LabVIEW编程软件入门学习二、实验内容:学习LabVIEW的程序结构三、实验步骤:3.1顺序结构(Sequence Structure)3.2 For循环3.3 While循环3.4 Case结构3.5 事件结构(Event Structure)3.6 使能结构3.7 公式节点(Formula Node)3.8 跟着实例学—模拟温度采集监测系统三、实验总结:本次实验学习了LabVIEW的程序结构,通过做练习题和作业题熟练掌握了各种程序结构,并且通过认真思考,能够解决一些实际问题,个人觉得这个软件非常有用,学起来也充满了乐趣,在以后的学习中,我会更加努力的。
四、实验作业:1. 利用顺序结构和timing面板下的tick count VI,计算for循环1000000次所需要的时间。
本题用了顺序结构和timing面板下的tick count VI,计算了for循环1000000次所需要的时间。
第一帧计算循环所需时间,第二帧只要令N=100000000,设置循环次数,第三帧输出循环次数。
2. 用While循环和定时器,实现连续的温度采集监测。
3、利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节。
利用顺序结构,构成五个帧,第一帧一灯亮,第二帧二灯亮,直到第五帧五灯亮,WHILE循环控制灯的循环点亮,滑动杆控制灯亮的时间。
4. 求分数序列 前20项之和。
利用移位寄存器,将每次被除数和除数的和作为下一个分数的分子,被除数作为分母,再将每个分数加起来,输入到运算结果中。
5. 给出一百分制成绩,要求输出等级A ,B ,C ,D ,E 。
90分以上为A ,80~89 为B ,70~79为C ,60~69为D ,60分以下为E 。
把输入的成绩和划分等级的分数线进行比较,分出各个等级,采用了具有5 个分支的条件结构进行等级的输出。
,...813,58,35,23,126. 利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。
第5章虚拟仪器设计-程序结构
虚拟仪器设计基础 主要教学内容
程序结构 字符串、 字符串、数组和簇 局部变量和全局变量 文件操作 图形显示
5.1 程序结构
LabVIEW中的结构是其他基于文本的语言中的循环、 LabVIEW中的结构是其他基于文本的语言中的循环、 中的结构是其他基于文本的语言中的循环 判断等结构的图形化体现。 判断等结构的图形化体现。 什么是结构? 什么是结构? 程序数据流程的元素, 结构是控制 G程序数据流程的元素,G语言包含 的结构有: 的结构有: loop结构 While loop结构 条件结构 事件结构 公式节点 Loop结构 For Loop结构 顺序结构 使能结构
5.1.1 循环结构
LabVIEW中的循环结构主要有 中的循环结构主要有 While循环 循环 For循环 循环 这两种循环结构功能基本相同, 这两种循环结构功能基本相同 , 但使用 上有一些差别。 上有一些差别 。 For循环必须指定循环的次 循环必须指定循环的次 循环一定的次数后自动退出循环; 数 , 循环一定的次数后自动退出循环 ; 而 While循环则不用指定循环的次数, 只需要 循环则不用指定循环的次数, 循环则不用指定循环的次数 指定循环退出的条件。 指定循环退出的条件。
通过移位寄存器实现
移位寄存器
在LabVIEW的循环结构中创建移位寄存器的方法是在 LabVIEW的循环结构中创建移位寄存器的方法是在 循环框图的左边或右边单击鼠标右键, 循环框图的左边或右边单击鼠标右键 , 在弹出的快 捷菜单中选择【添加移位寄存器】 捷菜单中选择 【 添加移位寄存器 】 , 可创建一个移 位寄存器 移位积存器的功能是将第i 移位积存器的功能是将第i-1, i-2, i-3…次循环的 次循环的 计算结果保存在For循环的缓冲区内,并在第i次循 计算结果保存在For循环的缓冲区内, 并在第i For 循环的缓冲区内 环时将这些数据从循环况架左侧的移位寄存器中送 出,供循环框架内的节点使用,其中, i=0 i=0,1,2,3… 。
虚拟仪器技术_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灯亮)
虚拟仪器labview程序结构.pptx
case n:语句n; default:语句n+1; }
第10页/共39页
5.3 条件结构
第11页/共39页
5.3 条件结构
Case结构的组成 最基本的Case结构由:Case框架、选择端 口、框图标识符和递增/递减按钮构成。
第12页/共39页
5.3 条件结构-应用
第30页/共39页
5.6 公式节点
假如程序中有一些复杂的数学计算,编写图 形代码是比较麻烦的。如x>0,y=mx3+3nx2-x+1; x<=0,y=-2mx3+x-5。
第31页/共39页
5.6 公式节点
假如程序中有一些复杂的数学计算,编写图 形代码是比较麻烦的。如,y=x3+6,z=5y+x。
第13页/共39页
5.3 条件结构-应用
第14页/共39页
5.4 顺序结构
在代码式的传统编程语言中,默认的情况是, 程序语句按照排列顺序执行,称为控制流程; 但LabVIEW中不同,它是一种图形化的数据流 式编程语言,具有并发、多任务的特点。
在LabVIEW7.0 以前只有一种顺序结构。 从 LabVIEW7.0开始,旧版本的顺序结构称 为Stacked Sequence Structure(堆叠顺序 结构),同时引入新的Flat Sequence Structure(平铺顺序结构)。
3.公式节点框架内每个公式后以分 号”;”结束。
第35页/共39页
5.6 属性节点
前面板对象属 性是指前面板 上控件的外观 和功能特征, 如显示的颜色、 可见性、闪烁、 位置、比例等。 以达到最佳的 人机交互效果。
程序设计与虚拟仪器之程序结构讲课文档
(a)
第21页,共56页。
(b)
图2-10 移位寄存器和反馈节点转换
2.2 分 支 结 构
分支结构(Case Structure)是一种多分支程序控制结构, 类似于文本编程语言中的If…Then…Else语句。分支结构包含 多个子框图代码,这些子框图就像一叠卡片,一次只能看见一 张。
分支结构位于Functions→Execution Control子模板和 Functions→Structures子模板上,如图2-11所示。与For循环 和While循环结构的使用一样,通过拖拽Case结构图标将其放 置在框图上,并使其边框包围所希望的对象;也可以先将 Case结构放置在框图上,然后根据需要调整大小并将对象放 到结构内部。
(b) 枚举型分支结构
(c) 字符串型分支结构
图2-13 不同类型的分支结构
第27页,共56页。
注意,在使用选择结构时,控制端子的数据类型必须与分 支选择器标签中的数据类型一致。二者如果不匹配, LabVIEW会报错,同时,分支选择器标签中的字体颜色变为 红色。
分支结构子框图是层叠在一起的,用鼠标(对象操作工具 状态)单击分支选择器标签递增或递减按钮可以将当前的选择 框架切换到前一个或后一个选择框架;单击标签右端的向下黑 色箭头,弹出所有已经定义的标签列表,可以在多个子框图之 间快速跳转。如图2-14所示,当前显示的框图分支对应的标签 前有“√”标记。
当选择端子为数字整型时,分支选择器标签的值为整数0 ,1,2,…;当选择端子为字符串型或枚举类型时,分支选 择器标签的值为由双引号括起来的字符串。选择框架的个数 根据实际需要确定,如图2-13所示。
第25页,共56页。
第26页,共56页。
图2-12 分支结构的组成及默认状态
虚拟仪器第2章 结构1
[例2.6] 建立For循环和使用自动索引的功能。
本例中使用For循环,选择正弦函数产生数据。 其前面板和框图程序如图。
2.1.3 定时循环
1、定时循环的建立 定时循环结构主要由5部分组成,下面分别介绍。
(1)输入节点 确定定时循环的循环时序、循环优先级和循 环名称等参数(如图所示); (2)左数据节点 提供上一次循环的时间和状态信息,例如 上一次循环是否延迟执行、上一次循环的实际执行时间等; (3)循环体 和While循环类似,定时循环的循环体包括 Loop Iteration端口和Loop Condition端口,前者指示当 前循环的次数,后者连接一个布尔型常量,指示循环结束或 循环继续的条件; (4)右数据节点 接收左数据节点的信息,以决定下一次循 环的时间或状态; (5)输出节点 输出循环执行过程中可能出现的错误信息。
支之后或分支之前添加分支。 2. Delete This Case: 删除当前Case 分支。 3. Rearrange Case:重排分支,并出现Rearrange对 话框进行设置即可。 4. Make This Default Case :设置默认分支 。
2.2.3 数据的输入和输出通道
选择结构的组成
基本的选择结构由选择框架(Case Frame)、 选择端口(Selection Terminal)、选择器标 签(Selector Label),以及递增/递减按钮 (Increment/Decrement Buttons)组成。
递增/递减按钮
选择器标签
选择端口
选择框架
Case选择器输入数据类型
注意:左侧移位寄存器的初始化(循环前为默认值) 右侧的移位寄存器只能循环结束时输出数据, 一般输入数据。
虚拟仪器设计第4章—条件结构、顺序结构、公式节点和事件结构ppt课件
21
程序框图:
22
运行结果:
23
§4.2 顺序结构
在VI中,程序的运行是靠数据流来驱动的,利用数据流机制可以实现很多顺序执行的功能。但是只有数据流控制的顺序执行还不够,在某些复杂的情况下,需要更强的顺序执行控制结构。引入了“顺序结构”的概念。
如上图,当且仅当A、B、C3个节点执行完,使得D节点的3个输入数据都到达D节点后,D节点才执行。但要注意,这里并没有规定A、B、C3个节点的执行顺序。在LabVIEW中这种情况下,A、B、C的执行顺序是不确定的。如果你需要对它们规定一个确定的顺序,那就需要使用 “顺序结构”。
17
快捷菜单:重排分支
重排之前
重排之后
对分支列表自动排序
18
快捷菜单:将子框图程序交换至分支
A B C DD B C A
将当前分支内容与目标分支内容对换,其他分支内容不受影响。
快捷菜单:将子框图程序移位至分支(书本上的版本为:“将程序框图转换为分支”)P115
添加“顺序局部变量”后
28
顺序结构的输出通道仅能有一个数据源 数据源能被后续所有帧使用, 但在源帧前面的帧中不能使用(为实心方框)
源帧
顺序结构对编写代码很有帮助,但是不能滥用!书本:P119
29
4.2.4 顺序结构应用举例
将一随机数发生器产生的数字(0-100之间的整数)与前面板输入的整数(0-100之间)进行比较,计算当两个数匹配时所执行的次数以及所耗时间。
45
为解决上述问题,LabVIEW提供了“事件结构”。仅当事件发生时,程序才做出相应的响应,类似于VC或VB编程中的事件。通过事件结构:程序变得简单,降低CPU利用率;当多个事件发生时会形成事件队列,直到每个事件对应的代码都被执行为止,因此不会有时间被遗漏的情况。
虚拟仪器第5章控制程序运行的结构
50,49,48……1 56,57,58……105
将这两个数组用数组显示控件显示在前面板上。
虚拟仪器第5章控制程序运行的结构
练习与思考
u 5.2 产生100个随机数,求其最小值和平均值。 u 5.3 程序开始运行后要求用户输入一个口令,口令
正确时滑钮显示件显示一个0~100的随机数,否则 程序立即停止。 u 5.4 编写一个程序,在前面板上放3个按钮,当按下 某个按钮时,输出这个按钮的编号。 u 5.5 编写计算以下等式的程序:
虚拟仪器第5章控制程序运行的结构
5-1-4 移位寄存器和反馈节点——移位寄存器
(2) 移位寄存器传递数据的方法——用移位寄存器求最大值
(3) 使用非初始化的移位寄存器
•演
虚拟仪器第5章控制程序运行的结构
5-1-4 移位寄存器和反馈节点
l 2.反馈节点
u 自动创建反馈节
当For循环或While循环边框比较大时,使用移位寄存器 会造成过长的连线,因此LabVIEW提供了反馈节点。在For 循环或While循环中,当我们把一个节点的输出连接到它的 输入时,连线中会自动插入一个反馈节点,同时自动创建了 一个初始化接线端。
•演
虚拟仪器第5章控制程序运行的结构
5-9-2 控件属性节点应用示例
l 2. 实现动画效果
•演
虚拟仪器第5章控制程序运行的结构
练习与思考
u 5.1 用For循环产生4行100列的二维数组,数组元素 如下:
1,2,3……100 100,99,98……1 6,7,8……105 105,104,103……6
u 5.7 猴子吃桃子,每天吃全部桃子的一半零一个,到 第十天剩一个桃子,编程求第一天猴子摘了多少个 桃子。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟仪器程序结构上课讲解内容
第三章程序结构
第一节课:开始介绍程序结构,根据C语言的学习经验来学习。
3.1循环结构
3.1.1 While 循环
While 循环:首先介绍基本概念.
1、位置
2、重复端子
3、条件端子
加亮执行下面例子,详细分析执行情况,使学生进一步了解while循环结构。
Do
执行子框图
while 条件判断
举例,做1+2+3+…+100的编程。
3.1.2 For循环
For循环:首先介绍基本概念.
1、位置
2、计数端子(循环执行次数)
3、重复端子(输出已经执行的循环次数)
加亮执行下面例子,详细分析执行情况,使学生进一步了解for循环结构。
For I=0 to N-1
执行循环体
end
举例,做1+2+3+…+100的编程。
3.1.3循环结构内外数据交换与自动索引
隧道tunnel
下面建立一个每0.5秒做一次乘法的计算,数据是从while循环外传来的。
循环内外传数据区别:
内:每一次循环都检查某个端子的数据。
外:在循环运行前读入一次,再执行循环时即时控件的值发生变化,也不影响循环中的数据。
Stop也是如此。
自动索引
3.1.4移位寄存器
反馈节点:两次循环之间传递数据
3.2分支结构
分支结构:首先介绍基本概念. 相当于C语言的Switch语句。
1、位置
2、选择器端子
3、分支选择器标签
加亮执行下面例子,详细分析执行情况,使学生进一步了解case结构。
比较二个数,取出最大值。
比较三个数,取出最大值。
输入1,显示“名称”
输入2,显示“价格”
输入3,显示“厂家”
输入4,显示“附加信息”
3.3顺序结构
Sequence结构
Stacked Sequence Structure堆叠的顺序结构Flat Sequence Structure平铺的顺序结构
欢迎大家前来鲁广超市购物带小孩的顾客看好自家小孩请注意随身携带的贵重物品顾客朋友们,请注意。
过5秒循环一次。
3.4公式节点
求三个数中最大值?
3.5事件结构
切换界面程序
按键控制程序。