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

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > labview的深入探索-----狀態(tài)機(jī)的基本類型順序結(jié)構(gòu)

          labview的深入探索-----狀態(tài)機(jī)的基本類型順序結(jié)構(gòu)

          作者: 時(shí)間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
          前文介紹了LV編程的重要概念---狀態(tài)機(jī),狀態(tài)機(jī)是個(gè)基本概念或者說理論,其具體表現(xiàn)形式多種過樣,很難具體分類,我根據(jù)個(gè)人在編程實(shí)踐中的體會(huì),歸納幾種常見類型.


          一、順序結(jié)構(gòu)

          LV本身是有順序結(jié)構(gòu)的,而且有兩種方式,STACKED (堆疊)和FLAT FRAME(平鋪)。

          順序結(jié)構(gòu)的狀態(tài)機(jī)更象是堆疊順序結(jié)構(gòu),不過二者的區(qū)別在于LV本身的順序結(jié)構(gòu)是強(qiáng)制的,無法中間退出的,而狀態(tài)機(jī)的順序結(jié)構(gòu)是采用的循環(huán)掃描的方式.我舉一個(gè)例子來說明一下:

          一個(gè)加工零件的程序,過程如下:

          等待啟動(dòng)按鈕--->主軸啟動(dòng)--->滑臺(tái)快進(jìn)---->滑臺(tái)工作進(jìn)給--->終點(diǎn)延時(shí)--->滑臺(tái)快速返回原位-------->等待啟動(dòng)按鈕(下一次循環(huán))

          這里的啟動(dòng)按鈕可以是界面上的按鈕也可以是操作臺(tái)上的按鈕.用普通順序結(jié)構(gòu)應(yīng)該是(我們用平鋪更容易理解)

          本文引用地址:http://www.ex-cimer.com/article/201701/337231.htm

          我們注意到,每個(gè)動(dòng)作(FRAME)內(nèi)部都是一個(gè)循環(huán)結(jié)構(gòu),需要等待一定條件后,如果條件滿足,轉(zhuǎn)入下一個(gè)FRAME,我們沒有任何辦法改變它,比如我們有一個(gè)急停按鈕,則需要在每一個(gè)FRAME中檢測(cè)急停,如果急停生效,退出本FRAME,轉(zhuǎn)入下一個(gè)FRAME,依然要判斷急停,直到所有的FRAME都完成才能退出,
          在這個(gè)過程中,外層循環(huán)需要所有動(dòng)作完成后才執(zhí)行下一循環(huán),對(duì)它改造一下,就可以形成順序狀態(tài)機(jī)結(jié)構(gòu).

          我曾經(jīng)提到過,嚴(yán)格類型的枚舉是狀態(tài)機(jī)的核心要素,我們先構(gòu)造一個(gè)嚴(yán)格類型的枚舉.枚舉變量有一個(gè)特點(diǎn),當(dāng)最后的元素執(zhí)行加一操作時(shí)返回第一個(gè)元素.



          這個(gè)狀態(tài)機(jī)的功能和上面的順序結(jié)構(gòu)完成的功能是相同的,區(qū)別在于每個(gè)CASE不存在循環(huán)等待了,

          整個(gè)循環(huán)過程都是在外層循環(huán)中實(shí)現(xiàn)的,外層循環(huán)不斷地更新,如果轉(zhuǎn)換條件(事件未發(fā)生),下一次循環(huán)仍然執(zhí)行前一個(gè)CASE(狀態(tài)不變),如果轉(zhuǎn)換條件滿足(事件發(fā)生),采取加一的動(dòng)作(ACTION),轉(zhuǎn)入下一個(gè)狀態(tài).

          這樣做和上面的順序結(jié)構(gòu)比較,好處是顯而易見的,整個(gè)過程只有一個(gè)循環(huán),而上面的順序結(jié)構(gòu)實(shí)際每個(gè)FRAME都是一個(gè)循環(huán),這樣,如果有急停按鈕,我們可以在CASE外面檢測(cè)急停,如果急停,可以馬上停止循環(huán),而在順序結(jié)構(gòu)中,需要在每個(gè)FRAME檢測(cè),并逐個(gè)退出.

          順序結(jié)構(gòu)的狀態(tài)機(jī)是非常簡(jiǎn)單的,但是實(shí)際控制中又是比較常見的,后續(xù)我將介紹其他類型的狀態(tài)機(jī)


          評(píng)論


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