西门子 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”将它们复