首页 虚拟仪器第4章电子教案

虚拟仪器第4章电子教案

举报
开通vip

虚拟仪器第4章电子教案第4章程序结构本章内容4.1顺序结构(SequenceStructure)4.2For循环4.3While循环4.4Case结构4.5事件结构(EventStructure)4.6公式节点(FormulaNode)4.7跟着实例学—模拟温度采集监测系统4.1顺序结构(SequenceStructure)LabVIEW是一种数据流程序设计语言,没有明确的先后顺序,当节点所有输入端的数据全部有效时,节点才执行。Sequence结构,它是一种先后顺序执行的结构,看上去象电影胶片的帧(Frame),每一帧为一段框图程序,按...

虚拟仪器第4章电子教案
第4章程序结构本章内容4.1顺序结构(SequenceStructure)4.2For循环4.3While循环4.4Case结构4.5事件结构(EventStructure)4.6公式节点(FormulaNode)4.7跟着实例学—模拟温度采集监测系统4.1顺序结构(SequenceStructure)LabVIEW是一种数据流程序设计语言,没有明确的先后顺序,当节点所有输入端的数据全部有效时,节点才执行。Sequence结构,它是一种先后顺序执行的结构,看上去象电影胶片的帧(Frame),每一帧为一段框图程序,按照帧(Frame)的顺序来执行框图程序。两种形式顺序结构,FlatSequenceStructure平铺式顺序结构和StackedSequenceStructure层叠式顺序结构。功能相同,区别仅在于表现形式不同。1.顺序结构的创建在函数 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 的Structures子模板中选择创建顺序结构。选取StackedSequenceStructure层叠式顺序结构。在结构边框上面单击鼠标右键,从弹出的快捷菜单中选择“AddFrameAfter”或“AddFrameBefore”可以增加子图形代码框。在结构边框上右击弹出的快捷菜单,选择Replace→ReplacewithFlatSequence,可以将层叠式顺序结构变换为平铺式顺序结构2.顺序结构的工作方式数据传递至顺序结构时,层叠式从标识0开始执行,依次顺序执行;平铺式从左至右执行所有子图形代码框。从结构外面向顺序结构写数据时,可连接可不连接这个数据通道;但是当顺序结构向外输出数据时,各个图形代码框中只能有一个连接这个数据通道。代码框之间的数据传递,平铺式可从一帧直接连线到另一帧来传递数据,层叠式则需要通过局部变量——SequenceLocal来传送数据。在层叠式顺序结构的边框上面右击,选择AddSequenceLocal即可在当前帧创建一个顺序局部变量端口。将本帧中的数据连接到该局部变量端口,该数据就可传到后面的帧,该数据不会作用到它前面的帧。如下图示意了层叠式顺序结构通过局部变量传递数据的情况。在标识是1号帧的一个数据传递到标识是2号的帧进行“或”运算,0号帧不能使用该数据。例:使用Sequence结构,设计一个VI,计算产生一个与指定的数字相等的随机数所需花费的时间。读取定时器的当前值VI程序每隔10ms执行循环四舍五入取整ContinueifTure4.2For循环1.For循环的组成基本的For循环由循环框架(LoopFrame)、重复端口(LoopIteration)和计数端口(LoopCount)组成。For循环执行的是包含在循环框架内的程序,其重复端口初始值为0,每次循环的递增步长为1。其计数端口在程序运行前必须赋值。循环框重复端口计数端口2.For循环的工作流程For循环用于将结构中的程序循环执行指定的次数。在开始For循环之前,从循环次数端口读入循环次数,计数端口输出0值。接下来执行For循环框内框图代码程序,每执行一次计数端口值自动加1。循环次数达到设定值后,退出循环。3.For循环的数据通道与自动索引数据通道是用连线工具连接循环框内外的数据端口时,在框架上自动形成的方形通道图标。图标空心表明此时数据通道具有自动索引功能,实心图标不能索引。自动索引是指将循环框外面的数组成员逐个依次进入循环体内,或将循环框内的数据累加成一个数组输出到循环框外面。当将一个数组连接到For循环上供For循环内的节点使用时,For循环可以自动检测该数组的长度,执行相应次数的循环,并按顺序将数组内的元素一一取出。若有两个不同长度的数组同时连接到For循环上,并且其框架通道的属性都为EnableIndexing,For循环会按最少的循环次数执行。例如:下图中通道自动索引功能有效时,每一次循环产生一个新的数据,存储在循环的边框通道上,待循环结束以后,产生的6个数据将传送到一个数组指示器中。自动索引功能无效时,只有最后一次For循环产生的1个随机数传到循环外。空心实心4.移位寄存器创建:右击边框,弹出一个菜单,选择AddShiftRegister选项,可添加一个移位寄存器。用途:主要用于While循环和For循环,将上一次循环的值传给下一次循环。数据类型:数字型、布尔型、字符串等。初始化:在循环外将初始值连到移位寄存器的左端口,有默认初值。还可以存储前几次循环的值,在移位寄存器的左端口或右端口上右击鼠标弹出菜单,选择AddElement选项,可创建附加的左端口来存储前几次循环的值。5.反馈节点功能:在循环中,将数据从一次循环传递到下一次循环。反馈节点箭头的方向表示数据流的方向。反馈节点和移位寄存器可以互换,在反馈节点或移位寄存器图标上弹出快捷菜单选ReplacewithshiftRegister或ReplacewithFeedbackNode即可。移位寄存器左端口多于1个时不能转换为反馈节点。下面是用局部变量、移位寄存器和反馈节点实现10次a++的框图程序。4.3While循环While是条件循环结构,即为一种无限循环结构,类似于C语言中的DoWhile结构。For循环和While循环的区别:For循环要执行预先指定的循环次数。而While循环只有在条件端口接收到的值为False时才停止循环。While循环不必知道循环次数。While循环不满足条件也要执行1次。For循环当N<1时1次都不执行1.While循环的创建While循环由循环框、条件端口和计数端口组成。循环框条件端口计数端口2.While循环的工作流程条件端口控制循环的停止与否。条件端口有两种状态:当使用状态为StopifTrue时,若输入值为Ture,则停止循环。若输入值为False,则继续执行下一次循环。当使用状态为ContinueifTrue时,若输入值为Ture,则继续执行下一次循环。若输入值为False,则停止循环。循环结束后,才去检测条件端口的值,因此不管条件是否成立,循环至少要执行一次。计数端口用于统计循环执行的次数,While循环每执行一次,计数端口的值就加1。计数端口从零开始计数,也就是说,在第一次循环结束时,计数端口的值为0,如果循环执行了10次,则计数端口的值为9。While循环也具有数据通道索引和移位寄存器、反馈接点的功能,它们的用法与For循环相同,只是While循环的边框数据通道默认为不能索引。用While循环实现求X的立方和4.4Case结构Case结构类似于C语言中的Switch结构,是一个多分支选择结构。它根据输入值决定程序进入不同的分支流。Case结构含有两个或者更多的程序分支,执行哪一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。1.Case结构的创建Case结构由选择框架、选择端口、选择器标签,以及递增/递减按钮组成。选择标签递增按钮递减按钮选择框架选择端口2.Case结构的工作流程Case结构有一个条件选择端口(Selector),根据连到该端口的值来判断执行哪一个子Case。Selector端口的数据类型有布尔型、数字型和字符串型。3.设置选择结构的默认项应设置一个默认项来处理超出条件选项范围的情况。设置选择结构默认项的方法是在选择结构边框上单击鼠标右键,选择MakeThisTheDefaultCase。4.选择结构数据通道的设置输入数据时,每个子Case框可连可不连数据通道。输出数据时,每个子Case框必须为通道连接数据。否则程序不能运行,这时通道的图标是空心的,只有为每个子Case框的数据端口都连接数据后,图标才变成实心。UseDefaultifUnwired可使程序中没有连线的子Case框输出默认值。CASE0(Add),VI就进行加法运算,CASE1,则VI将进行减法运算。使用了一个数字型TextRing控制器(在控制模板中的Ring&Enum子模板中)注意:当在一个子Case中建立了一个输出数据通道后,必须给每一个子Case定义输出数据通道。设定默认的子CASE,当所有条件都不满足时,执行默认子CASE例子4.5事件结构(EventStructure)对事件的处理能力,这些时间包括鼠标时间(单击、双击等)、键盘事件、选单事件、窗口事件、对象的数值变化等。1.事件结构的创建事件结构包括:结构框、事件标签、超时端口和事件数据端口。事件标签:说明当前框图程序是响应的什么事件。超时端口,默认值为-1,表示无限等待。事件数据端口结构框2.事件结构的使用可有一个或多个子图形代码框,该图形代码框可以设置为响应多个事件。右击事件结构边框,从弹出的快捷菜单中选择EditEventsHandledbyThisCase…,这时将弹出编辑事件对话框。显示当前建立的事件,默认“Timeout’事件。增加事件删除事件可以选择的事件源相应的事件源可产生的事件消息例如:建立一个5秒的超时事件和一个“OKButton”开关值发生变化的事件要求:方法1:任一事件发生都执行同一个子图形代码框程序,显示出对话框“超时或单击了OK按钮”。方法2:由不同的框图程序响应不同的事件,显示出对话框“超时事件”或“单击了OK按钮事件”。法1:在前面板添加放置一个“OKButton”控件。在编辑事件对话框中单击按钮新建一个事件,选取“EventSources”事件源窗口中的“OKButton”,并在“Event”事件窗口中选择“ValueChange”。选取OneButtonDialog函数,放置在EventStructure中。在message数据端口新建一个常量,输入“超时或单击了OK按钮”。在超时端口连接值为5000的一个数字常量。运行程序,如果单击了“OKButton”按钮或等待5秒都会显示出对话框“超时或单击了OK按钮”。法2:在事件结构边框的快捷菜单中选择AddEventCase…来创建事件结构的一个分支。在弹出的对话框中,选取“EventSources”事件源窗口中的“OKButton”。并在“Event”事件窗口中选择“ValueChange”。后面的设置与法1类似。Filter事件顾名思义,当该事件发生时,用户可以过滤掉甚至完全放弃掉该事件将触发的活动。红色箭头是Filter事件4.7公式节点(FormulaNode)在框图程序中,如果需要设计较复杂的数学运算,框图将会十分复杂,工作量大,而且不直观,调试、改错也不方便。利用公式节点,只需将数学公式的文本表达式输入在公式节点的框图内,并连接相应的输入、输出端口,则LabVIEW会自动地根据公式计算出正确的结果,并从输出端输出。(1)公式节点的创建从函数模板的Structures子模板上选择公式节点FormulaNode,在框图中设置公式节点。公式节点的边框大小可以改变,用户可以使用标签工具,将数学公式直接输入到公式节点的框内。(2)公式节点的使用可以声明变量,也支持一些常用的C语言的语句(包括赋值语句、条件语句、循环语句、Switch语句),每条语句以分号结尾。输入公式后,需要添加输入、输出端口。在添加端口后出现的方框内填入变量名称。将输入端口和程序中的数据端口相连接。将输出端口和程序中的指示端口连接公式节点中常用的运算符其中,条件运算符的“?”前的部分是判定条件,“?”和“:”间的部分为当条件为True时的表达式,“:”后的部分为当条件为False时的表达式。公式节点语句中还可以使用数学函数:abs、acos、acosh、asin、asinh、atan、atan2、atanh、ceil、cos、cosh、cot、csc、exp、expml、floor、getexp、getman、int、intrz、ln、lnp1、log、log2、max、min、mod、pow、rand、rem、sec、sign、sin、sinc、sinh、sizeOfDim、sqrt、tan、tanh。公式节点的语法与C语言相同文本编程语言的实现变量声明公式节点支持的数据类型有:float、float32、float64、int、int8、int16、int32、uInt8、uInt16、uInt32。floata;//声明浮点型数据uInt32y[10];//声明数组赋值语句赋值符号有:=、=+、-=、*=、/=、>>=、<<=、&=、^=、|=、%=、**=条件语句if语句格式:if(a>0)b=a;if…else语句举例如下:if(a>0){b=a;}elseb=2*a;循环语句do…While语句格式:do{b=a;}While(b>=0);While语句举例如下:While(a>0){b=a;}For语句举例如下:For(i=0;i<10;i++){y[i]=i;if(y[i]>5)Break;}Switch语句Switch(a){Case0:b=a+1;break;Case1:b=a+2;break;Case2:b=a+3;break;Default:b=0;}例:用公式节点计算y1=x3+x2+5和y2=m*x+b分析:公式的输入端口共有3个输入量,分别是m、b和x。3个输入量经过公式节点中的两条语句完成指定的运算,通过输出端口输出y1和y2。4.8跟着实例学—模拟温度采集监测系统小试身手利用顺序结构和timing面板下的tickcountVI,计算for循环1000000次所需的时间。利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节给出一百分制成绩,要求输出等级A,B,C,D,E。90分以上为A,80~89为B,70~79为C,60~69为D,60分以下为E。利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。例如按下34时,累加值为7;按下345时,累加值为12…
本文档为【虚拟仪器第4章电子教案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
孙福亮
暂无简介~
格式:ppt
大小:735KB
软件:PowerPoint
页数:54
分类:其他高等教育
上传时间:2022-02-02
浏览量:2