资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
n 从程序的执行步骤和结构构成上看,基本顺序指令和基 本功能指令是按照其地址顺序执行的,直到程序结束为止 ;而控制指令则可以改变程序的执行顺序和流程,产生跳 转和循环,构成复杂的程序及逻辑结构。n PLC指令的执行特点是采用扫描执行方式,这里就存在 扫描和执行的关系的问题:对于一段代码,扫描并执行扫描并执行是 正常的步骤,但是也存在另外一种情况,就是扫描但不执扫描但不执 行行,从时间上看,仍然要占用CPU时间,但从结果上看, 什么也没有作,相当于忽略了这段代码。因此,这种情况 比较特殊,在控制指令部分会经常遇到,要注意区别。n 另外,触发信号触发信号的概念在这部分经常用到,实际上与前 文提到的控制信号控制信号是一样的,可以是一个触点,也可以是 多个触点的组合,用于控制(触发)相关程序的执行。 7.1.3 基本控制指令7.1.3 基本控制指令n MC/MCE指令n JP/LBL指令n LOOP/LBL指令n ED/CNDE指令n SSTP/NSTP/NSTL/CSTP/STPE指令nCALL/SUB/RET指令nICTL、INT和IRET指令MC/MCE指令n 书写格式X1 (MC1)程序段(MCE1)功能:当MC前面的控制触点闭合时,执行MC至MCE间的 指令;当该触点断开时,不执行MC至MCE间的指令。程序举例主控继电器指令(MC、MCE)的嵌套使用 MC/MCE指令 几点说明:n MC指令不能直接由左母线开始, MCE指令直 接连接左母线;n 同一对指令的编号应相同,编号范围为0-31;n MC及MCE的位置不能颠倒;n 在一对主控指令之间可以嵌套另一对主控指令 ,最多8层。n 当MC前面的触点断开时,MC与MCE之间的程 序只是处于停控状态,此时CPU仍然要扫描这些 程序,不能简单的认为是跳过了这段程序,所以 涉及到程序段内的一些指令执行情况如下:JP/LBL指令(一)指令名称JP: 跳转指令LBL:跳转标记指令 (二)书写格式X1 (JP1)(LBL 1)例:手动/自动工作方式切换程序 程序可以嵌套,可以从多处跳到相同编号的LBL 指令处, LBL可供JP和Loop指令共用,编号为0 -63。JP/LBLJP/LBL指令注意事项指令注意事项 可以使用多个编号相同的JP指令,即允许设置多个跳向 一处的跳转点,编号可以是0 63以内的任意整数,但 不能出现相同编号的LBL指令,否则程序将无法确定将 要跳转的位置。 LBL指令一般放在同序号的JP指令的后面。 JP指令不能直接从母线开始,即前面必须有触发信号。 在一对跳转指令之间可以嵌套另一对跳转指令。 不能从结束指令ED以前的程序跳转到ED以后的程序中 去;不能在子程序或中断程序与主程序之间跳转;不能 在步进区和非步进区进行跳转。在执行跳转指令时,JP和LBL之间的指令不扫 描不执行,所以可使整个程序的扫描周期变短。 JP与LBL之间的触点及寄存器的状态变化如下:JP/LBLJP/LBL指令注意事项指令注意事项循环循环跳转指令:跳转指令:LOOPLOOP、LBLLBLLOOP:循环指令。 LBL:循环标记指令。循环指令的功能为:当执行条件成立时,循 环次数减1,如果结果不为0,跳转到与LOOP相 同编号的LBL处,执行LBL指令后的程序。重复 上述过程,直至结果为0,停止循环;当执行条件不成立时,不循环执行。例:例:例题说明:例题说明:当X6接通时,循环执行LBL1之后的程序。重复执行 相同的操作直至DT0中的内容变为0,结束循环。当X6断开时,不执行循环。注意事项注意事项 可以使用多个编号相同的LOOP指令,编号可以是0 63以内的任 意整数,但不能出现相同编号的LBL指令,否则程序将无法确定循 环区间。此外,该指令可以与JP指令共用相同编号的LBL指令,但 为了程序清晰,尽量避免。 LBL指令与同编号的LOOP指令的前后顺序不限,但工作过程不同 。一般将LBL指令放于LOOP指令的上面,此时,执行循环指令的 整个过程都是在一个扫描周期内完成的,所以整个循环过程不可太 长,否则扫描周期变长,影响了PLC的响应速度,有时甚至会出错 。 LOOP指令不能直接从母线开始,即必须有触发信号。当某编号的 LOOP对应的触发信号接通时,与同编号的LBL即构成一个循环。 循环跳转指令可以嵌套使用。 不能从结束指令ED以前的程序跳转到ED以后的程序中去;也不能 在子程序或中断程序与主程序之间跳转;不能在步进区和非步进区 进行跳转。 LOOP指令的操作数,可以使用字元件WY、WR、DT、SV、EV、 IX、IY等,但不能使用常数K、H。ED/CNDE指令(二)指令的书写格式程序1X0 CNDE程序2ED步进指令(一)指令名称SSTP:步进开始指令NSTP:脉冲式转入步进指令NSTL:扫描式转入步进指令CSTP:步进清除指令STPE:步进结束指令注意事项:注意事项: 步进程序中允许输出OT直接同左母线相连。 步进程序中不能使用MC和MCE、JP和LBL、LOOP和 LBL、ED和CNDE指令。 在步进程序区中,识别一个过程是从一个SSTP指令开 始到下一个SSTP指令,或一个SSTP指令到STPE指令 ,即步进程序区全部结束。 当NSTP或NSTL前面的控制触点接通时,程序进入下 一段步进程序。这里的控制触点和步进控制程序区结束 指令STPE都是必需的。 下一个步进过程的开始同时也清除上一个步进过程。因 为既没有下一个步进过程来清除,也不能自清除,所以 ,最后一个步进过程必须用CSTP指令清除,而且步进控 制程序区结束应有STEP指令。 尽管在每个步进程序段中的程序都是相对独立的,但在 各段程序中的输出继电器、内部继电器、定时器、计数 器不能出现相同的编号,否则按出错处理。 *21主控指令控制步进梯形图 在步进梯形图程序中不能使用跳转移指令、循环指令、主控 指令等。但主控指令可以控制步进梯形图程序。步进指令在编程中的应用n 例题1 顺序控制n 例题2 选择分支指令n 例题3 并行分支指令A段B段C段Y50 ONY51 ONY52 ONX10X12X11X14END过程10过程11过程12控制特点:1、本阶段的三个过程 分别有自己的触发条件 。2、过程之间的转换按 照由上向下的顺序执行 。3、过程转变后,前一 阶段的一切动作相应跟 随结束。顺序控制流程图顺序控制流程图A段B段C段X11X30 END过程10过程11过程20X13X14X12过程12Y50 ONY50 ONY50 ONY50 ONX10控制特点:1、本阶段的四个 过程都有自己的 触发条件。2、本过程含有分 支回路,需要根 据条件选择。3、本阶段中的过 程11和12不能同 时执行。选择分支控制流程图E段X10X31过程0过程11过程30X30X20X11过程21(Y30 ON)(Y33 ON)(Y35 ON)X0过程10过程20(Y31 ON)(Y32 ON)(Y34 ON)C段D段B段A段控制特点:1.本阶段的5个过程均 有自己的触发条件。2.本阶段含有分支, 需要根据条件判断。3.A、B和C、D过程为 并行分支结构。4.A、B和C、D均完成 后进入E过程。并行分支控制流程图*27多层次的分支结构 在步进分支结构中,有些是较为复杂的。可能是由选择 性分支转移到并行性分支,或由并行性分支转移到选择性分 支,或由选择性分支转移到选择性分支,或由并行性分支转 移到并行性分支。无论是哪一种转移,关键是要处理好分支 的插入、过程的转移,以及“分支点”和“集合点”的编程。 图 选择性分支并行性分支的流程图 CALL/SUB/RET指令(一)书写格式X1 (CALL n)(ED)(SUB n)(RET)CALL/SUB/RET指令*30使用子程序时要注意以下几个问题:(1)子程序必须放在指令ED之后,编号取值范围为0-15。子 程序可以在主程序、子程序、中断程序中调用。(2)主程序中可以多次调用同一编号的子程序。(3)子程序可以嵌套,最多嵌套4层。嵌套时要保证子程序结构 完整性。 SUB与RET必须成对使用。如:主程序CALL 0SUB 0 ED CALL 1 SUB 1RET CALL 2 SUB 2RET CALL 3RET(4)在子程序中可以调用子程序,但在子程序内不能编写子程序 。同理,在中断程序中可以调用子程序,但在中断程序内不能编写 子程序。(5)当CALL指令的执行条件(触发器)为OFF时,有些指令保 持原状态,有些不执行。如指令OT、KP、SET、RST保持原状 态,CT、SR保持经过值,TM及其它指令不执行。这些现象在编程 中都是要考虑的。中断中断指令:指令:INTINT、ICTLICTL、IRETIRETICTL:中断控制指令,用于设定中断的类型及 参数。 INT: 中断程序开始标志。 IRET:中断程序结束标志。为了提高PLC的实时控制能力,提高PLC与外部设 备配合运行的工作效率以及PLC处理突发事件的能力, FP1设置了中断功能。中断就是中止当前正在运行的程 序,去执行为要求立即响应信号而编制的中断服务程序 ,执行完毕再返回原先被中止的程序并继续运行。FP1 FP1的中断类型的中断类型 1) 外部中断共有8个中断源X0 X7,对应中断入口为X0 INT0 X4 INT4X1 INT1 X5 INT5X2 INT2 X6 INT6X3 INT3 X7 INT7其优先级别为INT0最高,INT7最低。FP1规定中断信 号的持续时间应2ms。 2) 内部定时中断是通过软件编程来设定每间隔一定的时间 去响应一次中断服务程序,定时中断的中断入口为INT24。 FP1-C24以上机型均有中断功能,其中断功能有两种类 型,一种是外部中断,又叫硬件中断硬件中断,一种是定时中断,又 叫软件中断软件中断。中断中断的实现的实现 1) 对于内部定时中断,是通过编程来实现的,定时中断的时 间,由中断命令控制字设定。 2) 对于外部中断,应先设定系统寄存器No.403的值,然后 再设定中断控制字,并按中断程序的书写格式编写程序。ICTL是中断控制字指令,有二个操作数S1和S2。它可 以是常数H,也可以是某个寄存器的数据。其中S1设置中断 类型,S2设置中断参数。中断控制字的设置中断控制字的设置 此外,与普通微机不同,PLC的中断是非嵌套的,也就 是说,在执行低级中断时,若有高级中断到来,并不立即响 应高级中断,而是在执行完当前中断后,才响应高级中断。 *34操作数S1用来指定控制功能和中断类型。 表 ICTL指令中S1的设定及含义中断类型S1中的设定值含义外部启动中 断(包括 高速计数 器启动中 断)H0000(缩写成 H0)当S1的设定值为 H0时,所有的外部 中断源(包括高速计数器启动中断 )为屏蔽/非屏蔽状态,每一个中 断源是否为屏蔽状态,由S2设定H0100(缩写成 H100)当S1的设定值为 H100时,表示已执 行的中断触发源可以清除,选择 哪些中断源,由S2设定定时启动中 断H0002(缩写成 H2)当S1的设定值为 H2时,为定时启动 中断方式,中断时间间 隔由S2设 定表 ICTL指令中S2的设定及含义中断类型S1设定的 值含义外部启动中 断(包 括高速 计数器 启动中 断)H0S2高8位不用,低8位中07位对应 X0X7这8 个外部中断源,写入“0”表示“禁止(屏蔽) ”,写入“1”表示“允许(非屏蔽)”,只有相 应的位写入“1”时,其对应 的中断源才有效H100S2高8位不用,低8位中07位对应 X0X7这8 个外部
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号