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