LABVIEW的深入探索之内外有别的条件结构

发布者:平和宁静最新更新时间:2015-08-25 来源: eefocus关键字:LABVIEW  内外有别  条件结构 手机看文章 扫描二维码
随时随地手机看文章
        条件结构(CASE)是LV常用结构之一,最为典型的条件结构是含有错误处理的条件结构,常常用于避免使用顺序结构。与C语言的条件结构不同,对于显示控件,所有的CASE分支必须对显示控件传递数据(赋值)或者直接使用默认值,不允许不输出。

        在条件结构中,处理显示控件有两种完全不同的方式,这两种方式虽然表明上看差别不大,在具体编程中都可能使用过,但是对于大型数据处理,比如大的数组,运行效率差别极大,可能不经意间造成程序运行缓慢,且不易查错。

方法一:条件结构外处理显示输入控件和显示控件。这种方法中,输入控件和显示控件均位于条件结构分支之外。如下图所示:

        

 

方法2:条件结构内处理输入控件和显示控件控件。这种方法中,输入控件和显示控件位于条件结构分支中,从程序框图上看,似乎更为简洁,但却是非常错误的,如下图所示。

方法2中,错误分支中没有进行任何处理,输入控件和显示控件位于无错误分支中。

OUT,VI和IN.VI实现的功能是完全相同的,但是运行效率却是天壤之别,数组越大,区别更为明显。当然不同的计算机上,运行时间会有区别。下面是测试程序框图。

 

下面是测试结果,二者的运行时间相差20000多倍。

下面引入一个“顶层程序框图”,顶层程序框图常见于LV爱好者的文章中,LV的相关书籍中没有这样的概念。OUT.VI中,输入控件位于左侧,显示控件位于右侧,均位于所有结构之外,所有结构之外称作“顶层程序框图”,类似于C语言中的形参部分。

顶层程序框图中,运行效率是极高的,这是因为在进入子VI之前,LV很容易可以断定,缓存是可以重用的,因此不需要在循环中,每次复制数组。但是输入控件和显示控件位于条件分支内部时,LV可能无法判定缓存是可以重用的,因此采用的值复制的方法,这样牺牲了效率,但是保证了正确的结果。

方法二中,表面上看似乎更为合理,但却是错误的,因此可以得出结论,子VI中的输入控件和显示控件应该位于顶层程序框图中,不应该位于任何结构之中。

关键字:LABVIEW  内外有别  条件结构 引用地址:LABVIEW的深入探索之内外有别的条件结构

上一篇:LABVIEW的深入探索之已链接控件引用与未链接控件引用
下一篇:labview的深入探索----双精度数精度问题

推荐阅读最新更新时间:2024-03-30 23:03

使用NI PAC和LabVIEW软件控制藻类生物燃料的生产
  开发一个数据采集系统和控制平台,用于Solix藻类生长系统(AGSTM)的工业部署,需要既灵活方便,又坚固耐用。   The Solution:   使用NI Compact FieldPoint和LabVIEW的集成平台,监测、控制处理系统,管理数据记录;同时采用LabVIEW数据日志与监控(DSC)模块及NI DIAdem数据管理软件,存储、处理数据,进行深入、详细的分析。 Amine工厂和Solix Biofuels工厂鸟瞰图   "NI公司提供的产品、工具及持续的技术支持,可帮助我们快速开发、部署藻类生长所需技术,用来进行燃料生产。"    背景:藻类生物燃料生产   如今,全球对于有限的、不可再
[测试测量]
使用NI PAC和<font color='red'>LabVIEW</font>软件控制藻类生物燃料的生产
labview编程技巧-----条件结构和事件结构的复制功能
在编写一个中等规模的程序时,状态机和事件结构是常见的设计模式,SR(SHIFT REGISTER)经常用于在各个CASE之间传递数据,当CASE比较多的时候,经常会出现SR忘记连接或者需要增加新的SR,此时会非常麻烦,需要在几十个CASE之间切换,重新连线. LV的CASE结构和事件结构有一个非常重要的功能"CASE 或者事件复制功能",借助这个功能,可以很容易解决上面的问题. 在设计程序时,一定要预留一些SR,不用的时候,设置成BOOLEAN类型,并不会占用很多的内存空间. 对于条件判断,SR可以设置成BOOLEAN ARRAY,这样一个SR可以表示多的位的状态,相当于PLC的M中间继电器. 对于常见的结构,应该存储成模
[测试测量]
<font color='red'>labview</font>编程技巧-----<font color='red'>条件</font><font color='red'>结构</font>和事件<font color='red'>结构</font>的复制功能
LabVIEW的数据线类型
为了区分不同的数据类型,Labview为各种不同的数据类型设置了固定的颜色。随着所连接数据类型的不同,数据连线的颜色和线条也不相。一般而言,单个数据对应的数据线为最细的线。包含多个数据的数据线较粗,多维数据一般为多个线条组合成的数据线。 表1列出了连接不同数据类型时的数据线线条和颜色。 表1数据及对应数据线类型 数组和簇这类由基本数据类型组成的数据,其线条和颜色都不固定:线条随着维数发生变化,颜色也和内部数据类型相对应。
[测试测量]
<font color='red'>LabVIEW</font>的数据线类型
LabVIEW前面板遥控乐高NXT机械手车
乐高NXT套件自带的软件是NXT-G软件,它是以国家仪器公司的LabVIEW软件为核心架构的,NXT-G软件界面简单易懂,但要进行复杂功能的程序开发,还需采用更高阶的开发平台,如NI公司的LabVIEW或微软的MSRDS。NI公司已在2009年推出LabVIEW的LEGO MINDSTORMS NXT组件,用户现在可以在LabVIEW软件平台上,开发及实现功能更强及更完整的NXT机器人程序。 机械手车的LDD搭建文件,请下载: 机械手车LDD搭建文件.rar 乐高LDD搭建软件官网:http://ldd.lego.com/ 我以前写的有关Labview for NXT的文章,先看看。 Labview for 乐高NXT机器人的入
[测试测量]
用<font color='red'>LabVIEW</font>前面板遥控乐高NXT机械手车
NASA航空器内进行基于LabVIEW的采集
The Challenge: 在NASA研究航空器内部零重力情况下采集与视频同步的加速度与温度数据。 The Solution: 利用加固的便携式PC中的LabVIEW和DAQ板卡,读入时间代码并采集模拟电压。 "LabVIEW软件和数据采集产品与加固PC无故障地协同工作;该系统被科学团队认为是该项目的最佳部分。" 基于LabVIEW的测试系统新近被加载到NASA DC-9“呕吐彗星”,它以抛物线弹道曲线飞行采集关于超流体液氦在零重力情况下产生的带有时间标签的数据与视频。该实验旨在收集验证和改进氦在失重时如何响应微扰动的计算机模型所需的经验数据。这些模型的最直接应用就包括航空器的设计。某些航空器需要使热敏感部件保持
[测试测量]
基于虚拟仪器的温度测量系统
0 引言 热电偶是温度测量仪表中常用的测温元件,测温时,热电偶直接与被测对象接触,不受中间介质的影响,因此测量精度高。常用的热电偶从-50℃~+1 600℃均可连续测量,某些特殊热电偶最低可测到-269℃(如金铁镍铬),最高可达+2 800℃(如钨-铼)。另外,热电偶通常由两种不同的金属丝组成,而且不受大小和开头的限制,外有保护套管,用起来非常方便。所有这些优点使得热电偶成为工业上最常用的温度检测元件之一。 虚拟仪器是计算机技术和仪器测量技术相结合的产物,它充分利用计算机强大的运算处理功能,突破了传统仪器在数据处理、显示、传输、存储等方面的限制。本文利用虚拟仪器平台,通过编写Labview软件对温度进行测量,可以减少硬件的重
[测试测量]
基于虚拟仪器的温度测量系统
LabVIEW学习笔记——相关概念
LabVIEW的G语言属于图形化语言,本质上讲它是一种带有图形控制流结构的数据流模式,这种方式确保 程序中的函数节点,只有在获得他的全部数据后才能够被执行。也就是说,在这种数据流程序中,程序的执行是靠数据驱动。 数据流的设计程序规定:一个目标只有当他的所有输入有效时才能够被执行,只有当他的功能完全时,目标才会 输出。(对于这个规定我还是有点不太明白)也就是说,数据流控制着程序的执行次序。 labview的程序叫做VI(virtual instrument虚拟仪器 )。VI是由图标、连线以及框图构成的应用程序,由Front Panel(前面板:人机交互窗口,用来显示和输入信号,相当于仪器的操作面板)和Block Panel(后面板:
[测试测量]
Labview数据转化与连线编辑
Labview中的数据转化与连线编辑作为一小部分总结一下。 关于数据转化,需要注意到Labview中的数据类型,在这基础上继续深入了解数据转换。Labview中数据的分类是按照常量和变量来分类的,而相应的量又可以继续分为数字类以及非数字类。数字类的数据类型是经常涉及到数据类型转换的一项。 数据类型的转换分为自动转换和强制转换两种,通常情况下Labview是默认完成自动转换的。强制转换不仅会占内存而且会更加耗时间,从很多教程中看到这么描述。因此,这也就成了一种不推荐的编程习惯,尽量在设计的时候保持数据的一致性。这儿有点让人想不通的地方,既然没有什么有点为什么还会有这种功能呢? 连线的编辑基本分为添
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved