使用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 )分别为相应的梯形图和指令表。
( a )顺序功能图
( b )梯形图
( c )指令表
图 单序列编程
三、选择序列编程
从多个分支流程中选择某一个单支流程,称之为选择性分支。
选择序列的顺序功能图与步进梯形图之间的转换下图( a )、( b )和(c)所示。
(a)顺序功能图
(b) 梯形图
(c) 指令表
图 选择序列对应的梯形图和指令表
下图为使用传送带将大、小球分类选择传送的装置示意图。其动作顺序为下降、吸工件、上升、右移、下降、释放工件、上升、左移。左上为原点,当机械臂下降且电磁铁吸住大球时,限位开关 sq2 断开,而吸住小球时 sq2 接通,以此判断大球或小球。
左移、右移分别由 y4 、 y3 控制,上升、下降分别由 y2 、 y0 控制,将工件吸住由 y1 控制。当机械臂移到上限位、左限位并松开时为原点位置,即 , y5 为原点指示。
上限位: sq3 ― x3
下限位: sq2 - x2
左限位: sq1 ― x1
右移小球限位: sq4 ― x4
右移大球限位: sq5 ― x5
图 大、小球分拣示意图
根据工艺要求,该控制流程可依据 sq2 的状态(即对应大、小球)分成两个分支,如下图所示。
图 大、小球分拣顺序功能图
根据上图,得到大、小球分拣控制系统的步进梯形图和指令表如下图( a )和( b )所示。
(a) 梯形图
( b )指令表
图 大、小球分拣系统步进梯形图和指令表
四、并行序列编程
下图所示为并行分支的顺序功能图,并行分支是指同时处理的程序流程。
图 并行序列的顺序功能图
其梯形图和指令表见下图中的( a )图和( b )图。
( a ) 梯形图
( b ) 指令表
图 并行序列对应的梯形图和指令表
下图所示为按钮式人行道红、绿灯交通管理器,它是一个并行分支与汇合序列。
图 按钮式人行道交通灯示意图
正常情况下,汽车通行,即 y3 绿灯亮、 y5 红灯亮;当行人需要过马路时,则按下按钮 x0 (或 x1 ), 30s 后主干道交通灯的变化为绿→黄→红(其中黄灯亮 10s ),当主干道红灯亮时,人行道从红灯转成绿灯亮, 15s 后人行道绿灯开始闪耀,闪耀 5 次后转入主干道绿灯亮,人行道红灯亮。
下图是人行道交通灯的顺序功能图,该图既有并行分支,又有选择分支。
图 人行道交通灯顺序功能图
其步进梯形图和指令表分别见下图( a )和( b )。
( a )梯形图
( b )指令表
图 人行道交通灯的步进梯形图和指令表