标题：存储器映像
寄存器
（一）数字量输入和输出映象区
1．输入映象寄存器（数字量输入映象区）（I）
数字量输入映象区是S7-200CPU为输入端信号状态开辟的一个存储区。输入映像寄存器的标识符为I，在每个扫描周期的开始，CPU对输入点进行采样，并将采样值存于输入映像寄存器中。
输入映像寄存器是PLC接收外部输入的开关量信号的窗口。
可以按位、字节、字、双字四种方式来存取。
（1）按“位”方式：从I0.0~I15.7，共有128点
（2）按“字节”方式：从IB0~IB15，共有16个字节
（3）按“字”方式：从IW0~IW14，共有8个字
（4）按“双字”方式：从ID0~ID12，共有4个双字
2．输出映像寄存器（Q）
数字量输出映象区是S7-200CPU为输出端信号状态开辟的一个存储区。输出映像寄存器的标识符为Q（从Q0.0~Q15.7，共有128点），在每个扫描周期的末尾，CPU将输出映像寄存器的数据传送给输出模块，再由后者驱动外部负载。
可以按位、字节、字、双字四种方式来存取。
（1）按“位”方式：从Q0.0~I15.7，共有128点
（2）按“字节”方式：从QB0~QB15，共有16个字节
（3）按“字”方式：从QW0~QW14，共有8个字
（4）按“双字”方式：从QD0~QD12，共有4个双字
说明：实际没有使用的输入端和输出端的映象区的存储单元可以作中间继电器用。
（二）模拟量输入映象区和输出映象区
1．模拟量输入映象区（AI区）
模拟量输入映象区是S7-200CPU为模拟量输入端信号开辟的一个存储区。S7-200将测得的模拟量（如温度、压力）转换成1个字长（2个字节）的数字量，模拟量输入映像寄存器用标识符（AI）、数据长度（W）及字节的起始地址表示。
从AIW0~AIW30，共有16个字，总共允许有16路模拟量输入。
说明：模拟量输入值为只读数据。
2．模拟量输出映象区（AQ区）
模拟量输出映象区是S7-200CPU为模拟量输出端信号开辟的一个存储区。S7-200将1个字长（2个字节，16位）的数字量按比例转换为电流或电压。模拟量输出映像寄存器用标识符（AQ）、数据长度（W）及字节的起始地址表示。
从AQW0~AQW30，共有16个字，总共允许有16路模拟量输出。
（三）变量存储器（V）（相当于内辅继电器）
PLC执行程序过程中，会存在一些控制过程的中间结果，这些中间数据也需要用存储器来保存。变量存储器就是根据这个实际的要求设计的。变量存储器是S7-200CPU为保存中间变量数据而建立的一个存储区，用V表示。
可以按位、字节、字、双字四种方式来存取。
（1）按“位”方式：从V0.0~I5119.7，共有40960点。CPU221、CPU222变量存储器只有2048个字节，其变量存储区只能到V2047.7位。
（2）按“字节”方式：从VB0~VB5119，共有5120个字节
（3）按“字”方式：从VW0~VW5118，共有2560个字
（4）按“双字”方式：从VD0~VD5116，共有1280个双字
（四）位存储器（M）区
PLC执行程序过程中，可能会用到一些标志位，这些标志位也需要用存储器来寄存。位存储器就是根据这个要求设计的。位存储器是S7-200CPU为保存标志位数据而建立的一个存储区，用M表示。该区虽然叫位存储器，但是其中的数据不仅可以是位、还可以是字节、字或双字。
（1）按“位”方式：从M0.0~M31.7，共有256点。
（2）按“字节”方式：从MB0~MB31，共有32个字节
（3）按“字”方式：从MW0~MW30，共有16个字
（4）按“双字”方式：从MD0~MD28，共有8个双字
（五）顺序控制继电器区（S）
PLC执行程序过程中，可能会用到顺序控制。顺序控制继电器就是根据顺序控制的特点和要求设计的。顺序控制继电器区是S7-200CPU为顺序控制继电器的数据而建立的一个存储区，用S表示。在顺序控制过程中，用于组织步进过程的控制。
可以按位、字节、字、双字四种方式来存取。
（1）按“位”方式：从S0.0~S31.7，共有256点。
（2）按“字节”方式：从SB0~SB31，共有32个字节
（3）按“字”方式：从SW0~SW30，共有16个字
（4）按“双字”方式：从SD0~SD28，共有8个双字
（六）局部存储器区（L）（相当于内辅继电器）
S7-200PLC有64个字节的局部存储器，其中60个可以用作暂时存储器或者给子程序传递参数。
局部存储器和变量存储器很相似，主要区别是变量存储器是全局有效的，而局部存储器是局部有效的。全局是指同一个存储器可以被任何程序存取（例如，主程序、子程序或中断程序）。局部是指导存储器区和特定的程序相关联。
几种程序之间不能互访。
局部存储器区是S7-200CPU为局部变量数据建立的一个存储区，用L表示。该区域的数据可以用位、字节、字、双字四种方式来存取。
（1）按“位”方式：从L0.0~L63.7，共有512点。
（2）按“字节”方式：从LB0~LB63，共有64个字节
（3）按“字”方式：从LW0~LW62，共有32个字
（4）按“双字”方式：从LD0~LD60，共有16个双字
（七）定时器存储器区（T）
PLC在工作中少不了需要计时，定时器就是实现PLC具有计时功能的计时设备。定时器的编号：
T0、T1、……、T255
S7-200有256个定时器。
（八）计数器存储器区（C）
PLC在工作中有时不仅需要计时，还可能需要计数功能。计数器就是PLC具有计数功能的计数设备。
计数器的编号：
C0、C1、……、C255
（九）高速计数器区（HSC）
高速计数器用来累计比CPU扫描速率更快的事件。S7-200各个高速计数器不仅计数频率高达30kHz。
S7-200各个高速计数器有32位带符号整数计数器的当前值。若要存取高速计数器的值，则必须给出高速计数器的地址，即高速计数器的编号。
高速计数器的编号为：HSC0、HSC1、……、HSC5。
S7-200有6个高速计数器。其中CPU221和CPU222仅有4个高速计数器（HSC0、HSC3、HSC4、HSC5）
（十）累加器区（AC）
累加器是可以像存储器那样进行读/写的设备。例如，可以用累加器向子程序传递参数，或从子程序返回参数，以及用来存储计算的中间数据。
S7-200CPU提供了4个32位累加器（AC0、AC1、AC2、AC3）。
可以按字节、字或双字来存取累加器数据中的数据。但是，以字节形式读/写累加器中的数据时，只能读/写累加器32位数据中的最低8位数据。如果是以字的形式读/写累加器中的数据，只能读/写累加器32位数据中的低16位数据。只有采取双字的形式读/写累加器中的数据时，才能一次读写全部32位数据。
因为PLC的运算功能是离不开累加器的。因此不有像占用其他存储器那样占用累加器。
（十一）特殊存储器区（SM）
特殊存储器是S7-200PLC为CPU和用户程序之间传递信息的媒介。它们可以反映CPU在运行中的各种状态信息，用户可以根据这些信息来判断机器工作状态，从而确定用户程序该做什么，不该做什么。这些特殊信息也需要用存储器来寄存。特殊存储器就是根据这个要求设计的。
1．特殊存储器区
它是S7-200PLC为保存自身工作状态数据而建立的一个存储区，用SM表示。特殊存储器区的数据有些是可读可写的，有一些是只读的。特殊存储器区的数据可以是位，也可是字节、字或双字。
（1）按“位”方式：从SM0.0~SM179.7，共有1440点。
（2）按“字节”方式：从SM0~SM179，共有180个字节
（3）按“字”方式：从SMW0~SMW178，共有90个字
（4）按“双字”方式：从SMD0~SMD176，共有45个双字
说明：特殊存储器区的头30个字节为只读区。
特殊继电器
特殊存储器用于CPU与用户之间交换信息，例如SM0.0一直为“1”状态，SM0.1仅在执行用户程序的第一个扫描周期为“1”状态。SM0.4和SM0.5分别提供周期为1min和1s的时钟脉冲。SM1.0、 SM1.1和 SM1.2分别是零标志、溢出标志和负数标志。
这里的 256个io映像是指128个8bite的I和128个8bite的O开关量是128个，
但是如果是DW就只有4个I和4个O，这设计到数据采集精度。如温度，水平等，需要BYTE或者word更有DW采集精度的。
理论上256个IO都可以用，如果你喜欢