手册上写到关于永久存储区的使用方法:
1、在掉电保持区设置MB0至MB13为保持
2、通过SMB31、SMW32将V存储器复制到永久存储器。
我想请教下:
1、这两种方法有何异同(只是MB0至MB13可以设置14个字节,而通过SMW32只能设置4个字节吗?)
2、通过SMB31和SMW32将VW10复制到永久存储器后,怎么再将该值读回来?(我在手册上没有找到相关描述)
图片说明:
最佳答案
1、在掉电保持区设置MB0至MB13为保持。这个区域的特性为:
、CPU的内置超级电容,断电时间不太长时,可以为数据和时钟的保持提供电源缓冲 。CPU上可以附加电池卡,与内置电容配合,长期为时钟和数据保持提供电源 。
、这个区域为RAM:
RAM: 易失性的存储器,失去电源供应后,其中保存的数据会丢失。S7-200 CPU中的RAM由超级电容+外插电池卡提供电源缓冲。RAM保存V、M、T(定时器)、C(计数器)等各数据区的内容。
2、通过SMB31和SMW32将VW10复制到永久存储器,这个区域的特性为:
、将数据写入EEPROM永久保存。
、这个区域为EEPROM:
EEPROM:非易失的电可擦除存储器,保存数据不需要供电,并且可以改写其内容。上述RAM数据区中有的部分与EEPROM中的区域一一对应。用户程序也永久保存在程序EEPROM区中
3、可以通过程序将数据写入EEPROM:将数据写入SMW32,在SM31.0和SM31.1中存放数据长度,并将SM31.7置位,CPU自动保存数据到EEPROM。可以将多个数据写入EEPROM;每次需要修改SMW32的值和SM31.0和SM31.1中存放数据长度。
4、怎么再将该值读回来?
CPU内置的EEPROM存储器用于永久保存数据,包括与RAM数据区一一对应的全部的V存储区、部分M存储区(MB0 - MB13)、定时器(TONR)。
例如V存储区的VW100(RAM)在EEPROM中有其独占的对应地址,数据在从EERPOM中写到V存储区中时,其目标地址就是VW100。
数据可以用如下方式写入EEPROM数据区:
在编程软件Micro/WIN的Data Block(数据块)中定义V数据区存储单元的初始值,下载数据块时,这些数值也被写入到相应的EEPROM单元中。
用特殊存储器SMB31、SMW32,用编程方法将V存储区的数据写入EEPROM
在System Block(系统块)中设置数据保持功能,可将MB0 - MB13的内容在CPU断电时自动写入到EEPROM中。
5、指令库中有EEPROM 数据写入指令。
6、相关文档:
见《西门子S7--200的数据保持问题》下载:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=F0424
《S7-200CPU掉电数据保持常见问题》下载:
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&objid=81212034&caller=view
《西门子 S7-200?LOGO!?SITOP 参考》 下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136
提问者对于答案的评价:
阿鸣老师的回答很详细。个人感觉用MB0-MB13比较方便,程序中不用编程,缺点是只有14个字节。用网站上提供的子程序采用SMW32的方法适合需要掉电保持较多字节时使用,缺点是不能繁琐向EEPROM中写数据。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc215406.html