石鑫华视觉 发表于 2014-11-2 19:26:08

陈树学:labview编程技巧-----令人无奈的IF ELSE

LABVIEW作为一种编程语言,相对于常规编程语言,有其独特的编程风格.

编程语言都具有顺序,条件转移和循环三种基本结构.LV的IF ELSE常常令人很无奈.

if (condition1)
   ........
else if (condition2)

    ........
else if (condition3)

类似与上面的条件结构在其他编程语言中很容易实现,在LV中却是个问题.

1.如果超过三层IF ELSE判断,LV中则很难读懂代码,嵌套太多了
2.LV的IF结构必须通过隧道传递数值,即使这个值有时是根本不需要的.

比如:
if (a==1)
   b=2;
else
c=3;

当变量a=1时,令变量b=2,当变量a!=1时,令C=3
但是在LV中,当变量a=1时,在令变量b=2的同时,还必须处理C,而此时我们根本不想对C进行任何操作.同理,当a!=1时,我们也不得不处理b的问题.


有网友提问:
Hi
I like to do the following statements in LabVIEW,
IF AoValue<=0.1 THEN
    AoValue1=(AoValue-0.0060)
    ELSEIF (AoValue >0.1) AND (AoValue<0.2) THEN
   AoValue1=(AoValue-0.0035)
ENDIF
Pls help with this
Thanks

网友答案:


这是个两层的IF ELSE结构,如果数据分成10段那,那上面的判断结构将无法实现了.(另外,他的AOVALUE应该是个输入控件)

比较好的解决方法:



如果是数值类比较,更好的方法是利用公式节点.
页: [1]
查看完整版本: 陈树学:labview编程技巧-----令人无奈的IF ELSE

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23