西门子S7

您所在的位置:网站首页 蓝天电脑培训学校地址 西门子S7

西门子S7

2024-07-11 15:12| 来源: 网络整理| 查看: 265

西门子S7-1200 PLC静态变量与局部变量的解析 静态局部数据 Static 用于在背景数据块中存储静态中间结果的变量,静态数据会一直保留到被覆盖,这可能在 几个周期之后。在此代码块中作为多重实例调用的块名称,也将存储在静态局部数据中。 以下是个人理解: 该参数只有函数块里面有,在此区域所创建的变量,在背景数据块能生成背景数据进行保存,可以生成定时器上升沿甚至FB块精心多重背景调用。 局部变量又包括静态变量(STAT)和临时变量(TEMP)两种。 要了解静态变量,首先要清楚:S7-300功能块的临时变量和静态变量的区别? TEMP(临时变量):暂时保存在局部数据堆栈中的变量。同一级POU的临时变量使用使用局部数据堆栈中的同一块物理储存区,类似于公用的布告栏,谁都可以往上面贴布告,后贴的布告将原来的布告覆盖掉。每次调用POU之后,不再保存它的临时变量的值。每次调用FC和FB时,首先应初始化它的临时变量(写入数值),然后再使用它,简称为先赋值后使用。STAT(静态变量):保存在背景数据块中,背景数据块相当于每次调用功能块时对应的被控对象的私人数据仓库。功能块执行完后,背景数据块中的数据不会丢失,以供下次执行功能块时使用。 2.换言之: 静态变量(STAT)在PLC运行期间始终被存储。S7将静态变量定义在背景数据块(针对FB而言,FC和OB吴静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中;临时变量(TEMP)是一种在块执行时,用来暂时存储数据的变量,这些数据存储在CPU工作存储区的局部数据对栈(L堆栈)中。临时变量可以在组织块OB、功能FC和功能块FB中使用,当块执行时它们被用来临时存储数据,一旦块执行介绍堆栈重新分配,临时变量中的数据将丢失。在程序块中,如果在块的变量声明表中有局部变量符号,编程是STEP7软化自动在局部变量名前加一个#号,如果要访问与局部变量名重名的全局变量(在符号表中定义)则全局变量必须使用双引号(如“Symbol”) 静态变量(Static)只能用于功能块FB,它存储在与功能块配套的即时数据块DI中,仅对所调用的FB块有效,结果可以记忆但只能与FB配套使用,不能用于其他逻辑块。

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3