如开篇所述,SFC 图表由一个或多个顺控程序构成,使用顺控程序可以在 SFC中执行状态相关和事件驱动的程序。而每个顺控程序则是由其基本元素步、转移条件以及文本(仅显示,不对功能起作用)组合而成。这些基本元素的组合可以构成顺控程序的如下分支结构:
最简单的结构即顺序,由一系列的步和转移构成。在 SFC 中,整个顺序称为顺控程序(从启动步到结束步)。
图7 顺序和顺控程序
并行分支指多个分支(两个或以上的分支)在一个周期内同时执行。并行分支结构始终位于转移或后文要介绍的选择分支之后,结束于步或选择分支之前。并且仅当所有并行分支执行完成才判断下一步的转移条件,若所有分支执行完成且转移条件满足,则执行所有分支的最后步的终止以及下一步的初始化动作。以反应釜进料为例,如果多个物料具有独立的管道,SFC 中则可以使用并行分支同时进料。
如下图所示,T001 条件满足时同时执行并行分支1到分支4,且需要所有分支执行完成后才判断并行分支后的后继转移条件T022是否满足。
图8 并行分支结构
选择分支与并行分支恰恰相反,只执行多个分支(两个或以上分支)中的一个分支。选择分支仅执行首先满足条件的分支,如果多个分支同时满足则优先执行最左侧的分支。选择分支起始于步之后,结束于步之前。应用场景同样适用于反应釜进料。如果多个物料具有公用管道,此时只能同时进一种物料则可使用选择分支。
如下图所示,顺控程序执行到 S012 之后,根据选择分支1到分支3的转移条件T023到T025判断,哪个转移条件首先满足则执行其对应的分支。当 T023 首先满足时,则执行分支1,分支2和3则不会执行。当 T023 到 T025 同时满足条件时,则优先执行最左侧的分支1。
图9 选择分支结构
循环适用于顺控程序某部分根据转移条件可能需要再次执行,包括一个顺序和一个返回路径。如下图所示,循环位于步之后(如图中S018),返回路径返回到步之前(如图中S017)。按照时间顺序先判断后继转移,然后才判断返回转移,即同时满足后继转移和返回路径的转移条件时执行后继转移之后的步。对于循环的返回路径,不可位于并行分支和选择分支内。
图10 循环
跳转相对于循环则更加灵活,可以跳转到同一顺控程序的任一位置。跳转包括一个转移条件和带跳转目标信息的箭头。当后继转移和一个或多个跳转的跳转转移条件同时满足时执行后继转移之后的步。
图11 跳转