电子说
数据块( DB )介绍
(1) 数据块 (DB) 简介
数据块用于存储用户数据及程序中间变量。新建数据块时,默认状态是优化的存储方式,且数据块中存储的变量是非保持的。数据块占用****CPU 的装载存储区和工作存储区,与标识存储器的功能类似,都是全局变量,不同的是, M数据区的大小在CPU 技术规范中已经定义,且不可扩展,而数据块存储区由用户定义,最大不能超过工作存储区或装载存储区。 SIMATICS7-1500 PLC****的非优化数据最大数据空间为 64KB 。而优化的数据块的存储空间要大得多,但其存储空间与CPU的类型有关。
按照功能分,数据块****DB 可以分为:全局数据块、背景数据块和基于数据类型 ( 用户定义数据类型、系统数据类型和数组类型 ) 的数据块。
(2) 全局数据块 **(DB)**及其应用
全局数据块用于存储程序数据,因此,数据块包含用户程序使用的变量数据。一个程序中可以创建多个数据块。全局数据块必须创建后才可以在程序中使用。
以下用一个例题来说明数据块的应用。
【例 1 】用数据块实现电动机的启停控制。
【解】①新建一个项目,本例为“块应用”,如图1所示:
图****1
在项目视图的项目树中,选中并单击“新添加的设备” ( 本例为 PLC_1) →“程序块”→“添加新块”,弹出界面“添加新块”。
②如图2****所示:
图****2
在“添加新块”界面中,选中“添加新块”的类型为 DB ,输入数据块的名称,再单击“确定”按钮,即可添加一个新的数据块,但此数据块中没有数据。
③****打开“数据块 1 ”,如图3所示:
图****3
在“数据块 1 ”中,新建一个变量 A ,如是非优化访问数据块,其地址实际就是 DB1.DBX0.0 。
**④在“程序编辑器”中,输入如图4 **所示的程序,此程序能实现启停控制,保存程序。
图****4
数据块创建后,在全局数据块的属性中可以切换有的方式。在项目视图的项目树中,选中并单击数据块 1 ”,单击鼠标右键,在弹出的快捷菜单中,单击“属性”选项,弹出如图5所示的界面,选中“属性”,如果取消“优化的块访问”则切换到“非优化存储方式”这种存储方式与S7-300/400兼容。
图****5
如楚”非优化存储方式”,可以使用绝对为式说回该数据块 ( 如 ** DB1.DBX0.0)** ,如是“优化存储方式”则只能采用符号方式访问该数据块 ( 如”数据块 1 “ .A) 。
(3) 数组DB及其应用
数组DB是一种特殊类型的全局数据块,它包含一个任意数据类型的数组。其数据类型可以为基本数据类型,也可以是PLC数据类型的数组。创建数组DB时,需要输入数组的数据类型和数组上限,创建完数组DB后,可以修改其数组上限,但不能修改数据类型。数组DB始终启用“优化块访问”属性,不能进行标准访问,并且为非保持型属性,不能修改为保持属性。
数组DB在SIMATIC S7-1500 PLC中较为常用,以下的例子是用数据块创建数组。
【例 2 】用数据块创建一个数组****ary[0. .5],数组中包含6个整数,并编写程序把模拟量通道IW752:P采集的数据保存到数组的第3****个整数中。
【解】 ① 新建项目“块应用 ( 数组 ) ”,进行硬件组态,并创建共享数组块 DB1 ,如图****6 所示,双击“ DB1 ”打开数据块“ DB1 ”。
图****6
②在DB1****中创建数组。数组名称 ary ,数组为****Array[0. .5],表示数组中有6 个元素, Int表示数组的数据为整数,如图7****所示,保存创建的数组。
图****7
③****在 Main[OB1] 中编写梯形图程序,如图8所示。
图****8
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !