企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

西门子S7-1500数据块DB介绍及使用

wudianyun 2025-07-03 01:15:41 精选文章 3 ℃

西门子PLC的存储区主要包括:装载存储器区、工作存储器区、保存存储区、系统存储区,其中工作存储区,主要存储用户程序代码及数据,数据规划及使用在项目开发中非常重要,特别是针对大型或涉及有复杂运算的项目,规划好会起到事半功倍的效果。

一、DB简介

1、DB分类

数据块DB(Data Block)分为全局DB(DB_Global)和背景DB(DB_Instance)。全局DB,在项目中所有代码块均可访问;背景DB,主要存储FB运行时的参数及静态变量,每个FB均会匹配一个对应的DB;

全局DB应用功能,跟CPU中的M区类似,但DB的规划、管理能要要优于M区,特别是在一些复杂运算的场合

2、创建DB

创建DB数据,主要需要设置变量名称、数据类型、起始值、设置保持特性等进行配置,后续会有所讲解。

二、DB数据类型说明

DB中可配置的数据类型,包括基本数据类型及复制数据类型

1、基本数据类型如下图:

2、复制数据类型如下图:

显然,复杂数据类型占用的存储空间更大,复杂数据类型是由多个基本数据类型货其它复杂数据类型组成。顾名思义,复杂数据类型,主要用于组织复杂数据时使用,可根据程序运算或显示需求组合定义。

3、下图是日期及日时钟类型和字符串类型

4、下图DB的构建了数组数据类型。数组是一系列相同元素的集合,将数据构建成数组,可以很方便采用变量索引的方式实现间接寻址。数组可以是一维数组,也可以是多维数组。

5、下图是UDT及STRUCT数据类型

UDT为用户自定义复杂数据类型,相当于命名的结构(STRUCT),声明了一个结构模板,可以重复多次使用。同时,组成UDT的元素可以是其他已申明的UDT,嵌套深度最高为8级;可以配合数组ARRAY及其它UDT组合使用,提现结构化优势;并UDT可以作为块调用的完整结构进行传送,极大减少参数数量。

操作添加UDT入下图

UDT可在代码块、数据块中多次使用,可作为参数、静态变量、临时变量,也可作为PLC变量。同时可实现标准化的DB创建,可以快速构建数据库。

三、DB中起始值、监视值、快照值功能说明、实际操作

1、定义说明:

监视值:是CPU在运行时,该DB变量的当前值

起始值:DB在初始化后会恢复成的值,可预先设定,也可通过保持特性的设置,来达到CPU重启及其它情况DB初始化后,DB是否需要回到初始值或回到最后监视值。即选择不保持,每次重启或DB初始化,该DB的变量会回到初始值;而选择保持,DB初始化后则初始化后则回到最后的监视值。

快照值:当CPU在线时,可以通过快照功能操作,将当前DB的监视值(即变量当前值),录制到快照值中,然后也可将快照值写回到监视值中。该功能即是实现PLC在运行时,对DB当前数据进行备份。通过操作可以实现初始化后数据恢复到之前备份的监视值,也可恢复到初始值。

2、操作说明

注意带白点的操作快捷菜单,即是对所选的项目有效,具体操作可在TIA Portal中练习实践

比如PID调整,通过数据块快照,可以对P、I、D参数备份,也包括手自动、设定值这些备份。包括一些累积量的备份等

四、DB的访问优化

在DB的属性中,可以设置是否需要优化访问

二者区别

优化访问:可使用符号访问,也可使用绝对访问,数据变量有具体的固定地址;设置保持时,只能对整个DB进行设置;

不优化访问:只能使用符号访问;设置保持特性时,可分别对每个数据变量配置是否需要有保持特性;

DB优化原理如下图:

优化数块,将位宽较大的数据放在DB前面,位宽较小的数据放在DB后面,这样可以减少数据间间隙;同时BOOL量,采用字节存储,无需掩码机制访问,可提高运行效率。

下图是存储结构变量优化数据块,结构变量之间存有间隔分开,保持性数据存于单独区域内,可更有效实现整体访问。

以上只是一些优化的原理,我们平时在使用时只要了解其功能和如何使用,有些时候需要特定选择,如数据通讯,通常我们使用S5-1500PLC实现第三方模块通讯,如Modbus TCP时,我们选择的数组DB则不选择优化。

注意:对于优化DB,只能通过变量名来访问,可以输入变量起始符号,利用符号选择功能,快速选择变量。

最近发表
标签列表