在 TIA Portal 中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表 01 所示:
数据管理 | 取决于变量的生明。用户可以生成用户定义或一个内存优化的数据结构。 | 数据被系统管理和优化。用户可以生成用户定义的数据结构,系统进行优化以节省内存的空间。 |
存储方式 | 每个变量的存储地址在 DB 块中每个变量的偏移地址可见 | 每个变量的存储地址由 CPU 自动分配,无偏移地址。 |
访问方式 | 可通过符号地址、juedui地址以及指针方式寻址 | 仅可通过符号地址访问 |
下载无需初始化功能 | 不支持 | 支持(仅 S7-1500) |
访问速度 | 慢 | 快 |
数据保持性 | 以整个 DB 块为单位设置保持性 | DB 块内的每个变量均可单独设置保持性 |
兼容性 | 与 S7-300/400 PLC 兼容 | 与 S7-300/400 PLC 不兼容 |
出错几率 | juedui地址访问 (例如 HMI 或间接寻址 ),声明修改后可能导致数据的不一致。 | 缺省为符号访问,不会造成数据的不一致,例如 HMI 只与符号名称对应。 |
表 01.
S7-300/S7-400 与 S7-1200 以及 S7-1500 DB 参数的对比如下表 02 所示:
DB 的最大容量 | 64 KB | 64 KB | 标准 DB 64KB,优化 DB 最大 16 M。 |
DB 的最大块号 | 16000 | 65535 | |
DB 块类型 | 标准 DB | 优化 DB、标准 DB(取决于DB块的属性) |
表 02.
可通过修改 DB 块的属性将 DB 块修改为标准 DB 块或优化的 DB 块,如下图 01 所示:
图 01.
如 DB 块属性为标准 DB 块,该 DB 块内变量的偏移地址(offset)被编译后会出现,标准 DB 块与优化的 DB 块对比如下图 02 所示:
图 02.
S7-1200 CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图 03 方式存储。
图 03.
S7-1500 CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图 04 方式存储。
图 04.
在 S7-1500 CPU 中,相比于标准的 DB 块,优化的 DB 块提供更快的访问速度,其根本原因与 CPU 的编码方式有关,如下图 05 所示:
图 05.
与标准的 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 块。