前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >S7-1500 DB数据块-优化DB与非优化DB

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

作者头像
科控物联
发布2022-03-29 16:57:39
3.5K0
发布2022-03-29 16:57:39
举报
文章被收录于专栏:科控自动化

可能是为了适应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既可以使用绝对地址寻址也可以使用符号名寻址,优化DB只能使用符号名寻址,这里并不是说非优化DB寻址方式多,而是与CPU的底层寻址方式有关,例如S7-300/400 CPU底层只支持绝对地址的寻址方式,即使是符号寻址也是为了便于阅读程序而已,所以没有符号表后,上载的程序都是以缺省字符(DB以及程序块OB、FB、FC的声明)或者绝对地址出现(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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档