0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

S7-1500数据块:优化DB与非优化DB的区别有哪些?

laidenongfhs 来源:中泰PLC自动化教学 2023-09-08 14:18 次阅读

1S7-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。

6932d1ba-4e0d-11ee-a25d-92fbcf53809c.png

图1

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

694adc4c-4e0d-11ee-a25d-92fbcf53809c.png

图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块寻址时是合法的(符号名方式访问)。

69673f36-4e0d-11ee-a25d-92fbcf53809c.png

图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。

69802244-4e0d-11ee-a25d-92fbcf53809c.png

图3

1.4占用地址空间

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

699d5c7e-4e0d-11ee-a25d-92fbcf53809c.png

图4

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

69b7d806-4e0d-11ee-a25d-92fbcf53809c.png

图5

1.5访问速度

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

69dd089c-4e0d-11ee-a25d-92fbcf53809c.png

图6







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接收机
    +关注

    关注

    8

    文章

    1122

    浏览量

    52643
  • S7-300
    +关注

    关注

    8

    文章

    224

    浏览量

    33785
  • 数据存储器
    +关注

    关注

    1

    文章

    68

    浏览量

    17720
  • S7-1500
    +关注

    关注

    3

    文章

    298

    浏览量

    5850

原文标题:S7-1500数据块:优化DB与非优化DB

文章出处:【微信号:中泰PLC自动化教学,微信公众号:中泰PLC自动化教学】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    西门子plc S7-1200/S7-1500优化DB块与标准的DB块整体对比

    在 TIA Portal V12 中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化DB优化
    的头像 发表于 07-28 19:55 3094次阅读
    西门子plc S7-1200/<b class='flag-5'>S7-1500</b><b class='flag-5'>优化</b>的<b class='flag-5'>DB</b>块与标准的<b class='flag-5'>DB</b>块整体对比

    LABVIW 使用OPC读取s71200数据,怎么读取DB里的数据

    LABVIW 使用OPC读取s71200数据,怎么读取DB里的数据,就是建立共享变量的时候地址怎么编写
    发表于 11-06 17:17

    西门子S7-1500标准型cpu模块,山东地区回收513-1AL02

    型号:6ES75184AX001AC0 西门子S7-1500 CPU模块 标准型参数:DC24V | PROFINET 接口(6*RJ45+1*DB9) | 3 | 31型号:6ES7518-4AP00-0AB0新旧不限,型号不限盗取的货源一律不收;来路不明的货源一律不
    发表于 07-01 16:21

    S7-200SMART CPU与S7-1200进行S7通信的方法

    数据与接收数据创建完成后,即可在OB1中调用PUT/GET指令,进行S7通信了,如图7.所示
    发表于 12-22 16:00

    回收西门子S7-1500 CPU模块 标准型

    S7-1500 CPU模块 标准型参数:DC24V | PROFINET 接口(6*RJ45+1*DB9) | 3 | 31型号:6ES7518-4AP00-0AB0回收西门子,施耐德,三菱,罗克韦尔AB,基恩士,康耐视,等品牌电子元器件配件新旧不限,型号不限盗取的货源一
    发表于 11-09 16:44

    回收西门子S7-1500 CPU模块 标准型

    S7-1500 CPU模块 标准型参数:DC24V | PROFINET 接口(6*RJ45+1*DB9) | 3 | 31型号:6ES7518-4AP00-0AB0回收西门子,施耐德,三菱,罗克韦尔AB,基恩士,康耐视,等品牌电子元器件配件新旧不限,型号不限盗取的货源一
    发表于 11-09 16:44

    深入优化DB2 数据库的五个最佳实践

    深入优化DB2 数据库的五个最佳实践   结构化查询语言(SQL)对于关系型DBMS是把双刃剑,利弊参半。因为从关系型数据库检索任何
    发表于 01-27 13:28 788次阅读

    S7-1500系统架构及特点

    S7-1500数据管理系统中,提供两种不同的块访问机制: 优化访问、 非优化访问(兼容 S7-300/400),S7-1500 FW V
    发表于 10-10 11:40 29次下载
    <b class='flag-5'>S7-1500</b>系统架构及特点

    怎样去使用S7-1500 SCL PEEK和POKE指令呢

    PEEK 和 POKE 指令,可在不指定数据类型的情况下对 Input区、Output区、M 存储区、DB块和PI/Q(物理输入/输出,仅S7-1500支持)读取或写入
    的头像 发表于 10-08 10:04 4740次阅读

    S7-1500 CPU支持与其它S7-1500 CPU进行直接数据交换

    从固件版本 V2.8 开始,S7-1500 CPU 支持与其它 S7-1500 CPU 进行直接数据交换。在直接数据交换的情况下,S7-1500
    的头像 发表于 11-29 09:53 2913次阅读

    S7-1500 DB数据块的类型和使用方法1

    块,可在TIA 博途界面下点击“程序块”->“添加新块”,选择“数据块”并选择数据块类型为“全局 DB”(缺省)
    的头像 发表于 02-01 16:45 6765次阅读
    <b class='flag-5'>S7-1500</b> <b class='flag-5'>DB</b><b class='flag-5'>数据</b>块的类型和使用方法1

    S7-1500 DB数据块的类型和使用方法2

    块,可在TIA 博途界面下点击“程序块”->“添加新块”,选择“数据块”并选择数据块类型为“全局 DB”(缺省)
    的头像 发表于 02-01 16:45 4709次阅读
    <b class='flag-5'>S7-1500</b> <b class='flag-5'>DB</b><b class='flag-5'>数据</b>块的类型和使用方法2

    西门子S7-1500 之间 S7 通信

    任务: S7-1500 CPU Clinet 将通讯数据DB1 块中的 10 个字节的数据发送到 S7-1500 CPU server
    的头像 发表于 05-29 14:04 4184次阅读
    西门子<b class='flag-5'>S7-1500</b> 之间 S7 通信

    SIMATIC S7-1500数据块(DB)介绍

    数据块用于存储用户数据及程序中间变量。新建数据块时,默认状态是优化的存储方式,且数据块中存储的变量是非保持的。
    的头像 发表于 07-20 09:29 1490次阅读
    SIMATIC <b class='flag-5'>S7-1500</b><b class='flag-5'>数据</b>块(<b class='flag-5'>DB</b>)介绍

    谈谈S7-1200/1500系列PLC优化块访问的功能

    西门子S7-1200/1500系列PLC支持优化的块访问(Optimized block access),通常理解的是数据块(DB)具有这个功能。
    的头像 发表于 09-27 09:34 1498次阅读
    谈谈S7-1200/<b class='flag-5'>1500</b>系列PLC<b class='flag-5'>优化</b>块访问的功能