RAM数据出错的软件对策 点击:233 | 回复:0



coolmay168

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:974帖 | 131回
  • 年度积分:0
  • 历史总积分:3280
  • 注册:2013年10月23日
发表于:2014-06-18 21:49:38
楼主


在实时控制过程中,干扰造成比较严重的危害之一就是冲毁RAM中的数据,由于RAM中保存的是各种原始数据、标志、变量等,如果被破坏,会造成系统出错或无法运行,根据数据被冲毁的程度,一般可分为三类:
 * 整个RAM数据被冲毁;
 * RAM中某片数据被冲毁;
 * 个别数据被冲毁。
在工业控制系统中,RAM的大部分内容是为了进行分析、比较而临时存放的,不允许丢失的数据只占极少部分。在这种情况下,除了这些不允许丢失的数据外,其余大部分内容允许短时间被破坏,最多只引起系统的一个很短时间的波动,很快能自动恢复正常。因此,在工控软件中,只要注意对少数不允许丢失的数据保护,一般常用的方法有“校验法” 和“设标法”。这两种方法各有千秋,校验法比较繁锁,但查错的可信度高。设标法简单,但对数据表中个别数据冲毁的情况,查错则无难为力。在编程中一般应综合使用,其具体做法为:
 * 将RAM工作区重要区域的始端和尾端各设置一个标志码“0” 或“1”;
 * 对RAM中固定不变的数据表格设置校验字。
在程序的执行过程中,每隔一定的时间通过事先设计的查错程序来检查其各标志码是否正常,如果不正常,则利用数据冗余技术通过抗干扰处理程序来进行修正;冗余数据表的一般设计原则是:
 * 各数据表应相互远离分散设置,减少冗余数据同时被冲毁的概率。
 * 数据表应尽可能远离栈区,减少由于操作错误造堆栈被成数据冲的可能 。
上述对RAM区域的恢复处理方法,在不同的应用系统中应根据的具体情况进行取舍。



热门招聘
相关主题

官方公众号

智造工程师