选择性分支结构指的是在某个状态下,有大于等于2个分支流程,每个分支流程都有一个状态条件,根据哪个转移条件成立,则转移到对应的分支流程中去。
选择性分支存在分支和汇合,但有时候也有可能只有分支而没有汇合部分,但大多数情况下都有分支和汇合部分,所以这得根据实际控制要求。
下面我们就以自动门控制系统来讲解一下!
自动门控制系统的控制要求:当有人靠近自动门时,感应器I0.0为ON,驱动电动机正转高速开门,碰到开门减速开关I0.1时,减速开门,碰到开门极限开关I0.2时电动机停止,并开始延时。
如果1s内感应器检测到无人,启动电动机反转高速关门,碰到关门减速开关I0.3时,改为减速关门,碰到关门极限开关I0.4时电动机停止。
在关门器件如果感应器检测到有人,则停止关门,延时1s后自动转换为高速开门。
一、使用通用逻辑指令编程
其中M0.4步之后是一个选择性分支部分,当M0.5步或M0.6步变成激活状态时,M0.4则应复位,所以M0.4步中的程序中将M0.5和M0.6常闭触点串联起来了。
同样的,M0.5步之后也是一个选择性分支部分,所以将M0.0和M0.6常闭触点串联起来了,这就是选择性分支的编程部分。
对于选择性分支的汇合部分,我们可以看到M0.1步之前有汇合,当M0.0步处于激活状态并且转移条件I0.0满足,或者M0.6步为激活状态并且转移条件T38满足,则可以使M0.1步变成激活状态。
所以,程序中将M0.0和I0.0常开触点串联,M0.6和T38常开触点串联,再将它们进行并联起来,这就是选择性分支的汇合了。
二、使用置位复位指令编程
置位复位指令的方法应该比较容易能够理解的,每一个控制置位和复位程序的驱动条件,都是由前一步对应的M存储器位的常开触点和转移条件串联在一起即可,最后再统一做每个状态步的输出。
三、使用SCR指令编程
利用SCR/SCRT/SCRE这些指令的方法,其实是由多个SCR程序段组成的,每个SCR程序段又包括了步的起始即SCR,驱动输出处理,转移条件SCRT,和步的结束即SCRE。
这里我们将M0.0~M0.6的状态步换成了状态继电器S0.0~S0.6,比如说用转移条件I0.0驱动SCRT
S0.1指令即可实现从状态步S0.0到下一个状态步S0.1的转移。
程序中状态步S0.4之后有两条分支,如果是I0.3接通,则从S0.4转移到S0.5状态步中去,如果是I0.0接通,则从S0.4转移到S0.6状态步中去,这就是选择性分支的分支部分。
对于选择性分支的汇合部分,我们可以看到S0.1步之前有汇合,当S0.0步处于激活状态并且转移条件I0.0满足,或者S0.6步为激活状态并且转移条件T38满足,则可以使S0.1步变成激活状态,所以,在S0.0和S0.6对应的SCR程序段中,分别用I0.0和T38的常开触点驱动SCRT
S0.1,这就能实现选择性分支的汇合了。