新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW設(shè)計(jì)模型——事件狀態(tài)機(jī)

LabVIEW設(shè)計(jì)模型——事件狀態(tài)機(jī)

作者: 時(shí)間:2016-12-26 來(lái)源:網(wǎng)絡(luò) 收藏
上一篇文章說(shuō)了說(shuō)標(biāo)準(zhǔn)狀態(tài)機(jī),這種模型在自動(dòng)測(cè)試系統(tǒng)(ATS)和自動(dòng)控制系統(tǒng)(ACS)的編程應(yīng)用中應(yīng)用非常方便。因?yàn)樵贏TS和ACS系統(tǒng)運(yùn)行的過(guò)程中幾乎不需要與用戶互動(dòng),只要按照事先設(shè)定好的邏輯來(lái)判斷程序的走向,直到程序結(jié)束。但是,在大部分桌面應(yīng)用和部分工業(yè)應(yīng)用中,程序都需要和用戶互動(dòng)。比如說(shuō),需要用戶輸入?yún)?shù)、下達(dá)命令甚至判斷程序走向。
如果程序的用戶互動(dòng)環(huán)節(jié)比較多,用標(biāo)準(zhǔn)狀態(tài)機(jī)來(lái)實(shí)現(xiàn)就回比較困難,即使實(shí)現(xiàn)了也會(huì)使程序代碼臃腫、結(jié)構(gòu)混亂。
那么如何來(lái)方便的實(shí)現(xiàn)狀態(tài)機(jī)與用戶互動(dòng)的完美結(jié)合呢?那就要用到狀態(tài)機(jī)的一個(gè)變種——事件狀態(tài)機(jī)。
與標(biāo)準(zhǔn)狀態(tài)機(jī)相比,事件狀態(tài)機(jī)要稍微復(fù)雜一些。他們都包含一個(gè)While循環(huán),所不同的是移位寄存器和條件結(jié)構(gòu)換成了用戶定義事件和事件結(jié)構(gòu)。
下面這個(gè)黑白棋的小程序就使用了這種事件狀態(tài)機(jī)的設(shè)計(jì)模型。
程序界面:
主VI:
注冊(cè)狀態(tài)事件子VI:



評(píng)論


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

關(guān)閉