22-3. PLC的程序控制指令(跳转及标号指令)

22-3. PLC的程序控制指令(跳转及标号指令)
其核心作用类似于计算机编程中的 GOTO语句,用于改变程序执行的顺序流,实现程序分支选择。


一、核心概念:两条指令,一个组合

  1. 跳转指令
  • 名称 :JMP n(n 为 0-255 的数字)。
  • 功能 :当 前面的条件满足(输入有效) 时,它就立即"命令"程序跳转走。
  • 类比:就像路牌上写着"如果前方拥堵,请跳转到3号路线"。
  1. 标号指令
  • 名称 :LBL n(n 必须与对应的 JMP n中的数字相同)。
  • 功能 :它标记了程序中的一个目标位置,是跳转指令的目的地。
  • 类比:就像高速公路上的"3号路线"入口标识。
    简单来说 :JMP是 "从哪里跳" 的命令,LBL是 "跳到哪里去" 的标记,两者通过相同的数字 n 配对使用。

二、工作原理

图片中的例子清晰地展示了这个过程:

  • 梯形图(左)
    • I0.0是一个输入触点(如一个按钮开关)。
    • 当 I0.0接通(为1) 时,JMP 3指令生效。
    • 程序不会继续向下执行 紧随其后的常规逻辑,而是直接跳转 到标有 LBL 3的地方开始执行。
    • 如果 I0.0断开(为0) ,JMP 3指令无效,程序会像平常一样,顺序执行 JMP 3和 LBL 3之间的所有指令。
  • 语句表(右)
    • LD I0.0:载入输入 I0.0 的状态。
    • JMP 3:如果前面条件为真,则跳转到标号 3。
  • LBL 3:这里是标号 3 的位置。

三、关键规则与影响(使用说明)

  1. 必须配对 :JMP和 LBL必须成对出现,且在同一程序块内(如同在主程序中),不能跨子程序或中断程序跳转。
  2. 跳转时的元件状态"冻结" :被跳过的程序段(即 JMP和 LBL之间的部分)会停止执行。这会对内部的元件产生特殊影响,这是使用时要特别注意的:
  • 输出、中间继电器等:保持跳转前的状态不变。
  • 计数器:停止计数,当前值保持。
  • 定时器(分情况)
    • 1ms/10ms 定时器:继续计时(PLC系统仍在后台刷新),到时后触点会动作。
  • 100ms 定时器停止计时 ,当前值保持不变。这会导致计时不准确,因此被跳转段内的定时器需谨慎使用

四、核心用途总结

这种指令主要用在需要 "程序选择性执行" 的场合,例如:

  • 设备模式选择:手动模式、自动模式、维修模式对应不同的程序段,通过一个选择开关触发跳转。
  • 工艺配方切换:生产不同产品时,跳转到不同的参数设置和流程段。
  • 错误处理与复位:发生某种故障时,跳转到专门的报警处理程序段。
    简单来说,跳转及标号指令赋予了PLC程序非顺序执行的能力,让工程师可以根据外部条件灵活地组织程序结构,跳过当前不需要执行的步骤,从而提高编程效率和程序的可读性。
相关推荐
专注VB编程开发20年11 天前
Wifi智能插座,国产运动控制PLC MC508价格1万,西门子2万
plc·智能插座
控电PLC11 天前
29. 长定时电路
plc·plc基本电路编程
专注VB编程开发20年15 天前
PLC协议:Modbus.Device(NModbus4)和手动 Socket.BeginConnect (APM异步编程模型)对比
网络·网络协议·tcp/ip·plc
控电PLC16 天前
28. 计数器的扩展
plc·plc基本电路编程
专注VB编程开发20年16 天前
简易虚拟 PLC 服务器-流水线自动化,上位机程序维护升级,西门子PLC仿真
服务器·单片机·自动化·上位机·plc·流水线·工控
专注VB编程开发20年16 天前
MC508 PLC支持多线程网络通讯,多客户端连接,要注意不要同时读写(麦格米特PLC)
服务器·网络·windows·.net·plc·mc508·麦格米特
控电PLC18 天前
27. 脉冲宽度可控制电路
plc·plc基本电路编程
kyle~18 天前
PLC通信
c++·机器人·plc·通信·工业自动化
控电PLC20 天前
26. 瞬时接通、延时断开电路
plc·plc基本电路编程
Mya1535927378723 天前
BX&Mya PM864AK01 3BSE018161R1 高性能冗余CPU模块
plc·控制器模块·现货库存·价格优惠·处理器模块·pm864ak01·3bse018161r1