6.3程序流向控制指令分析.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.3程序流向控制指令分析

PLC原理及应用技术 九江职业技术学院 第6章 应用指令的介绍 内容提要 应用指令的表示形式及含义 应用指令的分类与操作数说明 程序流向控制指令 比较与传送指令 算术运算与字逻辑运算指令 循环移位与移位等指令 程序设计举例 本节结束!谢谢观看! *九江职业技术学院电气工程系 * 6.3 程序流向控制指令 循环结束 NEXT 09 循环,可嵌套5层 FOR 08 监视定时器刷新 WDT 07 主程序结束 FEND 06 中断禁止(禁止中断) DI 05 中断允许(允许中断) EI 04 中断返回,从中断程序返回主程序 IRET 03 子程序返回,从CALL调用的子程序返回主程序 SRET 02 子程序调用,调用P指针标号处程序,可嵌套5层 CALL 01 条件跳转,程序跳到P指针标号处 CJ 00 指令名称及功能 指令助记符 FNC□□ 6.3.1 条件跳转指令[CJ(FNC00)] 1、指令使用 一个标号只能使用一次,但两条跳转指令可以使用同一标号。编程时,标号占一行。 2、应用举例 手动和自动控制切换电路。X0为切换方式开关,X1为手动计数脉冲,M8013为秒脉冲,X10为清零开关。 6.3.2 子程序调用指令[CALL-SRET(FNC01、FNC02)] 1.指令使用 CALL指令在程序中的基本使用格式。 CALL指令一般安排在主程序中,主程序的结束有FEND指令。子程序开始端有PXX指针号,最后由SRET返回主程序。 子程序调用指令可以嵌套,最多为5级。 指针号在程序中只能用一次。 2.应用举例 当X1为OFF、X0为OFF时,调用P1(2S)子程序执行,若X0为ON 、X1为OFF时,调用P0(1S)子程序执行;当X1为ON,就不能调用P0、P1子程序,而调用P2(4S)子程序并执行。 6.3.3 中断指令[IRET、EI、DI(FNC03、FNC04、FNC05)] 1、中断指令的使用说明 IRET:中断子程序返回主程序; EI:允许中断; DI:禁止中断。 图为中断指令使用说明。EI~DI为允许中断区间,当中断条件出现在主程序此区间内则转向执行有中断标号的子程序。 中断子程序开始有中断标号,由IRET返回。中断子程序一般出现在主程序后面。中断标号必须对应允许中断的条件。 在中断条件0~8中,0~5表示与输入条件X0~X5对应,在中断指令的使用图中,中断标号I001表示X0为1在上升沿执行中断子程序I,I101表示X1为1在上升沿执行子程序Ⅱ,6~8为定时器中断条件(标号),如I610表示指定由定时器6每计时10 ms执行一次中断子程序。同理I899表示由定时器8每计时99 ms执行一次中断子程序。 I □ 0 □ 1:上升沿中断 0:下降沿中断 常置0 中断条件0~8,其中X0~X5:0~5 定时器:6~8 对定时器后2位为指针的时值10~99ms(计时中断) 中断子程序可嵌套最多二级,多个中断信号同时出现,中断标号低的有优先权。 对中断标号为I00□~I50□的输入中断,对应M8050~M8055为1时中断被禁止。对中断标号为I6□□~I8□□的定时器中断,对应M8056~M8058为1时中断被禁止。 在特殊场合主程序设计中采用中断指令,可以有目的预先应付突发事件。中断指令也适用于一些必须定时监控诊断的主程序中。 2.应用举例 6.3.4 主程序结束指令[FEND(FNC06)] FEND指令表示主程序结束。程序执行到FEND时,进行输入、输出处理,监视定时器和计数器刷新,全部完成以后返回到程序的00步。 使用该指令时应注意,子程序和中断子程序必须写在主程序结束指令FEND和END指令之间。 在有跳转(CJ)指令的程序中,用FEND作为主程序和跳转程序的结束。在调用子程序(CALL)中,子程序、中断子程序应写在FEND之后且用SRET和IRET返回指令。当主程序中有多个FEND指令,CALL或中断子程序必须写在最后一个FEND及END之间。 在程序的执行过程中,如果扫描的时间(从第00步到END或FEND语句)超过了200ms(FX2PLC监视定时器100 ms,FX2N为200 ms),则PLC将停止运行。在这种情况下使用WDT指定可以刷新监视定时器,使程序执行到END或FEND。 WDT为连续型执行指令,WDT(P)为脉冲型执行指令。如右上图所示其梯形图、工作波形图。 要改变监视定时器时间,可通过改变D8000的数值进行。如右下图所示是将监视定时值设为300 ms。 WDT两种工作状态 修改监视定时值 6.3

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档