1、选择性分支状态转移图的特点
从多个流程顺序中选择执行哪一个流程,称为选择性分支。图
4就是一个选择性分支的状态转移图。
图
5
选择性分支状移图
a、该状态转移图有三个流程图,见图5(a)、(b)、(c)所示。
b、S20为分支状态
根据不同的条件(
X0,X10,X20),
选择执行其中的一个流程。
X0为ON时执行图5(a),X10为ON时执行图5(b),X20为ON时执行图5(c)。X0,X10,X20不能同时为ON。
c、S50为汇合状态,可由S22、S32、S42任一状态驱动。
图
5 图4分支流程分解图
2、选择性分支、汇合的编程
编程原则是先集中处理分支状态,然后再集中处理汇合状态。
1
分支状态的编程
编程方法是先进行分支状态的驱动处理,再依顺序进行转移处理。
图
4的分支状态S20
见图
6
图
6 图
4 中
S20
的分支状态
按分支状态的编程方法,首先对S20进行驱动处理(OUT
Y0),然后按S21、S31、S41的顺序进行转移处理。程序如下
STL |
S20 |
|
LD |
X10 |
|
OUT |
Y0 |
驱动处理 |
SET |
S31 |
转移到第二分支状态 |
LD |
X0 |
|
LD |
X20 |
|
SET |
S20 |
转移到第一分支状态 |
SET |
S41 |
转移到第三分支状态 |
2、汇合状态的编程
编程方法是先进行汇合前状态的驱动处理,再依顺序进行向汇合状态的转移处理。
图
5-13的汇合状态及汇合前状态,如图图7所示。
图
7
汇合状态
S50
按照汇合状态的编程方法,依次将
S21、S31、S32、S41、S42的输出进行处理,然后
按顺序进行从
S22(第一分支)、S32(第二分支)、S42(第三分支)向S50的转移。
汇合程序如下。
STL |
S21 |
第一分支汇合前的驱动处理 |
STL |
S22 |
汇合前的驱动处理 |
OUT |
Y1 |
|
LD |
X2 |
|
LD |
X1 |
|
SET |
S50 |
由第一分支转移到汇合点 |
SET |
S22 |
|
STL |
S32 |
|
STL |
S22 |
|
LD |
X12 |
|
OUT |
Y2 |
|
SET |
S50 |
由第二分支转移到汇合点 |
STL |
S31 |
第二分支汇合前的驱动处理 |
STL |
S42 |
|
OUT |
Y11 |
|
LD |
X22 |
|
LD |
X11 |
|
SET |
S50 |
由第三分支转移到汇合点 |
SET |
S32 |
|
|
|
|
STL |
S32 |
|
|
|
|
OUT |
Y12 |
|
|
|
|
STL |
S41 |
第三分支汇合前的驱动处理 |
|
|
|
OUT |
Y21 |
|
|
|
|
LD |
X21 |
|
|
|
|
SET |
S42 |
|
|
|
|
STL |
S42 |
|
|
|
|
OUT |
Y22 |
|
|
|
|