




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 结构学习目的: 学习For 循环、While循环、Case 结构和顺序结构 了解在 LabVIEW 中如何使用定时函数 了解移位寄存器的应用 熟悉公式节点 鉴别常见的结构连线错误 本地变量和全局变量5.1 For 循环 For循环用于将某段程序执行指定次数。和While 循环一样,它不会立刻出现在框图中,而是出现一个小的图标,而后您可以修改它的大小和位置。具体的方法是,先单击所有端子的左上方,然后按下鼠标,拖曳出一个包含所有端子的矩形。释放鼠标时就创建了一个指定大小和位置的For循环。For Loop For循环有两个端子:计数端子(输入端子)和重复端子(输出端子)计数端子N:要执行循
2、环的次数 0将不执行重复端子i:已执行循环的次数 0-N-1次例:例:5.2 While 循环 While 循环可以反复执行循环体的程序,直至到达某个边界条件。While 循环的框图是一个大小可变的方框,用于执行框中的程序,直到条件端子接收到的布尔值为 FALSE。 While循环有两个端子:条件端子(输入端子)和重复端子(输出端子)。 循环变量条件端子该循环有如下特点: 计数从0开始(i=0)。 先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。 循环至少要运行一次。条件端子输入的是布尔变量,它用于判断循环在什么条件下停止执行。它有两种使用状态:Stop if True和C
3、ontinue if True 重复端子i为当前循环的次数。输入端子放在循环外部,只在循环运行前读入一次。例:产生随机数For 循环和While循环的索引注:自动索引:循环次数由数组长度决定,多个数组输入由最小的决定。 禁止索引:循环次数有计数端子决定。5.3 移位寄存器和反馈节点 移位寄存器可以将数据从一个循环周期传递到另外一个周期。在程序设计中,经常要用到它创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择 添加移位寄存添加移位寄存器器。 移位寄存器在框图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被
4、转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。下图表示了它的工作过程。 通过设置移位寄存器,可以保留前面多次循环的数据值。添加多个移位寄存器的左端子,只能有一个右端子。举例: 在For循环或While循环中,反馈节点用于将子VI、函数或一组子VI和函数的输出连接到同一个子VI、函数或组的输入上即创建反馈路径。举例:反馈节点的不同实现例例 求求 1001nn5.4 分支结构:Case Case结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布
5、尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:真、假或、。按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。子程序标识按钮条件端子1 添加和删除分支 指定默认分支。2 连接输入和输出 对所有条件分支来说对于输入通道的数据可以使用,也可以不使用。如果任何一个分支提供了输出数据,则所有分支也都必须提供。条件结构应注意的问题条件结构应注意的问题:在使用选择结构时,控制条件的数据类型必须与图框标识符在使用选择结构时,控制条件的数据类型必须与图框标
6、识符中的数据类型一致。二者若不匹配,中的数据类型一致。二者若不匹配,LabVIEW 会报错,图框会报错,图框标识符中字体的颜色将变为红色。标识符中字体的颜色将变为红色。在在 LabVIEW 中,对于数值型条件必须包含处理超出范围值中,对于数值型条件必须包含处理超出范围值的默认分支,对于其它类型的条件可设或不设,但必须明确的默认分支,对于其它类型的条件可设或不设,但必须明确地列出每一个可能的输入值。地列出每一个可能的输入值。例:利用条件结构编写温度采集报警程序,当采集温度高于设定值时产生报警。 练习: 设计一个评分程序,输入不同的分数会得到不同的评论。分数小于60,“警告”指示灯会亮起来,同时显
7、示字符串“你没有通过考试!”;分数在6099之间,“通过”指示灯会亮起来,同时显示字符串“你考试通过了!”;分数为100,“恭喜”指示灯会亮起来,同时显示字符串“你是第一名!”;如果输入为0100以外的数字,会有错误提示,同时显示字符串“错误!”。5.5 顺序结构(Sequence Structure) 在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,但LabVIEW中不同,它是一种图形化的数据流式编程语言。在图中,假设有A、B、C、D个节点,其数据流向如图所示。按照数据流式语言的约定,任何一个节点只有在所有的输入数据有效时才会执行,所以图中,当且仅当A、B、C个节点执行完,
8、使得D节点的个输入数据都到达D节点后,D节点才执行。但是你要注意,这里并没有规定A、B、C个节点的执行顺序。在LabVIEW中这种情况下,A、B、C的执行顺序是不确定的,如果你需要对它们规定一个确定的顺序,那就需要使用本节介绍的“顺序结构”。 ADCB平铺式平铺式选择标签选择标签注:顺序结构输出隧道只能有一个数据源。 要想节约框图空间选用叠层顺序结构,使用单层顺序结构可以避免使用局部变量。避免过度使用顺序结构。例:计算生成等于某个给定值的随机数据所用时间例:计算生成等于某个给定值的随机数据所用时间5.6 公式节点(公式节点(Formula Node) 公式节点是一个大小可变的方框,可以利用它直
9、接在流程图中输入公式。从函数选板结构中选择公式节点就可以把它放到流程图中。当某个等式有很多变量或者非常复杂时,这个功能就非常有用。例如等式:y = x2 + x + 1使用公式节点可以表示为: 公式节点的创建通常按以下步骤进行公式节点的创建通常按以下步骤进行第一步创建公式节点第一步创建公式节点 第二步添加输入、输出端口第二步添加输入、输出端口 第三步输入程序代码第三步输入程序代码 使用文本编辑工具来输入公式。创建公式节点的输入和输出端子的方法是,从节点边框上弹出快捷菜单中,选择添加输入 (添加输出)。再在节点框中输入变量名称。变量名对大小写敏感。然后就可以在框中输入公式。每个公式语句都必须以分
10、号(;)结尾 。 注:公式节点中使用的每一个变量必须声明为输入或输出之一,两个输入或输出不能具有相同的名字。abs(x)绝对值函数绝对值函数ln(x)自然对数函数自然对数函数exp(x)指数函数指数函数log(x)对数函数对数函数sin(x)三角函数三角函数max(x) min(x)返回返回x,y中的最大和最小值中的最大和最小值pow(x)返回返回x的的y次方次方rand(x)产生产生(0,1)区间上的随机数区间上的随机数Int(x)返回距返回距x最近的整数最近的整数mod(x)求模运算求模运算ceil(x)返回大于返回大于x的最小整数的最小整数pisqrt(x)求求x的平方根的平方根+ -
11、* /四则运算四则运算!= =不等于不等于 等于等于位异或位异或&逻辑与逻辑与*求幂求幂函数名函数名说明说明函数名函数名说明说明abs(x)绝对值lnp1(x)返回ln(x)+1acos(x)反余弦,x弧度log(x)以10为底对数acosh(x)反双曲余弦,x弧度log2(x)以2为底对数asin(x)反正弦max(x,y)xy中最大值者asinh(x)min(x,y)xy中最小值者atan(x)反正切函数mod(x,y)求模,xy的整数值 atanh(x)反双曲正切pi(x)X*ceil(x)返回大于1的最小整数pow(x,y)xyci(x)余弦积分,x为非负实数rand( )(0
12、,1)区间的随机数cos(x)余弦函数rem(x,y)返回xy的余数cosh(x)双曲余弦sec(x)正割cot(x)余切函数sign(x)符号csc(x)余割函数sin(x)正弦,x弧度exp(x)指数函数sinc(x)sin(x)/xexpm1(x)exp(x)-1sinh(x)双曲正弦floor(x)返回小于x的最大整数sqrt(x)平方根int(x)返回距x最近的整数tan(x)正切intrz(x)返回0-x间最近的整数tanh(x)双曲正切ln(x)自然对数函数公式节点的运算符公式节点的运算符运算符运算符说明说明运算符运算符说明说明?:?:条件赋值条件赋值大于等于大于等于&逻
13、辑与逻辑与小于等于小于等于逻辑或逻辑或算术移位(右移)算术移位(右移)!逻辑非逻辑非算术移位(左移)算术移位(左移)&位与位与加加位或位或减减位异或位异或*乘乘!不等于不等于除除等于等于加加1大于大于减减1小于小于*乘方乘方计算y=x-e*sin(x) (0e1)练习练习:创建一个创建一个VI,它用公式节点计算下列等式:,它用公式节点计算下列等式:y1 = x 3 x 2 + 5y2 = m* x + b x的范围是的范围是从从0到到10。可以对这两个公式。可以对这两个公式使用同一个公式节点使用同一个公式节点,并在同一个图表中显示结果。并在同一个图表中显示结果。5.8 结构连线中的一些
14、常见问题 给顺序结构局部变量多次复制对顺序结构中的多个帧进行连线未在Case结构的所有分支中连接隧道隧道重叠创建隧道5.9本地变量和全局变量 局部变量和全局变量是LabVIEW用来传递数据的工具。LabVIEW编程是一种数据流编程,它是通过连线来传递数据的。但是如果一个程序太复杂的话,有时连线会很困难甚至无法连线,这时就需要用到局部变量。另外,需要在两个程序之间交换数据时,靠连线的方式是无法实现的,在这种情况下,就需要使用全局变量。 本地变量相当于传统编程语言中的局部变量,可以在同一个程序内部使用。 创建局部变量的方法有两种创建局部变量的方法有两种: :(1 1)直接为前面板对象创建局部变量)
15、直接为前面板对象创建局部变量(2 2)通过函数选板创建局部变量)通过函数选板创建局部变量 注意:局部变量具有读、写两种属性注意:局部变量具有读、写两种属性例:采集产生一个随机数,大于等于0.5LDE灯亮 局部变量的特点:(1)局部变量只能在同一个)局部变量只能在同一个VI中使用,其生存期与它中使用,其生存期与它所在的所在的VI模块密切相关,模块密切相关,VI停止运行,在此停止运行,在此VI内定义的内定义的局部变量自动消失。局部变量自动消失。(2)局部变量必须依附在一个前面板对象上。一个前)局部变量必须依附在一个前面板对象上。一个前面板对象可以建立多个局部变量,但一个局部变量只能面板对象可以建立
16、多个局部变量,但一个局部变量只能有一个端点与其对应。有一个端点与其对应。(3)局部变量就是其相应前面板对象的一个数据拷贝,)局部变量就是其相应前面板对象的一个数据拷贝,要占用一定的内存。要占用一定的内存。 全局变量可以在不同的全局变量可以在不同的VIVI之间进行数据传递。之间进行数据传递。全局变量是内置的全局变量是内置的LabVIEWLabVIEW对象。创建全局变量时,对象。创建全局变量时,LabVIEWLabVIEW将自动创建一个前面板但无程序框图的特将自动创建一个前面板但无程序框图的特殊全局殊全局VIVI。向该全局。向该全局VIVI的前面板添加输入控件和的前面板添加输入控件和显示控件可定义
17、其中所含全局变量的数据类型。显示控件可定义其中所含全局变量的数据类型。 1.创建全局变量创建全局变量 (1)新建一个)新建一个VI,从函数选板的结构子选板中选,从函数选板的结构子选板中选择一个全局变量,将其放置在程序框图中择一个全局变量,将其放置在程序框图中 (2)使用操作工具双击全局变量节点,会自动打)使用操作工具双击全局变量节点,会自动打开全局变量开全局变量VI的前面板,然后在前面板上放置所的前面板,然后在前面板上放置所需的控制或显示对象需的控制或显示对象 (3)保存全局变量文件。方法是在主菜单中选择)保存全局变量文件。方法是在主菜单中选择【文件】【文件】【保存】。然后关闭全局变量的前面【
18、保存】。然后关闭全局变量的前面板窗口。板窗口。 (4)使用操作工具单击第一步所创建的全局变量)使用操作工具单击第一步所创建的全局变量图标,或在其右击弹出快捷菜单中选择【选择图标,或在其右击弹出快捷菜单中选择【选择项】,弹出的子菜单列出了全局变量所包含的所项】,弹出的子菜单列出了全局变量所包含的所有对象的名称,根据需要选择相应的对象。有对象的名称,根据需要选择相应的对象。 2. 全局变量的调用全局变量的调用(1 1)在)在VI VI 的功能模板上选择【选择的功能模板上选择【选择VIVI】,在弹】,在弹出的【选择需打开的出的【选择需打开的VIVI】对话框中,选择所需的】对话框中,选择所需的全局变量声明文件,单击确定按钮,在程序框图全局变量声明文件,单击确定按钮,在程序框图中放置这个全局变量;中放置这个全局变量;(2 2)右击全局变量节点,在弹出的快捷菜单上选取)右击全局变量节点,在弹出的快捷菜单上选取【选择项】,在列出的所有变量对象中选择所需【选择项】,在列出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同范例完整填写版
- 人员借用合同范本
- 北辰区家具运输合同范本
- 个体商会活动合同范本
- 合同范本修订计划
- 商场土地出租合同范本
- 合伙买卖土地合同范本
- 咨询费合同范本
- 商品方认购合同范本
- 仓库保安雇佣合同范本
- 1.1 都匀毛尖茶概况
- 20CJ96-1外墙内保温建筑构造(一)FLL预拌无机膏状保温材料内保温构造
- 《研学旅行课程设计》课件-理解研学课程设计内涵
- 《西式点心制作》课件-抹茶戚风蛋糕卷
- MOOC 体能攻略-浙江工商大学 中国大学慕课答案
- 部编版二年级语文下册第一单元大单元整体作业设计
- 中国十五冶招聘线上笔试测评题库
- xx基层团支部建设培训
- 2020年山西省公务员录用考试《行测》真题及答案
- 2024年内蒙古医疗机构放射工作人员放射防护培训考试题
- 关于某工厂减免部分利息的申请
评论
0/150
提交评论