第 2 章 存储器的数据类型与寻址方式
DESCRIPTION
第 2 章 存储器的数据类型与寻址方式. 2.1 S7-200 的主要指标及接线端口. 2.1.1 S7-200 的主要指标. 1. S7-200 PLC 的结构. 2. S7-200 的主要指标. 2.1.2 S7-200 系列 PLC 的外部端子图. 每种型号的 CPU 都有. DC/DC/DC. AC/DC/RLY. 分别表示 CPU 电源的类型、输入端口的电源类型及输出端口器件的类型。. DC 为晶体管, RLY 为继电器. CPU221 DC/DC/DC 端子图. CPU222 AC/DC/RLY 端子图. - PowerPoint PPT PresentationTRANSCRIPT
第第 22 章 存储器的数据类型与寻址方式章 存储器的数据类型与寻址方式
2.1 S7-2002.1 S7-200 的主要指标及接线端口 的主要指标及接线端口 2.1.1 S7-200 的主要指标
1. S7-200 PLC 的结构
2. S7-200 的主要指标特性 CPU221 CPU222 CPU224 CPU226
外形尺寸(mm) 90 x 80 x 62 90 x 80 x 62 120.5 x 80 x 62 190 x 80 x 62
可在运行模式下编辑不可在运行模式下编辑
4 096字节4 096字节
4 096字节4 096字节
8 192字节12 288字节
16 384字节24 576字节
数据存储区 2 048字节 2 048字节 8 192字节 10 240字节掉电保持时间 50小时 50小时 100小时 100小时本机 I/O:数字量 6入 /4出 8入 /6出 14入 /10出 24入 /16出
扩展模块 0个模块 2个模块 7个模块 7个模块高速计数器 :单相 /双
相4路 30KHz2路 20KHz
4路 30KHz2路 20KHz
6路 30KHz4路 20KHz
6路 30KHz4路 20KHz
脉冲输出( DC) 2路 20KHz 2路 20KHz 2路 20KHz 2路 20KHz
模拟电位器 1 1 2 2
实时时钟 配时钟卡 配时钟卡 内置 内置通讯口 1 RS-485 1 RS-485 1 RS-485 2 RS-485
浮点数运算 有I/O映象区 256 ( 128入 /128出)布尔指令执行速度 0.22μs /指令
2.1.2 S7-200 系列 PLC 的外部端子图
DC/DC/DC
AC/DC/RLY
分别表示 CPU 电源的类型、输入端口的电源类型及输出端口器件的类型。
DC 为晶体管, RLY 为继电器
每种型号的 CPU 都有
CPU221 DC/DC/DC 端子图
CPU222 AC/DC/RLY 端子图
CPU224 AC/DC/RLY 端子图
CPU226 AC/DC/RLY 端子图
2.2 S7-200CPU2.2 S7-200CPU 存储器的数据区存储器的数据区
2.2.1 数据类型
1. 数据类型及范围
基本数据类型无符号整数
基本数据类型
有符号整数
十进制 十六进制 十进制 十六进制
字节 B( 8位) 0~ 255 0~ FF字节 B( 8位) - 128~ 127 80~ 7F
字W( 16位) 0~ 65535 0~ FFFF整型( 16位)
- 32 768~ 32 767
8000~ 7FFF
双字 D( 32位)0~4 294 967
295
0~ FFFFFFFF
双整型( 32位)
- 2 147 483 648~ 2 147 483 647
80000000~ 7FFFFFFF
布尔型( 1位) 0或 1
实数( 32位) - 1038~ 1038
2. 常数
进制 使用格式 举例十进制 十进制数值 20 047
十六进制 十六进制值 16#4E4F
二进制 二进制值 2#100 1110 0100 1111
ASCII码 ‘ASCII ’码文本 ‘How are you?’
实数或浮点格式 ANSI/IEEE 754-1985+1.175495E-38(正数)- 1.175495E-38(负数)
2.2.2 2.2.2 数字量输入输出映象区(数字量输入输出映象区( I/QI/Q 区)区)
1. 数字量输入映象区( I 区)
位I0.0~ I0.7
…I15.0~ I15.7
128点
字节 IB0、 IB1 …、 IB15 16个字 IW0、 IW2 …、 IW14 8个双字 ID0、 ID4、 ID8、 ID12 4个
( 2 )字节( B )
IB0 表示数字量输入映象区第 0 个字节,共 8 位,其中第 0位是最低位,第 7 位为最高位。
IB[ 起始字节地址 ]
( 1 )位 I[ 字节地址 ].[ 位地址 ]
I1.0 表示数字量输入映象区第 1 个字节的第 0 位。
( 3 )字( W ) IW[ 起始字节地址 ]
一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高 8 位,高位字节是低 8 位。如 IW0 中 IB0 是高 8 位,IB1 是低 8 位
( 4 )双字( DW ) ID[ 起始字节地址 ]
一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高 8 位。如 ID0 中 IB0 是最高 8 位, IB1是高 8 位, IB2 是低 8 位, IB3 是最低 8 位
2. 数字量输出映象区( Q 区)
位Q0.0~ Q0.7
…Q15.0~ Q15.7
128点
字节 QB0、 QB1 …、 QB15 16个字 QW0、 QW2 …、 QW14 8个
双字 QD0、 QD4、 QW8、 QD12
4个
( 1 )位 Q[ 字节地址 ].[ 位地址 ]
Q0.0 表示数字量输出映象区第 0 个字节的第 0 位。
( 2 )字节( B )
QB0 表示数字量输出映象区第 0 个字节,共 8 位,其中第0 位是最低位,第 7 位为最高位。
QB[ 起始字节地址 ]
( 3 )字( W ) QW[ 起始字节地址 ]
一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高 8 位,高位字节是低 8 位。如 QW0 中 IB0 是高 8 位,QB1 是低 8 位
( 4 )双字( DW ) QD[ 起始字节地址 ]
一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高 8 位。如 QD0 中 IB0 是最高 8 位, QB1是高 8 位, QB2 是低 8 位, QB3 是最低 8 位
2.2.3 2.2.3 模拟量输入输出映象区(模拟量输入输出映象区( AI/AQAI/AQ 区) 区)
1. 模拟量输入映象区( AI 区)
将测得的模拟量(如温度、压力)转换成 1 个字长( 16 位 )的数字量存储。模拟量输入用区域标识符( AI )、数据长度( W )及字节的起始地址表示。
AIW[ 起始字节地址 ]
CPU221 、 222 有 16 路模拟量输入: AIW0 、 AIW2 、… AIW30
CPU224 、 226 有 32 路模拟量输入: AIW0 、 AIW2 、… AIW62
把 1 个字长( 16 位 )的数字量按比例转换成模拟电压或电流输出。模拟量输出用区域标识符( AQ )、数据长度( W )及字节的起始地址表示。
2. 模拟量输出映象区( AQ 区) AQW[ 起始字节地址 ]
CPU221 、 222 有 16 路模拟量输出: AQW0 、 AQW2 、… AQW30
CPU224 、 226 有 32 路模拟量输出: AQW0 、 AQW2 、… AQW62
2.2.4 2.2.4 变量存储器区(变量存储器区( VV 区)区)
位V0.0~ V0.7
…V8191.0~ V8191.7
65536点
字节 VB0、 VB1 …、 VB8191 8192个字 VW0、 VW2 …、 VW8190 4096个双字 VD0、 VD4 …、 VD8188 2048个
变量存储器区用于程序执行过程中存储逻辑运算的中间结果,也可以使用变量存储器保存与工作过程相关的数据。
( 1 )位 V[ 字节地址 ].[ 位地址 ]
V1.0 表示变量存储器第 1 个字节的第 0 位。
( 2 )字节( B )
VB0 表示变量存储器第 0 个字节,共 8 位,其中第 0 位是最低位,第 7 位为最高位。
VB[ 起始字节地址 ]
( 3 )字( W ) VW[ 起始字节地址 ]
一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高 8 位,高位字节是低 8 位。如 VW0 中 IB0 是高 8 位,VB1 是低 8 位
( 4 )双字( DW ) VD[ 起始字节地址 ]
一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高 8 位。如 VD0 中 IB0 是最高 8 位, VB1是高 8 位, VB2 是低 8 位, VB3 是最低 8 位
2.2.5 2.2.5 位存储器区(位存储器区( MM 区) 区)
PLC 执行程序过程中,常常需要位控制,位存储器就是根据这个要求建立的。
位M0.0~M0.7
…M31.0~M31.7
256点
字节 MB0、MB1 …、 MB31 32个字 MW0、MW2 …、 MW30 16个双字 MD0、MD4 …、 MD28 8个
( 1 )位 M[ 字节地址 ].[ 位地址 ]
M1.0 表示位存储器区第 1 个字节的第 0 位。
( 2 )字节( B )
MB0 表示位存储器区第 0 个字节,共 8 位,其中第 0 位是最低位,第 7 位为最高位。
MB[ 起始字节地址 ]
( 3 )字( W ) MW[ 起始字节地址 ]
一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高 8 位,高位字节是低 8 位。如 MW0 中 IB0 是高 8位, MB1 是低 8 位
( 4 )双字( DW ) MD[ 起始字节地址 ]
一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高 8 位。如 MD0 中 IB0 是最高 8 位, MB1是高 8 位, MB2 是低 8 位, MB3 是最低 8 位
2.2.6 2.2.6 顺序控制继电器区(顺序控制继电器区( SS 区)区)
顺序控制继电器区是 S7-200 系列为顺序控制继电器的数据而建立的一个存储区,用“ S” 表示,用于步进过程的控制。
位S0.0~ S0.7
…S31.0~ S31.7
256点
字节 SB0、 SB1 …、 SB31 32个字 SW0、 SW2 …、 SW30 16个双字 SD0、 SD4 …、 SD28 8个
( 1 )位 S[ 字节地址 ].[ 位地址 ]
S1.0 表示顺控区第 1 个字节的第 0 位。
( 2 )字节( B )
SB0 表示顺控区第 0 个字节,共 8 位,其中第 0 位是最低位,第 7 位为最高位。
SB[ 起始字节地址 ]
( 3 )字( W ) SW[ 起始字节地址 ]
一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高 8 位,高位字节是低 8 位。如 SW0 中 IB0 是高 8 位,SB1 是低 8 位
( 4 )双字( DW ) SD[ 起始字节地址 ]
一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高 8 位。如 SD0 中 IB0 是最高 8 位, SB1是高 8 位, SB2 是低 8 位, SB3 是最低 8 位
2.2.7 2.2.7 局部存储器区(局部存储器区( LL 区)区)
局部存储器和变量存储器很相似,主要区别是变量存储器是全局有效的,而局部存储器是局部有效的。
其中前 60 个用作暂时存储器或给子程序传递参数,后四个字节( LB60 ~ LB63 )保留。
位L0.0~ L0.7
…L63.0~ L63.7
512点
字节 LB0、 LB1 …、 LB63 64个字 LW0、 LW2 …、 LW62 32个双字 LD0、 LD4 …、 LD60 16个
( 1 )位 L[ 字节地址 ].[ 位地址 ]
L1.0 表示局部存储器区第 1 个字节的第 0 位。
( 2 )字节( B )
LB0 表示局部存储器区第 0 个字节,共 8 位,其中第 0 位是最低位,第 7 位为最高位。
LB[ 起始字节地址 ]
( 3 )字( W ) LW[ 起始字节地址 ]
一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高 8 位,高位字节是低 8 位。如 LW0 中 IB0 是高 8 位,LB1 是低 8 位
( 4 )双字( DW ) LD[ 起始字节地址 ]
一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高 8 位。如 LD0 中 IB0 是最高 8 位, LB1是高 8 位, LB2 是低 8 位, LB3 是最低 8 位
2.2.8 2.2.8 定时器存储器区(定时器存储器区( TT 区)区)
S7-200 定时器的精度分为 1 、 10 、 100ms 三种。
S7-200 系列 PLC 定时器的编号为 T0 ~ T255 ,共 256 个定时器,其定时器的地址由 T 和定时器编号组成。
2.2.9 2.2.9 计数器存储器区(计数器存储器区( CC 区)区)
S7-200 系列 PLC 计数器的编号为 C0 ~ C255 ,共 256 个计数器,其计数器的地址由 C 和计数器编号组成。
2.2.10 2.2.10 高速计数器区(高速计数器区( HCHC 区)区)
高速计数器用来累计比 CPU 扫描速率更快的事件。若要存取高速计数器的值则必须给出高速计数器的地址,即存储器的类型( HC )和计数器编号(如 HC0 )。 S7-200 系列 PLC 有HC0 ~ HC5 共 6 个高速计数器。
高速计数器的当前值为 32 位带符号整数值,当前值为只读值。
2.2.11 2.2.11 累加器区(累加器区( ACAC 区)区)
可以按字节、字或双字来存取累加器数据中的数据,其存取数据的长度由所用指令决定。但是,以字节形式读 / 写累加器中的数据时,只能读 / 写累加器 32 位数据中的最低 8 位数据。如果是以字的形式读 / 写累加器中的数据,只能读 / 写累加器 32 位数据中的低 16 位数据。只有采取双字的形式读 / 写累加器中的数据时,才能一次读写全部 32 位数据。
CPU 提供了 4 个 32 位累加器( AC0 、 AC1 、 AC2 、 AC3 )。
2.2.12 2.2.12 特殊存储器区(特殊存储器区( SMSM 区)区)
位SM0.0~ SM0.7
…SM549.0~ SM549.7
4400点
字节 SMB0、 SMB1 …、 SMB549
550个
字 SMW0、 SMW2 …、 SMW548
275个
双字 SMD0、 SMD4 …、 SMD544
137个
( 1 )位 SM[ 字节地址 ].[ 位地址 ]
SM1.0 表示特殊存储器区第 1 个字节的第 0 位。
( 2 )字节( B )
SMB0 表示特殊存储器区第 0 个字节,共 8 位,其中第 0位是最低位,第 7 位为最高位。
SMB[ 起始字节地址 ]
( 3 )字( W ) SMW[ 起始字节地址 ]
一个字含两个字节,这两个字节的地址必须连续,其中低位字节是高 8 位,高位字节是低 8 位。如 SMW0 中 IB0 是高 8位, SMB1 是低 8 位
( 4 )双字( DW ) SMD[ 起始字节地址 ]
一个字含四个字节,这四个字节的地址必须连续,最低位字节在一个双字中是最高 8 位。如 SMD0 中 IB0 是最高 8 位, SMB1 是高 8 位, SMB2 是低 8 位, SMB3 是最低 8 位
2.3 S7-200CPU2.3 S7-200CPU 存储器的直接寻址方式存储器的直接寻址方式
1. 位寻址
2. 字节寻址字节寻址以存储区标识符、字节标识符、字节地址组合而成
3. 字寻址字寻址以存储区标识符、字标识符、字节地址组合而成4. 双字寻址双字寻址以存储区标识符、双字标识符、字节地址组合而成
2.4 S7-200CPU2.4 S7-200CPU 存储器的间接寻址方式存储器的间接寻址方式
在直接寻址方式中,直接使用存储器或寄存器的标识符和地址编号来找到数据。而间接寻址使用指针来找到存储器中的数据。
1. 建立指针指针为双字值,存放存储器数据单元的地址。
MOVD &VB100 , VD204
MOVD &MB4 , AC1 MOVD &C3 , LD23
指令的输入操作数必须使用“ &” 符号表示某一位置的地址,而不是它的值。
2. 使用指针来读取数据
在操作数前面加“ * ” 号表示该操作数为一个指针。
3. 修改指针
处理连续存储数据时,通过修改指针可以很容易地存取连续的数据。
在修改指针时,要注意访问数据的长度:在存取字节时,指针加 1 ;在存取字时,指针加 2 ;在存取双字时,指针加 4 。
【例题 2.1 】有 4 个字节的数据(分别为 12 、 34 、 56 、 78 )存储在从 VB200 存储的单元中,试说明用间接寻址方式将该数据存储在从 VB300开始的存储单元中的过程。