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=2
但是在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.0060)
ELSEIF (AoValue >0.1) AND (AoValue<0.2) THEN
AoValue1=(AoValue-0.0035)
ENDIF
ENDIF
Pls help with this
Thanks
网友答案:
这是个两层的IF ELSE结构,假如数据分红10段那,那上面的判别结构将无法完成了.(别的,他的AOVALUE应该是个输入控件)
比较好的解决办法:
假如是数值类比较,更好的办法是使用公式节点.