第5章虚拟仪器设计基础.ppt
《第5章虚拟仪器设计基础.ppt》由会员分享,可在线阅读,更多相关《第5章虚拟仪器设计基础.ppt(93页珍藏版)》请在三一文库上搜索。
1、5.1 程序结构,LabVIEW中的结构是其他基于文本的语言中的循环、判断等结构的图形化体现。 什么是结构? 结构是控制G程序数据流程的元素,G语言包含的结构有: While loop结构 For Loop结构 条件结构 顺序结构 公式节点 事件结构,5.1.1 循环结构,LabVIEW中的循环结构主要有 While循环 For循环 For循环必须指定循环的次数,循环一定的次数后自动退出循环;而While循环则不用指定循环的次数,只需要指定循环退出的条件。,1. For循环,For循环(For Loop)是将某程序段重复执行预先设定的次数. For(i =0;iN;i+) 循环体; ,包含两个
2、端口: 计数端口N 重复端口i,移位寄存器,创建移位寄存器的方法是在循环框图的左边或右边单击鼠标右键,在弹出的快捷菜单中选择【添加移位寄存器】,可创建一个移位寄存器 移位积存器的功能是将第i-1, i-2, i-3次循环的计算结果保存在缓冲区内,并在第i次循环时将、移位寄存器中送出,供节点使用,其中,i=0,1,2,3 。,FOR循环应用举例,例5.1 求,前面板和程序框图,1+2+3+100=? 问题:为何i 要加1?,FOR循环应用举例,例5.3 求N!,如果N=5 54321=120 问题:为何寄存器初始值为1?不设呢?,FOR循环应用举例,例5.2 求一组随机数的最大值和最小值。,前面
3、板和程序框图,2. While循环,当循环次数不能预先确定时,用While循环( While Loop )。相当于C语言While循环和do循环。 While(条件) do 循环体; 循环体; While(条件),Whlie循环结构,Whlie循环两个端口:条件端口和重复端口i 条件端口输入的是布尔变量,它用于判断循环在什么条件下停止执行。它有两种使用状态:Stop if True和Continue if True 重复端口i 为当前循环的次数。,例5.1 求,Whlie循环结构,思考:为什么是99,不是100?,While循环应用示例,例5.3 求N!,前面板和程序框图,思考:为什么选择Co
4、ntinue if True,如果选择Stop if True呢?,小试身手,求分数序列 前20项之和?,5.1.2 条件结构,条件结构类似于文本编程语言中的switch语句或if.then.else语句。,选择端口相当于C语言的Switch语句中的“表达式”,框图表示符相当于“表达式n”。将外部控制条件连接至选择端口上,程序会自动判断控制条件,引导选择结构执行相应框架中的内容。,选择端口的外部控制条件的数据类型有整型、布尔型、字符串型和枚举型。,条件结构应注意的问题,控制条件的数据类型必须与图框标识符中的数据类型一致 必须包含处理超出范围值的默认分支,对于其它类型的条件可设或不设,但必须明确
5、地列出每一个可能的输入值。,条件结构的数据输入和输出通道,当由外部节点向结构框架连线时,在结构边框就创建了输入通道,而当由框内内节点与边框连线时,在结构边框就建立了输出通道。 对所有条件分支来说对于输入通道的数据可以使用,也可以不使用。 只要有一个分支提供输出数据,所有分支条件都必须与输出通道连接 。,条件结构应用举例,例5.4 求一个数的平方根,若该数 0,计算该值平方根并将计算结果输出;若该数 0 时,输出错误代码“-999.00”。,框图程序,运行结果,条件结构应用举例,例5.5 利用条件结构编写温度采集报警程序,当采集温度高于设定值时产生报警。,前面板和程序框图,条件结构应用举例,条件
6、结构应用举例,小试身手,给出一百分制成绩,要求输出等级A,B,C,D,E。90分以上为A,8089为B,7079为C,6069为D,60分以下为E。,5.1.3 顺序结构,LabVIEW顺序结构的功能是强制程序按一定的顺序执行。顺序结构包含一个或多个按顺序执行的子程序框图或帧。 LabVIEW提供了两种顺序结构: 平铺式顺序结构 层叠式顺序结构,顺序结构应用举例,思考:写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节,顺序结构应用举例,例5.6 计算生成等于某个给定值的随机数据所用时间。,层叠式顺序结构VI的程序框图,5.1.4 事件结构,事件是对活动发生的异步通知
7、。事件可以来自于用户界面、外部I/O或程序的其他部分。用户界面事件包括鼠标点击、键盘按键等动作。 LabVIEW应用程序在没有事件发生时处于休息状态,直到前面板窗口中有一个事件发生为止。,1. 事件结构的组成,事件结构包含超时端口和事件端口,事件选择器标签表明由哪些事件引起了当前分支的执行。,事件超时接线端用于设置事件结构在等待指定事件发生时的超时时间,事件数据节点用于输出事件的参数,端口数目和数据类型根据事件的不同而不同。,2. 事件结构的使用,用户界面事件有两种类型:通知事件 过滤事件,通知事件表明某个用户操作已经发生,比如用户改变了控件的值。,过滤事件将通知用户LabVIEW在处理事件之
8、前已由用户执行了某个操作,以便用户就程序如何与用户界面的交互作出响应进行自定义。,编辑事件对话框,通过编辑事件对话框,可以设定某个事件结构分支响应的事件。,事件结构应用举例,例5.7 利用事件结构演示用鼠标单击前面板窗口时,发生鼠标按下事件并处理鼠标按下事件。,询问对话框,事件结构VI的程序框图,事件结构应用举例,5.1.5 公式节点,公式节点:一种专用于处理数学公式编程的特殊结构形式。在公式节点框架内。LabVIEW允许用户像书写数学公式或方程一样,直接编写数学处理节点,形式与标准C语言类似。 公式节点的创建通常按以下步骤进行,第一步创建公式节点,第二步添加输入、输出端口,第三步输入程序代码
9、,公式节点的应用,例5.8 输入三角形的三边长,求三角形面积。,基本公式节点框架中出现的所有变量,必须有一个相对应的输入端口或输出端口,否则,LabVIEW会报错。,前面板和程序框图,5.2 字符串、数组和簇,字符串、数组和簇是LabVIEW中的三种数据类型。 字符串是ASCII码集合 数组与其他编程语言中的数组概念是相同的 簇相当于C语言中的结构数据类型。,5.2.1 字符串,字符串是可显示的或不可显示的ASCII字符序列。 在前面板上,字符串以表格、文本输入框和标签的形式出现。LabVIEW提供了用于对字符串进行操作的内置VI和函数,可对字符串进行格式化、解析字符串等编辑操作。,1. 字符
10、串显示类型,字符串有4种显示类型,2. 字符串函数,LabVIEW8.2的字符串子选板中有多个字符串处理函数,3. 字符串应用举例,例5.9 将一些字符串和数值转换成一个新的输出字符串。,VI的功能是将浮点型数据12.3转换为 “12.300”,单位为“V”,结果显示“Voltage=12.300V”的组合字符串。,前面板和程序框图,5.2.2 数组,数组是相同类型数据元素的有序集合。 一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。可以通过数组索引访问其中的每个元素。 索引的范围是0到n 1,其中n是数组中元素的个数。,1. 数组的创建,有2种方法: 前面板上创建数组 程
11、序框图上创建数组 一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。,(1)前面板上创建数组,方法是:在前面板上放置一个数组框架,然后将一个数据对象或元素拖曳到该数组框架中。数据对象或元素可以是数值、布尔、字符串、路径、引用句柄、簇输入控件或显示控件。,数组初始化,利用操作工具,对元素赋值。,(2)程序框图上创建数组,首先在数组函数子选板上选择“数组常量”,在程序框图上创建一个数组外壳,然后可以在数组外壳里选择放入数值型常量、字符串型常量、布尔型常量以及枚举等。,2. 数组函数,LabVIEW8.2在数组函数子选板中给出了大
12、量的数组处理函数,数组函数子选板如图,3. 数组应用举例,例5.10 求一个一维数组和一个二维数组的长度,前面板和程序框图,数组函数应用,例5.11 利用创建数组函数组建数组。,前面板和程序框图,数组函数应用,例5.12 从一个二维数组中取出一部分元素。,前面板和程序框图,5.2.3 簇,什么是簇? 簇是由不同类型的数据元素组成的一种数据类型。 簇是LabVIEW中一个比较特别的数据类型。,1. 簇的创建,(1)前面板上创建簇 在前面板上放置一个簇框架,再将一个数据对象或元素拖曳到簇框架中。,簇输入控件 簇显示控件,(2)程序框图上创建簇,从函数选板中选择一个簇常量,将该簇框架放置于程序框图上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟仪器 设计 基础
链接地址:https://www.31doc.com/p-2257070.html