在實時控制過程中,干擾造成比較嚴重的危害之一就是沖毀RAM中的數據,由于RAM中保存的是各種原始數據、標志、變量等,如果被破壞,會造成系統出錯或無法運行,根據數據被沖毀的程度,一般可分為三類:
整個RAM數據被沖毀;
RAM中某片數據被沖毀;
個別數據被沖毀。
在工業控制系統中,RAM的大部分內容是為了進行分析、比較而臨時存放的,不允許丟失的數據只占極少部分。在這種情況下,除了這些不允許丟失的數據外,其余大部分內容允許短時間被破壞,最多只引起系統的一個很短時間的波動,很快能自動恢復正常。因此,在工控軟件中,只要注意對少數不允許丟失的數據保護,一般常用的方法有“校驗法” 和“設標法”。這兩種方法各有千秋,校驗法比較繁鎖,但查錯的可信度高。設標法簡單,但對數據表中個別數據沖毀的情況,查錯則無難為力。在編程中一般應綜合使用,其具體做法為:
將RAM工作區重要區域的始端和尾端各設置一個標志碼“0” 或“1”;
對RAM中固定不變的數據表格設置校驗字。
在程序的執行過程中,每隔一定的時間通過事先設計的查錯程序來檢查其各標志碼是否正常,如果不正常,則利用數據冗余技術通過抗干擾處理程序來進行修正;冗余數據表的一般設計原則是:
各數據表應相互遠離分散設置,減少冗余數據同時被沖毀的概率。
數據表應盡可能遠離棧區,減少由于操作錯誤造堆棧被成數據沖的可能 。
上述對RAM區域的恢復處理方法,在不同的應用系統中應根據的具體情況進行取舍。