S7 1200的存储器

PLC程序学习2019-02-10 15:51:09

今天在做S7 1200的程序时,由于是从300转换过来的,所以出现了保持性存储器超出系统容量的问题,于是缩减DB块的内容,后来网上查了下类似的问题还是蛮多的。贴出来仅供参考。


如果替代300的程序,需要详细了解CPU的存储器情况,否则可能存储器放不下。


下面摘自西门子手册:







下面摘自网络:


装载存储器超了,可以通过使用存储卡来解决,将存储卡设置为程序卡,然后存储卡就成为了装载存储器

但是工作存储器超了的话,是无法下装程序的,解决办法要么删除程序,要么换CPU,不能压缩程序。



连接电脑和PLC后选中程序,点击下载是下载到PLC的装载存储器中,装载存储器是一种常用类型存储卡(MMC卡),老式的PLC和部分S7-400可以是EPROM闪存卡或者集成的RAM。可以把整个项目存储在卡中,也可以只存储逻辑块、数据块、以及系统数据(包括硬件配置、通讯连接等)。

MMC卡是保持性的,如果一个块或者整个用户程序保存在卡中,CPU运行时所有与执行相关的块部分会自动复制到工作存储区。

工作存储区,工作存储区的工作存储器是集成在CPU中得RAM(非保存性),与运行相关的用户程序都存储在这个区,上文说到这些程序都是从装载存储区中自动复制过来的。当我们从运行中的程序上载时都是从这个区域复制来的,需要强调的是这个区域只存储用户程序没有编程时的符号、注释等,所以我们上载的程序都只是显示绝对地址。如有原符号可从外部导入符号表等!还有就是,当我们进行存储器复位时,只是擦除了工作存储区,若要彻底删除CPU中得程序需要先在线,然后全部选中,并删除(包括系统功能、功能块等),再进行存储器复位。

CPU中还有一个存储器叫系统存储器,系统存储器包含多个存储区域:有过程映像输入和输出区表,也就是常用的输入输出(比如,I3.2,Q5,0等),当说到是表就不是简单的一个一个的去执行每个输入和输出在程序中的逻辑结构了,而是在一个程序循环扫描周期对所采集到的若干个输入集体进行逻辑运算,然后成像在输出输出中。 

还有就是系统存储器中的数据分为保持性和非保持性,上面文字中也是多次提到。为了对存储卡和任何内部RAM上得数据起到备份作用。CPU一般都配有电池,当电源故障时,保存的所有数据或内容不丢失的数据被视为保持性数据。保持性数据是在硬件组态中声明为具有保持性的工作存储器数据以及位存储器、定时器、和计数器。

保持性实现的方法是,当电源故障时将上述数据保存在MMC卡中,并在恢复供电时通过暖启动将数据写回RAM中。

Copyright © 古田计算器虚拟社区@2017