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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > LabVIEW設(shè)計模型——順序模型之順序結(jié)構(gòu)

          LabVIEW設(shè)計模型——順序模型之順序結(jié)構(gòu)

          作者: 時間:2016-12-26 來源:網(wǎng)絡(luò) 收藏
          在任何編程語言中順序模型都是最基本的設(shè)計模型,LabVIEW也不例外。
          順序模型從程序開始到初始化,到模塊1、模塊2……一直到程序的結(jié)束,都是嚴(yán)格按照編程者事先指定的順序依次執(zhí)行的。這種模型簡單、易懂,是編寫小程序的理想模型,如下圖。
          在LabVIEW中,一提到順序模型就會很自然的想到順序結(jié)構(gòu)。沒錯,使用順序結(jié)構(gòu)是實(shí)現(xiàn)順序模型的一種方法。
          在LabVIEW中,順序結(jié)構(gòu)就像是電影膠片,不論是外觀和應(yīng)用形式都很像(如下圖所示)。它是嚴(yán)格按照從左到右的順序?qū)⒏鱾€幀中的模塊依次執(zhí)行的。前面的幀執(zhí)行完畢之前,后面幀中的內(nèi)容是無法開始的。順序結(jié)構(gòu)看上去很清晰,容易理解。
          然而,順序結(jié)構(gòu)有兩個致命的缺陷,以至于我們在實(shí)際應(yīng)用中應(yīng)該盡量避免使用它:
          1. 順序結(jié)構(gòu)破壞了數(shù)據(jù)流系統(tǒng)規(guī)則。在LabVIEW中一個節(jié)點(diǎn)開始執(zhí)行的充要條件是節(jié)點(diǎn)獲得了所有必要數(shù)據(jù),這就是數(shù)據(jù)流系統(tǒng)規(guī)則。而順序結(jié)構(gòu)的使用,強(qiáng)行規(guī)定了各個節(jié)點(diǎn)的執(zhí)行順序,破壞了這一規(guī)則。也阻止了并行處理的進(jìn)行,降低了程序的效率。
          2.順序結(jié)構(gòu)降低了程序的可控性。順序結(jié)構(gòu)一旦開始執(zhí)行就無法中止,它一定要等到最后一幀執(zhí)行完畢后才會停止。這也是順序結(jié)構(gòu)最大的缺陷,導(dǎo)致了程序在它執(zhí)行的過程中無法控制。
          由于以上的原因,我們在工程應(yīng)用中對于順序結(jié)構(gòu)的使用一定要慎之又慎。
          順便說一下,還有一種層疊式的順序結(jié)構(gòu)。樣子如下:
          這種結(jié)構(gòu)貌似節(jié)省空間,但是它不但擁有平鋪式順序結(jié)構(gòu)所有的缺陷,而且我們無法一眼看出各個幀的情況,使得程序不夠清晰。更嚴(yán)重的是,在各幀之間傳遞數(shù)據(jù)的端子,使得數(shù)據(jù)的流向混亂,難以讀懂,不易維護(hù)。所以應(yīng)該絕對避免使用層疊式的順序結(jié)構(gòu)。


          評論


          技術(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); })();