S7-200数据存储与寻址方式
1.I/O 点数扩展和编址
S7-200 CPU22X 系列的每种主机所提供的本机I/O点的I/O地址是固定的,进行扩展时,可以在CPU右边连接多个扩展模块。每个扩展模块的组态地址编号取决于各模块的类型和该模块在I/O链中所处的位置。输入与输出模块的地址不会冲突,模拟量控制模块地址也不会影响数字量。
    编址方法是同样类型输入或输出点的模块在链中按所处的位置而递增,这种递增是按字节进行的,如果CPU或模块在为物理I/0点分配地址时未用完一个字节,那些未用的位也不能分配给I/O链中的后续模块。
    例如,某一控制系统选用CPU224,系统所需的输入/输出点数为:数字量输入24点、数字量输出20点、模拟量输入6点和模拟量输出2点。
    本系统可有多种不同模块的选取组合,并且各模块在I/O链中的位置排列方式也可能有多种,表1-1所示为其对应的各模块的编址情况。
1-1
主机
I/O
模块 1
I/O
模块 2 I/O
模块 3
I/O
模块 4
I/O
模块 5
I/O
I00   Q00
I01   Q01
I02   Q02
I03   Q03
I04   Q04
I05   Q05
I06   Q06
I07   Q07
I10   Q10
I11   Q11
I12
I13
I20
I21
I22
I23
I24
I25
I26
I27
 
 
 
Q20
Q21
Q22
Q23
Q24
Q25
Q26
Q27
 
 
 
AIW0   AQW0
AIW2
AIW4
AIW6
 
 
 
 
I30   Q30
I31  Q31
I32   Q32
I33   Q33
 
 
 
 
 
AIW8   AQW4
AIW10
AIVV12
AJW14
 
 
 
 
 
A 同类型输入或输出的模块按顺序进行编制。
B. 数字量模块总是保留以8位(1个字节)递增的过程映象寄存器空间。如果模块没有给保留字节中每一位提供相应的物理点,那些未用位不能分配给I/O链中的后续模块。对于输入模块,这些保留字节中未使用的位会在每个输入刷新周期中被清零。
C. 模拟量I/O点总是以两点递增的方式来分配空间。如果模块没有给每个点分配相应的物理点,则这些I/O点会消失并且不能够分配给I/O链中的后续模块。
2. S7-200 PLC的寻址方式及内部数据存储区
    S7-200 CPU将信息存储在不同的存储单元,每个单元都有惟一的地址。S7-200CPU使用数据地址访问所有的数据,称为寻址。输入/输出点、中间运算数据等各种数据类型具有各自的地址定义,大部分指令都需要指定数据地址。
    本节将从S7-200的数据长度、寻址、寻址方式和内部数据存储区几个方面进行介绍。2.1   数据长度

    S7-200 寻址时,可以使用不同的数据长度。不同的数据长度表示的数值范围不同。S7-200 指令也分别需要不同的数据长度。
    S7-200系列在存储单元所存放的数据类型有布尔型( BOOL)、整数型( INT )、实数型和字符串型四种。数据长度和数值范围如表1-2所列。
1-2   数据长度和数值范围
数据类型
数据长度
字节 8位值)
16位值)
双字 32位值)
无符号整数
0255
0FF
065535
0FFFF
04294967295
0FFFF FFFF
有符号整数
-128+127
807F
-32768+32767
80007FFF
-217483648+2147483647
8000 00007FFF FFFF
实数IEEE32
浮点数
 
 
+1.175495E-38+3.402823E+
38(正数字符串长度和字节)
-1.175495E-38-3.402823E+38
(负数)
A. 实数的格式
实数(浮点数)由32位单精度数表示,其格式按照ANSI/IEEE 754-1985标准中所描述的形式。实数按照双字长度来存取。对于S7-200来说,浮点数精确到小数点后第六位。因而当使用一个浮点数常数时,最多可以指定到小数点后第六位。
B. 实数运算的精度
    在计算中涉及到非常大和非常小的数,则有可能导致计算结果不精确。
C. 字符串的格式
    字符串指的是一系列字符,每个字符以字节的形式存储。字符串的第一个字节定义了字符串的长度,也就是字符的个数。一个字符串的长度可以是0254个字符,再加上长度字节,一个字符串的最大长度为255个字节。而一个字符串常量的最大长度为126字节。
D. 布尔型数据(01
E. S7-200CPU不支持数据类型检测
    例如:可以在加法指令中使用VW100中的值作为有符号整数,同时也可以在异或指令中将VW100中的数据当作无符号的二进制数。
S7-200提供各种变换指令,使用户能方便地进行数据制式及表达方式的变换。
2.2  常数
S7-200的许多指令中,都可以使用常数值。常数可以是字节、字或者双字。S7-200以二进制数的形式存储常数,可以分别表示十进制数、十六进制数、ASCII码或者实数(浮点数)。S7-200指令中的常数表示法如表2-7所示。
2.3 寻址方式
    S7-200系列中,寻址方式分为两种:直接寻址和间接寻址。直接寻址方式是指在指令中直接使用存储器或寄存器的元件名称和地址编号,直接查数据。间接寻址是指使用地址指针来存取存储器中的数据,使用前,首先将数据所在单元的内存地址放入地址指针寄存器中,然后根据此地址存取数据。本书仅介绍直接寻址。
    直接寻址时,操作数的地址应按规定的格式表示。指令中数据类型应与指令相符匹配。
    S7-200系列中,可以按位、字节、字和双字对存储单元进行寻址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于按位寻址,还需要在分隔符后指定位编号。
    在表示数据长度时,分别用BWD字母作为字节、字和双字的标识符。
1)位寻址
    位寻址是指按位对存储单元进行寻址,位寻址也称为字节.位寻址,一个字节占有8个位。位寻址时,一般将该位看作是一个独立的软元件,像一个继电器一样,看作它有线圈及常开、常闭触点,且当该位置1时,即线圈得电时,常开触点接通,常闭触点断开。由于取用这类元件的触点只是访问该位的状态,因此可以认为这些元件的触点有无数多对。字节.位寻址一般用来表示开关量逻辑量I3.4表示输入映像寄存器3号字节的4号位。
 位寻址的格式:[区域标识][字节地址].[位地址]
2)字节寻址(8 bit
   字节寻址由存储区标识符、字节标识符、字节地址组合而成。如VB100 
 字节寻址的格式:[区域标识][字节标识符].[字节地址]
3)字寻址(16 bit
    字寻址由存储区标识符、字标识符及字节起始地址组合而成。如VW100
    字寻址的格式:[区域标识][字标识符].[字节起始地址]
4)双字寻址(32 bit
    双字寻址由存储区标识符、双字标识符及字节起始地址组合而成。如VD100
   双字寻址的格式:[区域标识][双字标识符].[字节起始地址]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。