<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > labview編程技巧-----令人無奈的IF ELSE

          labview編程技巧-----令人無奈的IF ELSE

          作者: 時(shí)間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
          LABVIEW作為一種編程語言,相對于常規(guī)編程語言,有其獨(dú)特的編程風(fēng)格.

          編程語言都具有順序,條件轉(zhuǎn)移和循環(huán)三種基本結(jié)構(gòu).LV的IF ELSE常常令人很無奈.

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

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

          類似與上面的條件結(jié)構(gòu)在其他編程語言中很容易實(shí)現(xiàn),在LV中卻是個(gè)問題.

          1.如果超過三層IF ELSE判斷,LV中則很難讀懂代碼,嵌套太多了
          2.LV的IF結(jié)構(gòu)必須通過隧道傳遞數(shù)值,即使這個(gè)值有時(shí)是根本不需要的.

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

          當(dāng)變量a=1時(shí),令變量b=2,當(dāng)變量a!=1時(shí),令C=2
          但是在LV中,當(dāng)變量a=1時(shí),在令變量b=2的同時(shí),還必須處理C,而此時(shí)我們根本不想對C進(jìn)行任何操作.同理,當(dāng)a!=1時(shí),我們也不得不處理b的問題.


          有網(wǎng)友提問:
          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

          網(wǎng)友答案:


          這是個(gè)兩層的IF ELSE結(jié)構(gòu),如果數(shù)據(jù)分成10段那,那上面的判斷結(jié)構(gòu)將無法實(shí)現(xiàn)了.(另外,他的AOVALUE應(yīng)該是個(gè)輸入控件)

          比較好的解決方法:



          如果是數(shù)值類比較,更好的方法是利用公式節(jié)點(diǎn).


          關(guān)鍵詞: labview編程技巧IFELS

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();