回复:FB里的TEMP变量为什么能够记住以前的状态???

shine

  • 帖子

    8803
  • 精华

    39
  • 被关注

    157

论坛等级:至圣

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2017-03-21 16:45:10

6楼

Temp的变量是不确定的,这次记住了并不表示下次也记住了。

研究过200的Temp的原理。

200的调用堆栈是7层,Temp也有7层,各层使用各自的Temp区。如果各层都只有一个子程序且只调用一次,可以认为能够保持,如果有2个子程序,或者调用超过一次,且都用到了Temp区,那么第一次写入到Temp区的数据会被第二次的覆盖。

比如

OB1

|-- SUB_1

   |---SUB_2

Temp区不会相互影响

但是如果是如下

OB1

|-- SUB_1

|-- SUB_2

那么SUB_1和SUB_2的Temp区就会相互影响


另外,Temp区的数据不会自动清除,而是保留之前的状态,只不过这个之前的状态,有可能是自己写入的,也可能是别的块写入的

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54622条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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