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

2015-08-25 09:39:55来源: eefocus 关键字:LABVIEW  内外有别  条件结构
        条件结构(CASE)是LV常用结构之一,最为典型的条件结构是含有错误处理的条件结构,常常用于避免使用顺序结构。与C语言的条件结构不同,对于显示控件,所有的CASE分支必须对显示控件传递数据(赋值)或者直接使用默认值,不允许不输出。

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

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

        

 

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

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

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

 

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

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

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

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

关键字:LABVIEW  内外有别  条件结构

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0825/article_12906.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

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

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
LABVIEW
内外有别
条件结构

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved