西門子PLC S7-200程序數據的斷電保存方法,主要可分三種,其數據斷電保存方法及特點如下:
一、在係統塊中設置斷電數據保持功能來保存數據。
在S7-200的編程中,係統塊中有一項功能為(wei) 斷電數據保持設置,設置範圍包括V存儲(chu) 區、M存儲(chu) 區、時間繼電器T和計數器C(其中定時器和計數器隻有當前值可被保持,而定時器位或計數器位是不能被保持的)。其基本工作原是在PLC外部供電中斷時,利用PLC內(nei) 部的超級電容供電,保持係統塊中所設置的斷電數據保持區域的數值保持不變,而將非保持區域的數據值歸零。由於(yu) 超級電容容量的限製,在西門子的資料中宣稱隻能保存幾天時間。對於(yu) M存儲(chu) 區中的前十四個(ge) 字節(即MB0-MB13),當設為(wei) 斷電數據保持,在PLC外部供電中斷時,PLC內(nei) 部自動將以上存儲(chu) 區的數據轉移到EEPROM中,因此可實現斷電永久保存。
若需更長的RAM存儲(chu) 器斷電數據保存時間,西門子公司可提供一個(ge) 可選的電池卡,在超級電容耗盡後繼續提供電能,延長數據保存時間(約200天)。
二、在編程時建立數據塊來保存數據。
在程序設計的編程階段,可在編程中建立數據塊,並賦予需要的初始值,編程完成後隨程序一起下載到PLC的RAM存儲(chu) 器中,CPU同時自動將其轉存於(yu) EEPROM,作為(wei) EEPROM儲(chu) 器中的V數據永存儲(chu) 區。因EEPROM的數據保存不需要供電維持,所以可以實現永久保存。若在係統塊中相應V存儲(chu) 區未設為(wei) 斷電數據保持,在每次PLC上電初始,CPU自動將EEPROM中的V數據值讀入RAM的V存儲(chu) 區。若相應V存儲(chu) 區設為(wei) 斷電數據保持,在每次PLC上電初始,CPU檢測斷電數據保存是否成功。若成功,則保持RAM中的相應V數據保持不變。若保存不成功,則將EEPROM中的相應V數據值讀入RAM的V存儲(chu) 區。此方法隻適用於(yu) V數據的斷電數據保存。
三、在程序中用SMB31和SMW32來保存數據。
在程序中將要保存的V存儲(chu) 器地址寫(xie) 入SMW32,將數據長度寫(xie) 入SMB31,並置SM31.7為(wei) 1。在程序每次掃描的末尾,CPU自動檢查SM31.7,如果為(wei) 1,則將指定的數據存於(yu) EEPROM中,並隨之將SM31.7置為(wei) 零,保存的數據會(hui) 覆蓋先前EEPROM中V存儲(chu) 區中的數據。在保存操作完成之前,不要改變RAM中V存儲(chu) 區的值。存一次EEPROM操作會(hui) 將掃描時間增加15至20毫秒。因為(wei) 存EEPROM的次數是有限製的(更少10萬(wan) 次,典型值為(wei) 100萬(wan) 次),所以必須控製程序中保存的次數,否則將導致EEPROM的失效。
結合以上的了解和工地調試的經驗,在實際應用中,若遇到需程序數據保持的時候,要多種方法結合運用以達到更理想的結果。針對程序中需保存數據的不同,采取不同的方式實現。對於(yu) 需在程序第一次運行時進行預置並在程序運行過程中個(ge) 別情況下進行重新設置的數據,如高度、荷重等相關(guan) 標定參數,可在程序的數據塊中建立數據,並賦予初始數值。同時在程序中編入SMB31和SMW32命令,在相關(guan) 條件下對EEPROM的V數據區進行重新保存,修改先前的初始值。示例如下,當進行參數設置時,置M0.0為(wei) 1,完成一次VD100的EEPROM存儲(chu) 器保存操作。
對於(yu) 程序運行過程中數值變化比較頻繁,且需斷電長期保存的數據,則可將數據存於(yu) MB0至MB13存儲(chu) 區,且係統塊的斷電數據保存設置中將相應的M存儲(chu) 區設為(wei) 斷電數據保存。也可使用程序中的V存儲(chu) 區,在必要時如上圖所示進行一次程序數據存儲(chu) ,而在斷電數據保持設置中可選取,也可不選取。