PLC 中的循环控制通常通过步进指令(如 SCR 步进顺控指令) 结合条件跳转实现,尤其适合顺序控制中需要重复执行某段工序的场景(如批量生产、周期性动作)。以下以三菱 FX 系列 PLC 的SCR 指令为例,详解循环控制的编程思路和实例:
一、步进指令(SCR)的循环控制原理
步进指令通过 “步序(S)” 划分工序,配合置位(SET)、复位(RST) 和条件跳转(如 CJP/EJP) 实现循环:
二、单循环控制(执行一次循环后停止)
场景:某设备需完成 “上料→加工→下料”3 步工序,循环 1 次后停机。
程序结构:
ladder
// 初始化:启动信号触发初始步 LD X0 // X0:启动按钮(常开) SET S0 // 激活初始步S0 // 步序1:上料(S0) SCR S0 // 进入步S0 LD X1 // X1:上料完成传感器 SET S20 // 激活步S20(加工) RST S0 // 复位当前步S0 SCRT // 步S0结束 // 步序2:加工(S20) SCR S20 // 进入步S20 LD X2 // X2:加工完成传感器 SET S21 // 激活步S21(下料) RST S20 // 复位当前步S20 SCRT // 步S20结束 // 步序3:下料(S21) SCR S21 // 进入步S21 LD X3 // X3:下料完成传感器 SET S0 // 跳转回初始步S0(形成循环) // 若需单循环,此处改为 SET S99(结束步)并 RST 所有步 RST S21 // 复位当前步S21 SCRT // 步S21结束
逻辑说明:
三、多循环控制(指定次数后停止)
场景:上述工序需循环 5 次后自动停止。
程序结构(增加计数器控制):
ladder
// 初始化:计数器复位+启动触发 LD M8000 // 运行监控 RST C0 // C0:循环次数计数器(复位) LD X0 // 启动按钮 SET S0 // 激活初始步S0 // 步序1:上料(S0) SCR S0 LD X1 // 上料完成 SET S20 RST S0 SCRT // 步序2:加工(S20) SCR S20 LD X2 // 加工完成 SET S21 RST S20 SCRT // 步序3:下料(S21) SCR S21 LD X3 // 下料完成 ADD C0 K1 C0 // 循环次数+1 CMP C0 K5 D0 // 比较:是否达到5次 LT M0 // M0=1:未到5次 GE M1 // M1=1:达到5次 LD M0 // 未到次数,继续循环 SET S0 LD M1 // 达到次数,停止循环 SET S99 // 激活结束步 RST S21 SCRT // 结束步(S99) SCR S99 LD M8000 RST S0 // 复位所有步 RST S20 RST S21 SCRT
逻辑说明:
四、无限循环控制(持续运行,仅外部停止)
场景:传送带持续运行,仅通过急停按钮停止。
程序结构(简化版):
ladder
// 初始步激活 LD X0 // 启动按钮 SET S0 LD X5 // 急停按钮(常闭) RST S0 // 急停时复位 // 运行步(S0) SCR S0 LD M8000 // 持续激活 OUT Y0 // Y0:传送带运行 LD M8000 // 无终止条件,保持当前步 SET S0 // 自循环 SCRT
逻辑说明:
五、关键注意事项
总结
PLC 步进指令的循环控制核心是 “步序跳转 + 条件判断”:通过 SCR 指令划分工序,用 SET/RST 实现步序切换,结合计数器或外部信号控制循环次数。实际编程中需根据循环类型(单循环 / 多循环 / 无限循环)设计终止条件,确保逻辑严谨。

