temp static

static 和  temp 区别是? temp区是不是每次调用时初始状态为0  然后调用结束后 存储区收回   在fb里调用时temp的初始状态是0码? 不是0 怎么清零呢?

最佳答案

官方答案:
TEMP —–临时变量,顾名思义是暂时存储数据的变量。这些临时的数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。
STAT——-在PLC运行期间始终被存储。S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。

TEMP区域的地址初始值不一定是0,在调用FC的时候,CPU给FC分配一块临时区域就包含TEMP区域,如果里面有数据,TEMP区域没有进行初始化的话,那可能里面就会有数值的~特别是有用指针进行寻址操作的

参考:
FB块和FC块
http://www.ad.siemens.com.cn/productportal/Prods/published/Prog/Prog_2.3/Prog_2.3.html

提问者对于答案的评价:
j

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年5月28日 下午5:57
下一篇 2017年5月28日

相关推荐