(转载)一张表搞清楚西门子S7系列标准DB块与优化DB块
在TIA Portal中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表所示:
|
项 |
标准 DB |
优化 DB |
|
数据管理 |
取决于变量的生明。用户可以生成用户定义或一个内存优化的数据结构。 |
数据被系统管理和优化。用户可以生成用户定义的数据结构,系统进行优化以节省内存的空间。 |
|
存储方式 |
每个变量的存储地址在 DB 块中每个变量的偏移地址可见 |
每个变量的存储地址由 CPU 自动分配,无偏移地址。 |
|
访问方式 |
可通过符号地址、绝对地址以及指针方式寻址 |
仅可通过符号地址访问 |
|
下载无需初始化功能 |
不支持 |
支持(仅 S7-1500) |
|
访问速度 |
慢 |
快 |
|
数据保持性 |
以整个 DB 块为单位设置保持性 |
DB 块内的每个变量均可单独设置保持性 |
|
兼容性 |
与 S7-300/400 PLC 兼容 |
与 S7-300/400 PLC 不兼容 |
|
出错几率 |
绝对地址访问 (例如 HMI 或间接寻址 ),声明修改后可能导致数据的不一致。 |
缺省为符号访问,不会造成数据的不一致,例如 HMI 只与符号名称对应。 |
S7-300/S7-400 与 S7-1200 以及 S7-1500 DB参数的对比如下表所示:
|
项 |
S7-300/S7-400 |
S7-1200 |
S7-1500 |
|
DB 的最大容量 |
64 KB |
64 KB |
标准 DB 64KB,优化 DB 最大 16 M。 |
|
DB 的最大块号 |
16000 |
65535 |
|
|
DB 块类型 |
标准 DB |
优化 DB、标准 DB(取决于DB块的属性) |
可通过修改 DB 块的属性将 DB 块修改为标准 DB 块或优化的 DB 块,如下图所示:

如 DB 块属性为标准 DB 块,该 DB 块内变量的偏移地址(offset)被编译后会出现,标准 DB 块与优化的 DB 块对比如下图所示:

S7-1200CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图方式存储。

S7-1500CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图方式存储。

在 S7-1500 CPU 中,相比于标准的 DB 块,优化的 DB 块提供更快的访问速度,其根本原因与 CPU 的编码方式有关,如下图所示:

与标准的 DB 块相比,优化的 DB 块有以下优势:
提供更快的访问速度
以符号寻址,编程者无需考虑 DB 块中每个变量存储的具体地址,每个变量在 CPU 中存储的位置由 PLC 的系统自动进行分配;
CPU 与 HMI (如 Panel)连接时,由于优化的 DB是靠符号寻址,所以当 PLC 变量连接到 HMI 后,PLC 侧对变量做的修改,HMI 无需重新下载;
对 DB 块内的任意位置对变量进行添加及删除,或对变量的类型进行修改(如将Tag_1的属性由 byte 修改为Word),不会引起该 DB 块其它变量的使用;
S7-1200/S7-1500中如有以下应用,必须使用标准 DB 块:
与其它 CPU 建立 S7 单边通信时(PUT/GET),用于存储发送区数据和接收区数据的 DB 块;与 Wincc V7.2 进行 HMI 连接时,Wincc V7.2 访问的 S7-1200/S7-1500 CPU 的 DB 块只能是标准的 DB 块;使用Simatic Net V8.2 与S7-1200/S7-1500 PLC进行 OPC 连接时,OPC 服务器访问 S7-1200/S7-1500 CPU 的 DB 块只能是标准的 DB 块。
--- THE END ---
---------------------
作者:工控网
来源:搜狐
原文:https://www.sohu.com/a/215331959_754529
(转载)一张表搞清楚西门子S7系列标准DB块与优化DB块的更多相关文章
- 西门子S7系列PLC的主要种类及应用软件
德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金.化工.印刷生产线等领域都有应用.西门子(SIEMENS)公司的PLC产品包括LOGO,S7-200,S7-300,S ...
- 西门子S7系列以太网通讯处理器功能介绍
北京华科远创科技有限研发的远创智控型号ETH-YC模块适用于西门子S7-200/S7-300/S7-400.SMART S7-200.西门子数控840D.840DSL.合信.亿维PLC的PPI/MPI ...
- 一张表搞懂各种 Docker 监控方案 - 每天5分钟玩转 Docker 容器技术(86)
前面我们已经介绍了ps/top/stats.Sysdig.Weave Scope.cAdvisor 和 Prometheus 多种容器监控工具和方案,是时候做一个比较了.下面将从五个方面来对比它们之间 ...
- 一张表搞清楚php is_null、empty、isset的区别
isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a="" true fa ...
- 一张表搞清楚 php 的 is_null、empty、isset的区别
isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a=”” true false true $ ...
- 086、一张表搞定各种Docker监控方案(2019-05-08 周三)
参考https://www.cnblogs.com/CloudMan6/p/7736176.html 前面已经学习了 ps/top/stats.Sysdig.Weave Scope .cAdvi ...
- 西门子S7系列以太网通讯处理器安装调式操作
北京华科远创科技有限研发的远创智控ETH-YC模块,PLC转以太网型号有MPI-ETH-YC01和MPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...
- 开源纯C#工控网关+组态软件(三)加入一个新驱动:西门子S7
一. 引子 首先感谢博客园:第一篇文章.第一个开源项目,算是旗开得胜.可以看到,项目大部分流量来自于博客园,码农乐园,名不虚传^^. 园友给了我很多支持,并提出了很好的改进意见.现加入屏幕分辨率自 ...
- OrmLite动态创建表,一个实体类创建多张表的的偏招
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/LonelyRoamer/article/details/26299355 在做一个Android的项 ...
随机推荐
- mysql按天,按周,按月,按季度,按年统计数据
/*查询2小时前的数据*/select * from tableName WHERE create_time HOUR) SELECT count(id) FROM rd_track_info WHE ...
- tcp/ip 3次握手和4次挥手
tcp/ip 3次握手和4次挥手
- jQuery懒加载插件jquery.lazyload.js使用说明实例
jQuery懒加载插件jquery.lazyload.js使用说明实例很多网站都会用到‘图片懒加载’这种方式对网站进行优化,即延迟加载图片或符合某些条件才开始加载图片.懒加载原理:浏览器会自动对页面中 ...
- eclipse格式化代码样式
1.Window->Preferences //Java 格式化 2.Java->Code Style->Formatter->New->Edit->Line Wr ...
- Centos7 在apache+php7环境下 安装 Discuz!X3.4
拉取Discuz!X3.4代码 git 地址 : https://gitee.com/ComsenzDiscuz/DiscuzX 在/var/www/html 中新建 bbs 文件夹 将git下upl ...
- 文件IO流
//字节流读写含有中文的文本文件会出现问题,我在实践中居然没有检验出该问题,新人小菜,希望大家能指出: import java.io.FileInputStream; import java.io.F ...
- 数据分析之pandas02
DataFrame 一.DataFrame DataFrame是一个[表格型]的数据结构.DataFrame又按一定顺序排列的多列数据组成,设计初衷是将Series的使用场景从一维扩展到多维.Date ...
- e3.7.2-MyEclipse-10.7安装SVN插件
MyEclipse 10.7的版本是:e3.7.2,要求是匹配该插件eclipse_svn_site-1.10.1的版本,否则无效 将eclipse_svn_site-1.10.1插件文件夹直接拷贝到 ...
- 分布式系统下的全局id生成策略分析
对于分布式系统而言,意味着会有很多个instance会并发的生成很多业务数据,比如订单.不同的机房.不同的机器.不同的应用实例会同时生成.所以,如何生成一个好用的全局id并不是一个简单的uuid就能够 ...
- 02:MongoDB操作
1.1 MongoDB 增加 1.插入数据 1. 插入文档: insert 如果插入数据的时候,collection还不存在,自动创建集合 2. insertOne: 插入一条数据 3. insert ...