全局变量问题
郑志武
发布于2012-12-19 23:51
482
0
标签:
全局变量在哪里,指的是哪一块,有不有相关资料。
佳答案
共享数据块(sharedb是所有程序使用时的全局变量,使用时必须事先定义方可在程序中使用。其数据掉电保存。访问用间接寻址方式。
db是s7-300/400的变量存储区,或者叫数据块,相当于s7-200中的v存储区。db分两种,一种是存放全局变量的,一种是存放私有变量的的。
fc没有db,但可以使用全局db中的变量,因为全局db中的变量对整个程序都有效。
fb也可以使用全局db中的变量,同时它还有属于自己的私有db,私有db只能在所属的fb里访问。
db的属性是在建立时设定的,也可以右键单击某个db,在它的属性里查看是全局还是私有。数据块db,用于存储用户数据及执行程序过程中的中间变量的。默认情况下该数据掉电保存,其占用cpu的装载存储区和工作存储区,其存储范围比标志存储区(m)大。db分为共享数据块(sharedb)和背景数据块(instancedb)和基于udt(用户定义数据类型)数据块(dboftype)
背景数据块(instancedb)与fb、sfb相关联,创建时必须指定它所属的fb,且fb必须已经存在。访问用间接寻址方式。
基于udt(用户定义数据类型)数据块(dboftype),使用时必须预先已创建和指定udt(用户定义数据类型),访问方式与共享数据块(sharedb)、背景数据块(instancedb)相同。
多重背景数据是个基于fb、fc相互嵌套时,相应数据块db存储的数据,此种数据块db为含有嵌套fb的fc或fb嵌套fb提供数据存储区。访问用间接寻址方式。