TIA博途中临时变量Temp的基本概念解析
2023-12-26 08:37:50
TIA博途中临时变量Temp的基本概念解析
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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!