S7-200CPU掉电数据保持常见问题 联系客服

发布时间 : 星期二 文章S7-200CPU掉电数据保持常见问题更新完毕开始阅读b5693c53bb4cf7ec4afed0f7

图4

采用下列步骤来保存或者写入V存储区中的一个特定数值: 1. 将要保存的V存储器的地址装载到SMW32中。

2. 将数据长度装载入SM31.0和SM31.1。具体含义如图4所示。 3. 将SM31.7置为1。

图5

注意:如果在数据块中定义了某地址的数据,而又使用这种办法存储同样地址的数据,则当CPU内超级电容或电池没电时,CPU再上电时将采用SMB31和SMW32存储的数据。 问题8:EEPROM写入次数的统计?

回答:每次下载程序块/数据块/系统块或者执行一次SMB31.7置位的操作都算作对EEPROM的一次写操作,所以请注意在程序中一定不要每周期都调用SMB31/SMW32用于将数据写入EEPROM内,否则CPU将很快报废。

问题9:不使用数据块的方法,如何在程序中实现不止一个V区数据的存储?

回答:由于SMB31/SMW32一次最多只能送入一个V区双字给EEPROM区域,因而当有超过一个双字的数据需要送入EEPROM中时,需要程序配合实现。具体操作方法可参照如下的例子,即使用SMB31/SMW32送完一个数据(字节/字/双字)之后,通过一个标志位(如M0.0)来触发下一个SMB31/SMW32操作,之后需要将上一个标志位清零,以用于下一次的存储数据的操作。

由于SM31.7在每次操作结束之后都自动复位,因而不能使用它作为第二次触发操作的条件。 以上程序仅供参考。

或者可以参考如下FAQ,多次调用指令库用以存储多个V区变量到EEPROM存储区中: 如何在 CPU 内部 EEPROM 存储空间中永久保存变量区域? 17471561

问题10:定时器和计数器以及MB14-MB31的掉电保持性能?

回答:计数器和TONR型的定时器(T0-T31,T64-T95)能够实现掉电保持。这些区域只能由超级电容和电池来进行数据的掉电保持,他们并没有对应的EEPROM永久保持存储区。当超过超级电容和电池供电的时间之后,这些计数器和TONR定时器的数据全部清零。

TON和TOF型的定时器(T32-T63,T96-T255)没有掉电保持数据的功能。请不要在系统块中设置这些区域为掉电保持,如图6所示为错误做法:

图6

按上述做法设置之后,下载系统块时会导致如下错误发生:

图7

所以请不要将T32-T63,T96-T255的定时器设为掉电保持区域。 问题11:CPU内具备断电保持性的数据区为何会丢失? 以下情况会导致CPU内数据清零:

1. 没有插入电池卡的CPU断电时间过长,内部超级电容放电完毕,TONR区/C区/MB14-MB31区数据丢失,V区和MB0-MB13区的对应EEPROM内没有数据导致数据丢失,

2. 电池卡使用时间过长,使之没电了, TONR区/C区/MB14-MB31区数据丢失,V区和MB0-MB13区的对应EEPROM内没有数据导致数据丢失,

3. 插在CPU上的存储卡内程序/数据与CPU内部RAM中运行的程序/数据不符,一上电时会导致原有数据/程序的丢失。 4. CPU损坏。