CPU 存储器的数据类型及寻址方式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


5–2 5–9 5–10 5–15 5–16
5-1
CPU 存储器的数据类型及寻址方式
5.1 CPU 存储器区域的直接寻址
S7-200 将信息存于不同的存储器单元,每个单元都有唯一的地址。你可以明确指出要存 取的存储器地址,这样就允许用户程序直接存取这个信息。
使用存储器地址来存取数据
若要存取存储器区域的某一位,则必须指定地址,包括存储器标识符、字节地址及位号。 图 5-1 是一个位寻址的例子 (也称为“字节.位”寻址)。在这个例子中,存储器区以及字 节地址 (I= 输入,3= 字节 3) 和位地址 (第 4 位) 之间用点号“·”相隔开。
格式:

S [字节地址].[位地址]
S3.1
字节,字,双字 S [长度][起始字节地址] SB4
特殊存储器 (SM) 标志位
SM 位提供了 CPU 和用户程序之间传递信息的方法。可以使用这些位选择和控制 S7200 CPU 的一些特殊功能,例如:
z 第一次扫描的 ON 位
z 以固定速度触发位
z 数学运算或操作指令状态位
子程序或中断子程序不能访问分配给主程序的局部存储器。子程序不能访问分配给主程 序、中断程序或其它子程序的局部存储器。同样地,中断程序也不能访问分配给主程序或 子程序的局部存储器。
S7–200 PLC 根据需要分配局部存储器。也就是说,当主程序执行时,分配给子程序或中 断程序的局部存储器是不存在的。当出现中断或调用一个子程序时,需要分配局部存储 器。新的局部存储器在分配时可以重新使用分配给不同子程序或中断程序的相同局部存储 器。
-32,768 to 32,767 8000 to 7FFF
-2,147,483,648 to 8000 0000 to 2,147,483,647 7FFF FFFF
输入映象寄存器 (I) 寻址
如 4.6 节所述,在每次扫描周期的开始,CPU 对输入点进行采样,并将采样值存于输入 映象寄存器中。可以按位、字节、字或双字来存取输入映象寄存器。
实 数 ( 或 浮 点 数) 采 用 32 位单 精度数 来表示 ,其格 式是正 数:+1.175495E-38 到 +3.402823E+38;负数:-1.175495E-38 到 -3.402823E+38。按照ANSI/IEEE 754 1985 标准格式,以双字长度来存取。
表 5-1 数据大小规定及相关整数范围
关于 SM 的详细信息,请参阅附录 C。尽管 SM 区基于位存取,但可以按位、字节、 字或 双字来存取。.
格式:

SM [字节地址].[位地址] SM0.1
字节,字,双字 SM [长度][起始字节地址] SMB86
局部存储器 (L) 区寻址
S7–200 PLC 有 64 个字节的局部存储器,其中 60 个可以用作暂时存储器或者给子程 序传递参数。如果用梯形图或功能块图编程, STEP 7-Micro /WIN 32 保留这些局部存储器 的最后四个字节。如果用语句表编程,可以寻址所有的64个字节,但是不要使用局部存 储器的最后 4 个字节。
格式:
T [定时器号]
T24
T3
定时器号(位地址) 区域标识(定时器)
当前值
定时器位(读/写)
T0
T0
T1
T1
T2
T2
T3
T3
I2
MSB
MOV W
15
1
EN
T3 IN OUT VW200
定时器号 (当前值地址)
区域标识(定时器)
图 5-3 存取 SIMATIC 定时器数据
定时器当前值(读/写) LSB
0
T0 T1
T2 T3
定时器位
T0 T1 T2 T3
计数器 (C) 存储器区寻址
在 S7-200 CPU 中,计数器是累计其输入端脉冲电平由低到高的次数。CPU 提供了三种 类型的计数器:一种只能增计数;一种是减计数;另一种既可增计数,又可减计数。与计 数器相关的变量有两个:
z 当前值:16 位符号整数,存储累计脉冲数。
格式:

I[字节地址].[位地址]
I0.1
字节,字,双字 I[长度][起始字节地址]
IB4
输出映象寄存器 (Q) 寻址
在扫描周期的结尾,CPU 将输出映象寄存器的数值复制到物理输出点上。可以按位、字 节、字或双字来存取输出映象寄存器。
格式:

Q [字节地址].[位地址] Q1.1
字节,字,双字 Q [长度][起始字节地址] QB5
C0 C1 C2
C3
LSB0计数器位 C0 C1 C2 C3
图 5-4 存取计数器数据
模拟量输入 (AI) 寻址
S7-200 将现实世界的模拟值 (如温度或电压) 转换成1个字长 (16 位) 的数字量。可以用 区域标识符 (AI) 、数据长度 (W),及字节的起始地址来存取这些值。如图 5-5 所示,因 为模拟输入量为 1 个字长,且从偶数位字节 (如0.2,4) 开始,所以必须用偶数字节地址 (如 AIW0,AIW2,AIW4) 来存取这些值。模拟量输入值为只读数据。
局部存储器和变量存储器很相似,主要区别是变量存储器是全局有效的,而局部存储器是 局部有效的。全局是指同一个存储器可以被任何程序存取 (例如,主程序、子程序或中断 程序)。局部是指存储器区和特定的程序相关联。S7–200 PLC 给主程序分配 64 个局部 存储器;给每一级子程序嵌套分配 64个字节局部存储器;给中断程序分配 64 个字节。
. I 3 . 4
字节的位,或位号:(0-7) 字节与位地址之间的间隔
字节地址:字节(3=第4 个字节) 区域标识(I=输入)
MSB = 最高位 LSB = 最低位
MSB
LSB
7 6543 210 I0
I1
I2
I3
I4
I5
I6
I7
I8
I9
I 10
I 11
I 12 I 13
I 14
I 15
图 5-1 存取 CPU 存储器中的位数据 (字节.位寻址)
MSB = 最高有效位 LSB = 最低有效位
16 15
VB102
最低有效字节
LSB
87
0
VB103
V D 100
字节地址
访问一个双字 区域标识(V=存储器)
图 5-2 字节、字和双字对同一地址存取操作的比较
5-2
CPU 存储器的数据类型及寻址方式
数值表示
表 5-1 给出了不同长度的数值所能表示的整数范围。
格式:
AQW [起始字节地址]
AQW4
MSB
15
87
AQW10
字节 10
LSB 0
字节 11
最高有效字节
最低有效字节
AQ W 10
字节地址 访问一个字长度 区域标识(模拟量输出)
图 5-6 存取模拟量输出值
5-6
CPU 存储器的数据类型及寻址方式
累加器 (AC) 寻址
累加器是可象存储器那样使用的读/写设备。例如,可以用它来向子程序传递参 数,或 从 子 程 序 返 回 参 数 , 以 及用来存储计算的中间值。 CPU 提供了 4 个 32位累加器 (AC0,AC1,AC2,AC3)。可以按字节、字或双字来存取累加器中的数值。如图 5-7 所 示,按字节、字来存取累加器只使用存于存储器中数据的低8位或低 16 位,以双字来存 取要使用全部 32 位。存取数据的长度由所用指令决定。
格式:

L [字节地址].[位地址] L0.0
字节,字,双字 L [长度] [起始字节地址] LB33
5-4
CPU 存储器的数据类型及寻址方式
定时器 (TFra Baidu bibliotek 存储器区寻址
S7-200 CPU 中,定时器是累计时间增量的设备。S7-200 定时器精度 (时基增量) 有 1ms,10ms,100ms 三种。有两个相关的变量:
局部存储器在分配时 PLC 不进行初始化,初值可能是任意的。当在子程序调用中传递参 数时,在被调用子程序的局部存储器中,由 CPU 代替被传递的参数的值。局部存储器在 参数传递过程中不接收值,在分配时不被初始化,也没有任何值。
可以按位、字节、字或双字访问局部存储器。可以把局部存储器作为间接寻址的指针,但 是不能作为间接寻址的存储器区。
使用这种字节寻址方式,可以按照字节、字或双字来存取许多存储器区域 (V,I, Q,M S,L 及 SM) 中的数据。若要存取 CPU 存储器中的一个字节、字或双字数据,则必须 以类似位寻址的方式给出地址,包括区域标志符、数据大小以及该字节、字或双字的起始 字节地址,如图 5-2 所示。其它 CPU 存储器区域 (如T,C,HC 以及累加器) 中存取数 据使用的地址格式为:区域标识符和设备号。
格式:

M [字节地址].[位地址]
字节,字,双字 M [长度][起始字节地址]
M26.7 MD20
5-3
CPU 存储器的数据类型及寻址方式
顺序控制继电器 (S) 存储器区寻址
顺序控制继电器位 (S) 用于组织机器操作或进入等效程序段的步。SCR 提供控制程序的 逻辑分段,可以按位、字节、字或双字来存取 S 位。
z 当前值:16 位符号整数,存储定时器所累计的时间。
z 定时器位:定时器当前值大于预设值时,该位置为“1”。(预设值作为定时器指令的 一部分输入)
可以使用定时器地址 (T+定时器号) 来存取这些变量。对定时器位或当前值的存取依赖 于所用的指令:带位操作数的指令存取定时器位,而带字操作数的指令存取当前值。如图 5-3 所示,常开节点 (T3) 指令存取定时器位,而 MOV_W 指令存取定时器的当前值。 关 于 S7-200 指 令 系 统 的 详 细 信 息 , 请 参 阅 第 9 章 的 SIMATIC 指 令 和 第 十 章 的 IEC1131-3 指令。
MSB 7
LSB 0
VB100
VB100
V B 100
字节地址 访问一个字节 区域标识(V=存储器)
最高有效字节
最低有效字节
MSB 15
87
LSB 0
VW100 VB100
VB101
V W 100
字节地址 访问一个字 区域标识(V=存储器)
最高有效字节
MSB
31
24
VD100 VB100
23
VB101
CPU 存储器的数据类型及寻址方式
5
本章概述
S7-200 CPU 提供了存储器的特定区域,使控制数据的运行更快、更有效。



5.1 CPU 存储器区域的直接寻址 5.2 CPU 存储器区域的 SIMATIC 间接寻址 5.3 S7-200 CPU 的存储器保持 5.4 由用户程序来永久保存数据 5.5 使用存储器卡来保存用户程序
变量 (V) 存储器区寻址
程序执行过程中控制逻辑操作的中间结果,也可以使用 V 存储器来保存与工序或任务相 关的其它数据。可以按位、字节、字或双字来存取 V 存储器。
格式:

V [字节地址].[位地址]
字节,字,双字 V [长度][起始字节地址]
V10.2 VW100
位存储器 (M) 区寻址
可以使用内部存储器标志位 (M) 作为控制继电器存储中间操作状态或其它的控制信息。 尽管名为“位存储器区”,表示按位存储,但不仅可以按位,也可以按字节、字或双字来 存取位存储器区。
格式:
C[计数器号]
C20
5-5
CPU 存储器的数据类型及寻址方式
C3
计数器号(位地址) 区域标识(计数器)
当前值
C0 C1 C2 C3
计数器位 (读/写)
C0 C1 C2
C3
I2.1
MOV_W
MSB
15
EN ENO
C3 IN OUT VW200
计数器号 (当前值地址)
区域标识(计数器)
当前值 (读/写)
z 计数器位:当计数器的当前值大于或等于预设值时,此位置为“1”。(预设值作为计 数器指令的一部分输入)
可以使用计数器地址 (C+计数数号) 来存取这些变量。对计数器位或当前值的存取依赖 于所用的指令:带位操作数的指令存取计数器位,而带字操作数的指令存取当前值。如图 5-4 所示,常开接点 (C3) 指令存取计数器位,而 MOV-W 指令存取计数器的当前值。 关于 S7-200 指令系统的详细信息,请参阅第9章 SIMATIC 指令和第十章的 IEC1131-3 指令。
格式:
AIW [起始字节地址]
AIW4
MSB 15
AIW8
字节8
最高有效字节
LSB
87
0
字节 9
最低有效字节
AI W 8
字节地址
访问一个字长度 区域标识(模拟量输入)
图 5-5 存取模拟量输入值
模拟量输出 (AQ) 寻址
S7-200 把1个字长 (16位) 数字值按比例转换为电流或电压。可以用区域标识符 (AQ) 、 数据长度 (W) 及起始字节地址来置这些值。如图 5-6 所示,因为模拟输出量为一个字 长,且从偶数字节 (如 0.2,4) 开始,必须使用偶数字节地址 (如 AQW0,AQW2, AQW4) 来设置这些值。用户程序无法读取这个模拟输出值。
数据大小
B (字节) : 8位值 W (字) : 16位值 D (双字) : 32位值
无符号整数
十进制
十六进制
0 to 255
0 to FF
0 to 65,535 0 to FFFF
0 to
0 to
4,294,967,295 FFFF FFFF
有符号整数
十进制
十六进制
-128 to 127
80 to 7F
相关文档
最新文档