第5章应用指令 5.1程序控制类指令 5,2特殊指令
第5章 应用指令 5.1 程序控制类指令 5.2 特殊指令
5.1程序控制类指令 5.1.1结束及暂停指令 ■5,1.2看门狗指令 5,1.3跳转指令 ■5.1.4子程序指令 ■5.1.5程序循环指令 ■5,1.6顺序控制继电器指令 5,1,7与ENO指令 巡回本章首
5.1 程序控制类指令 ◼ 5.1.1结束及暂停指令 ◼ 5.1.2看门狗指令 ◼ 5.1.3跳转指令 ◼ 5.1.4子程序指令 ◼ 5.1.5程序循环指令 ◼ 5.1.6顺序控制继电器指令 ◼ 5.1.7与ENO指令 返回本章首页
5.1.1结東及暂停 1结束指令=) 结束指令有两条:END和MEND。两条指令在 梯形图中以线圈形式编程。 ■END,条件结束指令。使能输入有效时,终 止用户主程序。 MEND无条件结束指令。无条件终止用户程序 的执行,返回主程序的第一条指令 用 Micro/Win32编程时,编程人员不需手工 输入MEND指令,而是由软件自动加在主程序 结尾。指令格式:END(无操作数)
5.1.1 结束及暂停 ◼ 1. 结束指令 ◼ 结束指令有两条:END和MEND。两条指令在 梯形图中以线圈形式编程。 ◼ END,条件结束指令。使能输入有效时,终 止用户主程序。 ◼ MEND无条件结束指令。无条件终止用户程序 的执行,返回主程序的第一条指令。 ◼ 用Micro/Win32编程时,编程人员不需手工 输入MEND指令,而是由软件自动加在主程序 结尾。指令格式:END (无操作数)
2.暂停指令 sToP,暂停指令。使能输入有 T囗P 效时,该指令使主机cPU的工作 方式由RUN切换到SToP方式, 从而立即终止用户程序的执行 STOP指令在梯形图中以线圈形 式编程。指令不含操作数。指令 的执行不考虑对特殊标志寄存器 位和能流的影响。 指令格式:STOP(无操作数) 巡回本节
◼ 2. 暂停指令 ◼ STOP,暂停指令。使能输入有 效时,该指令使主机CPU的工作 方式由RUN切换到STOP方式, 从而立即终止用户程序的执行。 ◼ STOP指令在梯形图中以线圈形 式编程。指令不含操作数。指令 的执行不考虑对特殊标志寄存器 位和能流的影响。 ◼ 指令格式:STOP(无操作数) 返回本节
5.1.2看门狗 aWDR,看门狗复位指令。当使能输入有效时,执行 WDR指令,每执行一次,看门狗定时器就被复位 次 S7的看门狗WDR的设定值为300ms,有时在循环 或调用子程序,响应中断服务程序时,扫描时间超 过300ms,WDR会认为出错。 ■可用本指令可用以延长扫描周期,从而可以有效避 免看门狗超时错误。 ■指令格式:WDR (无操作数) 程序实例:指令SToP、END、WDR的应用如图 52所示
5.1.2 看门狗 ◼ WDR,看门狗复位指令。当使能输入有效时,执行 WDR指令,每执行一次,看门狗定时器就被复位一 次。 ◼ S7的看门狗WDR的设定值为300ms,有时在循环 或调用子程序,响应中断服务程序时,扫描时间超 过300ms, WDR会认为出错。 ◼ 可用本指令可用以延长扫描周期,从而可以有效避 免看门狗超时错误。 ◼ 指令格式:WDR (无操作数) ◼ 程序实例:指令STOP、END、WDR的应用如图 5.2所示
SM5.0 LD SM5.0 ∥检查IO错误 STO SM4.3 ∥运行时刻检查编程 SM4. 3 I0.3 ∥外部切换开关 STOP ∥条件满足,由RUN ∥切换到STOP方式 0.3 ∥/ LD I0.5 ∥外部停止控制 Network 2 END ∥停止程序执行 0.5 HEND ∥/ Network 3 M0.4 WDR LD M04 用触点重新触发 WDR 看门狗定时器 图51停止、结束、看门狗指令 巡回本节
LD SM5.0 //检查 I/O 错误 O SM4.3 //运行时刻检查编程 O I0.3 //外部切换开关 STOP //条件满足,由 RUN // 切换到 STOP 方式 // // LD I0.5 //外部停止控制 END //停止程序执行 // // LD M0.4 //用触点重新触发 WDR //看门狗定时器 A I0.2 // • 图5.1 停止、结束、看门狗指令 返回本节
5.1.3跳转 跳转指令 与跳转相关的指令有下面两条: ??? (1)跳转指令- ■]MP,跳转指令。使能输入有效时,使 程序流程跳到同一程序中的指定标号n 处执行。执行跳转指令时,逻辑堆栈的 栈顶值总是1 T??? LBL ■(2)标号指令 LBL,标号指令。标记程序段,作为跳 转指令执行时跳转到的目的位置。操作 数n为0~255的字型数据
5.1.3 跳转 ◼ 1. 跳转指令 ◼ 与跳转相关的指令有下面两条: ◼ (1)跳转指令 ◼ JMP,跳转指令。使能输入有效时,使 程序流程跳到同一程序中的指定标号n 处执行。执行跳转指令时,逻辑堆栈的 栈顶值总是1。 ◼ (2)标号指令 ◼ LBL,标号指令。标记程序段,作为跳 转指令执行时跳转到的目的位置。操作 数n为0~255的字型数据
程序实例: 某生产线对产品进行加工处理,同时用增减 计数器对成品进行计数,如果检测到100个成 品就要跳过某些控制程序直接进入小包装控 制程序;若检测到900个成品,则程序跳转到 大包装控制程序 程序如下:
程序实例: ◼ 某生产线对产品进行加工处理,同时用增减 计数器对成品进行计数,如果检测到100个成 品就要跳过某些控制程序直接进入小包装控 制程序;若检测到900个成品,则程序跳转到 大包装控制程序。 ◼ 程序如下:
11.0 c10 I10 CU CTUD LD LD 11.2 l12 R C10 +100=PV CTUD C10100 C10 LDI=C10,100 OMP JMP 5 C10 C20 LD C10 CU CTU I1.2 5 C20 CTU C20.9 C20 LD=C20,9 JMP LBL LBL 5 Q1.0 LD 1.3 S) 程序跳转实例 8 LBI LD 11.4 3 SQ20,3 图52成品包装控制程序
• 图 .5 2 程 序 跳 转 实 例
51.4子程序指令 编写子程序的步骤 1建立子程序 2.编写子程序 3在主程序、其他子程序、或中断程序中 调用子程序(带参数的子程序)
5.1.4 子程序指令 编写子程序的步骤 1 .建立子程序 2. 编写子程序 3.在主程序、其他子程序、或中断程序中 调用子程序(带参数的子程序)