首页 理论教育 数据块(DB)的介绍与应用

数据块(DB)的介绍与应用

时间:2023-07-01 理论教育 版权反馈
【摘要】:数据块用于存储程序数据。②“在设备中写保护数据块”:选中该项时,则此DB块只可读访问。图4-29 基于系统数据类型的DB块4.基于PLC数据类型的数据块可以基于UDT创建数据结构相同的数据块,仅需要创建一次UDT,然后就通过指定UDT创建所需的数据块。

数据块(DB)的介绍与应用

数据块用于存储程序数据。新建数据块时,默认状态是“优化的块访问”,且数据块中存储变量的属性是非保持的。

DB可存储于装载存储器和工作存储器中,与M存储区相比使用功能类似,都是全局变量。不同的是,M存储区的大小在CPU技术规范中已经定义且不可扩展,而数据块是由用户定义,最大不能超过数据工作存储区和装载存储区。可以创建全局数据块、背景数据块,基于系统数据类型或PLC数据类型创建的数据块,CPU数据块。

1.全局数据块

全局数据块必须事先定义才可以在程序中使用。双击项目树中相应PLC站点下的“程序块>添加新块”选择“数据块”创建全局数据块,DB块编号范围1~59999。

在数据块的“属性”中,“常规>属性”里设置DB块的访问方式,如图4-28所示。

数据块的访问设置步骤如下:

978-7-111-58391-2-Chapter04-49.jpg

图4-28 数据块的访问设置

①“仅存储在装载内存中”:选中该项时,DB块下载后只存储于装载存储器。可以通过“READ_DBL”指令将装载存储区的数据复制到工作存储区中;或“WRIT_DBL”指令将数据写入到装载存储区的DB块中。

②“在设备中写保护数据块”:选中该项时,则此DB块只可读访问。

③“优化的块访问”:选中该项时,DB块为优化访问。

打开数据块后,可以定义变量及其数据类型、启动值及保持等属性。关于DB块变量的保持性设置,请参见第4.6章节常见问题8。

2.背景数据块

背景数据块与函数块相关联,存储FB的输入、输出、输入输出参数及静态变量,其变量只能在FB中定义,不能在背景数据块中直接创建。

程序中调用FB块时,可以为之分配一个已经创建的背景DB,也可以直接定义一个新的DB块,该DB块将自动生成并作为这个FB的背景数据块。(www.xing528.com)

3.基于系统数据类型的数据块

TIA博途软件提供含有固定数据格式的模板,用户使用这个模板可以创建具有该格式的数据块。这些固定格式的数据块可以用于特定的功能要求,例如使用“TCON_Param”系统数据类型创建的DB可用于开放式用户通信,如图4-29所示。

基于系统数据类型的DB块只存储与该数据类型相关的数据,不能插入用户自定义的变量。更多关于系统数据类型的说明,请参见第4.2.5章节。

978-7-111-58391-2-Chapter04-50.jpg

图4-29 基于系统数据类型的DB块

4.基于PLC数据类型(UDT)的数据块

可以基于UDT创建数据结构相同的数据块,仅需要创建一次UDT,然后就通过指定UDT创建所需的数据块。更多关于UDT的说明,请参见第4.2.3章节。

对UDT的任何更改都会造成使用这个数据类型的数据块不一致,出现不一致变量时,该变量被标记为红色,可以通过程序编译或更新数据块实现自动更新。

5.CPU数据块

CPU数据块是在CPU运行期间由指令“CREATE_DB”生成的,无法在离线项目中创建,并具有写保护。与监视其他数据块的值类似,可以在在线模式中监视CPU数据块的变量值。

•“CREATE_DB”指令:在装载存储器和/或工作存储器中创建新的数据块;

•“ATTR_DB”指令:读取数据块属性;

•“DELETE_DB”指令:删除由“CREATE_DB”指令创建的数据块。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈