1.5.5 数据块(DB)存储区及其读取方式
在S7系列PLC中,数据块可以存储于装载存储器、工作存储器以及系统存储器中(块堆栈),共享数据块地址标识符为“DB”,函数块(FB)的背景数据块地址标识符为“IDB”。
数据块分两种,一种为优化的DB,另一种为标准DB。每次添加一个新的全局DB时,其默认类型为优化的DB。可以在DB块的属性中修改DB的类型。背景数据块IDB的属性是由其所属的FB(函数块)决定的,如果该FB(函数块)为标准FB(函数块),则其背景DB就是标准DB;如果该FB(函数块)为优化的FB(函数块),则其背景DB就是优化的DB。
优化DB和标准DB在S7系列PLC CPU中存储和访问的过程完全不同。标准DB掉电保持属性为整个DB,DB内变量为绝对地址访问,支持指针寻址;而优化DB内每个变量都可以单独设置掉电保持属性,DB内变量只能使用符号名寻址,不能使用指针寻址。优化的DB块借助预留的存储空间,支持“下载无需重新初始化”功能,而标准DB则无此功能。
图1-59所示为标准DB在S7系列PLC内的存储及处理方式。①表示的意思如下:CPU在读取S7系列PLC中,标准DB块编码方式与CPU不同,CPU在进行读取/存储数据到标准DB块时,需要颠倒变量的高低字节或字,这需要花费CPU大量时间,访问速度慢。②表示的意思如下:S7系列PLC中,如需对标准DB块中位信号的访问,CPU需要先访问该字节,再对其中的某一位进行处理,访问速度慢。
图1-60所示为优化DB在S7系列PLC内的存储及处理方式。①表示的意思如下:S7系列PLC中,优化的DB块编码方式与CPU相同,CPU在对优化的DB块内变量进行读取/存储时,无需颠倒该变量的高低字节或字,访问速度快。②表示的意思如下:S7系列PLC中,如需对优化的DB块中位信号的访问,CPU直接对存储该位信号的字节进行访问,访问速度快。“保留”的意思如下:优化的DB块通过预留的存储空间实现下载,无需初始化功能。
从图1-59和图1-60可知,S7系列PLC CPU处理标准DB块内的数据时,要额外消耗CPU的资源,导致CPU效率下降,所以推荐使用优化DB。在优化DB中,所有的变量以符号形式存储,没有绝对地址,不易出错,且数据存储的编码方式与S7系列PLC CPU编码方式相同,效率更高。
图1-59 标准DB块及其读取方式
图1-60 优化DB及其读取方式