1. 程式人生 > >用狀態機表示SFC中的並行分支

用狀態機表示SFC中的並行分支

.com 控制 ref round wid sta bsp idl 過去

過去一直認為,狀態機表示SFC會不會是任務復雜化,這次簡單實驗了一下,感覺還可以。請看下面的控制。

技術分享


技術分享

技術分享


在SFC中,A和B是一對並行分支,匯合後轉移到C分支中,怎麽了用狀態機表示呢?這裏我們在狀態機裏分別用A、B狀態表示分支,它們的匯合點是狀態FreeState。當它們都處於FreeState狀態時,C狀態中的第一個條件in(Conveyor.FreeState) && in(Scale.FreeState)激活, 這樣C中的狀態就從Idle轉移到Stir中了。 另外SFC中,A、B分支的啟動條件是一樣的,那麽在狀態機中,A、B狀態也是一致的,這裏用〔SST && S0 && WC <= Z]

用狀態機表示SFC中的並行分支