SFC chart有哪些状态,各种状态之间如何转换?

sfc chart是顺序功能图(sequential function chart)的简写,sfc chart有16种状态,如下图1所示:
图1 sfc chart状态结构图
·稳定状态:需要通过事件触发才会退出该状态,包括:ready、run、completed、aborted、stopped、held、held(error)
·非稳定状态:不需要事件触发,顺控程序执行完之后会自动退出该状态,包括:starting、completing、error(completing)、holding、error、resuming、resuming(error)、aborting、stopping
注:
ready状态也称为idle,abort命令也称为cancel
· 图中黑色细线表示顺控程序会在处理完毕之后会自动转入下一个状态,例如startingàrun,holdingàheld等
·图中黑色粗线表示事件触发,即状态改变需要事件触发,例如readyàrun需要start命令。事件可以是命令、条件、外部信号、内部信号。sfc chart的命令窗口如下图2所示:
图2 sfc chart的命令窗口
sfc chart简单的状态变化如下:
1) sfc chart初始状态为idle,start命令将sfc chart从“idle”转换到“starting”状态。
2) “starting”状态下的顺控程序执行完成后,sfc chart会自动进入”run”状态。
3) “run”状态的改变受selfcomp参数影响。selfcomp=1时,”run”状态的顺控程序执行完成后sfc chart会自动进入“completing”状态;selfcomp=0时,需要complete命令才能使sfc chart由“run”状态转换到“completing”状态。
4) “completing”状态的顺控程序执行完成后,sfc chart会自动进入“completed”状态,
5) sfc chart会稳定在“completed”状态,直到受到新的事件触发,例如“reset”命令会使sfc chart回到“idle”状态;start命令会使sfc chart回到“starting“状态。