新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW設(shè)計(jì)模型——狀態(tài)機(jī)之狀態(tài)轉(zhuǎn)換圖

LabVIEW設(shè)計(jì)模型——狀態(tài)機(jī)之狀態(tài)轉(zhuǎn)換圖

作者: 時(shí)間:2016-12-26 來(lái)源:網(wǎng)絡(luò) 收藏
狀態(tài)機(jī)是在工程應(yīng)用中使用最多的設(shè)計(jì)模型。使用狀態(tài)機(jī),我們可以很容易的實(shí)現(xiàn)程序流程圖中的判斷、分支。
狀態(tài)機(jī)是由一系列的狀態(tài)構(gòu)成的,其中包括一個(gè)“初始化”狀態(tài),和一個(gè)“停止”狀態(tài)。程序油“初始化”狀態(tài)開(kāi)始,由“停止”狀態(tài)結(jié)束。一般來(lái)說(shuō),在“初始化”狀態(tài)中進(jìn)行控件與變量的初始化、打開(kāi)文件以及創(chuàng)建引用等操作,而在“停止”狀態(tài)中進(jìn)行清除臨時(shí)數(shù)據(jù)、關(guān)閉文件和結(jié)束引用等操作。在狀態(tài)機(jī)中,每一個(gè)狀態(tài)都可能導(dǎo)致一個(gè)或多個(gè)狀態(tài)的發(fā)生,其下一狀態(tài)是由用戶的輸入信息和當(dāng)前狀態(tài)所決定的。
在決定使用狀態(tài)機(jī)作為我們的設(shè)計(jì)模型后,我們首先要畫(huà)出一個(gè)狀態(tài)轉(zhuǎn)換圖。在圖中要列出系統(tǒng)中的所有狀態(tài),以及各個(gè)狀態(tài)之間的轉(zhuǎn)換關(guān)系。而且要標(biāo)明轉(zhuǎn)換所需要的條件。
舉個(gè)例子,要編程實(shí)現(xiàn)以下功能:隨機(jī)生成100個(gè)[0,100]內(nèi)的自然數(shù),并判斷生成的自然數(shù)是否在[30,60]的區(qū)間內(nèi)。如果不在該區(qū)間內(nèi)給出報(bào)警信息,如果在區(qū)間內(nèi)則將該數(shù)累加。
實(shí)際上如果我們把生成的隨機(jī)數(shù)看作系統(tǒng)采集到的數(shù)據(jù)的話,這到題就是模擬了一個(gè)采集數(shù)據(jù)并且在數(shù)據(jù)不符合要求時(shí)報(bào)警,并將復(fù)合要求的數(shù)據(jù)進(jìn)行進(jìn)一步分析的系統(tǒng)。
要完成這道題目,需要要先畫(huà)出它的狀態(tài)轉(zhuǎn)換圖:
有了這個(gè)狀態(tài)轉(zhuǎn)換圖,我們就可以清晰的看到程序要實(shí)現(xiàn)的所有狀態(tài)以及狀態(tài)之間的關(guān)系。


評(píng)論


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

關(guān)閉