虚拟仪器labview第六讲PPT课件

上传人:资****亨 文档编号:132727841 上传时间:2020-05-19 格式:PPT 页数:35 大小:160KB
返回 下载 相关 举报
虚拟仪器labview第六讲PPT课件_第1页
第1页 / 共35页
虚拟仪器labview第六讲PPT课件_第2页
第2页 / 共35页
虚拟仪器labview第六讲PPT课件_第3页
第3页 / 共35页
虚拟仪器labview第六讲PPT课件_第4页
第4页 / 共35页
虚拟仪器labview第六讲PPT课件_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《虚拟仪器labview第六讲PPT课件》由会员分享,可在线阅读,更多相关《虚拟仪器labview第六讲PPT课件(35页珍藏版)》请在金锄头文库上搜索。

1、 第六章结构与属性 Labview采用结构化数据流图编程 能够处理循环 顺序 条件和事件等程序控制的结构框架 这是Labview编程的核心 也是区别于其他图形编程开发环境的独特与灵活之处 属性节点也是Labview为增强图形化编程功能而设置的前面板对象特征 6 1For循环 For循环用于将某段程序执行指定次数 调用For循环节点时 不会立刻出现在流程图中 而是出现一个小的图标 而后可以修改图标的大小和位置 具体的方法是 先单击所有端子的左上方 然后按下鼠标 拖曳出一个包含所有端子的矩形 释放鼠标时就创建了一个指定大小和位置的For循环 For循环的组成 最基本的For循环由循环框架 Loop

2、Frame 重复端口 LoopIteration 和计数端口 LoopCount 组成 重复端口i的初始值为0 每次循环的递增步长为1 注意 i的初始值和步长在Labview中是固定不变的 若要用到不同的初始值或步长 可对重复端口产生的数据进行一定的数据运算 也可用移位寄存器来实现 循环次数N在程序运行前必须赋值 通常情况下 N为整型数字 若为其他数据类型 For循环会自动将其转换成整型 移位寄存器 ShiftRegister 移位寄存器可以将数据从一个循环周期传递到另外一个周期 在程序设计中 经常要用到它 创建一个移位寄存器的方法是 用鼠标右键单击循环的左边或者右边 在快捷菜单中选择AddS

3、hiftRegister 移位寄存器在流程图上用在循环边框上相应的一对端子来表示 右边的端子中存储了一个周期完成后的数据 这些数据在这个周期完成之后将被转移到左边的端子 赋给下一个周期 移位寄存器可以转移各种类型的数据 数值 布尔数 数组 字符串等等 它会自动适应与它连接的第一个对象的数据类型 可以令移位寄存器记忆前面的多个周期的数值 这个功能对于计算数据均值非常有用 还可以创建其他的端子访问先前的周期的数据 方法是用鼠标右键单击左边或者右边的端子 在快捷菜单中选择AddElement 例如 如果某个移位寄存器左边的端口含有三个元素 那么就可以访问前三个周期的数据 数据在移位寄存器中的流动过程

4、 当For循环在执行第0次循环时 For循环的数据缓冲区并没有存储 所以 在使用移位寄存器时 必须根据编程需要对左侧的移位寄存器进行初始化 否则 左侧的移位寄存器在第0次循环时的输出值为默认值 数字的默认值为0 字符串的默认值为空字符 布尔数据的默认值为False 另外 连至右侧移位寄存器的数据类型用于初始化左侧移位寄存器的数据类型必须一致 框架通道 LoopTunnel 框架通道是For循环与循环外部进行数据交换的数据通道 其功能是在For循环开始运行前 将循环外其他节点产生的数据送至循环内 供循环框架内的节点使用 还可在循环运行结束时 将循环框架内节点产生的数据送至循环外 供循环外的其他节

5、点使用 框架通道有两种属性 有索引 EnableIndexing 和无索引 DisableIndexing 分别用于传递数组和标量 例题 求n 反馈节点 FeedbackNode 创建反馈节点时 必须将该节点放至For循环或While循环的框架内部 一个新的反馈节点包含两部分 初始化端口和反馈节点本身 初始化端口用于初始化反馈节点的初始值 使用反馈节点实现n 例题 求0到99之间所有偶数的和 例题 用For循环产生一个长度为5的随机数组 数组的求和 For循环还有一种很有特色的功能 称之为自动索引 AutoIndexing 功能 当将一个数组连接到For循环上供For循环内的节点使用时 For

6、循环可以自动检测该数组的长度 执行相应次数的循环 并按顺序将数组内的元素一一取出 For循环的特点 一旦确定了For循环执行的次数 并开始执行后 就必须在执行完相应次数的循环后 才能终止其运行 若确实需要根据某种逻辑条件跳出循环 可用While循环来替代For循环 6 2While循环 While循环可以反复执行循环体的程序 直至到达某个边界条件 其循环次数不能预先确定 最基本的While循环由循环框架 LoopFrame 重复端口 LoopIteration 以及条件端口 LoopCondition 组成 条件端口有两种使用状态 StopifTrue和ContinueifTrue 每一次循环

7、结束时 条件端口会检测通过数据连线输入的布尔值 并根据输入的布尔值和其使用状态决定是否继续执行循环 While循环的使用 避免出现死循环 While循环的特点 6 3顺序结构 在传统编程语言中 程序有明确的顺序执行 即程序按照程序代码从上到下的顺序执行 每个时刻只执行一步 这种执行方式称为控制流 ControlFlow 而Labview却是一种数据流 DataFlow 语言 只有当某个节点的所有输入均有效时 Labview才能执行该节点 这一点称为数据从属性 DataDependency 顺序结构的说明 数据流编程为用户带来了很多方便 但也在某些方面存在不足 如果Labview框图程序中有两个

8、节点同时满足节点执行的条件 那么这两个节点就会同时执行 但如果编程者需要这两个节点按一定的先后顺序执行 那么数据流控制是无法满足要求的 必须引入特殊的结构框架 在此框架内程序要严格按照预先确定的顺序执行 这就是Labview顺序结构 SequenceStructure 的由来 Labview顺序结构的功能是强制程序按照一定的顺序执行 Labview提供了两种顺序结构 层叠式顺序结构 StackedSequenceStructure 与平铺式顺序结构 FlatSequenceStructure 顺序结构共有两种 单框架顺序结构和多框架顺序结构 顺序结构的组成 1 层叠式顺序结构 顺序框架 Seq

9、uenceFrame 选择器标签 SelectorLable 和递增 递减按钮 Increment DecrementButtons 组成 在编程时 需要将前一个顺序框架中产生的数据传送到后续顺序框架中使用 为此Labview在顺序框架中引入了本地结果 SequenceLocal 的概念 通过顺序框架本地结果 就可以在顺序框架中向后传递数据 2 平铺式顺序结构 多框架层叠式顺序结构由多个框架组成 按照0 1 2 的顺序编号层叠在一起 并且按照0 1 2 的顺序执行 多框架平铺式顺序结构的多个框架不是层叠在一起 而是由左自右平铺 并且按照相同的顺序执行 平铺式顺序结构的所有框架在同一个平面上 较

10、为直观 不需要用户在框架之间切换 顺序结构的使用 1 层叠式顺序结构的使用 层叠式结构可以修改框图的顺序2 平铺式顺序结构的使用 平铺式结构各框架的顺序不能改变 但可先将平铺式顺序结构转换为层叠式顺序结构 在层叠式顺序结构中改变各框架的顺序后 将层叠式顺序结构转换为平铺式顺序结构 就可以改变平铺式顺序结构框架的顺序 顺序结构的特点 Labview顺序框架的使用比较灵活 在编辑状态时可以很容易地改变层叠式顺序结构各框架的顺序 平铺式顺序结构各框架的顺序不能直接改变 例题 创建一个VI 计算生成等于某个给定值的随机数所需要的时间 6 4选择结构 选择结构 CaseStructure 也是Labvi

11、ew最基本的结构之一 相当于C语言中的switch语句 创建选择结构 选择结构的组成 最基本的选择结构由选择框架 CaseFrame 选择端口 SelectionTerminal 选择标签 SelectorLabel 以及递增 递减按钮 Increment DecrementButtons 组成 Labview中的选择结构与C语言Switch语句相比比较灵活 输入选择端口中的外部控制条件的数据类型有3种可选 布尔型 数字整型和字符串型 当控制条件为布尔型时 选择结构的选择器标签的值为True和False两种 即有True和False两种选择框架 当控制条件为数字整型时 选择结构的选择标签的值为

12、整数0 1 2 选择框架的个数可根据实际需要确定 当控制条件为字符串型时 选择结构的选择器标签的值为由双引号括起来的字符串 选择结构的使用 例题 创建一个VI以检查一个数值是否为正数 如果它是正的 VI就计算它的平方根 反之则显示出错 选择结构的特点 Labview的选择结构与其他语言的选择结构相比 简洁明了 结构简单 不但相当于Switch语句 还可以实现if else语句的功能 为与选择框架外部交换数据 选择结构也有边框通道 选择结构的边框通道与顺序结构的框架通道类似 也没有EnableIndexing和DisableIndexing这两种属性 不过选择结构的边框通道还有其自身的特点 当外

13、部数据连接到选择框架上供其内部节点使用时 选择结构的每一个子框架都能从该通道中获得输入的外部数据 当选择结构内部的数据需通过框架通道送至外部时 必须在每一个框架中都连接一个同数据类型的数据到同一个框架通道上 这主要是因为选择结构执行时是根据外部控制条件从其所有的子框架中选择其一执行的 子框架的选择非此即彼 所以每一个子框架中都必须连接一个数据 对于一个框架通道 一个子框架中如果没有连接数据 那么在根据控制条件执行到这个框架时 框架通道就没有向外输出数据的来源 程序就会出现错误 6 5事件结构 事件结构中的事件包括鼠标事件 单击 双击等 键盘事件 选单事件 窗口事件 如关闭窗口 对象的数值变化等 使用事件驱动可以让Labview应用程序在没有指定事件发生时处于休息状态 直到前面板窗口中有一个事件发生时为止 在这段时间内 可以将CPU交给其他的应用程序使用 这大大提高了系统资源的利用率

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号