SFC 操作状态逻辑 – 状态机
- 手动模式,通过命令更改操作状态,如下图所示
- 自动模式,通过 SFC 的外部视图更改操作状态
图 2 SFC 编辑器处于测试模式下
如图2所示,SFC 包含9个控制命令,分别为:启动、中止、重新启动、暂停、完成、复位、继续运行、停止和出错。执行这些动作可导致SFC 转入如下的16种操作状态:空闲、正在启动、运行、出错(正在完成)、已完成、正在暂停、已暂停、正在恢复、出错、已暂停(出错)、正在恢复(出错)、正在中止、已中止、正在停止、已停止。
SFC 的操作状态逻辑(SFC OSL)可用如下图所示的状态机表示,图中列出了SFC图表的可能状态、可能在特定状态下进行的转移以及引起状态变化的事件。通过 SFC OSL 可以很容易理解 SFC的执行过程及相应的命令或操作等。
图3 SFC 状态机
16种操作状态可分为两类:
稳态:OSL中需要通过事件退出的状态(即圆形表示的状态),例如:空闲、已暂停、已中止、已停止等状态。
暂态:OSL中隐式退出的状态(即矩形框表示的状态),例如:正在启动、正在完成、正在暂停、正在中止、正在停止等状态。
其中运行状态比较特殊,自结束时由运行到正在完成可以看作暂态,非自结束和连续模式时可以看作稳态。
9种控制命令对应 SFC OSL 图中的黑色粗箭头所指示的命令,可以是手动模式下来自 SFC 面板的对应按钮,也可以是自动模式下的SFC 外部视图中自动命令。
SFC 库中提供了基于SFC 操作状态的模板(如图4所示),可以直接复制使用。实际编程过程中可能不需要这么多顺控程序,或者多个状态下执行相同的顺控程序,可根据实际需求调整。
图4 SFC 库提供的基于 SFC 状态的 SFC 图表模板