sfc chart是順序功能圖(sequential function chart)的簡寫,sfc chart有16種狀態(tài),如下圖1所示:
圖1 sfc chart狀態(tài)結(jié)構(gòu)圖
·穩(wěn)定狀態(tài):需要通過事件觸發(fā)才會退出該狀態(tài),包括:ready、run、completed、aborted、stopped、held、held(error)
·非穩(wěn)定狀態(tài):不需要事件觸發(fā),順控程序執(zhí)行完之后會自動退出該狀態(tài),包括:starting、completing、error(completing)、holding、error、resuming、resuming(error)、aborting、stopping
注:
ready狀態(tài)也稱為idle,abort命令也稱為cancel
· 圖中黑色細(xì)線表示順控程序會在處理完畢之后會自動轉(zhuǎn)入下一個狀態(tài),例如startingàrun,holdingàheld等
·圖中黑色粗線表示事件觸發(fā),即狀態(tài)改變需要事件觸發(fā),例如readyàrun需要start命令。事件可以是命令、條件、外部信號、內(nèi)部信號。sfc chart的命令窗口如下圖2所示:
圖2 sfc chart的命令窗口
sfc chart簡單的狀態(tài)變化如下:
1) sfc chart初始狀態(tài)為idle,start命令將sfc chart從“idle”轉(zhuǎn)換到“starting”狀態(tài)。
2) “starting”狀態(tài)下的順控程序執(zhí)行完成后,sfc chart會自動進(jìn)入”run”狀態(tài)。
3) “run”狀態(tài)的改變受selfcomp參數(shù)影響。selfcomp=1時,”run”狀態(tài)的順控程序執(zhí)行完成后sfc chart會自動進(jìn)入“completing”狀態(tài);selfcomp=0時,需要complete命令才能使sfc chart由“run”狀態(tài)轉(zhuǎn)換到“completing”狀態(tài)。
4) “completing”狀態(tài)的順控程序執(zhí)行完成后,sfc chart會自動進(jìn)入“completed”狀態(tài),
5) sfc chart會穩(wěn)定在“completed”狀態(tài),直到受到新的事件觸發(fā),例如“reset”命令會使sfc chart回到“idle”狀態(tài);start命令會使sfc chart回到“starting“狀態(tài)。