线下实训
HOME
线下实训
正文内容
plc跳转编程实例 S7-1200 PLC跳转与标签指令的使用
发布时间 : 2025-03-18
作者 : 小编
访问数量 : 23
扫码分享至微信

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编程方法之跳转指令的应用

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交替闪亮。

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

相关问答

plc编程最后循环到第一步怎么编?

plc编程实现循环有多种方法,可以用到跳转指令,蛮方便的,也可以用调用指令,看个人习惯,跳转和调用指令都可用来做手动自动的转换,不过用它们的话,手动和自动的...

三菱plc编程,在for循环中加入跳转指令,能否跳出该循环指令?

For指令在一个周期内执行完毕,你这样做显然是不对的,你需要使用计数器加跳转指令来实现循环4次的功能。For指令在一个周期内执行完毕,你这样做显然是不对的,...

欧姆龙PLC跳转指令JMP04JME05的功能?

OFF跳转,中间的程序不会动作,同时也不会扫描。OFF跳转,中间的程序不会动作,同时也不会扫描。

西门子200plc如何复制程序段?

回答如下:要复制程序段,可以按照以下步骤操作:1.在STEP7软件中打开要复制的程序。2.选择要复制的程序段,可以使用鼠标选中或使用键盘快捷键。3.按下...

西门子PLC怎么完成循环啊S7-200我是用定时器来完成程序的,我TOF以后程序就完成了,怎么回到开头啊?

循环控制吗,那不是很简单,一般都是顺序控制,只要你在最后步执行完了跳转到需要循环开始点就可以了。如果需要多个这样的循环,另外编程,可以调用子程序方式实...

plc自动循环程序自动跳?

PLC自动循环程序自动跳是指在程序循环执行过程中,当遇到特定条件时,程序会自动跳转到指定的位置继续执行。这种自动跳转的功能可以使程序逻辑更加完善和灵活,...

三菱plc中cj指令如何输入开始和结束呀?

CJ是条件跳转指令,(功能号是FNC00Pxx,Pxx是程序指针标志,在要跳转到的地方前面加程序标号,标号任选P0~p127),软件直接输入cj空格Pxx,当CJ的执行条件满足时...

三菱plc恒压pid编程实例?

以下是一个三菱PLC恒压PID控制的程序实例:```MC+GB10#10=2000//设置计算周期为2000ms(示例)MC+S1#1=0//PV实际值#2=0//SV...

西门子plc程序控制指令?

关于这个问题,以下是一些常见的西门子PLC程序控制指令:1.LD:加载指令,将一个变量或者寄存器的值加载到一个寄存器中。2.AND:逻辑与指令,将两个逻辑值进...

plc结构化编程格式?

PLC(可编程逻辑控制器)结构化编程格式主要包括以下几个部分:1.程序结构:PLC结构化编程格式通常采用类似于流程图的结构,包括主程序(Mainprogram)、子程...P...

 蜀山奇仙录  日记局长 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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