恭喜,你发布的帖子
发布于 2017-12-12 11:10:42
2楼
并不矛盾啊,两种方法适用的对象、使用的方法都不一样,结果当然也不一样。
以S7-200为例
1、M区的前14个字节(即MB0到MB13,默认不保持),可以在系统块中设为断电保持。在PLC掉电时这部分数据被自动保存到EEPROM,下次开机自动恢复,永不丢失。
2、M区的后18个字节(即MB14到MB31)、T区TONR和C区的数值,可以在系统块中设为断电保持。在PLC掉电后一段时间内在超级电容和电池的支持下保持RAM继续工作。超级电容和电池没电了,数据也就丢失了。
3、V区全部,既可以像上面第2条一样,在系统块中设为断电保持,断电后依靠超级电容和电池在RAM中保持一段时间;也可以在程序中用指令将其保存到EEPROM(注意不是掉电时自动保存,也与系统块中的设置无关)。下次开机,如果PLC检测到RAM中数据已丢失,而且EEPROM中保存了数据,就自动将保存在EEPOM中的数据复制到V区相应地址,同时在第一个扫描周期将SM0.2置位为“1”;如果RAM中数据没丢失,PLC就什么都不做。
把V区中的数据保存到EEPROM,通过在程序中改写SMB31和SMW32来实现。
由于 EEPROM 有寿命限制,不能肆无忌惮地使用,所以只能在程序中某些特定的情况下保存,比如定时保存,或上位机改写某些运行参数时。不能每个扫描周期都保存一次,那样EEPROM很快就到寿了,呵呵。
具体可查看S7-200系统手册中有关章节。本人手册是08版,在“第四章 PLC的基本概念” → “理解S7-200如何保存和存储数据” → “掉电后保存M存储区”、“开机后数据的恢复”、“通过编程方式将V存储器保存至永久存储器”、“将V存储器复制至永久存储器”
请填写推广理由:
分享
只看
楼主