TIA博途中临时变量Temp的基本概念解析

发布时间:2023年12月26日

TIA博途中临时变量Temp的基本概念解析

0.1

TEMP(临时变量)的概念是这样的。

每一个OB,FB,FC都可以声明Temp临时变量。

它们仅是在被调用时,由操作系统,根据块声明,临时分配的内存空间。该块结束时,释放(收回)该空间。

若在一个块(例如FB10)内调用了自己(FB10)(递归),尽管Temp名称完全一样,系统也是再次分配该临时空间。在块结束返回时,收回临时空间。

递归深度4层,即分配4次,4倍的临时空间。(每个临时空间仅属于自己的块。可以传递到下一“层”,作用域有效。)

如果若干块(OB、FB、FC)是多次单一调用,则最多可能占用的内存临时空间,仅是它们之中声明最多Temp的那个块空间。

中断使用的块也一样。

别说跨扫描周期了。主循环扫描中的每一个块结束,该空间都可能被中断功能块占用去了。

再比如:OB1中声明了多个Temp,数据类型位、字节,整数、浮点等等。我可以反复地使用它们做暂存中间变量。因为是在OB1中,它们始终存在。

而在OB1中调用的FB11、FC22等等,块调用结束那一刻,它们声明的Temp全部被收回。
也就是说,Temp临时变量的作用域仅属于块。

FB的静态变量则不会。

块中声明的常量,则是附属于程序块的赋值,而不是调用时由系统分配,再赋值。

文章来源:https://blog.csdn.net/duxiaokang2014/article/details/135212639
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。