在局部存储器栈中,CPU 为每个 POU (program organizational unit,程序组织单元)
提供 个字节的 L 存储器。POU 相关的 L 存储器地址仅可由当前执行的 POU(主程
序、子例程或中断例程)进行访问。当使用中断例程和子例程时,L 存储器栈用于保留暂
停执行的 POU 的 L 存储器值,这样另一个 POU 就可以执行。之后,暂停的 POU 可通
过在为其它 POU 提供执行控制之前就存在的 L 存储器的值恢复执行。
L 存储器栈大嵌套层数限制:
● 当从主程序开始时为八个子例程嵌套层
● 当从中断例程开始时为四个子例程嵌套层
嵌套限制允许在程序中有 14 层的执行栈。例如,主程序(第 1 层)有八个嵌套子例程
(第 2 层到第 9 层)。在执行第 9 层的子例程时,会发生中断(第 10 层)。中断例程包
括四个嵌套的子例程(第 11 层到第 14 层)。
L 存储器规则:
● 可将 L 存储器用于所有类型 POU(主程序、子例程和中断例程)中的局部临时
“TEMP”变量。
● 只有子例程可将 L 存储器用于传递到子例程或从子例程中传出的“IN”、“IN_OUT”和
“OUT”类型的变量。
● 无论是以 LAD 还是以 FBD 编写子例程,TEMP、IN、IN_OUT 和 OUT 变量只能占
60 个字节。STEP 7-Micro/WIN SMART 会使用局部存储器的后四个字节。
局部存储器符号、变量类型和数据类型会在“变量”表中进行分配,当在程序编辑器中打开
位: L [字节地址].[位地址] L0.0
实数(IEEE
32 位浮点
数)
不适用 不适用 +1.175495E-38 到 +3.402823E+38(正
数)
-1.175495E-38 到 -3.402823E+38(负数)
使用包括区域标识符和设备编号的地址格式来访问其它 CPU 存储区(如 T、C、HC 和累
加器)中的数据。
4.2.1 访问存储区
I I (过程映像输入)
CPU 在每次扫描周期开始时对物理输入点采样,然后将采样值写入过程映像输入寄存
器。用户可以按位、字节、字或双字来访问过程映像输入寄存器:
表格 4- 4 I 存储器的寻址
位: I [字节地址].[位地址] I0.1
字节、字或双字: I [大小][起始字节地址] IB4、
IW7、
ID20
PLC 概念
4.2 访问数据
S7-200 SMART
78 系统手册, V2.5, 01/2020, A5E03822234-AI
Q Q (过程映像输出)
扫描周期结束时,CPU 将存储在过程映像输出寄存器的值复制到物理输出点。用户可以
按位、字节、字或双字来访问过程映像输出寄存器:
表格 4- 5 Q 存储器的寻址
位: Q [字节地址].[位地址] Q1.1
字节、字或双字: Q [大小][起始字节地址] 5、
QW14、
V V (变量存储器)
可以使用 V 存储器存储程序执行程序中控制逻辑操作的中间结果。 也可以使用 V 存储器
存储与过程或任务相关的其它数据。 可以按位、字节、字或双字访问 V 存储器:
表格 4- 6 V 存储器的寻址
位: V [字节地址].[位地址] V10.2
字节、字或双字: V [大小][起始字节地址] VB16、
VW100、
VD2136
M (标志存储器)
可以将标志存储区(M 存储器)用作内部控制继电器来存储操作的中间状态或其它控制信
息。 可以按位、字节、字或双字访问标志存储区:
表格 4- 7 M 存储器的寻址
位: M [字节地址].[位地址] M26.7
字节、字或双字: M [大小][起始字节地址] MB0、
MW11、
MD20T T (定时器存储器)
CPU 提供的定时器能够以 1 ms、10 ms 或 100 ms 的精度(时基增量)累计时间。定时
器有两个变量:
● 当前值: 该 16 位有符号整数可存储定时器计数的时间量。
● 定时器位: 比较当前值和预设值后,可置位或清除该位。 预设值是定时器指令的一
部分。
可以使用定时器地址(T + 定时器编号)访问这两个变量。 访问定时器位还是当前值取决
于所使用的指令: 带位操作数的指令会访问定时器位,而带字操作数的指令则访问当前
值。 如下图所示,“常开触点”指令访问的是定时器位,而“移动字”指令访问的是定时器的
当前值。
表格 4- 8 T 存储器的寻址
定时器: T [定时器编号] T24
图 4-2 访问定时器位或定时器的当前值
C C (计数器存储器)
CPU 提供三种类型的计数器,对计数器输入上的每一个由低到高的跳变事件进行计数:
一种类型仅向上计数,一种仅向下计数,还有一种可向上和向下计数。 有两个与计数器
相关的变量:
● 当前值: 该 16 位有符号整数用于存储累加的计数值。
● 计数器位: 比较当前值和预设值后,可置位或清除该位。 预设值是计数器指令的一
部分。
PLC 概念
4.2 访问数据
S7-200 SMART
80 系统手册, V2.5, 01/2020, A5E03822234-AI
可以使用计数器地址(C + 计数器编号)访问这两个变量。 访问计数器位还是当前值取决
于所使用的指令: 带位操作数的指令会访问计数器位,而带字操作数的指令则访问当前
值。 如下图所示,“常开触点”指令访问的是计数器位,而“移动字”指令访问的是计数器的
当前值。
表格 4- 9 C 存储器的寻址
计数器 C [计数器编号] C24
图 4-3 访问计数器位或计数器的当前值
HC (高速计数器)
高速计数器独立于 CPU 的扫描周期对高速事件进行计数。 高速计数器有一个有符号 32
位整数计数值(或当前值)。 要访问高速计数器的计数值,您需要利用存储器类型 (HC)
和计数器编号高速计数器的地址。 高速计数器的当前值是只读值,仅可作为双字
(32 位)来寻址。
表格 4- 10 HC 存储器的寻址
高速计数器 HC [高速计数器编号] HC1
AC (累加器)
累加器是可以像存储器一样使用的读/写器件。 例如,可以使用累加器向子例程传递参数
或从子例程返回参数,并可存储计算中使用的中间值。 CPU 提供了四个 32 位累加器
(AC0、AC1、AC2 和 AC3)。 可以按位、字节、字或双字访问累加器中的数据。
被访问的数据大小取决于访问累加器时所使用的指令。 如下图所示,当以字节或字的形
式访问累加器时,使用的是数值的低 8 位或低 16 位。 当以双字的形式访问累加器时,使
用全部 32 位
- 西门子模块总代理6ES7288-3AQ02-0AA0 2023-09-19
- 西门子模块总代理6ES7288-3AQ04-0AA0 2023-09-19
- 西门子可编程控制器6ES7288-1SR30-0AA1 2023-09-19
- 西门子可编程控制器6ES7288-1ST20-0AA1 2023-09-19
- 西门子可编程控制器6ES7288-1SR20-0AA1 2023-09-19
- 西门子模块总代理6ES7288-3AM03-0AA0 2023-09-19
- 西门子模块总代理6ES7288-3AM06-0AA0 2023-09-19
- 西门子6AV6647-0AK11-3AX0 2023-09-19
- 西门子模块总代理6ES7288-3AR04-0AA0 2023-09-19
- 西门子模块总代理6ES7288-3AT04-0AA0 2023-09-19