S7-200可编程控制器 掉电数据保持常见问题
发布时间:2019-08-02 15:34:37来源:
关键词 S7-200,数据存储,RAM,EEPROM,掉电保持
Key Words S7-200, data storage, RAM, EEPROM, retentive settings
问题1:S7-200 CPU 内部存储区类型?
回答:S7-200 CPU 内部存储区分为易失性的RAM 存储区和永久保持的EEPROM 两种,其中
RAM 包含CPU 工作存储区和数据区域中的V 数据存储区、M 数据存储区、T(定时器)区和C(计
数器)区,EEPROM 包含程序存储区、V 数据存储区的全部和M 数据存储区的前14 个字节、C
区全部以及TONR 对应区域。
也就是说V 区和MB0-MB13 这些区域都有对应的EEPROM 永久保持区域。
EEPROM 的写操作次数是有限制的(比较少10 万次,典型值为100 万次),所以请注意只在必要
时才进行保存操作。否则,EEPROM 可能会失效,从而引起CPU 故障。
EEPROM 的写入次数如果超过限制之后,该CPU 即不能使用了,需要整体更换CPU,不能够只
更换CPU 内EEPROM,西门子不提供这项服务。
问题2:S7-200 CPU 的存储卡的作用?
回答:S7-200 还提供三种类型的存储卡用于永久存储程序,数据块,系统块,数据记录(归
档)、配方数据,以及一些其他文件等,这些存储卡不能用于实时存储数据,只能通过
PLC—存储卡编程的方法将程序块/数据块/系统块的初始设置存于存储卡内。
存储卡分为两种,根据大小共有三个型号。
32K 存储卡:仅用于储存和传递程序、数据块和强制值。32K 存储卡只可以用于向新版(23
版)CPU 传递程序,新版CPU 不能向32K 存储卡中写入任何数据。而且32K 存储卡不支持存
储程序以外的其他功能。订货号:6ES7 291-8GE20-0XA0。
64K/256K 存储卡:可用于新版CPU(23 版)保存程序、数据块和强制值、配方、数据记录和
其他文件(如项目文件、图片等)。64K/256K 新存储卡只能用于新版CPU(23 版)。64K 存
储卡订货号: 6ES7 291-8GF23-0XA0;256K 存储卡订货号:6ES7 291-8GH23-0XA0。
为了把存储卡中的程序送到CPU 中,必须先插入存储卡,然后给CPU 上电,程序和数据将自
动复制到RAM 及EEPROM 中。
存储卡的使用完整限制条件,请参考《S7-200 系统手册》附录A 技术规范—可选卡件一节。
S7-200 的外部存储卡有哪些功能?
问题3:S7-200 CPU 内的程序是否具有掉电保持特性?
回答:S7-200 CPU 内的程序块下载时,会同时下载到EEPROM 中,也就是说程序下载后,将
永久保持。同样,系统块和数据块下载时,也会同时下载到EEPROM 中。
问题4:S7-200 CPU 内部的数据的掉电保持特性?
回答:S7-200 系统手册第四章——“PLC 基本概念”一章中“理解S7--200 如何保存和存储
数据”一节详细介绍了S7-200 CPU 内数据的掉电保持特性,建议用户仔细阅读。
S7-200 CPU 内的数据分为RAM 区和EEPROM 区。
其中,RAM 区数据需要CPU 内置的超级电容或者外插电池卡才能实现掉电保持特性。
对于CPU221 和CPU222 的内置超级电容,能提供典型值约50 小时的数据保持。
对于CPU224,CPU224XP,CPU224XPsi 和CPU226 的内置超级电容,能提供典型值约100 小时
的数据保持。
超级电容需要在CPU 上电时充电。为达到上述指标的数据保持时间,需要连续充电至少24 小
时。
当该时间不够时,可以购买电池卡,以获得更长时间的数据保持时间。
EEPROM 区能实现数据永久保持,不依靠超级电容或者电池就可以保持数据。
问题5:S7-200 CPU 内部数据的工作顺序?
回答:S7-200 CPU 一上电后,CPU 先去检查RAM 区域中的数据,如果在超级电容或者电池有
电的情况下,数据并未丢失,则使用该RAM 区的数据;如果超级电容或者电池没电了,导致
数据丢失,则CPU 去读EEPROM 中相应的区域(包含数据块中的数据定义内容),如果在
EEPROM 中存有永久保持的数据,则CPU 将EEPROM 中的数据写回到RAM 区中,再进行下面的
工作。
如果EEPROM 中也没有对应存储区的数据了,则该存储区的数据将变成0。
问题6:S7-200 CPU 电池卡的使用注意事项?
回答:新版S7-200 CPU 电池卡有两种型号。
对于CPU221 和CPU222,由于其中没有实时时钟,则对应的为时钟电池卡,订货号为:
6ES7297--1AA23--0XA0。
对于CPU224,CPU224XP,CPU224XPsi 和CPU226,电池卡仅提供电池功能,订货号为:6ES7
291--8BA20--0XA0,该款电池卡型号又叫做BC293。
电池卡的寿命典型值约为200 天,当插上电池卡后,如果CPU 处于工作状态或者超级电容有
电的情况下,并不消耗电池卡的电量。当电池卡的电量消耗完毕之后,该电池卡就报废了。
S7-200 电池卡不能充电,使用完毕就不能再用了,只能购买新的电池卡了。
S7-200 没有检测电池卡内剩余电量的状态位和这种功能。
新版S7-200 CPU 电池卡不能用于老CPU,即订货号为6ES7xxx-xxx21-0XB0 和6ES7xxxxxx22-
0XB0 以及更老版本的CPU。
以上为两种电池卡以及所在插槽位置。
电池卡的使用完整限制条件,请参考《S7-200 系统手册》附录A 技术规范—可选卡件一节。
问题7:S7-200 CPU 内EEPROM 的使用方法?
回答:EEPROM 的写入分为如下几种情况:
1、MB0—MB13 的设置,只需要在系统块—断电数据保持中设置即可。
默认情况下,系统块设置如下图蓝框中所示,即MB14—MB31,这些区域没有对应的EEPROM
区域,无须考虑EEPROM 写入次数限制。
图3
3、使用SMB31 和SMW32 控制字来实现将V 区的数据存到EEPROM 中
特殊存储器字节31 (SMB31)命令S7-200 将V 存储区中的某个值复制到永久存储器的V 存储
区,置位SM31.7 提供了初始化存储操作的命令。特殊存储器字32 (SMW32)中存储所要复制
数据的地址。如图4 为S7-200 系统手册内关于SMB31 和SMW32 的使用说明。
图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 存储空间中永久保存变量区域?
http://support.automation.siemens.com/CN/view/zh/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 损坏。