比如多个子程序功,里面分别都定义了同一个临时变量,区地址都为LW0,那么在某一个子程序调用完成后,它自身的临时变量LW0应该是随调用结束释放,调用结束后切换到另外一个子程序中使用,那么此时正在执行的这个子程序里的临时变量区LW0会不会遗留上次的随机值?是否要对栈区进行初始化?
我知道S7-200会存在这个问题,使用前一般都要求对栈区变量进行初始化。那么不知S7-300、400里的这个栈区是不是不需要进行初始化?是否系统本身在某个程序块调用后就已经对栈区做了初始化?
问题补充:
大家理解错了我的提问,这个临时变量我当然知道只在自己本子程序里有效,等这个子程序调用完后会释放,然后给其它的子程序用的时候,同样也分配有临时栈区,同时这个栈区系统都是共用的,我想问的是,第一次调用完后这个临时变量会不会遗留上个子程序里的随机值?
S7-200里存在这个现象,必须先赋值后使用,但是S7-300我没有试过,想请大家帮我分析一下这个情况是否也存在???
最佳答案
临时变量这个必须先赋值'后使用'这个毋庸置疑'已经试过了
提问者对于答案的评价:
谢谢你!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc244617.html