labview第四讲 程序结构.ppt
- 格式:ppt
- 大小:434.00 KB
- 文档页数:44
计算机虚拟仪器图形编程LabVIEW实验教材北京中科泛华测控技术有限公司目录第一课LABVIEW概述 (4)第一节虚拟仪器(VI)的概念 (4)第二节L AB VIEW的操作模板 (6)工具模板(Tools Palette) (6)控制模板(Controls Palette) (8)功能模板(Functions Palette) (9)第三节创建一个VI程序 (11)1. 前面板 (11)框图程序 (12)从框图程序窗口创建前面板对象 (14)4. 数据流编程 (14)第四节程序调试技术 (15)1. 找出语法错误 (15)2. 设置执行程序高亮 (15)3. 断点与单步执行 (16)4. 探针 (16)第五节练习1-1 (16)第六节把一个VI程序作为子VI程序调用 (20)第七节练习1-2 (21)第八节练习1-3 (24)第九节练习1-4 (26)第十节练习1-5 (29)第二课数据采集 (33)第一节概述 (33)第二节数据采集VI程序的调用方法 (36)第三节模拟输入与输出 (37)练习2-1 (38)第四节波形的采集与产生 (41)练习2-2 (42)第五节扫描多个模拟输入通道 (43)练习2-3 (44)第六节连续数据采集 (45)练习2-4 (46)第三课仪器控制 (48)第一节概述 (48)第二节串行通讯 (48)第三节IEEE488(GPIB)概述 (50)练习3-1 (52)第四节VISA编程 (53)练习3-2 (55)第五节用L AB VIEW编写仪器驱动程序 (58)第六节验证仪器驱动软件 (58)练习3-3 (60)第四课分析软件 (63)第一节概述 (63)第二节、高级分析功能程序 (63)第三节信号产生 (64)练习4-1 (65)第四节信号处理 (66)练习4-2 (67)第五节数字滤波器 (68)练习4-3 (69)第六节曲线拟合 (71)练习4-4 (72)练习4-5 (74)第五课实用工具软件包 (77)第一节概述 (77)第二节常用软件工具箱 (77)第三节分析工具软件 (80)第一课LabVIEW概述第一节虚拟仪器(VI)的概念使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。
执行结构:详细说明While循环与文本编程语言中的Do循环或Repeat-Until循环类似,必须满足特定条件之后,While循环才会执行其内的程序代码,如图1所示。
图1. LabVIEW中的While循环;具备While循环功能的流程图;还有While循环功能的伪码范例While 循环位于Structures面板上。
从面板上选择While Loop之后,针对所要重复的代码区块,可用鼠标拖拽出矩形并将之圈住。
放开鼠标之后,即会有While循环圈住用户所选的区块。
只要将对象拖拽至While循环中,即可将其新增至While循环中。
只要条件接线端接收特定的布尔值之后,While循环随即执行代码也可通过While 循环的条件接线端来处理基本错误。
若将错误簇连接至条件接线端,则只有Status参数的真或假值传送至接线端。
同样,Stop if True和Continue if True快捷菜单项目,将分别变更为Stop if Error和Continuewhile Error。
计数接线端属于输出端点,其中包含已完成的循环次数。
While循环的循环计数均从零开始。
注意: While循环将至少执行一次。
无限循环无限循环为常见的程序错误,即无法停止的循环。
若条件接线端 i为True时停止,而用户又在While循环外部放置布尔控件接线端。
一旦循环开始,控件值即成为FALSE,就会形成无限循环。
图2.While循环之外的布尔控件因为在循环开始之前,仅读取该值一次,所以改变控件的值并无法停止无限循环。
若要通过控件停止While循环,则必须在循环中配置控件接线端。
若要停止无限循环,则按下工具栏上的Abort Execution按钮,即可终止该VI。
在图3中的While 循环将不断执行,直到随机数函数的输出大于或等于10.00,且Enable控件为TRUE时才会停止。
当且仅当“与”函数的两个输入都为真时,函数的返回值才为真。
labview控制程序流程——labview事件结构1 事件结构及它的图形化表示法事件被用来通知用户有异步活动发生。
图形化语言的事件响应包括:用户界面事件、外部I/O 事件和程序其它部分的事件。
对事件的处理程序也被称为:事件驱动程序。
事件驱动程序可以分为若干个分支,每个分支处理不同的事件响应。
所以对事件的响应结果也可以控制程序的流程。
事件驱动机制来自于可视化的操系统,可视化操作系统对用户事件提供了简洁、有效的响应方式,最常见的事件来自于鼠标和键盘。
虚拟仪器借助于操作系统的事件处理机制实现了图形化语言的事件响应能力。
在没有引入事件结构之前,LabVIEW 是借助于轮询的方式来查询用户操作,由于轮询的方式会占用一定的CPU 资源,甚至可能遗漏事件,所以这种处理方式并非理想。
事件结构的出现避免了对CPU 资源的占用,同时也避免了事件的遗漏。
事件结构在函数选板》编程》结构子选板中可以找到,并可以将其直接拖拽到程序框图中,图形化表示的事件结构,参见下图。
图 1 图形化的事件结构与Case 结构和循环结构类似,事件结构也包含了一个主框架,这个框架内将用来放置事件处理的事件驱动程序代码。
如果事件处理任务众多,会有众多事件分支存在,在结构上类似Case 的多帧结构(选择器标签)。
当在程序框图上拖放一个事件结构时,我们只能看到上图所示的一帧已经预先注册的超时事件(Timeout),超时事件分支。
它具有定时延迟的基本功能(不包括While 循环),参见下图。
图 2 具有定时延迟的基本功能当然也可以采用另一种表示方法,参见下图。
图 3 利用事件结构内部节点获得中止时间通过这个例子也好理解内部节点中时间的含义(是事件响应的停止时间)。
超时事件超时事件是一种特殊的事件,当然也可以看成是默认的事件分支。
如果存在其它事件源时,超时事件完全可以被忽略或取消。
看下面一个例子。
图 4 仅有的两个事件之一超时事。
labview事件结构使用方法在LabVIEW中,事件结构是一种可以按照事件的发生改变程序流程的数据结构,可以通过人机互动或者事件干预的方式产生事件驱动,在LabVIEW中是一种常用的数据结构,下面我就来讲解一下其具体的使用方法。
一、事件结构的使用目的在LabVIEW中一个重要的概念就是数据流,我们在编程的时候可以来设置某些事件来对数据流进行干预,比如说单击鼠标产生事件,按下键盘按键等,这些都可以被当作为事件结构的条件,进而实现对程序的控制。
二、事件结构的创建方法1.在程序窗口中的空白处单击鼠标右键,在弹出的函数选板中选择<结构>子选板,然后再选择<事件结构>并将其拖到程序框图中即可。
2.最基本的事件结构是由<程序框架>、<子框图标识符>和<事件数据节点>组成。
3.在刚创建事件结构时,会自动的创建一个<超时端口>,<超时端口>用于连接一个数值指定等待事件的毫秒数,如果超过设定的时间没有发生事件的话,程序就会产生一个超时事件。
4.<事件数据节点>用于访问事件的数据值,可以单击节点中的数据项,然后在弹出的菜单中,选择<选择项>,可以进行选择访问哪个事件数据的成员。
5.在事件结构的边框上单击鼠标右键,在弹出的菜单中选择<添加事件分支>,即可完成子框图的添加。
三、对事件进行编辑1.换到要进行编辑的子框图中,在边框上单击鼠标右键,在弹出的快捷菜单中选择<编辑本分支所处理的事件>选项,打开<编辑事件>对话框。
2.在<编辑事件>界面中可以对相应的事件源和事件进行定义,在左侧的<事件说明符>下面点击<添加事件>或者<删除>即可相应的改变事件数量。
在<事件源>和<事件>两个子窗口中分别选中相应的对象,左侧的<事件说明符>下面就会出现两者的组合,点击<确定>,此子事件框图就可以完成编辑。
Labview事件结构例⼦,创建两个按键,当没有按下按键1时,按键2⽆法被按下并显⽰为灰⾊。
当按下按键1后,按键2允许被操作。
继续按下按键2,弹出对话框“”按下按键2“思路:利⽤顺序结构,先禁⽤按键2,并以按下按键1为事件结构的触发事件,按下按键1后,使能按键2。
以按下按键2为条件结构的触发条件,真时弹出对话框。
遇到的难点:事件结构的操作。
⾸先,我们利⽤按键属性节点中的“”禁⽤“,可以编程按键的使能和使能。
创建禁⽤节点如下,共有三个选项可以选择帮助信息:这⾥我们在顺序结构的第⼀帧⾥先失能按键2.然后第⼆帧⾥因为要以按键1按下作为触发事件,所以要⽤到事件结构。
⽽时间结构必须要搭配while循环使⽤。
这⾥要注意这样连线并不意味着就讲“按键1按下”与结束while联系起来了,还必须对本分⽀进⾏编辑!!打开后如下图所⽰我们先添加事件,然后选择事件源。
这⾥我们利⽤按键1的值改变。
这样编辑之后,由于我们没有为事件结构添加等待时间(永不超时),所以只有按下按键1之后,才会退出while循环。
进⼊下⼀帧,我们先使能按键2然后添加条件结构,添加对话框并添加⽂本。
那么整体程序框图如下学习总结:labview中事件结构与wihle循环⼀起使⽤。
由于事件源很丰富,所以事件结构常常使⽤。
在事件结构编辑事件源,并将其连接⾄while循环条件。
可以添加多个事件分⽀,⽽且可以配置结构等待事件的时间作为⼀个分⽀:超时时间等于事件结构等待⼀次事件的时间,在超时时间内没有等到事件则执⾏[超时]事件例如我们单独为超时事件这样设置⼀个分⽀,那么在2s后该分⽀⾃动赋真值给结束按钮。