循环和跳步都属于选择序列的特殊情况。对选择序列和并行序列编程的关键在于对它们的分支和合并的处理,转换实现的基本规则是设计复杂系统梯形图的基本准则。与单序列不同的是,在选择序列和并行序列的分支、合并处,某一步或某一转换可能有几个前级步或几个后续步,在编程时应注意这个问题。
1.选择序列的编程
(1)使用STL指令的编程
如图5-35所示,步S0之后有一个选择序列的分支,当步S0是活动步,且转换条件X0为“1”时,将执行左边的序列,如果转换条件X3为“1”状态,将执行右边的序列。步S32之前有一个由两条支路组成的选择序列的合并,当S31为活动步,转换条件X1得到满足,或者S33为活动步,转换条件X4得到满足,都将使步S32变为活动步,同时系统程序使原来的活动步变为不活动步。
图5-35 选择序列的功能表图一
如图5-36所示为对图5-35采用STL指令编写的梯形图,对于选择序列的分支,步S0之后的转换条件为X0和X3,可能分别进展到步S31和S33,所以在S0的STL触点开始的电路块中,有分别由X0和X3作为置位条件的两条支路。对于选择序列的合并,由S31和S33的STL触点驱动的电路块中的转换目标均为S32。
图5-36 选择序列的梯形图一
在设计梯形图时,其实没有必要特别留意选择序列的如何处理,只要正确地确定每一步的转换条件和转换目标即可。
(2)使用通用指令的编程
如图5-38所示对图5-37功能表图使用通用指令编写的梯形图,对于选择序列的分支,当后续步M301或M303变为活动步时,都应使M300变为不活动步,所以应将M301和M303的常闭触点与M300线圈串联。对于选择序列的合并,当步M301为活动步,并且转换条件X1满足,或者步M303为活动步,并且转换条件X4满足,步M302都应变为活动步,M302的起动条件应为:
图5-37 选择序列功能表图二
图5-38 选择序列的梯形图二
(3)以转换为中心的编程
如图5-39所示是对图5-37采用以转换为中心的编程方法设计的梯形图。用仿STL指令的编程方式来设计选择序列的梯形图,请读者自己编写。
图5-39 选择序列的梯形图三
2.并行序列的编程
(1)使用STL指令的编程
如图5-40所示为包含并行序列的功能表图,由S31、S32和S34、S35组成的两个序列是并行工作的,设计梯形图时应保证这两个序列同时开始和同时结束,即两个序列的第一步S31和S34应同时变为活动步,两个序列的最后一步S32和S35应同时变为不活动步。并行序列的分支的处理是很简单的,当步S0是活动步,并且转换条件X0=1,步S31和S34同时变为活动步,两个序列开始同时工作。当两个前级步S32和S35均为活动步且转换条件满足,将实现并行序列的合并,即转换的后续步S33变为活动步,转换的前级步S32和S35同时变为不活动步。
图5-40 并行序列的功能表图
如图5-41所示是对图5-40功能表图采用STL指令编写的梯形图。对于并行序列的分支,当S0的STL触点和X0的常开触点均接通时,S31和S34被同时置位,系统程序将前级步S0变为不活动步;对于并行序列的合并,用S32、S35的STL触点和X2的常开触点组成的串联电路使S33置位。在图5-41中,S32和S35的STL触点出现了两次,如果不涉及并行序列的合并,同一状态器的STL触点只能在梯形图中使用一次,当梯形图中再次使用该状态器时,只能使用该状态器的一般的常开触点和LD指令。另外,FX系列PLC规定串联的STL触点的个数不能超过8个,换句话说,一个并行序列中的序列数不能超过8个。