复杂的控制系统的顺序功能图由单序列、选择序列和并行序列组成,掌握了选择序列和并行序列的编程方法,就可以将复杂的顺序功能图转换为梯形图。
对选择序列和并行序列编程的关键在于对它们的分支与合并的处理,转换实现的基本规则是设计复杂系统梯形图的基本准则。
图5-29和图5-30是自动门控制系统的顺序功能图和梯形图。人接近自动门时,感应器X0变为ON,Y0驱动电动机高速开门,碰到开门减速开关X1时,变为低速开门。碰到开门极限开关X2时门全开。无人后延时0.5s,开始高速关门。碰到关门减速开关X3时,改为低速关门,碰到关门极限开关X4时停止关门,返回初始步。
在关门期间若感应器检测到有人,停止关门,T1延时0.5s后自动转换为高速开门。两段0.5s的延时是为了确认有人或无人。
1.选择序列的分支的编程方法
图5-29中的步S23之后有一个选择序列的分支。步S23为活动步(S23为ON)时,如果转换条件X0为ON(检测到有人),则将转换到步S25;如果转换条件 为ON(门关至减速位置且无人),则将转换到步S24,减速关门。
如果在某一步的后面有N条选择序列的分支,则该步的STL指令开始的电路中应有N条分别指明各转换条件和转换目标的电路。例如步S23之后有两条支路,两个转换条件分别为 和X0,可能分别进入步S24和步S25,在S23的STL指令开始的电路块中,有两条分别由 和X0作为置位条件的电路。
STL触点具有与主控指令(MC)相同的特点,即LD点移到了STL触点的右端(见图5-23),对于选择序列的分支对应的电路的设计,是很方便的。用STL指令设计复杂系统的梯形图时更能体现其优越性。
2.选择序列的合并的编程方法
图5-29中的步S20之前有一个由两条支路组成的选择序列的合并,当S0为活动步,转换条件X0得到满足,或者步S25为活动步,转换条件T1(延时结束)得到满足,都将使步S20变为活动步,同时系统程序将步S0或步S25复位为不活动步。
在梯形图中,由S0和S25的STL指令开始的电路中均有转换目标S20,对它们的后续步S20的置位(将它变为活动步)是用SET指令实现的,对相应前级步的复位(将它变为不活动步)是由系统程序自动完成的。其实在设计梯形图时,没有必要特别留意选择序列的合并如何处理,只要正确地确定每一步的转换条件和转换目标,就能“自然地”实现选择序列的合并。
梯形图中T0的线圈同时受到S22的STL触点和X0的常闭触点的控制,所以产生步S22之后的转换实际上需要两个条件,即检测到该步无人(X0为OFF)和定时时间到。
3.仿真实验
将图5-30中的程序输入到主程序,或打开随书光盘中的例程“自动门控制”,然后打开GX Simulator,启动软元件监视视图,生成X窗口、Y窗口和S窗口。
图5-29 自动门控制的顺序功能图
(www.xing528.com)
图5-30 自动门控制的梯形图
刚开始进入RUN模式时,初始步S0应为ON。双击X窗口中的X0,模拟有人出现。观察是否能转换到步S20,Y0变为ON,开始高速开门。
两次双击X1,模拟自动门到达减速位置。观察是否能转换到步S21,Y0变为OFF,Y1变为ON,减速开门。
两次双击X2,模拟门全开,观察是否能转换到步S22,Y1变为OFF,停止开门。将X0复位为OFF,模拟人离开,观察0.5s后是否转换到步S23,Y2变为ON,高速关门。
两次双击X3,模拟自动门到达关门减速位置。观察是否能转换到步S24,Y2变为OFF,Y3变为ON,减速关门。
两次双击X4,模拟自动门全关。观察是否能返回到初始步S0,Y3变为OFF,关门结束。
重复上述的操作,在步S23为ON时,将X0置位为ON,模拟高速关门过程中有人出现。观察是否能转换到步S25,延时后返回步S20,开始高速开门。
在步S24为ON时,将X0置位为ON,模拟减速关门过程中有人出现。观察是否能进入步S25,延时后返回步S20。
图5-30是S23为活动步时的程序状态,可以看到仅指令“STL S23”对应的STL触点和该步的动作Y2为ON。
调试有选择序列的顺序功能图时,应充分考虑到各种可能的情况,对顺序功能图中的每一条支路、各种可能的进展路线,都应逐一检查,不能遗漏。发现问题后应及时修改程序,直到每一条进展路线上步的活动状态的顺序变化,以及输出继电器的ON/OFF状态变化都符合顺序功能图的规定。
4.STL指令的优点
1)在转换实现时,对前级步的状态和由它驱动的输出继电器的复位是由系统程序完成的,而不是由用户程序在梯形图中完成的,因此用STL指令设计的程序最短。
2)STL触点具有与主控指令(MC)相同的特点,即LD点移到了STL触点的右端(见图5-23),对于选择序列的分支对应的指明转换条件和转换目标的并联电路的设计,是很方便的。用STL指令设计复杂系统的梯形图时更能显示其优越性。
3)与条件跳步(CJ)指令类似,CPU不执行处于断开状态的STL触点驱动的电路块中的指令,在没有并行序列时,同时只有一个STL触点接通,因此使用STL指令可以显著地缩短用户程序的执行时间,提高PLC的输入、输出响应速度。
4)其他编程方法一般不允许出现双线圈现象,即同一软元件的线圈不能在两处或多处出现。在用这些编程方法设计输出电路时,应仔细观察顺序功能图,对那些在两步或多步中为ON的输出继电器,应将各有关步对应的软元件的常开触点并联后,驱动相应输出继电器的线圈。当顺序功能图的步数很多、输出继电器也很多时,设计输出电路的工作量很大,稍有不慎就会出错。
在使用STL指令的编程方法时,不同的STL触点可以分别驱动同一软元件的一个线圈,输出电路实际上分散到各STL触点驱动的电路块中。设计时只需注意某一步有哪些输出继电器应被驱动,不必考虑同一输出继电器是否在其他步也被驱动,因此大大简化了大型复杂系统输出电路的设计,可以节省不少的设计时间。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。