TEMP和STAT的区别

  • 格式:doc
  • 大小:26.50 KB
  • 文档页数:1

temp在CPU扫描的下一周期清零了
静态变量数据STAT只有FB中才可以用,它有存储功能,可以保持在数据块内,可以完全代替临时变量,它保存在背景数据块中,是不会改变的,并且可以全局访问。

临时变量TEMP在FB和FC中都可以用,在声明时是没有初始值的,Temp变量存在临时分配的堆栈中,主要使用在数据运算过程中暂存数据使用,不能保持,一旦块调用结束该空间就被释放了,在CPU扫描的下一周期清零了,使用临时变量好处就是一些运算中间环节可以不使用静态变量或其他全局变量地址,减少存储空间,且使用临时变量不会改变原背景数据块结构。

该功能块调用结束,如果又调用了其它的功能块,临时数据区被重新分配,原有的TEMP数据丢失。

如果该FB调用后没有调用其它的FB或FC,临时数据区没有被重新分配,数据可能不会清零。

所以这点一定要注意,如果对于Temp里面的变量,如果没有给它赋值,它的值是不定的。

而且如果在不同的位置调用这些变量,它的值是不一样的。

在FB里定义的也只有形参和静态变量可以赋初始值。