如何设置西门子PLC部分数据的*保持?首先,工业科技给大家解释下PLC内部存储器的大概工作情况。PLC内部存储器分为RAM随机存储器和EEPROM*存储器两种。我们都知道RAM存储器的数据必须靠供电维持,当存储芯片供电中断时,其中所存数据也不复存在。RAM存储器主要用作PLC程序运行时程序、组态参数、程序数据的实时存取空间。
EEPROM存储器为带电可擦写存储器,其数据写入后可在完全断电情况下长期保存。PLC在每次程序下载时,将下载的程序块、数据块(可选)、CPU配置(可选)载入RAM存储区,同时CPU自动将其拷贝到EEPROM存储器中,以实现*保存。
在PLC的使用过程中,每次上电时PLC会从EEPROM存储区向RAM存储区中恢复程序和CPU配置,同时检查RAM存储器中的断电数据保持区域是否成功保存,如果保存成功,则保持区域将保持不变,RAM存储器的V存储区中的未保持区域,将从相应的EEPROM中的V存储*区域处恢复过来。如果RAM存贮器的内容没有保持下来,CPU会清除RAM存贮器并置保持数据丢失存贮器位(SM0.2)为1,并将存于EEPROM存储器*区域中的数据复制RAM存储器中。
SMB31和SMW32*存储器(EEPROM)写控制在用户程序的控制下,可以把V存储器中的数据存入*存储器,亦称非易失存储器。先把被存数据的地址存入SMW32中,然后把存入命令存入SMB31中。一旦发出存储命令,则直到CPU完成存储操作SM31.7被置0之前,不可以改变V存储器的值。
在每次扫描周期末尾,CPU检查是否有向*存储器区中存数据的命令。如果有,则将该数据存入*存储器中。
SMB31和SMW32*性内存(EEPROM)写入控制,怎么把HMI中设定好的值存入PLC
1、可以利用HMI的编辑通知位。一旦数值被修改过,编辑通知位置1,根据这个位作eeprom的写入操作,完了清除通知位;
2、在上电(首次扫描)时,COPY一份参数至另一个区域。在程序运行期间,不断做两个区域的比较,发现不一致的,表示值已被修改过,执行eeprom写入,完了后再更新COPY,使其一致。
3、SMB31和SMW32*性内存(EEPROM)写入控制。可以将存储在V内存中的一个数值保存至受程序控制的*性内存(EEPROM)中。欲执行此一功能,将需要保存的位置地址载入SMW32。然后,将命令载入SMB31,保存该数值。一旦载入保存数值的命令,在CPU复原SM31.7表示保存操作已经完成之前,不得改变V内存中的数值。
在每次扫描结尾处,CPU检查是否发出将数值保存至*内存的命令。如果发出命令,指定的数值被保存在*内存中。
在S7-200系统中使用内置的超级电容或外加电池卡为V数据区等提供电源缓冲;可以将M存储区的前14个字节(MB0 - MB13)设置为保存,实现CPU断电时自动将其中数据写入相应的EEPROM 的功能;建立项目时可以在"数据块"中预置运行过程中不须变化的工艺参数等数据,也可以下载到EEPROM中得到*保存。但是,如果要实现掉电保护的数据量较大,就需要编程将这些变量写EEPROM。需要特别注意的是,PLC的*存储是有次数寿命的,包括下载程序也在次数里面,共10万次,所以不要频繁操作,且用SMB32,*多写一个双字。