广东湘恒智能科技有限公司
主营产品: 西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
S7-1500数据块:优化DB与非优化DB!
发布时间:2024-11-23

1 S7-1500数据块-优化DB与非优化DB
    

      可能是为了适应S7-1500操作系统的新功能同时还要保持原有操作习惯的原因,相对于S7-300/400,S7-1500中数据块功能和参数更多,操作灵活的同时也会感觉到可操作的地方太多了,所以详细了解DB块这些功能非常必要,否则会感到无从下手。S7-1500数据块DB带来最大变化就是优化DB,今天就介绍一下优化DB与非优化DB的区别。
      S7-300/400中操作的数据块DB,在S7-1500中就是我们所说的非优化DB,所以S7-300/400移植后的程序块都是非优化的(除了DB外,FC、FB和OB也有优化和非优化的区分)。优化和非优化DB的区别如下:


1.1 数据块的大小

S7-300的数据块最大是32K,S7-400的数据块最大是64K,这里可以再联想一下S7通信BSEND/BRECV,S7-300最大通信字节数是32K,S7-400最大通信字节数是64K,原因就是发送区和接收区是DB。

S7-1500数据块DB的容量是变化的。我们看一下CPU1511数据块DB的最大容量,参考图1。

图片

图1

      CPU1511的数据存储区最大是1M 字节,一个数据块最大也是1M 字节。我们再参考一下CPU1517的技术数据,参考图2。


图片
图2


      CPU1517的数据存储区最大是8M 字节,一个数据块最大也是8M 字节。可以说一个数据块DB的容量就是CPU的整个数据存储区。
注:
最高端型号的CPU 1518数据存储区最大是20M 字节,一个数据块最大容量是16M字节,可以说一个数据块最大容量就是16M字节,只是小型CPU没有那么大的DB存储区。


1.2 寻址方式


优化DB与非优化DB最大的区别就是寻址方式。

非优化DB是绝地地址的访问方式,例如寻址DB1中的一个INT变量(偏移地址为2)为DB1.DBW2。一个DB块中的变量间带有偏移地址,参考图2。

优化DB是符号地址的访问方式,例如寻址DB1(名称为A)中的一个INT变量(名称为B)为A.B,不能使用DB1.B访问,而在S7-300/400 DB块寻址时是合法的(符号名方式访问)。


图片
图2


      创建DB时,缺省设置为优化访问,可以在DB块的属性中去使能优化访问,使之成为非优化DB。
注:
      非优化DB既可以使用juedui地址寻址也可以使用符号名寻址,优化DB只能使用符号名寻址,这里并不是说非优化DB寻址方式多,而是与CPU的底层寻址方式有关,例如S7-300/400 CPU底层只支持juedui地址的寻址方式,即使是符号寻址也是为了便于阅读程序而已,所以没有符号表后,上载的程序都是以缺省字符(DB以及程序块OB、FB、FC的声明)或者juedui地址出现(I、Q、M等),而S7-1500底层只支持符号寻址方式,即使是使用非优化DB(创建时自动分配符号名)。

1.3 保持特性

非优化DB只能整体选择保持或者非保持性。

优化DB可以对其中的任何变量选择保持或者非保持性,参考图3。

图片
图3


1.4 占用地址空间

 

非优化DB按照变量创建次序进行排列,这样变量间会存在间隔,降低存储效率,如图4所示。所以在S7-300/400编程时强调寻址DB中一个2个字节(例如WORD、int)或者4个字节(例如DWORD、Dint)变量,地址都是偶数,如果在程序中寻址DB1.DBD3就有问题了。

图片
图4

优化DB中大数据类型位于块的开始处,实现数据结构合理优化,布尔型变量以宽字节形式存储,显著提高访问速度,如图5所示。

图片
图5


1.5 访问速度
      非优化DB字节采样大端编码(低位数据存放在高位地址)方式,优化DB字节采样小端编码方式(低位数据存放在低位地址),如图6所示。S7-1500系统按照小端编码方式处理变量,如果是大端编码的变量,需要先进行字节的调换,然后再计算,如果是一个4个字节的变量,需要调换两次。这也是在S7-1500中建议使用优化DB的原因。

图片
图6


展开全文
拨打电话 微信咨询 发送询价