首页
学习
活动
专区
工具
TVP
发布

PLC的条件跳转,子程序调用等指令使用方法

条件跳转指令:

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

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

指令格式:

当我们按下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指令除外。

子程序调用与返回指令:

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

指令格式:

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

中断指令:

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

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

中断指针:

定时中断:

程序示例:

我们先给大家介绍一下这个程序: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指令程序返回。

(文章来源网络,仅供参考。评论处大家可以补充文章解释不对或欠缺的部分)

大家一起交流学习

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191026A0HVYM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券