步进指令用于在大型程序中为各程序段建立连接点,特别适用于顺序控制。通常把整个控制程序划分为一系列程序段,每段对应工艺过程的一部分。用步进指令可按指定顺序分别执行各程序段——必须先执行完前一段才能执行下一段,且下一段执行前 CPU 清除数据区并复位定时器。一个程序段通常按实际应用中的一个过程定义,段内编程与普通编程相同,但某些指令(如 IL/ILC、JMP/JME、END、SBN)不能用在步进程序段中。
步进指令有 2 条:步定义 STEP(08) 和步启动 SNXT(09),其梯形图符号及可用操作数如图 4.67 所示。
图 4.67 STEP、SNXT 的梯形图符号及操作数数据区

编程时,每个步进程序段必须以 SNXT(09)B 指令开头(作为启动第一个程序段的信号),然后用一条步入口 STEP(08)B 指令,其 B 值(控制位)与 SNXT(09)B 中的 B 值相同,其后才是该程序段的指令集。各步进段顺序编排,全部编好后,最后紧跟一条 SNXT(09)B(B 值无意义,可用任何未被系统使用的位号),其后再用不带控制位 B 的 STEP(08) 指令标志这一系列步进段的结束,如图 4.68 所示。
图 4.68 STEP、SNXT 指令的应用

在图 4.68 中,输入 00000 为 ON 时开始执行 LR1500 程序段,输入 00001 为 ON 时开始执行 LR1501 程序段。被 LR1500 段使用的数据区中,IR、HR、AR 和 LR 位均为 OFF、定时器被复位;计数器、移位寄存器及 SET、RESET、KEEP(11) 指令所用的位保持原有状态。每个步进段控制的动作除可通过执行下一个 SNXT(09) 指令结束外,还可由步控制位转为 OFF 结束。
步控制位 B 不能在程序其他地方使用(除非作为控制步进段操作的位)。所有控制位 B 必须在同一数据区且必须连续。若用 IR 或 LR 位作控制位,电源中断期间其状态会丢失;如需保持状态并从同一步恢复执行,必须使用 HR 或 AR 位。
图 4.69 步进流程图

步进控制有顺序执行、分支执行和并行执行三种类型。图 4.69 为顺序执行的步进流程图,属单流程执行,与 FX 的状态转移图类似。图中 SW 为进入每一过程的转换信号(如自动生产线中的行程开关、传感器信号),对应梯形图程序如图 4.68 所示。
例 4.1 送料车如图 4.70 所示,由电动机拖动:正转前进、反转后退,原位处于后端并压下后限位开关。合上启动开关后小车前进,运行至压下前限位开关时打开装料斗门,延时 10 s 后装料完毕小车后退,退至原位压下后限位开关,打开小车底门卸料(停 5 s)。要求小车可手动操作和连续循环自动控制。
图 4.70 送料车运行过程

图 4.71 I/O 分配接线图
