200Smart 子程序 跳转指令

我在子程序中使用跳转指令JMP,配合LBL和有条件END,编译后无错误,下载SR20时报编译错误,将子程序中的相关指令删除后,正常下载。

查阅手册描述如图;

官网描述
链接
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/programming/Subroutine.html

问题补充:
使用的软件版本是V2.4,
我发的两张图,系统手册中说明子程序可以使用JMP指令,官网说子程序不能使用跳转,而我实际使用时,子程序中使用跳转指令编译无错误,下载就报错,这是为什么

图片说明:

200Smart 子程序 跳转指令    200Smart 子程序 跳转指令   

最佳答案

1、两张图说的意思是:
跳转指令和其跳转到的标号都必须在同一个块内,不能跨块。这里的块指的是主程序或子程序,或者中断程序。
在主程序中可以使用跳转指令,以及标号指令,主程序的跳转指令只能跳转到主程序自己内部的标号处,不能跳转一本体块外面,也不能跳转到被它调用的子程序内部。
在子程序、中断程序中也可以使用跳转指令,以及标号指令,子程序的跳转指令只能跳转到子程序本体内部的标号处,不能跳转另外一个子程序序内,也不能跳转到主程序。
2、关于你说的问题,我做了一下在线测试。
模拟方法是
第一种情况:
   按第1条,在同一块内跳转,跳转的目标标号也存在时,编译、下载、运行都是没有问题的。
第二种情况:
   按第1条,在同一块内跳转,故意将跳转的目标标号删除,编译即没有警告也没有错误,但当调出下载界面后,没点击”下载“按钮也不报错,点击"下载"后会弹出提示,如附图所示,不让下载。
第三种情况:
    JMP 指令在 子程序中,故意将要跳转的目标标号放在了主程序中,同样编译即没有警告也没有错误,但当调出下载界面后,没点击”下载“按钮也不报错,点击"下载"后会弹出提示,如附图所示,不让下载。
对于第二三种情况希望,西门子改进其编译系统。
3、基于上面的测试,看看你是属于哪一种情况,估计不是第二种就是第三种。即要么跳转指令与标号不在同一个块中,要么在同一块中跳转指令指定的标号不存在。
测试的程序我就不附了。

图片说明:

200Smart 子程序 跳转指令  

提问者对于答案的评价:
感谢您,同时也感谢 小苗子。
经过反复测试和排查,发现问题在END指令上。

我最初的问题描述如下:
****我在子程序中使用跳转指令JMP,配合LBL和有条件END,编译后无错误,下载SR20时报编译错误,将子程序中的相关指令删除后,正常下载。***

子程序中不能使用END指令,问题是Micro Win在编译时没有报错!!!

最佳答案作者回复:
谢谢,分享,共同提高

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午11:03
下一篇 2021年7月4日 下午11:03

相关推荐

  • s7-200 smart 以太网通讯布线

    目前想用多个s7-200 smart用以太网连接,实现商业楼风机控制,因为在每层不同位置布设PLC,想了解下除了用交换机接口给每台PLC跑一根网线外还有其他方案吗?比如类…

    SIMATIC S7-200 SMART 2019年6月10日
  • St40带四个DR32模块电源使用问题

    ST40带四个DR32模块,所有输出点参与控制DC24V小型继电器,使用205电源给模块供电,输入供电 ,输出驱动供电,就干扰的角度看,这样子做可行不,有没有影响?如果不…

    2020年10月30日
  • 200smart Am06闪红灯提示用户电源报警?

    原来是正常运行的,因为着火导致电动调节阀线路短路,之后4个AM06模块就全变红灯了,200CPU是正常的,量24供电(独立的24V开关电源)又是正常的,因为手里没有新模块所有不好更…

    2020年10月30日
  • 程序的具体含义、变量的选取以及实现的功能

    大家好,我想问下下面的程序中算术运算程序的具体含义,变量是根据什么来选取的,以及这段程序实现的功能,谢谢 图片说明:    最佳答案 一款数据处理程序,大致看了…

    2021年7月4日
  • S7-200 SMART R—S转换报错

    S7-200 SMART控制器组态中加入R—S转换块,编译时不报错,下装时报错,无法下装组态,组态中都是R型在运算,中间需要用到一个PID,所以需要转换类型,但是加入后就…

    2020年10月30日
  • 200smart modbus通信

    请问200smart 用modbus协议最多能跟多少台变频器通信? 最佳答案 理论上是1-247个。 提问者对于答案的评价:谢谢!!! 专家置评 没有具体数量限制,每段3…

    SIMATIC S7-200 SMART 2017年6月1日
  • axis RDPOS指令找不到

    我在运动向导里组态后可以调用手册上的绝大部分指令,但这个AXISx_RDPOS指令却始终找不到,要安装什么插件吗?另外我需要PTI脉冲控制在运动到某个值时触发其他指令,则GOTO和…

    SIMATIC S7-200 SMART 2021年7月4日
  • PLC高速采集

    PLC如何采集变化快的模拟信号,采集的最大频率受到哪些因素的制约,最大频率为多少,中断采集可以提升多少 最佳答案 主要是看模拟量输入模块的AD转换时间,200smart模拟量输入模…

    2021年7月4日
  • S7-200SMART的ST60的输入中作为0V输入时I0.0-I0.3怎么接线

    我因为要控制安川的伺服系统所以,要将ST60的输入作为源型的输入方式,即输入为0V,但是在查看手册时看到输入为(漏型/源型1类漏型 I0.0-I0.3除外),我要怎么处理…

    SIMATIC S7-200 SMART 2017年5月31日
  • 运动控制信号

    我用的ST30,为什么原点信号,正负限位信号,这么不稳定啊,一会可以检测到一会检测不到! 问题补充:我找到了原因,我用了两个开关电源!谢谢 产品版区:SIMATIC S7-200 …

    SIMATIC S7-200 SMART 2019年6月10日

发表回复

登录后才能评论