- {{item.name}}
数据保持
- 0
- 0
数据保持功能
应用S7-200时,可以选用以下几种数据保持方法:
- CPU的内置超级电容,断电时间不太长时,可以为数据和时钟的保持提供电源缓冲
- CPU上可以附加电池卡,与内置电容配合,长期为时钟和数据保持提供电源
- 设置系统块,在CPU断电时自动永久保存M区中的前14个字节数据
- 在数据块中定义不需要更改的数据,下载到CPU内可以永久保存
- 用户编程使用相应的特殊寄存器功能,将数据写入EEPROM永久保存
上述前三个数据保持功能都是在“系统块-数据保持”中设置。
S7-200的数据保持机制
S7-200系统中用到了三种存储器件:
- RAM: 易失性的存储器,失去电源供应后,其中保存的数据会丢失。S7-200 CPU中的RAM由超级电容+外插电池卡提供电源缓冲。RAM保存V、M、T(定时器)、C(计数器)等各数据区的内容,在CPU失电后的表现由用户在系统块“数据保持”页中设置
- EEPROM:非易失的电可擦除存储器,保存数据不需要供电,并且可以改写其内容。上述RAM数据区中有的部分与EEPROM中的区域一一对应。用户程序也永久保存在程序EEPROM区中
- 外插存储卡:非易失的存储器。用来保存用户程序、数据记录(归档)、配方数据,以及一些其他文件等
S7-200 CPU的以下数据空间属于RAM存储区:
- 变量存储区(V):可以按位、字节、字或双字来存取V 区数据
- 位存储区(M):可以按位、字节、字或双字来存取M区数据
- 定时器存储区(T):用于时间累计,分辨率分为1ms、10ms、100ms三种
- 计数器存储区(C):用于累计其输入端脉冲电平由低到高的次数。CPU提供了三种类 型的计数器:一种只能增计数;一种只能减计数;另外一种既可 以增计数,又可以减计数。
RAM区的数据保持
RAM区的数据保持靠“内置超级电容+外插电池卡”的机制。
在CPU内部靠一个超级电容,在掉电后为RAM存储器提供电源缓冲,保存时间可达几天之久,具体时间见表1、表2。CPU上电时,超级电容就可以充电。要获得规格表中的数据保持时间,电容必须连续充电24小时。
S7-200还可选用外插电池卡(需单独定货),在超级电容耗尽后为RAM数据区提供电源缓冲。在连续无供电时,它可使用200天(即保持数据达200天)。CPU在不断电的情况下专用电池卡能够使用10年。
电池卡是不可充电的。
表1. S7-200新CPU(23版)的数据保持范围和时间(内置超级电容)
型号 | CPU221 | CPU222 | CPU224 | CPU224 XP | CPU226 |
用户程序空间 | 4096字节 | 8192(12288)*字节 | 12288(16384)*字节 | 16384(24576)*字节 | |
用户数据 | 2048字节 | 8192字节 | 10240字节 | 10240字节 | |
定时器 | TONR定时器 | ||||
计数器 | 256个 | ||||
超级电容(内部) | 50小时/典型值(40C°时最少8小时) | 100小时/典型值(40C°时最少70小时) | |||
可选电池 | 200天/典型值 |
*括号内的数值为不使用“在线编程模式”时可以使用的程序空间大小
表2. S7-200 CPU(22版)数据保持范围和时间(内置超级电容)
型号 | CPU221 | CPU222 | CPU224 | CPU226 | CPU226XM |
用户程序空间 | 4096字节 | 8192字节 | 8192字节 | 16384字节 | |
用户数据 | 2048字节 | 5120字节 | 5120字节 | 10240字节 | |
定时器 | TONR定时器 | ||||
计数器 | 256个 | ||||
超级电容(内部) | 50小时/典型值(40C°时最少8小时) | 190小时/典型值(40C°时最少120小时) | |||
可选电池 | 200天/典型值 |
RAM区中的数据能被超级电容和电池卡保持的前提是,必须将这些数据在STEP 7-Micro/WIN32编程软件的系统块当中设定V区、M区、T区、C区的掉电保持范围。
EEPROM区保持数据
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中
从 RAM 建立数据块
要将 CPU V 存储器当前值保存到数据块页面;或者执行下载操作,担心 RAM 区数据当前值丢失,可以在执行下载操作前,先执行从 RAM 建立数据块,备份 V 存储区的当前值。
操作方法如下:
1、备份好源程序,新建空白项目操作
2、选择 PLC > 从 RAM 建立数据块(Create Data Block from RAM)菜单命令。如图1.所示
图1.
3、PLC 处于运行状态,执行操作时,会提示 “ 设置 PLC 为 STOP 模式 ?”,选择是才可以继续执行此功能,如图2. 所示;如果操作前 PLC 已处于 STOP 状态,不会出现此对话框
注意:想要执行从 RAM 建立数据块功能,需要在 PLC 可以切换到 STOP 的情况下才可以操作!
图2.
4、出现对话框,如图3. 所示,选择 “ Yes ” 将执行更新,将 CPU 中 RAM 区的 V 存储区数据当前值上传到数据块的数据页中
如果执行操作时,使用的程序文件是源程序,选择 " Yes " 前,一定要注意源程序的备份!
图3.
5、等待一段上传数据的时间,出现对话框,如图4. 所示,点击" OK ",可以在数据块中查看 V 区数据
图4.
执行从 RAM 建立数据块,上载到数据块中的数据有可能存放的位置
- 用户定义1:上一次下载数据块时,在数据块中用户自定义过初始值
- _PLC_DATA1:上一次下载数据块时,未定义初始值,在程序执行过程中修改过的 V 区地址,执行"从 RAM 建立数据块"命令时,这些已修改的地址会被指定给一个新的标签名
- 向导生成的数据块(例如 PID1_DATA):上一次下载数据块时,包含配置完向导后自动生成的数据块,比如 配置完 PID 后生成如 PID1_DATA 的数据块,执行"从 RAM 建立数据块"命令时,依然上传到此数据块中
6、将上传的各个数据块页面中的 V 区地址复制,粘贴到要下载的程序文件的数据块页面中,此时,一旦下载,数据块保存到 EEPROM 中,作为 V 存储区数据的初始值生效
常问问题
程序存储在哪里,会不会丢失?
回答:下载的程序存储在EEPROM中,将会永久保存,断电后不会丢失。程序的大小不能超过CPU用户程序空间的大小。
如何验证数据是否正确保存到了EEPROM中?
有两种方法可以验证数据是否正确保存到EEPROM中:
- 在“系统块-数据保持”设置中取消相应数据区(V存储区)的保持设置,则CPU在上电时会用EEPROM中相应区域的数值覆盖RAM中的数据,可以检查数据是否正确
- 使用Micro/WIN的Upload(上载)功能,将数据块上载到Micro/WIN项目中;上载的数据来源是EEPROM而不是RAM
实用指令库
也可以参考西门子ProDIS网站的FAQ17471561
剩余80%未阅读,请登录查看大全章节内容
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}