恭喜,你发布的帖子
发布于 2016-05-29 21:27:45
2楼
L区是临时存储器使用之前一定要先赋值再使用或者说是先初始化再用如果不赋值使用会有什么后果?不赋值的话他读取的状态是前一个同级块调用后的状态,也就是说他上一个调用的同级块L6.0的状态将决定他的状态,L堆栈会因为他的调用层级字节分配发生变化一般上一层占用固定的字节然后在此基础上再行分配,你要理解这个堆栈的意思,比如OB1的TEMP变量有20个BYTE然而你在OB1调用的FC1的话是在这20个BYTE的基础上分配的但是同一级调用分配的L区地址是在同一个区间是可以在下个块中使用的,L区的使用就像个指针定义你当前块的初始地址如果初始地址相同那么你的数据就不会交叉,西门子不建议这么做主要是因为怕这个L区当前的指针发生变化后数据会交叉。
请填写推广理由:
分享
只看
楼主