S7-300与400中的临时栈区是不是共用的区域?

比如多个子程序功,里面分别都定义了同一个临时变量,区地址都为LW0,那么在某一个子程序调用完成后,它自身的临时变量LW0应该是随调用结束释放,调用结束后切换到另外一个子程序中使用,那么此时正在执行的这个子程序里的临时变量区LW0会不会遗留上次的随机值?是否要对栈区进行初始化?

我知道S7-200会存在这个问题,使用前一般都要求对栈区变量进行初始化。那么不知S7-300、400里的这个栈区是不是不需要进行初始化?是否系统本身在某个程序块调用后就已经对栈区做了初始化?

问题补充:
大家理解错了我的提问,这个临时变量我当然知道只在自己本子程序里有效,等这个子程序调用完后会释放,然后给其它的子程序用的时候,同样也分配有临时栈区,同时这个栈区系统都是共用的,我想问的是,第一次调用完后这个临时变量会不会遗留上个子程序里的随机值?
 S7-200里存在这个现象,必须先赋值后使用,但是S7-300我没有试过,想请大家帮我分析一下这个情况是否也存在???

最佳答案

临时变量这个必须先赋值'后使用'这个毋庸置疑'已经试过了

提问者对于答案的评价:
谢谢你!

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日
下一篇 2018年12月1日

相关推荐