Labview程序结构课件

上传人:痛*** 文档编号:241802809 上传时间:2024-07-25 格式:PPT 页数:43 大小:300KB
返回 下载 相关 举报
Labview程序结构课件_第1页
第1页 / 共43页
Labview程序结构课件_第2页
第2页 / 共43页
Labview程序结构课件_第3页
第3页 / 共43页
点击查看更多>>
资源描述
2003.9.231概况一点击此处输入相关文本内容点击此处输入相关文本内容整体概述概况三点击此处输入相关文本内容点击此处输入相关文本内容概况二点击此处输入相关文本内容点击此处输入相关文本内容循环结构 While 循环 While 循环可以反复执行循环体的程序,直至到达某个边界条件。它类似于普通编程语言中的 Do 循环和 Repeat-Until 循环。While 循环的框图是一个大小可变的方框,用于执行框中的程序,直到条件端子接收到的布尔值为 FALSE 09/23/20033河南科技大学电信学院自动化所循环结构 While 循环v该循环有如下特点:1.计数从0开始(i=0)。2.先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。3.循环至少要运行一次。图While 循环示意图 09/23/20034河南科技大学电信学院自动化所循环结构 While 循环练习 v练习使用WhileWhile循环和图表目的:用 While 循环和图表获得数据,并实时显示。图练习的前面板 09/23/20035河南科技大学电信学院自动化所循环结构 While 循环练习v创建一个可以产生并在图表中显示随机数的VI。前面板有一个控制旋钮可在0到10秒之间调节循环时间,还有一个开关可以中止VI的运行。学习怎样改变开关的动作属性,以便不用每次运行VI时都要打开开关。操作步骤如下:1.选择FileNewFileNew,打开一个新的前面板。2.选择ControlsBooleanControlsBoolean,在前面板中放置一个开关,设置开关的标签为控制开关。09/23/20036河南科技大学电信学院自动化所循环结构 While 循环练习3.使用标签工具创建 ON 和 OFF 的标签,放置于开关旁。4.选中ControlsGraphControlsGraph,在前面板中放置一个波形图(是chart,而不是graph)。设置它的标签为随机信号。这个图表用于实时显示随机数。5.把图表的纵坐标改为0.0 到 1.0。方法是用标签工具把最大值从10.0改为1.0。6.选择ControlsNumericControlsNumeric,在前面板中放置一个旋钮。设置旋钮的标签为循环延时。这个旋钮用于控制While 循环的循环时间。09/23/20037河南科技大学电信学院自动化所循环结构 While 循环练习7.开流程图,按照左图创建流程图。a.从 FunctionsStructures FunctionsStructures 中选择 While 循环,把它放置在流程图中。将其拖至适当大小,将相关对象移到循环圈内。b.从 Functions NumeriFunctions Numeric中选择随机数(0-1)功能函数放到循环内。c.在循环中设置Wait Until Next ms Wait Until Next ms MultipleMultiple函数 (FunctionsTime&FunctionsTime&DialogDialog),该函数的时间单位是毫秒,按目前面板旋钮的标度,可将每次执行时间延迟0到10毫秒。d.照左面所示的流程图连线,把随机数功能函数和随机信号图表输入端子连接起来,并把启动开关和While 循环的条件端子连接 图练习的流程图 09/23/20038河南科技大学电信学院自动化所循环结构 While 循环练习8.返回前面板,调用操作工具后单击垂直开关将它打开。9.把该 VI 保存为 LabVIEWActivityLabVIEWActivity目录中的Random Signal.vi。10.执行该 VI。While循环的执行次数是不确定的,只要设置的条件为真,循环程序就会持续运行。在这个例子中,只要开关打开(TRUE),框图程序就会一直产生随机数,并将其在图表中显示。11.单击垂直开关,中止该VI。关闭开关这个动作会给循环条件端子发送一个FALSE值,从而中止循环。12.用鼠标右键单击图表,选择Data OperationsClear ChartData OperationsClear Chart,清除显示缓存,重新设置图表。练习结束 09/23/20039河南科技大学电信学院自动化所循环结构 While 循环附注与说明:布尔开关的机械动作:布尔开关有6种机械动作属性可供选择。在前面板上用鼠标右键单击开关,在快捷菜单中选择MechanicalMechanicalActionAction就可以看到这些可选的动作。LabVIEW还提供了一个范例示范这些动作,它是位于ExamplesGeneralControlsbooleans.llb的Mechanical Action of Booleans.vi。09/23/200310河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)v移位寄存器可以将数据从一个循环周期传递到另外一个周期。在程序设计中,经常要用到它创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择 Add Shift Register。如右图所示 09/23/200311河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)v移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。下图表示了它的工作过程。图Shift Register的工作过程 09/23/200312河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)q可以令移位寄存器记忆前面的多个周期的数值。这个功能对于计算数据均值非常有用。还可以创建其他的端子访问先前的周期的数据,方法是用鼠标右键单击左边或者右边的端子,在快捷菜单中选择Add ElementAdd Element。例如,如果某个移位寄存器左边的端口含有三个元素,那么就可以访问前三个周期的数据。09/23/200313河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)练习 v使用移位寄存器 v目的:创建一个可以在图表中显示运行平均数的VI。v打开一个新的前面板,按照下图所示创建对象。v把波形图表的坐标范围改为0.0到2.0。3.在添加竖直坐标之后,用鼠标右键单击它,在快捷菜单中选择Mechanical ActionLatch When Pressed,再选择OperateMake Current Values Default,把ON状态设置为默认状态。图练习的前面板 09/23/200314河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)练习 v流程图v按下图创建流程图。图练习的流程图 09/23/200315河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)练习 5.在流程图中添加 While 循环(FunctionsStructures),创建移位寄存器。a.用鼠标右键单击While循环的左边或者右边,在快捷菜单中选择Add Shift Register。b.用鼠标右键单击寄存器的左端子,在快捷菜单中选择Add Element,添加一个寄存器。用同样的方法创建第三个元素。6.Random Number(01)函数(FunctionsNumeric)产生0到1之间的某个随机数。7.Compound Arithmetic 函数(FunctionsNumeric)在本练习中,它将返回两个周期产生的随机数的和。如果要加入其他的输入,只需用右键单击某个输入,从快捷菜单中选择Add Input。8.除法函数(FunctionsNumeric)在本练习中,它用于返回最近四个随机数的平均值。09/23/200316河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)练习 v9.数值常数(FunctionsNumeric)在While循环的每个周期,Random Number(01)函数将产生一个随机数。VI就将把这个数加入到存储在寄存器中的最近三个数值中。Random Number(01)再将结果除以4,就能得到这些数的平均值(当前数加上以前的三个数)。然后再将这个平均值显示在波形图中。v10Wait Until Next ms Multiple函数(FunctionsTime&Dialog)它将确保循环的每个周期不会比毫秒输入快。在本练习中,毫秒输入的值是500毫秒。如果用鼠标右键单击图标,从快捷菜单中选择VisibleLabel,就可以看到Wait Until Next ms Multiple的标签。11.11.用鼠标右键单击Wait Until Next ms Multiple 功能函数的输入端子,在快捷菜单中选择Create Constant。出现一个数值常数,并自动与功能函数连接。09/23/200317河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)练习 v12.将Constant设置为500。这样连接到函数的数值常数设置了500毫秒的等待时间。因此循环每半秒执行一次。注意,VI用一个随机数作为移位寄存器的初始值。如果没有设置移位寄存器端子的初始值,它就含有一个默认的数值,或者上次运行结束时的数值,因此开始得到的平均数没有任何意义。v13.执行该 VI,观察过程。v14.把该 VI 保存为LabVIEWActivity目录下的Random Average.vi。练习 结束 09/23/200318河南科技大学电信学院自动化所循环结构 移位寄存器(Shift RegisterShift Register)v附注:移位寄存器的初值v上面的练习中对移位寄存器设置了初值0.5。如果不设这个初值,默认的初值是。在这个例子中,一开始的计算结果是不对的,只有到循环完次后移位寄存器中的过去值才填满,即第次循环执行后可以得到正确的结果。09/23/200319河南科技大学电信学院自动化所循环结构 For循环 vFor循环用于将某段程序执行指定次数。和While 循环一样,它不会立刻出现在流程图中,而是出现一个小的图标,而后您可以修改它的大小和位置。具体的方法是,先单击所有端子的左上方,然后按下鼠标,拖曳出一个包含所有端子的矩形。释放鼠标时就创建了一个指定大小和位置的For循环。09/23/200320河南科技大学电信学院自动化所循环结构 For循环vFor循环将把它的框图中的程序执行指定的次数,For循环具有下面这两个端子:vN:计数端子(输入端子)用于指定循环执行的次数。vI:周期端子(输出端子)含有循环已经执行的次数。v上图显示了一可以产生100个随机数并将数据显示在一个图表上的For循环。在该例中,i 的初值是0,终值是99。09/23/200321河南科技大学电信学院自动化所循环结构 For循环 练习 2-3 2-3 目的:用For循环和移位寄存器计算一组随机数的最大值。v打开一个新的前面板,按照下图创建对象。va.将一个数字显示对象放在前面板,设置它的标签为“最大值”。vb.将一个波形图表放在前面板,设置它的标签为“随机数”。将图表的纵坐标范围改为0.0到1.0。09/23/200322河南科技大学电信学院自动化所循环结构 For循环 练习 2-3 2-3va.在图表的快捷菜单中选择Visible Visible ItemsScrollbarItemsScrollbar和Digital Digital DisplayDisplay,并隐藏Plot LegendPlot Legend。v用移位工具修改滚动栏的大小。图5练习3的面板和流程图 09/23/200323河南科技大学电信学院自动化所循环结构 For循环 练习 2-3 2-3v按照上图画流程图。v3在流程图中放置一个For循环(FunctionsStructuresFunctionsStructures)。v在For循环的边框处单击鼠标右键,在快捷菜单中选择Add Shift RegisterAdd Shift Register。v将下列对象添加到流程图。vaRandom Number(01)函数(FunctionsNumericFunctionsNumeric)产生0到1之间的某个随机数。vb.数值常数(FunctionsNumericFunctionsNumeric)在这个练习中需要将移位寄存器的初始值设成0。09/23/200324河南科技大学电信学院自动化所循环结构 For循环 练习 2-3 2-3vc.Max&Min函数(FunctionsComparisonFunctionsComparison)输入两个数值,再将它们的最大值输出到右上角,最小值输出到右下角。这里只需要最大值,只用连接最大值输出。vd.数值常数(FunctionsNumericFunctionsNumeric)For循环需要知道需要执行的次数。本练习中是100次。v按照上图连接各个端子。v运行该VI。v 将 该 VI保 存 为 LabVIEWActivity LabVIEWActivity 目 录 下 的Calculate Max.vi。练习 2-3 2-3 结束 09/23/200325河南科技大学电信学院自动化所循环结构 分支结构:CaseCase vCase结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:Ture、False或、。按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。09/23/200326河南科技大学电信学院自动化所循环结构 分支结构:CaseCasev目的:创建一个VI以检查一个数值是否为正数。如果它是正的,VI就计算它的平方根,反之则显示出错。子程序标识按钮条件端子09/23/200327河南科技大学电信学院自动化所分支结构 练习v前面板v步骤1.打开一个新的前面板,并按照下图所示创建对象。控制对象用于输入数值,显示对象用于显示该数值的平方根。2.照下图创建流程图。09/23/200328河南科技大学电信学院自动化所分支结构 练习09/23/200329河南科技大学电信学院自动化所分支结构 练习3.从FunctionsStructuresFunctionsStructures中选择一个 Case结构,并放置在在流程图中。Case 结构是一个可以改变大小的方框。先来做Ture的情况,照流程图上半部分构造。Greater Or Equal To 0?函数(FunctionsComparisonFunctionsComparison)如果输入数值大于或者等于0就会返回一个TRUE值。Square Root 函数(FunctionsNumericFunctionsNumeric)返回输入数值的平方根。09/23/200330河南科技大学电信学院自动化所分支结构 练习Square Root 函数(FunctionsNumericFunctionsNumeric)返回输入数值的平方根连好线 点击Case框的选择按钮,转入False情况编程数值常数(FunctionsNumeric)这里用于显示错误的代数值-999.00 09/23/200331河南科技大学电信学院自动化所分支结构 练习One Button Dialog函数(FunctionsTime&Dialog)在这里它用于显示一个对话框,内容是Error字符串常数(FunctionsString)用Edit Edit Text ToolsText Tools在对话框中输入字符串 该VI在TRUE或者FALSE情况下都会执行。如果输入的数值大于等于0,VI会执行TRUE Case,返回该数的平方根,否则将会输出999.00,并显示一个对话框,内容为Error.09/23/200332河南科技大学电信学院自动化所分支结构 练习4.返回前面板,运行该VI。修改标签为Number的数字式控制对象的数值,分别尝试一个正数和负数。注意,当把数字式控制对象的值改为负数时,LabVIEW会显示Case结构的FALSE Case中设置的出错信息 5.保存该 VI 到LabVIEWLabVIEWActivityActivity 目录中的Square Root.vi 09/23/200333河南科技大学电信学院自动化所分支结构 练习vVI程序代码if(Number=0)thenSquare Root Value=SQRT(Number)elseSquare Root Value=-999.00Display Message Error.end if 09/23/200334河南科技大学电信学院自动化所顺序结构和公式节点v在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,但LabVIEW中不同,它是一种图形化的数据流式编程语言 09/23/200335河南科技大学电信学院自动化所使用顺序结构练习v创建一个 VI,计算生成等于某个给定值的随机数所需要的时间 v生成前面板如图09/23/200336河南科技大学电信学院自动化所使用顺序结构练习09/23/200337河南科技大学电信学院自动化所使用顺序结构练习v执行步骤演示如下09/23/200338河南科技大学电信学院自动化所附注与说明:设置数据范围v在设定一个数据对象时,可以设置对输入数据的限制,利用快捷键选择Data Range 选项,将会出现如下对话框:它可以防止用户创建的控制对象或显示对象的值超出某个预设的范围。您可以选择忽略这个值,将它强制修改到范围以内,或暂停程序的执行。在程序执行时,如果发生溢出错误,溢出错误符号将显示在工具栏中的执行按钮的位置。而且,一个立体的黑框将把发生溢出的控制对象包围起来 09/23/200339河南科技大学电信学院自动化所公式节点(Formula Node)v公式节点是一个大小可变的方框,可以利用它直接在流程图中输入公式。从FunctionsStructuresFunctionsStructures中选择公式节点就可以把它放到流程图中。当某个等式有很多变量或者非常复杂时,这个功能就非常有用。例如等式:y=x2+x+1使用公式节点可以表示为:09/23/200340河南科技大学电信学院自动化所Q&A问答环节敏而好学,不耻下问。学问学问,边学边问。Heisquickandeagertolearn.Learningislearningandasking.结束语感谢参与本课程,也感激大家对我们工作的支持与积极的参与。课程后会发放课程满意度评估表,如果对我们课程或者工作有什么建议和意见,也请写在上边点击进入谢谢聆听THANKYOUFORLISTENING演讲者:XX时间:202X.XX.XX
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!