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

发布者:MysticGarden最新更新时间:2024-05-06 来源: elecfans关键字:S7-1500 手机看文章 扫描二维码
随时随地手机看文章

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?imageView2/2/w/1000

图1

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

694adc4c-4e0d-11ee-a25d-92fbcf53809c.png?imageView2/2/w/1000

图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?imageView2/2/w/1000

图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?imageView2/2/w/1000

图3

1.4占用地址空间

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

699d5c7e-4e0d-11ee-a25d-92fbcf53809c.png?imageView2/2/w/1000

图4

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

69b7d806-4e0d-11ee-a25d-92fbcf53809c.png?imageView2/2/w/1000

图5

1.5访问速度

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

69dd089c-4e0d-11ee-a25d-92fbcf53809c.png?imageView2/2/w/1000

图6


关键字:S7-1500 引用地址:S7-1500数据块:优化DB与非优化DB的区别有哪些?

上一篇:驱动器共模电流路径与数学模型分析
下一篇:电机如何实现左右摆动

推荐阅读最新更新时间:2026-03-21 17:34

DBDM手机处理器之间的通信方案优化
随着HSPA功能手机的推出以及视频和数据内容质量的改进,许多处理器间的通信架构也日趋完美。传统的互连架构已经无法支持与基带处理器功能和未来移动通信标准匹配的数据吞吐量。本文将讨论多端口互连为何能成为可行的解决方案。 在全球化进程中,全球性商务或休闲旅行已越来越流行,在旅途中最好是携带最基本和小巧的物件。移动手机目前是首选设备,它使MP3播放器、便携式导航设备、照相机和手持式视频游戏机等玩意变得多余。凭借每年10亿多部手机的出货量,移动手机现在已成为人们出行的基本必需品之一。然而,若它在目的地国家不能正常工作就没有太大用处了。 例如,韩国和日本支持CDMA和FOMA标准,大多数欧洲国家则只支持GSM,而这些标准是互不兼容的。
[嵌入式]
ARM汇编指令学习 实现数据拷贝
这个学期,系里开了嵌入式的课程,正好借助这个机会系统地学习下ARM的指令系统。这个系列文章主要是通过一些简单的汇编程序实例来学习ARM指令,使用的编译器是ADS 1.2。 程序要求: 设计一段程序完成数据块的,数据从源数据区snum到目标数据区dnum,数据量大小为NUM字(1个字=4个字节),时以8个字为单位进行,对于最后所剩不到8个字的数据,以字为单位进行。 程序清单: 1 ;============================================================================== 2 ; blocks.s: 将数据从源数据区snum到目标数据区dnum,数据量大
[单片机]
ARM汇编指令学习 实现<font color='red'>数据</font><font color='red'>块</font>拷贝
基于单片机系统采用DMA传输方式实现高速数据采集
   摘 要: 介绍一种基于单片机系统设计的DMA硬件电路,以字块传输方式与高速A/D接口。结合在数字式磁通表设计中的应用给出其硬件软件设计方案实例。     关键词: 单片机系统 直接存储器存取(DMA)方式 高速A/D     PC机中外设与内存储器之间数据直接传输的DMA功能以其高效、高速、CPU资源占用少等特点已被广泛应用,这一功能通过安装在主板上的专用DMA控制器芯片或集成在外围控制芯片来实现。单片机的应用领域也常常需要有高速数据传输或数据采集,虽然近些年单片机速度有所提高,仍然无法应付类似单脉冲信号捕获、周期信号频谱分析等需要采用高速A/D的场合。对于速率在100ksps以上的数据采集或传输一般的中断查
[应用]
SIMATIC S7-1500 PLC强制表
(1)强制表简介 使用强制表给用户程序中的各个变量分配固定值,该操作称为“强制”。 强制表功能如下。 ①监视变量 通过该功能可以在PG/PC上显示用户程序或CPU中各变量的当前值。可以使用或不使用触发条件来监视变量。 强制表可监视的变量有:输入存储器、输出存储器、位存储器和数据块的内容,此外还可监视外设输入的内容。 ② 强制变量 通过该功能可以为用户程序的各个I/O变量分配固定值。 变量表可强制的变量有:外设输入和外设输出。 (2)打开监控表 当TIA博途软件的项目中添加了PLC设备后,系统会自动为该PLC的CPU生成一个“监控和强制表”文件夹。在项目视图的项目树中,打开此文件夹,双击“强制表”选项,即可打开,不需要创建,输入要强
[嵌入式]
SIMATIC <font color='red'>S7-1500</font> PLC强制表
S7-1500系列PLC+变频器+编码器组成位置控制系统设计原理
S7-1500 的运动控制功能支持轴的定位和移动,是 S7-1500 系列 CPU 众多集成功能中的重要组成部分。运动控制功能支持旋转轴、定位轴、同步轴和外部编码器等工艺对象。根据PLC-Open,具有 PROFIdrive 功能的驱动装置或带模拟量设定值接口的驱动装置将通过标准运动控制指令控制。轴控制面板以及全面的在线和诊断功能有助于轻松完成驱动装置的调试和优化工作。 位置控制模式 一、S7-1500 运动控制的操作原理 运动控制系统 S7-1500 Motion Control 支持轴的控制定位和移动,是各个 CPU S7-1500 和CPU S7-1500SP 的重要组成部分。S7-1500T Technology
[嵌入式]
<font color='red'>S7-1500</font>系列PLC+变频器+编码器组成位置控制系统设计原理
SIMATIC S7-1500 PLC定时器—保持型接通延时定时器介绍
保持型接通延时定时器(SS)介绍: 保持型接通延时定时器(SS)与接通延时定时器(SD)类似,但SS定时器具有保持功能。一旦逻辑位有上升沿发生,定时器启动计时,延时时间到,输出高电平“1”,即使逻辑位为“0”也不影响定时器的工作。必须用复位指令才能使定时器复位。 用一个例子来说明SS线圈指令的使用,梯形图如图1所示: 图1 对应的时序图如图2所示: 图2 当I0.0闭合产生一个上升沿时,定时器T0开始定时,定时1s后(无论I0.0是否闭合),Q0.0输出为高电平“1”,直到复位有效为止,本例为I0.1闭合产生上升沿,定时器复位,Q0.0输出为低电平“0”。 TIA博途软件除了提供保持型接通延时定时器线圈指令外,还提供更
[嵌入式]
SIMATIC <font color='red'>S7-1500</font> PLC定时器—保持型接通延时定时器介绍
S7-1500 PLC SIMATIC值在范围内指令
TIA博途软件提供了丰富的比较指令,可以满足用户的各种需要。TIA博途软件中的比较指令可以对如整数、双整数、实数等数据类型的数值进行比较。 【关键点】一个整数和一个双整数是不能直接进行比较的,因为它们之间的数据类型不同。一般先将整数转换成双整数,再对两个双整数进行比较。 比较指令有等于(CMP==)、不等于(CMP )、大于(CMP )、小于(CMP )、大于或等于(CMP =)和小于或等于(CMP =)。比较指令对输入操作数1和操作数2进行比较,如果比较结果为真,则逻辑运算结果RLO为“1”,反之则为“0”。 (5) 值在范围内指令(IN_RANGE) “值在范围内”指令将输入VAL的值与输入MIN和MAX的值进行比较,并将
[嵌入式]
<font color='red'>S7-1500</font> PLC SIMATIC值在范围内指令
SIMATIC S7-1500 PLC SIMATIC取消缩放指令
取消缩放指令(UNSCALE) “取消缩放”指令用于取消缩放参数IN中介于下限值和上限值之间以物理单位表示的浮点数,并将其转换为整数。通过参数LO_LIM和HI_LIM来指定缩放输入值取值范围的下限和上限。指令的结果在参数OUT中输出。取消缩放指令(UNSCALE)和参数见图1。 图1 “取消缩放”抬令按以下公式行计算: OUT= +Kl 参数BIPOLAR的 信号 状态将决定量“K1”和“K2”的值。参数BIPOLAR可能有下列信号状态; ①信号状态“1”:止时参数IN的值为双极生且段值范国介于-27648和27648之间,这种情况下,定数“K1”的为“-27648.0”,“K2”的值为“+27648.0”。 2信号状态“0
[嵌入式]
SIMATIC <font color='red'>S7-1500</font> PLC SIMATIC取消缩放指令
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved