欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    虚拟仪器设计程序结构.ppt

    • 资源ID:6198073       资源大小:378.50KB        全文页数:62页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    虚拟仪器设计程序结构.ppt

    虚拟仪器设计基础,虚拟仪器设计基础,主要教学内容程序结构字符串、数组和簇局部变量和全局变量 文件操作 图形显示,5.1 程序结构,LabVIEW中的结构是其他基于文本的语言中的循环、判断等结构的图形化体现。什么是结构?结构是控制 G程序数据流程的元素,G语言包含的结构有:While loop结构 For Loop结构 条件结构 顺序结构 事件结构 使能结构 公式节点,循环结构,LabVIEW中的循环结构主要有 While循环 For循环 这两种循环结构功能基本相同,但使用上有一些差别。For循环必须指定循环的次数,循环一定的次数后自动退出循环;而While循环则不用指定循环的次数,只需要指定循环退出的条件。,1.For循环,For循环(For Loop)是将某程序段重复执行预先设定的次数.For(i=0;iN;i+)循环体;,包含两个端口:计数端口N 重复端口i,For循环,可以通过两种方法指定循环次数,一种是直接给定,一种是通过输入数组的大小给定,For循环,输入和输出数组如需将数组一次完整输入,则右击输入点并选择关闭索引对于二维或多维数组,采用索引的办法输入,则最外层循环按行输入,内层循环按输入行的元素逐个输入,多维数组依次类推。,For循环,当多个数组按索引方式输入时,循环次数以元素最少的数组为准,如下例,循环次数为3,For循环,移位寄存器(Shift Register),一个累加10次的a+程序,通过局部变量实现,通过移位寄存器实现,移位寄存器,在LabVIEW的循环结构中创建移位寄存器的方法是在循环框图的左边或右边单击鼠标右键,在弹出的快捷菜单中选择【添加移位寄存器】,可创建一个移位寄存器 移位积存器的功能是将第i-1,i-2,i-3次循环的计算结果保存在For循环的缓冲区内,并在第i次循环时将这些数据从循环况架左侧的移位寄存器中送出,供循环框架内的节点使用,其中,i=0,1,2,3。,For循环,隧道和移位寄存器的最大区别就是隧道程序在运行过程中,每次输入控件都是和初值相加,而不是和循环的中间结果相加。在有索引的隧道数值输出控件中输出的是由每次循环的结果组成的一维数组,在无索引的隧道数值输出控件中输出的是每次的循环结果,在程序框图运行过程中这个数值一直在随每次循环结果变化,最终输出最后一次循环执行的结果。,5.2 For循环,5.2.4 反馈节点(Feedback Node),通过反馈节点实现a+,!同移位寄存器一样,最好指定反馈节点初值。,FOR循环应用举例,例5.1 求,前面板和程序框图,FOR循环应用举例,例5.2 求一组随机数的最大值和最小值。,前面板和程序框图,2.While循环,当循环次数不能预先确定时,就需用到While循环(While Loop)。While循环也是LabVIEW最基本的结构之一,相当于C语言中的While循环和do循环。While(条件)do 循环体;循环体;While(条件),Whlie循环结构,Whlie循环包含两个端口:条件端口和重复端口i 条件端口输入的是布尔变量,它用于判断循环在什么条件下停止执行。它有两种使用状态:Stop if True和Continue if True 重复端口i为当前循环的次数。,While循环应用示例,例5.3 求N!,void main()int a,i,n;a=1;i=0;scanf(“%d”,printf(“n!=%d”,a);,前面板和程序框图,While循环,While循环,添加定时器,While循环,使用移位寄存器和反馈节点,累加器程序,5.1.2 条件结构,条件结构类似于文本编程语言中的switch语句或if.then.else语句。,选择端口相当于C语言的Switch语句中的“表达式”,框图表示符相当于“表达式n”。编程时,将外部控制条件连接至选择端口上,程序运行时选择端口会判断送来的控制条件,引导选择结构执行相应框架中的内容。,选择端口的外部控制条件的数据类型有整型、布尔型、字符串型和枚举型。,条件结构,If(a%2=0)b=a+2;elseb=a+1;end,等价于if.else.语句的条件结构,条件结构,等价于switch语句的条件结构,switch(fruit)case apple:price=9;case banana:price=10;case pear:price=8;default:price=0;,条件结构应注意的问题,在使用选择结构时,控制条件的数据类型必须与图框标识符中的数据类型一致。二者若不匹配,LabVIEW 会报错,图框标识符中字体的颜色将变为红色。在 LabVIEW 中,对于数值型条件必须包含处理超出范围值的默认分支,对于其它类型的条件可设或不设,但必须明确地列出每一个可能的输入值。,条件结构的数据输入和输出通道,当由外部节点向结构框架连线时,在结构边框就创建了输入通道,而当由框内内节点与边框连线时,在结构边框就建立了输出通道。对所有条件分支来说对于输入通道的数据可以使用,也可以不使用。只要有一个分支提供输出数据,所有分支条件都必须与输出通道连接。,条件结构应用举例,例5.4 求一个数的平方根,若该数 0,计算该值平方根并将计算结果输出;若该数 0 时,输出错误代码“-999.00”。,框图程序,运行结果,条件结构应用举例,例5.5 利用条件结构编写温度采集报警程序,当采集温度高于设定值时产生报警。,前面板和程序框图,5.1.3 顺序结构(Sequence Structure),5.1.1 LabVIEW程序的执行顺序,数据流式的编程方法,多段代码同时执行,5.1.3 顺序结构,LabVIEW顺序结构的功能是强制程序按一定的顺序执行。顺序结构包含一个或多个按顺序执行的子程序框图或帧。LabVIEW提供了两种顺序结构:平铺式顺序结构 层叠式顺序结构,5.1 顺序结构(Sequence Structure),在平铺的帧间传递数据,5.1 顺序结构(Sequence Structure),在层叠的帧间传递数据,顺序结构应用举例,例5.6 计算生成等于某个给定值的随机数据所用时间。,层叠式顺序结构VI的程序框图,事件结构,事件是对活动发生的异步通知。事件可以来自于用户界面、外部I/O或程序的其他部分。用户界面事件包括鼠标点击、键盘按键等动作。LabVIEW应用程序在没有事件发生时处于休息状态,直到前面板窗口中有一个事件发生为止。,1.事件结构的组成,事件结构包含超时端口和事件端口,事件选择器标签表明由哪些事件引起了当前分支的执行。,事件超时接线端用于设置事件结构在等待指定事件发生时的超时时间,事件数据节点用于输出事件的参数,端口数目和数据类型根据事件的不同而不同。,2.事件结构的使用,用户界面事件有两种类型:通知事件 过滤事件,通知事件表明某个用户操作已经发生,比如用户改变了控件的值。,过滤事件将通知用户LabVIEW在处理事件之前已由用户执行了某个操作,以便用户就程序如何与用户界面的交互作出响应进行自定义。,编辑事件对话框,通过编辑事件对话框,可以设定某个事件结构分支响应的事件。,事件结构应用举例,例5.7 利用事件结构演示用鼠标单击前面板窗口时,发生鼠标按下事件并处理鼠标按下事件。,询问对话框,事件结构VI的程序框图,2.4 公 式 节 点一些复杂的算法如果完全依赖于图形代码实现,框图程序会十分复杂,工作量大,而且不直观,调试和改错也不方便。LabVIEW提供了一种专门用于处理数学公式编辑的特殊结构形式,称为公式节点(Formula Node)。在框架内,可以直接输入数学公式或者方程式,并连接相应的输入、输出端口。,公式节点,公式节点:一种专用于处理数学公式编程的特殊结构形式。在公式节点框架内。LabVIEW允许用户像书写数学公式或方程一样,直接编写数学处理节点,形式与标准C语言类似。公式节点的创建通常按以下步骤进行,第一步创建公式节点,第二步添加输入、输出端口,第三步输入程序代码,公式节点中使用的每一个变量必须是输入或输出之一,两个输入或输出不能具有相同的名字,但一个输出可以与一个输入有相同的名字。变量名有大小写之分,必须与公式中的变量匹配。输出变量的边框比输入变量宽一些,通过从快捷菜单中选择Change to Output或Change to Input可选择输出或输入,同时也可在公式节点的边框上添加多个变量。输入公式时,每个公式一定要用分号结束;若有很多公式,可以从公式节点(不是边框)弹出快捷菜单中选择Visible ItemsScrollbar放置滚动条。公式节点中代码的算法与C语言相同,可以进行各中数学运算。这种兼容性使LabVIEW功能更强大。公式节点中可以直接使用的LabVIEW预定义函数见表2.1。公式节点中可以使用的操作符见表2.2。,表2.1 公式节点中可以使用的函数,续表,续表,表2.2 公式节点中可以使用的操作符,在公式节点中不能使用循环结构和复杂的选择结构,但可以使用条件运算符和表达式,即?:例如:计算两数的比值,框图程序如图2-26所示。,图2-26 计算两数的比值,公式节点的应用,例5.8 输入三角形的三边长,求三角形面积。,基本公式节点框架中出现的所有变量,必须有一个相对应的输入端口或输出端口,否则,LabVIEW会报错。,前面板和程序框图,禁用结构,禁用结构是Labview8中新增功能,用来控制程序是否被执行。禁用结构分两种 程序框图禁用结构 条件禁用结构,程序框图禁用结构,相当于C语言中的/*/注意,禁用一段程序的同时一定要启用一段程序,否则程序无法运行,随意选择程序是否启用,条件禁用结构,通过外界环境变量来控制代码是否执行,此外还可判断当前操作系统的类型来选择执行哪段代码。环境变量只有工程中才能使用,通过定义整个工程的环境变量,该工程下的所有VI都可以被这些环境变量所控制,如该工程下的VI脱离工程单独运行,将不受环境变量控制。,条件禁用结构,新建一工程,保存后,选择属性选项,在出现的对话框中选择条件禁用符号;添加条件禁用符号如 Global_Switch1,Global_Switch2,值分别为True和False;即可使用这些符号控制该工程下所有程序执行。,5.3 局部变量和全局变量,局部变量和全局变量是LabVIEW用来传递数据的工具。LabVIEW编程是一种数据流编程,它是通过连线来传递数据的。但是,在很多情况下需要在同一VI的不同位置或在不同的VI中访问同一个控件对象,这时控件对象之间的连线就无法实现。这时候我们就需要用到局部变量或全局变量,通过局部变量或全局变量你可以在程序框图中的多个地方读写同一个控件。,5.3.1 局部变量,局部变量:只能在同一个VI中使用的变量创建局部变量的方法有两种:(1)直接为前面板对象创建局部变量(2)通过函数选板创建局部变量,创建局部变量方式一 创建局部变量方式二,注意:局部变量具有读、写两种属性,5.3.1 局部变量,读写局部变量的方法与读写控件对象的方法完全一样,局部变量的应用举例,例5.15 要求使用局部变量向与它联系的前面板上的电压表控件写数据,也可以从电压表控件读取数据。,局部变量创建VI的前面板和程序框图,局部变量的特点,(1)局部变量只能在同一个VI中使用,其生存期与它所在的VI模块密切相关,VI停止运行,在此VI内定义的局部变量自动消失。(2)局部变量必须依附在一个前面板对象上。一个前面板对象可以建立多个局部变量,但一个局部变量只能有一个端点与其对应。(3)局部变量就是其相应前面板对象的一个数据拷贝,要占用一定的内存。,5.3.2 全局变量,全局变量:可在不同 VI 之间进行数据传递全局变量是内置的LabVIEW对象。LabVIEW中的全局变量是以独立的VI文件形式存在的。创建全局变量时,LabVIEW将自动创建一个前面板但无程序框图的特殊全局VI。向该全局VI的前面板添加输入控件和显示控件可定义其中所含全局变量的数据类型。这个VI文件只有前面板,没有程序框图,不能进行编程。通过全局变量可以在不同的VI之间进行数据交换,一个全局变量的VI文件中可以包含多个不同数据类型的全局变量。,1.创建全局变量,(1)新建一个VI,从函数选板的结构子选板中选择一个全局变量,将其放置在程序框图中(2)使用操作工具双击全局变量节点,会自动打开全局变量VI的前面板,然后在前面板上放置所需的控制或显示对象(3)保存全局变量文件。方法是在主菜单中选择【文件】【保存】。然后关闭全局变量的前面板窗口。(4)使用操作工具单击第一步所创建的全局变量图标,或在其右击弹出快捷菜单中选择【选择项】,弹出的子菜单列出了全局变量所包含的所有对象的名称,根据需要选择相应的对象。,2.全局变量的应用举例,调用方法:(1)在VI 的功能模板上选择【选择VI】,在弹出的【选择需打开的VI】对话框中,选择所需的全局变量声明文件,单击确定按钮,在程序框图中放置这个全局变量;(2)右击全局变量节点,在弹出的快捷菜单上选取【选择项】,在列出的所有变量对象中选择所需对象;(3)若在一个VI中需要使用多个全局变量,可使用拷贝和粘贴全局变量的方法实现全局变量的复制。,全局变量的使用,例5.16 利用全局变量在不同VI中传递数据。,第二个VI的前面板和程序框图,第一个VI测量温度,送至全局变量中,第二个VI显示温度,第一个VI 程序框图,3.全局变量的特点,(1)LabVIEW中的全局变量相对于传统编程语言中的全局变量更加灵活。传统编程语言中的全局变量只能是一个变量,一种数据类型。而 LabVIEW中的全局变量以独立文件的形式存在,并且在一个全局变量中可以包含多个对象,拥有多种数据类型。(2)全局变量与子VI的不同之处在于它不是一个真正的VIs,不能进行编程,只能用于简单的数据存储与数据传递。(3)全局变量不能用于两个VI之间的实时数据传递。因为,通常情况下两个VI对全局变量的读写速度不能保证严格一致。,注意:,使用局部变量和全局变量时要避免竞争现象。例如在程序不同的两个地方同时写同一个的对象的局部变量或全局变量,就会产生竞争现象,这时变量的值是无法预期的。因此我们必须要注意程序的执行顺序,避免竞争现象,

    注意事项

    本文(虚拟仪器设计程序结构.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开