0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PLC的条件跳转、子程序调用等

qianyanjishuhui 来源:爱上PLC 2023-06-07 14:46 次阅读

条件跳转指令:

指令名称,助记符,指令代码,程序步如下表:

97166360-04fe-11ee-90ce-dac502259ad0.jpg

程序步可以是连续执行或者是脉冲执行,CJ执行的为3步,CJ(P)为1步。

指令格式:

972ac13e-04fe-11ee-90ce-dac502259ad0.jpg

当我们按下X000后,程序跳转指令开始运行,程序所跳转的位置为程序指针所在的位置,也就是标号10,在这里我们要注意程序指针写在左母线的左边。当我们启动跳转指令后,X001这段程序就会被跳过不执行。

当X0为ON时,被跳转CJ命令到标号之间的程序不子执行。在跳转过程中如果Y、M,S被OUT、SET. RST指令驱动使输入发生变化则仍保持跳转前的状态。例如,通过X1驱动输出Y10后发生跳转,在跳转过程中即使X0变为ON,但输出Y10仍有效。

注意:
1、对于T、C,如果跳转时定时器或计数器正发生动作,则此时立即中断计数或停止计时,直到跳转结束后继续进行计时或计数。但是,正在动作的定时器T192~T199与高速计数器C235~ C255. 不管有无跳转仍旧维续工作。

2、功能指令在跳转时不执行,但PLSY、 PLSR、PWW指令除外。

子程序调用与返回指令:

指令名称,助记符,指令代码,程序步如下表:

9742ff24-04fe-11ee-90ce-dac502259ad0.jpg

指令格式:

975d5a40-04fe-11ee-90ce-dac502259ad0.jpg

图中FEND表示主程序结束,在FEND前面的我们称为主程序,在FEND后面的我们称为子程序。SRET表示子程序结束,或者叫子程序返回。我们要注意,在FEND与SRET之间的程序,我们称为第一个子程序,在第二个SRET之前的我们称为第二个子程序。当我们按下X001的时候,指针调用到P11,程序开始从P11这个地方从上往下开始执行,当碰到第一个SRET的时候,程序又返回到主程序中,但是在这个程序中如果X002被接通,那么程序指针则调用到P12,程序开始从上到下运行,当碰到第二个SRET的时候,程序返回到P12这个地方,然后在碰到第一个SRET的时候,返回到主程序。因为P12这个程序是嵌套在P11这个程序中的,所以我们要注意,在PLC中这种程序嵌套最多只能使用5级。

中断指令:

中断指令总共有3条,我们用一个表格来详细说明:

976600b4-04fe-11ee-90ce-dac502259ad0.jpg

在这里FEND前面的为主程序,FEND后面的为中断子程序,中断子程序能否进行与中断条件与中断指针有关,所以在这里我们得给大家说说中断指针的格式:

中断指针:

977d9b2a-04fe-11ee-90ce-dac502259ad0.jpg

定时中断:

97921bae-04fe-11ee-90ce-dac502259ad0.jpg

程序示例:

97a511dc-04fe-11ee-90ce-dac502259ad0.jpg

我们先给大家介绍一下这个程序:FEND前面的程序表示主程序,后面的表示中断子程序,EI表示允许中断,IRET表示中断返回指令,I610指针表示,中断时间为10mm,6表示最高中断级别。

当我们按下X000后K1的数据被传送到D1里面去,K255的数据被传送D2里面去,M1被置位接通,中断子程序运行。RAMP 表示斜坡指令,表示产生一个数据D3,而D3的变化范围是从D1到D2也就是从1到255,由于这是一个定时中断程序,当M1接通的时候,每隔10ms中断一次程序,K1000表示1000个扫描周期,因为D3的范围是从1变到255,而它所需要的时间为1000个10ms,也就是说从X0接通到D3变成255的时间为1000X10ms=10秒,当D3等于255的时候M8029接通,M1被复位断开,然后中断指令与斜坡指令被断开,然后碰到IRET指令程序返回。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5010

    文章

    13271

    浏览量

    463068
  • 子程序
    +关注

    关注

    0

    文章

    33

    浏览量

    11185
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68525

原文标题:PLC的条件跳转、子程序调用等,我这都给你讲解

文章出处:【微信号:爱上PLC,微信公众号:爱上PLC】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一文详解PLC子程序子程序指令

    在编程时经常会遇到相同的程序段需要多次执行的情况,如图6-39所示,程序段A要执行两次,编程时要写两段相同的程序段,这样比较麻烦。解决这个问题的方法是将需要多次执行的程序段从主
    的头像 发表于 12-14 13:33 8509次阅读
    一文详解<b class='flag-5'>PLC</b><b class='flag-5'>子程序</b>与<b class='flag-5'>子程序</b>指令

    子程序的创建与调用

    【LabVIEW从入门到精通】2.5 子程序的创建与调用
    发表于 01-08 15:43 0次下载

    三菱FX系列PLC条件跳转子程序指令的应用_赫焕丽

    三菱FX系列PLC条件跳转子程序指令的应用。
    发表于 05-18 10:42 3次下载

    跳转指令B及带连接的跳转指令BLX上 

    特定情况下还有其他几种方式实现这个目的,但转移和转移连接指令是标准的方式。 跳转指令改变程序的执行流程或者调用子程序。这种指令使得一个程序
    发表于 10-19 10:26 2次下载
    <b class='flag-5'>跳转</b>指令B及带连接的<b class='flag-5'>跳转</b>指令BLX上 

    中断处理和子程序调用概念解析

    子程序是一组可以公用的指令序列,只要给出子程序的入口地址就能从主程序转入子程序子程序在功能上具有相对的独立性,在执行主
    发表于 11-16 11:12 1w次阅读
    中断处理和<b class='flag-5'>子程序</b><b class='flag-5'>调用</b>概念解析

    plc如何停止子程序调用_具体操作解析

    进入子程序请使用CALL指令,即是FUN67指令,在子程序中要使用标签:LBL指令即FUN65,子程序段结束后请使用RTS指令,即FUN68子程序返回指令。
    发表于 11-16 11:35 1.5w次阅读
    <b class='flag-5'>plc</b>如何停止<b class='flag-5'>子程序</b><b class='flag-5'>调用</b>_具体操作解析

    如何提高PLC程序运行的效率详细编程方法说明

    在西门子plc中,子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL
    的头像 发表于 02-03 12:57 3325次阅读
    如何提高<b class='flag-5'>PLC</b><b class='flag-5'>程序</b>运行的效率详细编程方法说明

    PLC条件跳转子程序调用指令的使用方法实例讲解

    我们先给大家介绍一下这个程序:FEND前面的程序表示主程序,后面的表示中断子程序,EI表示允许中断,IRET表示中断返回指令,I610指针表示,中断时间为10mm,6表示最高中断级别。
    的头像 发表于 08-11 09:47 1.4w次阅读
    <b class='flag-5'>PLC</b>的<b class='flag-5'>条件</b><b class='flag-5'>跳转</b>和<b class='flag-5'>子程序</b><b class='flag-5'>调用</b><b class='flag-5'>等</b>指令的使用方法实例讲解

    一文知道UP/MAKRO程序调用

    该指令可用于调用子程序并将子程序调用链接到条件(布尔操作数)。如果需要,可以链接多个操作数(最多11个)。
    的头像 发表于 11-07 10:57 2000次阅读
    一文知道UP/MAKRO<b class='flag-5'>程序</b>的<b class='flag-5'>调用</b>

    KUKA的程序调用--VSS版本解析

    该指令可用于调用子程序并将子程序调用链接到条件(布尔操作数)。如果需要,可以链接多个操作数(最多11个)。
    的头像 发表于 03-18 10:07 3096次阅读
    KUKA的<b class='flag-5'>程序</b><b class='flag-5'>调用</b>--VSS版本解析

    PLC编程优化设计使程序运行提速

    PLC子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL,如果
    发表于 03-24 15:57 1215次阅读

    西门子PLC子程序介绍

    或无条件返回指令,用户程序只能使用条件结束指令和条件返回指令。 通常,具有特定功能和多种用途的程序段被视为
    发表于 12-13 16:28 3857次阅读

    提高PLC程序运行有什么方法

    在西门子plc中,子程序是为某些特定的控制目的而编制的相对独立的程序。执行子程序CALL指令。如果条件
    发表于 01-10 15:57 793次阅读

    PLC创建库文件与带参数子程序功能该如何使用

    在S7-200SMART系列PLC子程序中,子程序可以分为两类,一类为不带参数的子程序,另一类为带参数的子程序,使用带参数的
    的头像 发表于 10-28 11:06 3976次阅读

    浅析PLC条件跳转子程序调用

    对于T、C,如果跳转时定时器或计数器正发生动作,则此时立即中断计数或停止计时,直到跳转结束后继续进行计时或计数。但是,正在动作的定时器T192~T199与高速计数器C235~ C255. 不管有无跳转仍旧维续工作。
    发表于 01-31 14:20 704次阅读