此文章来自<施耐德somachine120例>1.3.19章节
在执行SFC程序时,经常会写很多步骤,但是在整个控制过程中,
如果有紧急停止或其他停止信号需要SFC直接跳转至初始步并重新开始执行时,
往往是在每一步上增加一个跳转条件,满足条件时跳转至初始步,
这会导致程序量增大,造成程序修改不方便.
其实,在SFC的编程语言中提供了一些系统隐含的变量,可以控制SFC的一些动作,
见下表.
在使用以上SFC系统隐含变量时,
首先必须在这个程序中激活相应的SFC系统隐含变量.
并勾选所需的SFC系统隐含变量.
如下图
在这些SFC系统隐含变量中用到最多的是SFCLnit与SFCReset两个变量.
用来跳转至初始步.
以下面的程序为例,
来说明这两个SFC系统隐含变量的不同.如下图
在正常执行时,直接强制SFCInit为TRUE,则无论程序执行至哪一步,直接跳转至Init步.
并且Init步没有被激活,之前执行步中的输出状态被保持,
当SFCInit为FALSE时,Init步重新被激活.如下图
在正常执行时,直接强制SFCReset为TRUE,则无论程序执行到哪一步,直接跳转至Init步,
并且Init步被激活,之前执行步中的输出状态被Init步内的状态刷新,
当SFCReset为FALSE时,步操作正常执行.
综合以上测试结果来看,SFCInit适合在SFC程序的外围控制,
并且还要注意所有输出状态的处理SFCReset适合在SFC的程序内部控制,
因为Init步会被激活,因此,可以将部分程序放在Init步中执行.
示例程序如下图