虚拟仪器(哈工大)第三章 结构与属性(二)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
小结
事件结构扩展了LabVIEW的数据流功能, 时其具有事件的驱动能力。 局部变量的使用能减少程序的连线,同 时还能在同一个程序中对同一个控件进 行读写。与控件的类型无关。 全局变量在使用时要特别注意读写的顺 序。 属性节点的使用使LabVIEW的界面更加 的丰富,人性化。
3.6事件结构 3.6事件结构
事件概念——所谓事件即是发生了某种 事情的通知 。 事件驱动——即事件发生后程序的处理。 事件驱动扩展了数据流编程的功能。事 件结构即是LabVIEW用于处理事件的节 点。
LabVIEW支持的事件类型 LabVIEW支持的事件类型
用户接口事件User Interface Event,例如, 鼠标事件、键盘事件等。 程序设置事件,也称为用户事件User Event,用来承载用户定义的数据与程序 其他部分通讯。
事件结构的组成
子框图标识 超时端口
事件数据节点
主要端口功能
超时端口——用于连接一个数值指定等待 事件的毫秒数。默认值为-1,即无限等待。 超过设置的时间没有发生事件,LabVIEW 就产生一个超时事件,可以设置一个处理 超时事件的子框图。 事件数据节点——用于访问事件数据值.其 端口数目和数据类型根据事件的不同而不 同
3Байду номын сангаас8全局变量 3.8全局变量
全局变量是用于在不同的程序之间 传递数据,这些数据可以是并行的,也 可以是不便于通过接口传递数据的主程 序和子程序
全局变量的建立 (演示)
建立全局变量的方法与通过函数模 板建立局部的方法类似: 在全局变量VI前面板上放入所需的控 件以后,关闭这个VI并进行保存。此时 全局变量快捷菜单的select item项变为可 操作(也可直接左击全局变量),从中 可选择需要的全局变量。
3.7 局部变量(Local Variable) 局部变量(
局部变量用来在一个VI内部传递数 据,它不仅可以解决连线的困难,而且 可以在对同一个控件的多次访问中的部 分对它写入数据和读出数据。
局部变量的建立(演示) 局部变量的建立(演示)
通过函数模板建立 在前面板控件和它的端口上弹出菜单, 选择建立局部变量命令
局部变量的使用特点
通过局部变量既可以向它的前面板控 件写数据,也可以从它的前面板控件读 取数据,而不必考虑这个控件是显示件 还是控制件 一个前面板控件的多个局部变量中,可 是部分是read状态,部分是write状态
局部变量的应用举例(演示)
1:使用局部变量进行控制方式转换 2:使用局部变量控制两个并行的while循 环同时停止 3:初始化前面板
全局变量与局部变量的区别
作用区域不同 全局变量是一个特殊的VI,而局部变量 是一个节点。
使用局部变量和全局变量应该 注意的一些问题
局部变量和全局变量的初始化问题。 在使用局部/全局变量之前,其值是 他们相关的前面板的缺省值,如果不能 确定其符合要求,就需要对其进行初始 化 使用局部变量和全局变量时对计算机内 存的考虑
3.9 属性节点
虽然LabVIEW提供了丰富的前面板 对象,利用这些可以设计出良好的人机 界面。但是在实际的运用中,还经常需 要实时的改变前面板对象的颜色、大小、 是否可见等属性,以达到最佳的人机交 互功能。
属性节点的创建与设置(演示)
三种建立属性节点的方法 在前面板中建立属性节点 在程序框图中建立属性节点。 其他方式 三种属性设置的方式。 可以通过定位工具的拉伸来选择所需的属性 通过右键弹出快捷菜单来选择 直接点击左键设置。
常见的控件属性
可见性Visible 闪烁Blinking —— 布尔量控制对象的闪烁。 可用改变闪烁的颜色及背景。 可用性 Disable——输入为0时,前面板对 象可用;为1时前面板对象不可用;为2时 前面板对象不可用却变成灰色。
常见的控件属性(二)
填充颜色控制 键盘焦点——通过属性节点可以在程序中对键 盘焦点顺序进行控制,一个控件的keyfocus属 性被设为true时,键盘焦点始终与它相联系, 而不用受TAB键的控制。当我们为这个程序的 停止按键设置键盘焦点后,按一下键盘上的T 键(或者回车键)就可以停止程序。 前面板对象边界bounds (Read Only)可以返回 一个前面板对象的大小,数据类型是簇。簇里 的第一个整型数据是对象宽度,第二个整型数 据为对象的高度
编辑事件对话框的组成(二)
Events——事件。在选择一个事件源以后, 此栏列出可以为这个事件源选择的事件 Lock front panel until the event case for this event completes ——锁定前面板直到所设 事件的子框图执行完
事件结构的应用演示
1:显示“转换ASCII码.VI”(过虑事件与通 知事件的区别) 2:演示“检查前面板控件(使用事件).VI”
对全局变量调用说明
全局变量可以被内存中的任何LabVIEW 程序读或者写,但必须知道程序中所有读 写都发生在什么位置,已避免全局变量值 意外改变
全局变量的应用举例(演示)
利用全局变量传递波形数据。(演示) 上例说明: 使用全局变量如果不加以注意,会对 此读同一个值,也会有数据被丢弃。如果 必须处理每一次的数据刷新,则需要特别 注意采取措施,保证前一个值每被读取之 前,不要向全局变量写入新的数据。并保 证全局变量被读取一次后只要没有新的数 据写入,就不会被再次读取
演示“是否关闭前面板.VI” 演示“是否关闭前面板.VI”
编辑事件对话框的组成(一)
Events Handled for Case ——选择事件结构的子框图 Event Specifiers —— 选定的事件列表栏 事件信息栏——当用户选定一个事件时,该栏会提供 用户一些相关信息。 Event Sources ——事件源,分别列出可以通过设置产 出事件的对象。
用户接口事件
通知事件(Notify Event) 通知某个用户 动作已经发生,并且LabVIEW已经进行 了处理。 过滤事件(Filter Event)某个用户动作已 经发生,但是可以在程序中制定如何处 理这个事件。
事件结构的优点
可以达到用户在前面板的操作与程序框 图同步执行的效果 节省cup的时间 能最快速的发现事件的变化