功能-数据保持及存储卡 | 您所在的位置:网站首页 › plc数据存储到sd卡 › 功能-数据保持及存储卡 |
数据保持功能
应用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区的掉电保持范围。 超级电容(+外插电池卡)也同时用于为CPU的实时时钟提供电源缓冲。如果放电完毕,CPU时钟会停止走动。 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实用指令库 EEPROM 数据写入指令库 也可以参考西门子ProDIS网站的FAQ17471561。
|
CopyRight 2018-2019 实验室设备网 版权所有 |