在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块的更多相关文章

  1. 西门子S7系列PLC的主要种类及应用软件

    德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金.化工.印刷生产线等领域都有应用.西门子(SIEMENS)公司的PLC产品包括LOGO,S7-200,S7-300,S ...

  2. 西门子S7系列以太网通讯处理器功能介绍

    北京华科远创科技有限研发的远创智控型号ETH-YC模块适用于西门子S7-200/S7-300/S7-400.SMART S7-200.西门子数控840D.840DSL.合信.亿维PLC的PPI/MPI ...

  3. 一张表搞懂各种 Docker 监控方案 - 每天5分钟玩转 Docker 容器技术(86)

    前面我们已经介绍了ps/top/stats.Sysdig.Weave Scope.cAdvisor 和 Prometheus 多种容器监控工具和方案,是时候做一个比较了.下面将从五个方面来对比它们之间 ...

  4. 一张表搞清楚php is_null、empty、isset的区别

    isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a="" true fa ...

  5. 一张表搞清楚 php 的 is_null、empty、isset的区别

    isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a=”” true false true $ ...

  6. 086、一张表搞定各种Docker监控方案(2019-05-08 周三)

    参考https://www.cnblogs.com/CloudMan6/p/7736176.html   前面已经学习了  ps/top/stats.Sysdig.Weave Scope .cAdvi ...

  7. 西门子S7系列以太网通讯处理器安装调式操作

    北京华科远创科技有限研发的远创智控ETH-YC模块,PLC转以太网型号有MPI-ETH-YC01和MPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...

  8. 开源纯C#工控网关+组态软件(三)加入一个新驱动:西门子S7

    一.   引子 首先感谢博客园:第一篇文章.第一个开源项目,算是旗开得胜.可以看到,项目大部分流量来自于博客园,码农乐园,名不虚传^^. 园友给了我很多支持,并提出了很好的改进意见.现加入屏幕分辨率自 ...

  9. OrmLite动态创建表,一个实体类创建多张表的的偏招

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/LonelyRoamer/article/details/26299355 在做一个Android的项 ...

随机推荐

  1. Chess (SG + 状态压缩预处理)

    #include<bits/stdc++.h> #define bit(t) (1 << t) using namespace std; <<; ;//k是集合s的 ...

  2. Python 字典(Dictionary) values()方法

    描述 Python 字典(Dictionary) values() 函数以列表返回字典中的所有值. 语法 values()方法语法: dict.values() 参数 NA. 返回值 返回字典中的所有 ...

  3. MQ的使用场景

    一.消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构.目前使用较多的消息队列有ActiveMQ,RabbitM ...

  4. JAVA基础3---运算符大全

    Java中的运算符有以下种类:算术运算符.关系运算符.位运算符.逻辑运算符.赋值运算符.其他的运算符 现在假设定义 int A = 10,B = 5: 一.算术运算符 运算符 描述 案例 + 等同于数 ...

  5. 【Alpha版本】冲刺阶段——Day4

    [Alpha版本]冲刺阶段--Day4 阅读目录 今日进展 问题困难 明日任务 今日贡献量 TODOlist [今日进展] 完成注册类代码 public class Register { privat ...

  6. document.createDocumentFragment 以及创建节点速度比较

    document.createDocumentFragment document.createDocumentFragment()方法创建一个新空白的DocumentFragment对象. Docum ...

  7. Javascript原生之用cssText批量修改样式

    一般情况下我们用js设置元素对象的样式会使用这样的形式: var element= document.getElementById(“id”);element.style.width=”20px”;e ...

  8. JustOj 1415: 字符串解压

    题目描述 豆豆非常调皮,总喜欢把一样的东西摆在一起,然后用神奇的猫爪功把他们揉成一团. 比如一堆A,就会被揉成个数+A. 这就是豆豆的字符串压缩算法了. 比如给豆豆一个字符串:ABBCCCDDDDEE ...

  9. 从2D图片生成3D模型(3D-GAN)

    https://blog.csdn.net/u014365862/article/details/54783209 3D-GAN是使用生成对抗网络学习2D图像到3D模型的映射,生成网络负责生成3D模型 ...

  10. Golang生成区间随机整数

    package main import ( "fmt" "math/rand" "time" ) func main() { rand.Se ...