技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > STEP7中功能块FB里的stat静态变量与C语言里静态分配的变量性质是否一样?

STEP7中功能块FB里的stat静态变量与C语言里静态分配的变量性质是否一样?

刘玉蓉 发布于2014-08-25 17:45 5 0 标签:

C语言里静态变量是从栈里分配的,当函数执行完后会自动释放。那么STEP7中FB里的静态变量在系统分配的机制是否也是如何?是否在FB执行完之后会自己释放?
STEP7中引用静态变量stat有啥意义?

佳答案

静态变量是FB专有的,其是与背景块一一对应,可以这么说静态变量就是FB的背景数据块。其作用就是背景数据块的作用,背景块的作用就是,自己编自己的FB,在声明表里定义好自己的静态变量,使用很方便不用考虑使用其它全局变量时,要知道哪个是空的,哪个是别人用过的,就是重叠问题。尤其是多人编一个系统时就更有用了,用FC就没有这个优势。每次调用功能块( FB )时,会被分配一个背景数据块。此 FB 的实际参数和静态参数都被存储在该背景数据块中。在 FB 中声明的变量决定背景数据块的结构。背景指定了功能块的调用 。

FB2可以使用FB1背景数据块中的静态变量,但需要满足以下条件:(即使用多重背景时应注意的问题):
1.在管理多重背景的功能块的变量声明表中,为被调用的功能块的每一次调用定义一个静态(STAT)变量,以被调用的功能块的名称(如FB1)作为静态变量的数据类型。
2.应生成需要调用的功能块(如FB1)。
3.在管理多重背景的功能块(如FB2)必须设置为多重背景功能。
4.必须有一个背景数据块(如DB1)分配给管理多重背景的功能 。背景数据块中的数据是自动生成。
5.多重背景只能声明静态变量(声明类型为“STAT”)。

其具体可参考:
1.为什么使用背景数据块,它与全局数据块有什么区别? :
https://www2.ad.siemens.com.cn/Download/Upload/AS/FAQ/15360455.pdf
2.多重背景数据块的使用 :
https://wenku.baidu.com/view/5dd57991daef5ef7ba0d3c2d.html

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签