欢迎来到天天文库
浏览记录
ID:38182752
大小:23.94 KB
页数:4页
时间:2019-05-24
《在EEPROM中永久保存变量区域》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在EEPROM中永久保存变量区域隐藏订货号显示订货号订货号:6ES721.. SIMATICS7-200,CPU2xx6ES7810-2.. SIMATICS7STEP7-MICRO/WIN问题:在超过了内部高性能电容或者外部电池模块的剩余时间之后,如何保存修改过的参数?解答:一旦高性能电容的时间(根据CPU类型不同而不同)用完,或者电池模块过期(200天),修改过的参数就会丢失。使用一个程序例程可以防止这种情况。使用以下操作库,可以在CPU中的内部EEPROM中保存完整的变量区域,在运行期内该区域是不易失的(在系统手册中仅说明了保存单个变量).警告:请注意,一个EEPROM总共只
2、有100,000次存储访问。如果超过这个值,CPU将发生故障。因此不应该以很高的频率在EEPROM上保存数据。EEPROM服务寿命的样例:如果按小时在EEPROM上保存数值,那么EEPROM的期望服务寿命是11到12年。该库包含两个不同的程序版本,其差别仅仅在于启动地址的参数(偏移量)。重要注意事项:每个循环按字节保存数据。如果待保存数据中存在WORD或DWORD变量,则必须确保处理过程中这些数据不发生改变。如果发生改变,会影响数据一致性。(技术背景:如果只保存变量的一部分,而该数值被临时改变,那么程序只保存缺失的剩余部分,这将会产生损坏的变量值。相关的程序部分应当使用Busy位锁
3、住。图1:起始地址为整数(直接保存到EPROM)参数变量类型说明ENBOOL必须始终为1(高)StartBOOL上升沿(0->1)触发程序运行V_StartINT偏移量指定(起始地址)例如,200=VB200LengthINT从偏移量(起始地址)开始待保存的字节数MemoryINT用于子程序的临时存储区BusyBOOL正在处理状态1(高),程序在运行中DoneBOOL结束状态1(高),成功完成保存表1:直接寻址的示例参数图2:启动地址为间接地址(间接保存到EPROM)参数变量类型说明ENBOOL必须始终为1(高)StartBOOL上升沿(0->1)触发程序运行AddressDWOR
4、D规定偏移量(起始地址);必须由用户预先定义;例如LDQ0.0MOVD&VB200,MD20地址从VB200转换到MD20LengthINT从偏移量(起始地址)开始待保存的字节数目MemoryINT用于子程序的临时存储BusyBOOL处理状态1(高),程序在运行中DoneBOOL结束状态1(高),成功完成保存表2:间接寻址的样例参数相关子程序的说明在示例程序的注释中给出。STEP7Micro/WIN库的存档文件:把文件“StoretoEPROM”复制到单独的文件夹,然后双击打开。STEP7Micro/WIN库文件被解包。然后可以合并这个库到S7项目中,STEP7Micro/WIN的
5、3.2.4.27以上版本可以使用该库。下载包括两个子程序,其中可以指定起始地址和从起始地址开始的待保存字节数.
此文档下载收益归作者所有