线下实训
HOME
线下实训
正文内容
plc编程图中jmp 西门子PLC编程方法之跳转指令的应用
发布时间 : 2025-02-25
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子PLC编程方法之跳转指令的应用

S7-200西门子除了有常见的基本操作指令外,还具有丰富的功能指令。这些功能指令能拓宽PLC的应用范围,增强PLC编程的灵活性。它可以完成更为复杂的控制程序的编写,使程序设计更加方便。

跳转指令就属于常用功能指令中的一种。跳转指令要用于较复杂程序的设计,使用该类指令可以用来优化程序结构,增强程序功能。跳转指令可以使PLC编程的灵话性大大提高,它的作用就是使PLC可根据不同条件的判断,选择不同的程序段去执行程序。

1、跳转指令的格式 (见图1所示)

图 1

与跳转有关的指令有两条:跳转指令JMP和标号指令LBL。

跳转指令(JMP):跳转指令使能输入有效时,使程序跳到同程序中的指定标号N处执行。

标号指令(LBL):标号指令用来标记程序段,作为跳转指令执行时跳转到目标位置。

标记目标的操作数N为0-255的数字。

使用说明:

(1) 跳转指令和标号指令必须配合使用,而且只能使用在同一程序块中,如主程序、同一主程序或同一个中断程序。不能在不同的程序块中相互跳转。

(2) 执行跳转后,被跳过程序段中的各元件状态为:1)Q、M、S、C等元件的位保持跳转前的状态; 2)计数器C停止计数,当前值存储器保持跳转前的计数值。 3)对定时器来说,在跳转期间,分辨率为1ms和10ms的定时器会直保持跳转前的工作状态,原来工作的继续工作,到设定值后,其位的状态才会改变,输出触点动作。对分辨率为100ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确计时的意义,所以在跳转段里的定时器要慎用。

2、跳转及跳转标号指令应用举例。 见图2。

图 2

图中,网络1的I0.0接通,则跳转到标号为1的网络3,执行网络3以后的程序,即执行网络5的程序。I0.2接通时,Q0.0、Q0.1同时接通,网络2的程序不执行。当I0.0断开,则执行网络4的跳转指令,网络5的程序不执行,而执行网络2的程序,I0.1接通时,Q0.0、Q0.1同时断开。

3、跳转指令应用实例

用跳转指令编程来控制两只灯,灯分别接于Q0.0、 Q0.1。控制要求如下:

(1) 要求能实现自动与手动控制的切换,切换开关接于I0.0,若I0.0为OFF则为手动操作,若I0.0为ON,则切换到自动运行。

(2) 手动控制时,能分别用一个开关控制它们的启停,两个灯的启停开关分别为I0.1、I0.2。

(3) 自动运行时,两只灯能每隔1s交替闪亮。设计程序如图3所示。

图 3

分析如下:当I0.0为OFF时,把自动程序跳过,只执行手动程序。就是执行网络1(JMP标1的)与网络4(LBL也标1的)之间的程序。这一对跳转程序之间的就是网络2和网络3两条程序。这两条程序就是手动分别控制两只灯的开、关。当I0.0为ON时,把手动程序跳过,只执行自动程序,即网络5(JMP标2的)与网络10(LBL也标2)之间的程序,这里面的程序就是自动控制灯亮、灯灭、并实现了两只灯能每隔1s交替闪亮。

大家看看,是不是非常简单好用!

S7-1200 PLC跳转与标签指令的使用

对于PLC的指令中有一部分是程序控制指令,程序控制指令就包括了用来改变程序执行顺序的跳转指令,以及在程序运行中用于控制的指令。

这一篇文章中先介绍一下跳转与标签指令。

对于S7-200/200 SMART PLC的跳转指令只有JMP这么一个指令,但是对于S7-1200 PLC来说,则是新增了一些指令,比如定义跳转列表的跳转指令JMP_LIST,和跳转分支指令SWITCH等,我们会介绍指令的不同的地方。

下面我们就开始吧~

首先提个问题?

什么是跳转,使用跳转指令可以实现什么功能?

所谓跳转,就是跳过某段程序不去执行,使用跳转指令可以实现改变程序的执行顺序的功能。如果我们没有执行跳转指令的话,各个程序段是按照从上往下的顺序进行执行的,当执行了跳转指令之后,跳转指令会中止程序的顺序执行,跳转到指定的位置的程序开始往下执行。

那么我们怎么去指定这个位置呢?

这时我们就需要用到标签指令了!

所以,跳转指令和标签指令是配对使用的。跳转时,跳转指令和标签指令之间的程序,CPU是不再进行扫描执行的,这个是我们需要注意的。

S7-1200 PLC的跳转指令包括了逻辑结构跳转指令、定义跳转列表的跳转指令JMP_LIST,和跳转分支指令SWITCH。

我们分别看一下这几个指令的功能是怎么样的。

1、逻辑结果跳转指令

逻辑运算结果为1时,执行跳转指令JMP,逻辑运算结果为0时,执行跳转指令JMPN。配套使用的标签指令是LABLE,标签指令上需要标上标签号,可以是数字,也可以是字母或汉字哦。

对于S7-200/200 SMART PLC的跳转指令只有JMP和配套的LBL指令,并不是根据逻辑结果的跳转指令,所以也没有JMPN这个指令,而且对于标签LBL指令,S7-200/200 SMART PLC的标签号只能是数字,不可以是字母和汉字的哦。

2、定义跳转列表的跳转指令JMP_LIST

JMP_LIST指令可以定义多个有条件的跳转,跳转到由K管脚的值指定的标签段的程序去继续执行,而跳转的标签号是在指令框的输出端进行指定的。

我们可以通过点击指令上的增加输出管脚的按钮去增加输出管脚,最多可以增加到32个管脚,也就是DEST0~DEST31,所以K的值的范围也应该是在0~31之间,如果不是这些编号是不执行跳转的。

如上图程序,当JMP_LIST指令的EN驱动条件满足,会根据K的值决定跳转到相应的标签处开始执行,K的值是1,就代表是跳转到DEST1管脚所链接的标签_002处开始执行。

3、跳转分支指令SWITCH

SWITCH指令是根据一个或多个比较指令的结果,定义要执行的多个程序标签处跳转,在管脚K中指定的是要比较的值,将这个值跟各个输入管脚提供的值进行比较,如果比较条件满足的话,就跳转到对于的标签处开始执行程序。

如上图程序中,当K的值等于47.0时,就跳转到DEST0管脚对应的001标签处开始执行,当K的值等于24.6时,就跳转到DEST1管脚对应的002标签处开始执行,当K的值小于或等于14.9时,就跳转到DEST2管脚对应的003标签处开始执行,如果K的值与以上三个比较条件的比较结果都不满足的话,就跳转到ELSE管脚对应的004标签处开始执行。

我们在使用跳转指令的时候有一些注意事项需要注意一下的,

1、跳转指令可以往前跳转,也可以往后跳转。

2、只能在同一个代码块中跳转,不能从一个代码块跳转到另外的代码块中。

3、在一个块中跳转标签的名称只能使用一次。

4、一个程序断中只能设置一个跳转标签。

在执行跳转的过程中又有这样的一个问题,如果跳转执行后的程序希望执行到指定的地方可以自动返回,不再往下执行,这时怎么办呢?

其实这种情况下我们可以利用另外一个指令——返回指令RET实现,返回指令RET是可以用来实现对程序执行的控制,当执行到RET指令时,退出代码块的执行,也就是说RET指令之后的程序段CPU将不再执行。

所以说跳转指令和返回指令RET一起配合使用,可以实现对程序段的选择执行。

比如在每个标签段中加入这个RET指令,那么执行完这个标签到RET指令之间的程序之后,可以自动返回,不再去执行后续的程序。

以上就是S7-1200 PLC的跳转指令相关内容,这个指令可以用于做手自动切换等功能,应用的还是比较多的,大家还是需要掌握好这个指令的使用哦。

在下一篇文章中继续给大家介绍运行时的控制指令,大家可以继续关注哦~

(培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)

相关问答

plc中jmp是什么意思?

是指PLC编程里的JMP指令,JMP是汇编语言中的无条件跳转指令。无条件跳转指令可转到内存中任何程序段。转移地址可在指令中给出,也可以在寄存器中给出,或在储存...

plc各个代码意思?

不同商家的PLC有不同的编程语言,但就某个商家而言,PLC的编程语言也就那么几种,下面以PLC编程语言为例,简单描述下一、指令系统:按照使用的情况分,大致分为...

plc限位开关怎么写?

您好,PLC限位开关的写法可以分为以下几个步骤:1.确定限位开关的输入口,该输入口通常为数字量输入口,需要在PLC编程软件中进行配置。2.在PLC程序中添加相...

西门子plc的编码和译码指令?

编码指令:MOV,ADD,SUB,MUL,DIV,AND,OR,XOR,CMP,JMP,JMPC,CALL,RET,LOD,STO,IN,OUT,ANDI,ORI,XORI,ROTL,ROTR,BSL...

西门子1500plc编程指令?

西门子1500PLC编程指令包括但不限于以下几种:LD指令用于加载数据,AND指令用于逻辑与运算,OR指令用于逻辑或运算,XOR指令用于逻辑异或运算,MOV指令用于数据...

西门子scr指令使用顺序?

在西门子PLC编程中,SCR指令用于控制直流电机的启动和停止。使用SCR指令的顺序如下:首先,使用MOV指令将所需的参数(如电机控制字、电机速度等)加载到相应的...

怎么选择!!大型的欧姆龙PLC供应,欧姆龙PLC价格怎么样??

[回答]OMRONPLC编程器基本操作工作方式选择开关RUN方式PLC执行用户程序,用户可通过编程器上的LCD显示屏监视运行过程中的I/O状态、通道状态、系统扫描时间...

在座的童鞋 谁明白,腾冲速度快的废旧机械设备回收站点,废...

[回答]看见跳转指令了,就是这个跳转指令有问题啊,即使不跳到M000,当MW2=1的时候也会按顺序执行到M000,在M000中MW2也会被MOVE指令置为1,所以压根它就到不...

钻孔机该怎么选择?有谁可以回答一下吗?

[回答]钻孔机方案说明:触摸屏采用以太网形式通讯PLC,PLC采用Canlink通讯伺服实现控制。方案优点通讯优点:采用Canlink通讯伺服,高速度可达1M,节省接线,且...

ABB变频控制柜现货授权经销商有哪些?

[回答]ABB变频器可以咨询浙江东华信息控制技术有限公司了解一下。浙江东华信息控制技术有限公司了解一下成立于1992年,是一家集变频器、直流电源、测试台...

 现代公民意识  吉林市医学会 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部