西门子 PLC 的用户装载存储区、用户工作存储区和用户系统存储区装载存储区可能是 CPU 模块中的部分 RAM、内置的E2PROM 或选用的可拆卸 FlashEPROM(FEPROM)卡,用于保存不包含符号地址和注释的用户程序和系统数据(组态、连接和模块参数等)。有的 CPU 有集成的装载存储器,有的可以使用微存储器卡(MMC)来进行扩展,CPU31XC 的用户程序只能装入插入式的 MMC。断电时数据保存在 MMC 存储器中,因此,数据块的内容基本上被永久保留。下载程序时,用户程序(逻辑块和数据块)被下载到CPU 的装载存储器,CPU 把可执行部分复制到工作存储器,而符号表和注释则保存在编程设备中。工作存储区占用 CPU 模块中的部分 RAM,它是集成的高速存取的 RAM 存储器,用于存放 CPU 运行时所执行的用户程序和数据。为了保证程序执行的快速性和不过多地占用工作存储器,在执行时只把与程序执行有关的块装人工作存储区。CPU 工作存储区也为程序块的调用安排了一定数量的临时本地数据存储区(或称 L 堆栈),用来存储程序块被调用时的临时数据,访问局域数据比访问数据块中的数据更快。用户生成块时,可以表明临时变量(TEMP),它们只在执行该块时有效,执行完后就被覆盖了。也就是说,L 堆栈中的数据在程序块工作时有效,并一直保持,当新的块被调用时,L 堆栈将进行重新分配。在 FB、FC 或 OB 运行时设定,将块变量声明表中声明的临时变量存在临时本地数据存储区(L 堆栈)。L 堆栈提供空间以传送某些类型参数和存放梯形图的中间结果。块结束执行时,临时本地存储区再行分配,不同的 CPU 提供不同数量的临时本地存储区(L 堆栈)。语句表(STL)程序中的数据块可以被标识为“与执行无关”(UNLINIKED),它们只是存储在装载存储器中。有必要时,可以用 SFC20“BLKMOV”将它们复制到工作存储区。复位 CPU 的存储器时,RAM 中的程序被清除。系统存储区为不能扩展的 RAM,是 CPU 为用户程序提供的存储器组件,被划分为若干个地址区域,分别用于存放不同的操作数据,如输入过程映像、输出过程映像、位存储器、定时器和计数器、块堆栈(B 堆栈)、中断堆栈(I 堆栈)和诊断缓冲区等。系统存储区可通过指令在相应的地址区内对数据直接进行寻址。(1)输入/输出(I/O)过程映像表在每次扫描循环开始时,CPU 读取数字量输入模块的外接输入电路的状态,并将它们的存放过程映像输入表中。在扫描循环中,用户程序计算输出值,并...