S7-200会数据丢失

S7-200DB块为什么断电之后过一些时候在重启时数据都没有了~

最佳答案

如果你不打算花200多元人民币买个电池卡来保存数据的话可以直接使用EEPROM 数据写入指令库来保存数据。西门子不同型号的PLC本身数据保存时间都有规定的。一般像CPU224XP就可以在掉电情况下保持数据100小时左右。用EEPROM数据写入指令则是永久保持。具体你可以参考例程。
 EEPROM 数据写入指令库及其使用
 EEPROM(v1.0)指令库用于将连续 V 存储区中的数据(例如:VB200 至 VB205)写入 EEPROM,使其永久保持。

  注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。 

  参考:CPU的数据保持功能
  参考:使用超级电容和电池卡进行数据保持-系统块数据保持设置

 要使用 EEPROM 指令库,须遵循下列步骤:

 取得 EEPROM 指令库文件,并添加到编程软件 STEP 7-Micro/WIN 中; 
 按照要求编写用户程序调用 EEPROM 指令库。 
  

 添加 EEPROM 指令库
  EEPROM 指令库

 点击上面的链接下载 EEPROM 指令库到本地计算机硬盘,建议保存在 Micro/WIN 安装目录的 Lib 文件夹中。以下是一个完整路径的例子:

 C:\Program Files\Siemens\STEP 7-Micro/WIN V4.0\Lib

 然后将指令库库手动添加到 Micro/WIN 软件中。

  参见添加指令库。

 成功添加指令库后,用户可以在STEP7 Micro/win的指令树中找到‘EEPROM(V1.0)'

 

 图 1. EEPROM 指令库

  

 EEPROM 指令库编程
 1、直接寻址方式存储

 

 图2.EEPROOM_Direct

 输入/输出 数据类型 注释 
 EN BOOL 必须持续为1(高电平) 
 Start BOOL 触发位,0->1上升沿变化激活”StoreToEprom”库指令 
 V_Start INT 被保持数据的起始偏移地址 (例如:200=VB200) 
 Length INT 被存储数据的长度(以字节为单位) 
 Memory INT ”StoreToEprom”库指令需要的临时存储区(Word) 
 Busy BOOL ”StoreToEprom”库指令在保存数据的过程中,值为1 
 Done BOOL ”StoreToEprom”库指令数据保存完成后,值为1 

 表1.EEPROM_Direct 参数

 2、间接寻址方式存储

 

 图3.EEPROM_Indirect

 输入/输出 数据类型 注释 
 EN BOOL 必须持续为1(高电平) 
 Start BOOL 触发位,0->1上升沿变化激活”StoreToEprom”库指令 
 V_Start INT 该存储区中存储着被保持数据的起始偏移地址 
 例如:LD Q0.0
 MOVD &VB200, MD20
 此时MD20中存储着VB200的地址
  
 Length INT 被存储数据的长度(以字节为单位) 
 Memory INT ”StoreToEprom”库指令需要的临时存储区(Word) 
 Busy BOOL ”StoreToEprom”库指令在保存数据的过程中,值为1 
 Done BOOL ”StoreToEprom”库指令数据保存完成后,值为1 

 表2.EEPROOM_Indirect参数

  注意: 

 此库指令每个 CPU 循环周期向 EEPROM 备份一个字节数据,因此备份多个数据往往需要多个 CPU 循环周期,必须保证该时间段内使能端(EN )持续为‘1’。建议用户用 SM0.0 调用库指令。 
 如果用户需要永久存储的是实数或双字整数,必须保证保存过程中数据保持不变。 
 EEPROOM 被刷写次数的典型值为 100,000 次,因此用户不得以较高的频率向 EEPROM 中备份数据。

 只有 STEP7 Micro/Win V3.2+SP4 和 V4.0 版本才支持使用该指令库 
 
参考资料:Micro 'n Power.chm

提问者对于答案的评价:
ok

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc351710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午12:54
下一篇 2021年7月5日 上午12:54

相关推荐

发表回复

登录后才能评论