使用STL指令的编程方法
一、STL/RET 指令
STL 指令可以使编程者生成流程和工作与顺序功能图非常接近的程序。
STL 指令的意义为激活某个步(即状态),在梯形图上体现为从主母线上引出的状态接点。STL 指令有建立子母线的功能,从而使该状态的所有操作均在子母线上进行。
步进返回指令 RET 是指状态流程结束,用于返回主母线。 一般 FX 系列 plc 采用状态器 S 编制顺控程序,并与 STL 指令一起使用。
1. 顺序功能图和步进梯形图之间的转换
使用步进梯形指令 STL 和步进返回指令 RET 可以将顺序功能图转换为步进梯形图,其对应关系如下图所示。
( a ) 顺序功能图 ( b ) 梯形图 ( c ) 指令表 ST L 触点驱动的电路块有 3 个功能:①对负载的驱动处理,即 在这一步要做什么; ②指定转移条件, 即满足该条件则退出这一步; ③指定转移目标, 即下一步状态是什么 。
2. 步进梯形图编程规则
( 1 )初始步可由其它步驱动,但运行开始时必须用其它方法预先作好驱动,否则状态流程不可能向下进行。
( 2 )步进梯形图编程顺序为:先进行驱动,后进行转移。二者的顺序不能颠倒。
( 3 )编程时必须使用 STL 指令对应于每一个顺序功能图上的步。
( 4 )各 STL 触点的驱动电路一般放在一起,最后一个 STL 电路结束时,一定要使用步进返回指令 RET 使其返回主母线。 ( 5 ) STL 触点可以直接驱动也可以通过别的触点驱动,如 Y 、 M 、 S 、 T 、 C 等元件的线圈和应用指令。
( 6 )驱动负载使用 OUT 指令,当同一负载需要连续多步驱动时可使用多重输出,也可使用 SET 指令将负载置位,等到负载不需要驱动时再用 RST 指令将其复位。
( 7 )由于 CPU 只执行活动步对应的电路块,因此使用 STL 指令时允许“双线圈”输出,即不同的 STL 触点可以分别驱动同一编程元件的一个线圈。
( 8 )与 STL 触点相连的触点使用 LD 或 LDI 指令。 ( 9 )在步的活动状态的转移过程中,相邻两步的状态器会同时 ON 一个扫描周期,此时可能会引发瞬时的双线圈问题。为了避免不能同时接通的两个输出(如下图所示控制电动机正反转的接触
器线圈)同时动作,除了在梯形图中设置软件互锁电路外,还应在 PLC 外部设置由常闭触点组成的硬件互锁电路。
图 正反转的软件互锁控制
( 10 ) SET 指令和 OUT 指令均可以用于步的活动状态的转移,可将原来活动步对应的状态器复位,将后续步置为活动步,此外还有自保持功能。
(11) 并行序列和选择序列中分支处的支路数不能超过 8 。 (12) 在转移条件对应的电路中,不能使用 ANB 、 ORB 、 MPS 、 MRD 、 MPP 指令。 二、单序列编程
送料小车开始时停在右侧限位开关 X1 处,如下图所示。按下起动按钮 X3 , Y2 为 ON ,打开料斗的闸门,开始装料,同时定时器 T0 定时, 8s 后关闭料斗的闸门, Y2 变为 OFF , Y1 变为 ON ,开始左行。碰到限位开关 X2 后停下来卸料, Y1 变
为 OFF , Y3 变为 ON ,同时定时器 T1 开始定时。 10s 后 Y3 变为 OFF , Y0 变为 ON ,开始右行,碰到限位开关 X1 后返回初始状态,此时 Y0 变为 OFF ,小车停止运行。
图 运料小车工作示意图
由运料小车的工艺要求可知,这是一个顺序流程控制过程,设计其顺序功能图的步骤如下:
( 1 )将整个工作过程按工序进行分解,每个工序对应一个步(即状态),步的分配如下所示。 初始状态: S0 。 装料: S20 。 左行: S21 。 卸料: S22 。 右行: S23 。
从以上工作过程的分解可以看出,该控制系统一共有 5 步。 ( 2 )对应于每一个步的动作。
S0 :无动作。
S20 :驱动 Y2 为 ON ,小车装料,同时起动定时器 T0 定时 8s 。
S21 :驱动 Y1 为 ON ,小车开始左行。
S22 :驱动 Y3 为 ON ,小车卸料,同时起动定时器 T1 定时 10s 。
S23 :驱动 Y0 为 ON ,小车右行。 ( 3 )找出每个步的转移条件。
由工作过程可知,每一步的转移条件为:
S0 : PLC 上电之初由初始化脉冲 M8002 (只闭合一个扫描周期)对其置位为 ON ,为以后活动步的转移作准备,在工作过程中,由右限位对其置位为 ON 。
S20 :小车在右限位 X1 处并且按起动按钮 X3 ,即 S21 : T0 的常开触点。 S22 :左限位 X2 。 S23 : T1 的常开触点。
经过上述 3 个步骤,得到的小车控制系统的顺序功能图如下图所示。下图( b )和图( c )分别为相应的梯形图和指令表。
。