熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > labview的深入探索-----狀態(tài)機的基本概念

labview的深入探索-----狀態(tài)機的基本概念

作者: 時間:2017-01-09 來源:網(wǎng)絡 收藏
狀態(tài)機不是LABVIEW獨有的概念,早在LABVIEW誕生之前,就有了狀態(tài)機(STATE MACHINE)的概念,只所以在LABVIEW編程中經(jīng)常強調狀態(tài)機是因為LABVIEW特有的圖形編程方式特別適合于采用狀態(tài)機模式編程,在PLC中有流程圖的編程方式,從本質上說,那是一種特殊的狀態(tài)機。

STATE MACHINE包括三個基本要件,STATE、EVENT 、ACTION,狀態(tài)、事件和動作

狀態(tài):是一個抽象的概念在一定條件下或者一定時間內保持不變,等待一個或幾個事件的發(fā)生,命名狀態(tài)時,往往可以用等待--來定義。

事件:是一個瞬時的概念,表示某件事情發(fā)生了,一旦有關的事件發(fā)生了,勢必要采取某種動作。

動作:表示一旦事件發(fā)生,采取何種處理方式,處理的結果就是另一個穩(wěn)定的狀態(tài)。

狀態(tài)(等待事件)---》事件發(fā)生----》采取動作----》另一個狀態(tài)。

狀態(tài)機的概念是非常簡單的,越是簡單的東西越不容易處理,原因是簡單則限制少,則靈活,狀態(tài)機設計的好壞完全取決于編程者的水平,這不僅僅指LABVIEW編程的水平,更重要的是編程者的邏輯思維,一個好的狀態(tài)機的設計,關鍵是如何定義狀態(tài),狀態(tài)少了,則意味著每一個狀態(tài)中要處理的事務多了,狀態(tài)多了,則整個狀態(tài)機就變的復雜了。

以一個簡單的紅綠燈控制來說,簡單地說有兩個狀態(tài),紅色狀態(tài)和綠色狀態(tài),事件是綠燈時間到和紅燈時間到,綠色時間到觸發(fā)的動作是,綠色燈滅,紅色燈量,紅色時間到觸發(fā)的動作是紅色滅,綠燈量。

我過去的文章中多次提到ACTION ENGINE的概念,它與狀態(tài)機的區(qū)別是,它僅僅定義了ACTION,而沒有定義STATE和EVENT,因此,它的ACTION完全取決于編程者,而狀態(tài)機自己本身就可以根據(jù)內部或者外部條件的變化,自動采取相應的動作,轉入其它的狀態(tài),實現(xiàn)控制自動化。

有多種形式的STATE MACHINE,我將在后續(xù)的文章中陸續(xù)介紹,先看一下紅綠燈的實現(xiàn)過程,假如綠燈亮20秒,紅燈亮10秒。

先定義三個基本狀態(tài):初始化(僅在第一次調用時發(fā)生),等待綠燈結束和等待紅燈結束。
LABVIEW的嚴格枚舉數(shù)據(jù)類型是LABVIEW狀態(tài)機定義狀態(tài)的最好工具,使用狀態(tài)機時,必須要使用這種數(shù)據(jù)類型,好處是增加或者減少狀態(tài),程序可以自動更新。





評論


技術專區(qū)

關閉