购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.5 数据存储地址区及寻址方式

1.5.1 PLC的寻址方式

PLC的寻址方式是对数据存储区进行读写访问的方式,S7系列PLC的寻址方式有立即数寻址、直接寻址和间接寻址3大类。立即数寻址的数据在指令中以常数或常量的形式出现;直接寻址,又称符号寻址,是指在指令中直接给出要访问的存储器或寄存器的名称和地址编号,直接存取数据;间接寻址是指使用地址指针间接给出要访问的存储器或寄存器的地址。直接寻址是平常编程中使用最多的一种寻址方式。地址区域内的变量均可以进行直接寻址,S7系列PLC地址区可访问的单位及表示方法见表1-10。

表1-10 S7系列PLC地址区

(续)

1.5.2 位寻址方式

位寻址是对存储器中的过程映像输入区(I)、过程映像输出区(Q)和其他区域的某一位进行读写访问。

1.过程映像输入区(I)

过程映像输入区位于CPU的系统存储区。在循环执行用户程序之前,CPU首先扫描输入模块的信息,如图1-54所示,并将这些信息记录到过程映像输入区中,与输入模块的逻辑地址相匹配。使用过程映像输入区的好处是在一个程序执行周期中保持数据的一致性。S7系列PLC使用地址标识符“I”(不分大小写)访问过程映像输入区。

2.过程映像输出区(Q)

过程映像输出区位于CPU的系统存储区。在循环执行用户程序中,CPU将程序中逻辑运算后输出的值存放在过程映像输出区。在程序执行周期结束后更新过程映像输出区,如图1-55所示,将所有输出值发送到输出模块,以保证输出模块输出的一致性。S7系列PLC中所有的输出信号均在输出过程映像区内。使用地址标识符“Q”(不分大小写)访问过程映像输出区,在程序中表示方法与输入信号类似。

图1-54 过程映像输入区(I)的信息记录

图1-55 过程映像输出区(Q)的信息刷新

输入模块与输出模块分别属于两个不同的地址区,所以模块逻辑地址可以相同。

根据IEC61131-3标准,直接变量用百分数符号%开始,随后是位置前缀符号;如果有分级,则用整数表示分级,并用小数点符号“.”分隔的无符号整数表示直接变量(见表1-11)。

表1-11 直接变量

如%I2.3,首位字母表示存储器标识符,I表示输入过程映像区(见图1-56)。

图1-56 I2.3的位置部分

1.5.3 字节、字及双字寻址方式

对于系统存储器中的I、Q、M和L存储区,是按字节进行排列的,对其中的存储单元进行的直接寻址方式包括位寻址、字节寻址、寻址和双字寻址。对I、Q、M和L存储区也可以以1B或2B或4B为单位进行次读写访问。

格式:地址标识符长度类型字节起始地址

其中,长度类型包括字节、字和双字,分别用“B”(Byte)、“W”(Word)和“D”(Double Word)表示。

例如,IB100表示过程映像输入区中的第100字节,IW100表示过程映像输入区中的第100和101两字节,ID100表示过程映像输入区中的第100、101、102和103 4字节。需要注意,当数据长度为字或双字时,最高有效字节为起始地址字节。图1-57所示为IB100、IW100、ID100所对应访问的存储器空间及高低位排列的方式。

图1-57 存储器空间及高低位排列的方式

如图1-58所示为位、字节、字和双字对同一地址存取操作的比较,可以看出MW100包括MB100和MB101这2字节;MD100包含MW100和MW102,即MB100、MB101、MB102和MB103这4字节。值得注意的是,这些地址是互相交叠的。

图1-58 位、字节、字和双字对同一地址存取操作的比较

除了输入I、输出Q和中间寄存器M之外,还有表示局部数据暂存区的L变量,如LD20表示从第20个字节开始,包括4个字节的存储空间,即LB20、LB21、LB22和LB23 4字节。

1.5.4 I/O外设寻址方式

对于I/O外设,也可以使用位寻址、字节寻址、寻址和双字寻址。例如IB0:P,表示输入过程映像区第0字节所对应的输入外设存储器单元;再如Q1.2:P,表示输出过程映像区第1字节第2位所对应的输出外设存储器单元。

如果将模块插入到站点中,其逻辑地址将位于SIMATIC S7系列PLC CPU的过程映像区中(默认设置)。在过程映像区更新期间,CPU会自动处理模块和过程映像区之间的数据交换。

如果希望程序直接访问模块(而不是使用过程映像区),则在I/O地址或符号名称后附加后缀“:P”,这种方式称为直接访问I/O地址的访问方式。

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及其读取方式 XS800XOWv6U0Gwf3ylncsxAbqbxBk7niVW5Qb62SCY5aIBvMd3bcGvVCObnaXXmi

点击中间区域
呼出菜单
上一章
目录
下一章
×