版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、虚拟仪器技术,电子科技大学自化学院,2.3.5 事件结构 Event Structure,LabVIEW的程序使用”事件结构”实现 “事件驱动”机制 “事件驱动”就是事件发生时,对指定事件的程序代码进行响应,处理完后再回到事件等待状态。 对用户界面的操作采用事件结构,能够及时响应用户在前面板的操作。(如点击鼠标、按下键盘、改变控件的值等),怎样使用事件结构Event Structure ?,创建1个新的事件结构,在结构中指定事件源(产生事件的对象)和该事件源发生的事件,在各个事件对应的框内编写该事件发生时要执行的程序。 1.事件结构的创建 事件结构位于在结构子模板中 事件结构包括:结构框、事件
2、标签、超时端口和事件数据端口。,事件标签 :当前框图程序响应的事件名称 。,超时端口,默认值为-1,表示无限等待 。,事件数据端口 可读,结构框 放入事件发生后需执行的程序,2事件结构的使用 右击事件结构边框,从弹出的快捷菜单中选择“编辑本分支所处理的事件”Edit Events Handled by ThisCase,这时将弹出编辑事件对话框。,显示当前建立的事件,默认“Timeout事件。,增加事件,删除事件,可以选择的事件源,相应的事件源可产生的事件,例如:建立一个5秒的超时事件和一个“按钮” 开关值发生变化的事件,要求: 第一种情况:不同的事件发生都执行同一个子图形代码框程序,显示出对
3、话框“超时或单击了OK按钮”。 第二种情况:由不同的框图程序响应不同的事件,对应不同的事件分别显示出对话框“超时事件”或“单击了OK按钮事件”。,法1: 在前面板添加放置一个“OK Button” 控件 。 在编辑事件对话框中单击按钮 新建一个事件,选取“EventSources”事件源窗口中的“OK Button”,并在“Event”事件窗口中选择“值改变Value Change” 。 选取OneButtonDialog函数,放置在事件结构框中。 在message数据端口新建一个字符常量,输入“超时或单击了OK按钮”。 在超时端口连接值为5000的一个数字常量。,运行程序,如果单击了“OK
4、Button”按钮或等待5秒都会显示出对话框“超时或单击了OK按钮”。,法2: 在事件结构边框的快捷菜单中选择Add Event Case来创建事件结构的一个分支 。 在弹出的对话框中,选取“EventSources”事件源窗口中的“OK Button” 。并在“Event”事件窗口中选择“Value Change” 。 后面的设置与法1类似。,2.3.6 公式节点,在框图程序中,如果需要设计较复杂的数学运算,框图将会十分复杂,工作量大,而且不直观,调试、改错也不方便。 利用公式节点,只需将数学公式的文本表达式输入在公式节点的框图内,并连接相应的输入、输出端口,则LabVIEW会自动地根据公式
5、计算出正确的结果,并从输出端输出。 使用步骤: (1)创建新的公式节点 (2)在框中输入文本行表示的数学公式和文本语句 (3)添加输入/输出数据端口,并命名(与公式中变量同名) (4)连接程序中的数据端口与公式节点的输入/输出端口,(1)公式节点的创建 从函数模板的Structures子模板上选择公式节点Formula Node,在框图中设置公式节点。 公式节点的边框大小可以改变,用户可以使用标签工具,将数学公式直接输入到公式节点的框内。,以函数 y=x2+x+1为例,1. 用常规的LabVIEW函数实现此函数式计算 2. 用公式节点来实现同一函数式 在框内输入一个或多个公式,每个公式语句必须
6、以分号结束 在公式节点边框上弹出快捷菜单,并从弹出菜单中选择Add Input或Add Output选项来创建公式节点的输入或输出端口。在添加端口后出现的方框内填入变量名称。,公式节点中常用的运算符,其中,条件运算符的“?”前的部分是判定条件,“?”和“:”间的部分为当条件为True时的表达式,“:”后的部分为当条件为False时的表达式。,公式节点语句中还可以使用数学函数:abs、acos、acosh、asin、asinh、atan、atan2、atanh、ceil、cos、cosh、cot、csc、exp、expml、floor、getexp、getman、int、intrz、ln、lnp
7、1、log、log2、max、min、mod、pow、rand、rem、sec、sign、sin、sinc、sinh、sizeOfDim、sqrt、tan、tanh。 公式节点中可声明变量,也支持一些常用的C语言的语句(包括赋值语句、 IF条件语句、 for和do 、while循环语句、Switch分支语句),每条语句以分号结尾。 公式节点的语法与C语言相同,例:用公式节点计算y1=x3+x2+5和y2=m*x+b,分析: 公式的输入端口共有3个输入量,分别是m、b和x。3个输入量经过公式节点中的两条语句完成指定的运算,通过输出端口输出y1和y2。,例:在公式节点中使用C语言的语句,2.3.7
8、 局部变量和全局变量,1局部变量: 程序太复杂,连线困难,需用局部变量。 局部变量的作用范围:同1个程序之间 (1)创建 为前面板对象创建局部变量。 在对象上面单击鼠标右键,选择CreateLocal Variable。 可以为一个对象创建多个局部变量。 局部变量具有读、写两种属性。并可互换。,(2) 使用示例 程序中,建立了“停止”控件的两个局部变量。 循环内的局部变量处于“读”状态,读出当前“停止”控件的状态,送给“指示灯”控件显示。 循环外的局部变量 则处于“写”状态,它在每次程序运行前赋给“停止”控件,赋值为“False”,以保证程序运行时进入循环状态。,2全局变量 不同程序之间交换数
9、据,需用全局变量。 全局变量VI只有前面板而无框图程序。 (1)创建 选择全局变量图标,右击,选择Open Front Panel,打开全局变量声明VI的前面板。 按照需要的数据类型加入控件 。 切换到框图程序窗口,单击全局变量图标,选择需要它指向的控件。 返回到全局变量声明VI的前面板,将该VI文件存盘,完成全局变量的建立。,(2)调用 由函数模板中的Select a VI子模板打开选择用户程序对话框,选择已经保存的全局变量声明VI程序,此时将在框图程序中显示全局变量数据端口。 如果在全局变量声明VI中建立多个控件,可以用操作工具在全局变量的图标上单击,在列出的所有变量对象中选择所需的对象。
10、,(3)使用示例 利用全局变量在不同VI中传递数据。 创建一个全局变量声明,其中包含一个数值型控件并命名为“数值”和布尔型控件并命名为“状态”,保存为“GVvi”。 新建一个VI命名为“采集信息.vi”,前面板中有一个旋钮开关和按键开关,将它们的值送到全局变量中。由函数模板中的Select a VI子模板打开选择用户程序对话框,选择“GVvi”,调用两次全局变量声明,选择全局变量的不同数据类型,对端口连线并保存VI。如图,“采集信息”框图程序,新建VI “显示信息.vi”,前面板中有一个表盘指针控件和LED控件。采用同样的方法在框图程序窗口选择创建的全局变量,并在全局变量图标上单击鼠标右键,选
11、择“Change to Read”。,“显示信息”框图程序,分别运行两个VI程序,可以发现由程序“采集信息”得到的数据,通过全局变量传递到程序“显示信息”中,实现了两个程序之间的数据传递。,前面板对象属性的动态控制,在前面板设计编程时,我们可以修改和设定对象控件的属性,但是在程序运行时能否根据需要由程序动态的改变呢? 方法是:创建对象的属性节点,通过对属性节点的“写”操作,完成对对象属性的修改。 同样通过对属性节点的“读”操作,在程序中读取对象的属性。,例:程序运行中,用Knob控件改变图形曲线的颜色,提示:建立CHART控件的属性节点 ,改为可写,并指定为曲线Plot的颜色Color属性,用
12、旋钮的值控制选择结构,分别送5种颜色值给属性节点,属性节点的建立和使用方法,在对象控件上右击,菜单中选择CreateProperty Node ,则在框图程序中建立了一个属性节点,该属性节点默认的属性是可读。 在Property Node 上右击,在弹出菜单中选择Change to write,则改为可写。 在Property Node 上右击,在弹出菜单中选择Property,弹出菜单中再选择需要控制的属性。,上机练习,1、设计VI程序,前面板中有一个数值控件和开关控件,实现在程序运行时,若修改了数值控件的值,则弹出对话框“你改变了控件的值”;当鼠标指针在开关上移动过时,弹出对话框“你的鼠标移动到了开关上面”。 2、程序运行中,用Knob控件改变图形控件中点和曲线的颜色
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年企业人力资源服务合同三篇
- 小学校食品采购验收制度
- 公司采购价格对比制度
- 建立商品采购制度
- 小学生奖品采购制度
- 成都建工招标采购制度
- 公司大型设备采购制度
- 欧洲政府进口采购制度
- 学校采购员轮岗制度范本
- 2026年广东省深圳市南山实验集团初三年级一模联考化学联考卷(无答案)
- 2026云南昆明巫家坝建设发展有限责任公司校园招聘15人备考题库【a卷】附答案详解
- 2026海洋出版社限公司面向社会公开招聘工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年华峰重庆氨纶笔试刷完稳过的真题及解析答案
- 2026年渭南职业技术学院单招职业适应性测试题库含答案详细解析
- 医疗法律法规培训课件
- 2026广东中山市神湾镇神湾社区居民委员会招聘1人考试参考题库及答案解析
- 2025年贵州省中考物理试题【含答案、解析】
- 中央空调系统设计详细计算书
- 儿科疾病作业治疗(治疗) 作业治疗课件
- 交安B、证考试题库
- 全国民用建筑工程设计技术措施 结构
评论
0/150
提交评论