一、首先我们简要了解下CPU的存储结构,CPU的存储区分为两大类:
1.RAM
易失型,需要供电为使其中的数据保持
存放的数据类型:V区、M区、T区、C区和工作存储区
2.EEPROM
数据永久保持型,就是我们常说的断电保持型
存放的数据类型:V区、M区(默认为MB0—MB13,可设置)、某些C和plc程序(包括程序块,系统块,数据块)
其中,RAM中的数据在断电后根据型号不同可以保持50--100小时,主要是通过CPU内部超级电容放电来提供电源,如果需要长时间保持数据则需要插入电池卡,可保持200天。电池卡订货号:6ES7291—8BA20—0XA0又叫BC293
二、我们再来了解下CPU永久存储的原理
我们通常说的PLC断电可保持存储区只的都是,断电时可将数据存入EEPROM中,即只有V区和M区(在系统块中可以设置)才可以;当CPU断电瞬间,设置好的V区和M区会瞬间将数据写入EEPROM中,当再次上电CPU会将EEPROM中的数据再写到对应V区和M区中,实现永久保存。
三、现在我们来详细介绍S7-200CPU内永久保持型存储区EEPROM的方法
1.M区:MB0--MB13(默认设置),只需在系统块----断电数据保持---设置成自己需要的存储区即可,下载时需要将下载系统块进PLC中。
先编写程序如下,监控,都对MB0和VB0写入3然后关掉电源
然后再上电,监控MB0数据依旧保持为3VB0数据变为0
2.V区:通过SMB31和SMB32来实现
SMB31和SMW32是S7-200一个特殊寄存器,专门用于将V区写入EEPROM
SMB31为传输请求和存储类型
SMW32为存储的V区位置
详细说明请参考上图或在“帮助”搜索“SMB31”
使用方法:编写程序如下
1.将“3”写入”VB50”
2.激活V10.0将VB50中的数据对应的存入EEPROM中
3.断电再上电,仍旧保持
3.T与C的断电保持
计数器(C)和TONR型定时器可以断电保持,但是无法写入EEPROM中,是通过RAM存储,需要电池卡供电。
TON(T32-63)和TOF(T96-T55)类型定时器无法断电保持,请不要再系统块中设置这些存储区,否则下载程序是会报错。
4.数据块中编写
原理和初始化类似,每当上电后,数据块中写的数据会自动写入对应的存储区中,下载时要将数据块下载到PLC中。
在数据块中将“3”写入VB0
编写程序
下载到CPU,监控,VB0的值即为3而VB1为0