电子说
全局数据块用于存储程序数据,因此,数据块包含用户程序使用的变量数据。一个程序中可以自由创建多个数据块(不同CPU有最大数量的限制)。全局数据块必须事先定义才可以在程序中使用。要创建一个新的全局数据块,可在TIA 博途界面下点击“程序块”->“添加新块”,选择“数据块”并选择数据块类型为“全局 DB”(缺省),如图1所示。
图1
全局DB创建完成后自动打开,然后需要在DB块中定义变量才能使用,如图2所示,优化的DB块中可以为每一个变量定义属性,例如保持性,但是不能为一个变量中的元素定义属性,例如图2中的数组变量F,只能将F作为一个变量整体定义,为不能为其中一个元素单独定义,例如F[1]。
图2
DB的访问方式(以符号名称为例)为 <数据块名称>.<变量名称>.<元素名称>.<子元素名称>,例如将变量B的值传送到变量F其中的一个元素中,如图3所示。
图3
实例化DB块与FB块相关联。在创建实例化DB块时,必须指定它所属的FB块,而且该FB块必须已经存在,如图4所示。
图4
在调用一个FB块时,既可以为之分配一个已经创建的实例化DB块,也可以直接定义一个新的DB块,该DB将自动生成并作为实例化数据块。实例化DB块与全局DB块相比,只存储FB块接口数据区(临时变量除外)相关的数据。数据块格式随接口数据区的变化而变化,数据块中不能插入用户自定义的变量,其访问方式(优化或非优化)、保持性、默认值均由FB块中的设置决定。实例化DB块与全局DB块都是全局变量,所以访问方式相同。
对于有些固定格式的数据块,有可能包含很多的数据,不便于用户自己创建,如用于开放式用户通信的参数DB。TIA 博途软件提供了一个含有固定数据格式的模板,用户使用这个模板可创建具有该格式的数据块,比如可以使用“TCON_Param”系统数据类型创建与之对应的DB。创建基于数据类型的数据块时,必须指定它所属的数据类型,如图5所示。
图5
数据块创建完成后,在使用时直接赋值,例如使用“TCON_Param”系统数据类型创建的DB为“Com”,在调用TCON时赋值,如图6所示。
图6
与实例化DB块相同,基于系统数据类型的DB块只存储与数据类型DB相关的数据,不能插入用户自定义的变量。可以使用相同的系统数据类型生成多个数据块。
注意:
图6中“CONNECT”参数的赋值也可以在一个全局DB中创建,然后以一个变量的方
式赋值,但是“TCON_Param”系统数据类型在全局数据块变量类型的向导中不存在
必须手动键入。此外创建一个独立的DB块存储参数,结构也比较清晰,当然这与编程人员的喜好方式有关,无论如何,方式更加灵活。
全部0条评论
快来发表一下你的评论吧 !