200Smart PLC 不同子程序使用相同的局部变量,主程序调用完成之后局部变量不释放问题

已锁定

qutong

  • 帖子

    4
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2019-11-04

普通 普通 如何晋级?

200Smart PLC 不同子程序使用相同的局部变量,主程序调用完成之后局部变量不释放问题

2869

5

2020-03-09 09:40:00

作为一个新手,最近在研究200Smart的子程序的用法。结果出现了一些令我很困惑的问题,希望各位大神不吝赐教。

事件的起因是因为我在网络上看到一个关于同一个子程序重复调用的问题。具体的链接如下:

http://blog.sina.com.cn/s/blog_669692a60101fy1m.html

虽然这个问题,作者最后给出了解决的方法,但是难免让人心有余悸,如果一个子程序很大的时候,使用的局部变量很多的时候,出错的概率也会加大。

通过这个帖子的启发,我在200Smart中进行测试。有两个子程序分别为SBR_3和SBR_4,他们有相同的局部变量L0.0、L0.1、L0.2。然后分别在主程序中调用他们。


主程序中调用SBR_3和SBR_4,同时使I0.5保持导通,I0.7保持断开。奇怪的是Q0.5和Q0.6都导通了,也就是说SBR_3中的局部变量L0.2调用完成之后没有释放???????????

继续做测试,把M0.5和M0.6断开,过一段时间再次置位M0.6结果还是一样的。也就是说即使我不调用子程序了,局部变量也不会释放???????

主程序、SBR_3和SBR_4,的代码截图如下所示


主程序


SBR_3子程序



SBR_4子程序





200Smart PLC 不同子程序使用相同的局部变量,主程序调用完成之后局部变量不释放问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7476条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。