回复:块多次调用,返回值互相干挠

芳季

西门子1847工业学习平台

  • 帖子

    15537
  • 精华

    101
  • 被关注

    963

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2018-09-02 08:58:34

24楼

展开查看
以下是引用龍族在2018-09-02 02:55:34的发言 >

@芳季  大神,如果我在子程序的开头,加上清零语句:

L 0

T LB  0

T LB   x

将所有用到的L 区清零,会不会解决这个问题?


不会。你就当做这个L是一片全局的地址,但是每个子程序都用。那你清零是没用的。然而要给一个有用的值才是正路。所以是先赋值再使用。用前从数据区复制出来,用完移到数据区保存。这个动作是必然的。300只是系统帮你选择了适当的空间装载临时变量,而30就是系统帮你选择了适当的全局空间做临时变量。其实同一个功能的实现都是要占用等量的空间的。

星三角启动子程序调用100次,就必然出现

100个启动计时器当前值的数据空间。

100个启动计时器设定值的数据空间。

100个启动中布尔量。

100个启动完成布尔量。

等等。

这些变量始终要地方存放的,但是不是临时区。那么是哪里呢?系统能帮你做你就省了做,不能省的就要自己做。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9019条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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