你所在的位置:首页——CAD设计培训,CAD技术培训交流
作者:宁波蓝天电脑培训学校,时间20191023
西门子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配套使用,不能用于其他逻辑块。
你所在的位置:首页——CAD设计培训,CAD技术培训交流
学校活动

象山一日游

中秋晚会

上课现场

辅导讨论

实习现场