15021292620
首页 > 新闻中心 > 西门子PLC模块西门子PLC模块分销商|安顺西门子代理商参数详情
新闻中心
西门子PLC模块西门子PLC模块分销商|安顺西门子代理商参数详情
发布时间:2023-10-20        浏览次数:5        返回列表
西门子PLC模块西门子PLC模块分销商|安顺西门子代理商参数详情

西门子PLC模块分销商|安顺西门子代理商

西门子PLC模块分销商|安顺西门子代理商西门子PLC模块分销商|安顺西门子代理商

安顺西门子代理商

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的跳转指令相关内容,这个指令可以用于做手自动切换等功能,应用的还是比较多的,大家还是需要掌握好这个指令的使用喔!

CN6ES72121AB230XB8S7-200CN CPU222,DC/DC/DC,8输入/6输出
6ES72121BB230XB8S7-200CN CPU222,AC/DC/Rly,8输入/6输出
6ES72141AD230XB8S7-200CN CPU224,DC/DC/DC,14输入/10输出
6ES72141BD230XB8S7-200CN CPU224,AC/DC/Rly,14输入/10输出
6ES72142AD230XB8S7-200CN CPU224XP,DC/DC/DC,14输入/10输出,集成2AI/1AO
6ES72142AS230XB8S7-200CN CPU224XPsi,DC/DC/DC,14输入/10输出,集成2AI/1AO
6ES72142BD230XB8S7-200CN CPU224XP,AC/DC/Rly,14输入/10输出(NPN输出),集成2AI/1AO
6ES72162AD230XB8S7-200CN CPU226,DC/DC/DC,24输入/16输出
6ES72162BD230XB8S7-200CN CPU226,AC/DC/Rly,24输入/16输出

浔之漫智控技术上海有限公司(西门子系统集成商)销售西门子S7-200/300/400/1200PLC、数控系统、变频器、人机界面、触摸屏、伺服、电机、西门子电缆等,

并可提供西门子维修服务,欢迎来电垂询

西门子PLC模块分销商|安顺西门子代理商                           西门子PLC模块分销商|安顺西门子代理商

核心提示:西门子PLC模块分销商,安顺西门子代理商
刚发布的文章
新闻分类
最新发布
企业新闻
联系方式
  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 电话:15021292620
  • 手机:15021292620
  • 联系人:颜娟