西門子S7-200 PLC在斷電情況下的數(shù)據(jù)保持問題
朱方平
發(fā)布于2017-11-20 09:24
4
0
標簽:西門子S7-200
馬上注冊,免費學(xué)習(xí)超過100課時視頻教程,免費下載海量學(xué)習(xí)資料
西門子S7-200 PLC在沒有存儲卡,并且長時間斷電的情況下,里面的程序能存儲多久?這個問題也有不少學(xué)員問過了,所以在這里總結(jié)性的說一下。
首先,讓我們了解一下S7-200內(nèi)部存儲器的大概工作情況。PLC內(nèi)部存儲器分為RAM存儲器和EEPROM永久存儲器兩種。我們都知道RAM存儲器的數(shù)據(jù)必須靠供電維持,當存儲芯片供電中斷時,其中所存數(shù)據(jù)也不復(fù)存在。RAM存儲器主要用作PLC程序運行時程序、組態(tài)參數(shù)、程序數(shù)據(jù)的實時存取空間。EEPROM存儲器為帶電可擦寫存儲器,其數(shù)據(jù)寫入后可在完全斷電情況下長期保存。
PLC在每次程序下載時,將下載的程序塊、數(shù)據(jù)塊(可選)、CPU 配置(可選)載入RAM存儲區(qū),同時CPU自動將其拷貝到EEPROM存儲器中,以實現(xiàn)永久保存。在PLC的使用過程中,每次上電時PLC會從EEPROM存儲區(qū)向RAM存儲區(qū)中恢復(fù)程序和CPU配置,同時檢查RAM存儲器中的斷電數(shù)據(jù)保持區(qū)域是否成功保存。
如果保存成功,則保持區(qū)域?qū)⒈3植蛔?,RAM存儲器的V存儲區(qū)中的未保持區(qū)域,將從相應(yīng)的EEPROM中的V存儲永久區(qū)域處恢復(fù)過來。如果RAM存貯器的內(nèi)容沒有保持下來,CPU會清除 RAM存貯器并置保持數(shù)據(jù)丟失存貯器位(SM0.2)為1,并將存于EEPROM存儲器永久區(qū)域中的數(shù)據(jù)復(fù)制RAM存儲器中。
1、正常情況之下,下載到S7-200PLC里的程序是永不丟失的,因為程序塊(數(shù)據(jù)塊、系統(tǒng)塊)是直接下載到EEPROM中的,而RAM中的數(shù)據(jù)為PLC的運行數(shù)據(jù),靠一個超級電容(或電池卡)保持,前提是在系統(tǒng)塊中必須有相應(yīng)的設(shè)置。沒有電池卡,靠一個超級電容可以保持10天左右時間。但是值得注意的是EEPROM不要每個周期都觸發(fā),一定要加觸發(fā)條件,因為EEPROM是有擦寫次數(shù)的。
2、我們平時所說的S7-2OO不加電池,使用內(nèi)部電容保存數(shù)據(jù)方式,在50-60小時,加入電池卡的話好也就是200多天,在這里說的是數(shù)據(jù),而不是程序,例如計數(shù)器,定時器等的數(shù)據(jù)。
3、S7-200的變量區(qū),用PLC內(nèi)部的“超級電容”可保存時間是根據(jù)CPU的型號、環(huán)境有所不同。對此說明一下:
CPU212/221/222典型時間少50小時,溫度40度時,8小時!
CPU214/215/216/226XM典型時間少190小時,溫度40度時,120小時。
CPU224/226典型時間少100小時,溫度40度時,70小時!
下面再說一下S7-200程序數(shù)據(jù)的斷電保存方法。S7-200PLC程序數(shù)據(jù)的斷電保存方法,主要可分三種,其數(shù)據(jù)斷電保存方法及特點如下:
1、在系統(tǒng)塊中設(shè)置斷電數(shù)據(jù)保持功能來保存數(shù)據(jù)。
在 S7-200的編程中,系統(tǒng)塊中有一項功能為斷電數(shù)據(jù)保持設(shè)置,設(shè)置范圍包括V存儲區(qū)、M存儲區(qū)、時間繼電器T和計數(shù)器C(其中定時器和計數(shù)器只有當前值可被保持,而定時器位或計數(shù)器位是不能被保持的)。其基本工作原是在PLC外部供電中斷時,利用PLC內(nèi)部的超級電容供電,保持系統(tǒng)塊中所設(shè)置的斷電數(shù)據(jù) 保持區(qū)域的數(shù)值保持不變,而將非保持區(qū)域的數(shù)據(jù)值歸零。
由于超級電容容量的限制,在西門子的資料中宣稱只能保存幾天時間。對于M存儲區(qū)中的前十四個字節(jié) (即MB0-MB13),當設(shè)為斷電數(shù)據(jù)保持,在PLC外部供電中斷時,PLC內(nèi)部自動將以上存儲區(qū)的數(shù)據(jù)轉(zhuǎn)移到EEPROM中,因此可實現(xiàn)斷電永久保存。若需更長的RAM存儲器斷電數(shù)據(jù)保存時間,西門子公司可提供一個可選的電池卡,在超級電容耗盡后繼續(xù)提供電能,延長數(shù)據(jù)保存時間(約200天)。
2、在編程時建立數(shù)據(jù)塊來保存數(shù)據(jù)。
在程序設(shè)計的編程階段,可在編程中建立數(shù)據(jù)塊,并賦予需要的初始值,編程完成后隨程序一起下載到PLC的 RAM存儲器中,CPU同時自動將其轉(zhuǎn)存于EEPROM,作為EEPROM儲器中的V數(shù)據(jù)永存儲區(qū)。因EEPROM的數(shù)據(jù)保存不需要供電維持,所以可以實現(xiàn)永久保存。若在系統(tǒng)塊中相應(yīng)V存儲區(qū)未設(shè)為斷電數(shù)據(jù)保持,在每次PLC上電初始,CPU自動將EEPROM中的V數(shù)據(jù)值讀入RAM的V存儲區(qū)。若相應(yīng)V 存儲區(qū)設(shè)為斷電數(shù)據(jù)保持,在每次PLC上電初始,CPU檢測斷電數(shù)據(jù)保存是否成功。若成功,則保持RAM中的相應(yīng)V數(shù)據(jù)保持不變。若保存不成功,則將 EEPROM中的相應(yīng)V數(shù)據(jù)值讀入RAM的V存儲區(qū)。此方法只適用于V數(shù)據(jù)的斷電數(shù)據(jù)保存。
3、在程序中用SMB31和SMW32來保存數(shù)據(jù)。
在程序中將要保存的V存儲器地址寫入SMW32,將數(shù)據(jù)長度寫入SMB31,并置 SM31.7為1。在程序每次掃描的末尾,CPU自動檢查SM31.7,如果為1,則將指定的數(shù)據(jù)存于EEPROM中,并隨之將SM31.7置為零,保存的數(shù)據(jù)會覆蓋先前EEPROM中V存儲區(qū)中的數(shù)據(jù)。在保存操作完成之前,不要改變RAM中V存儲區(qū)的值。存一次EEPROM操作會將掃描時間增加15至20毫秒。因為存EEPROM的次數(shù)是有限制的(少10萬次,典型值為100萬次),所以必須控制程序中保存的次數(shù),否則將導(dǎo)致EEPROM的失效。
總之,結(jié)合以上的了解和工地調(diào)試的經(jīng)驗,在實際應(yīng)用中,若遇到需程序數(shù)據(jù)保持的時候,要多種方法結(jié)合運用以達到理想的結(jié)果。針對程序中需保存數(shù)據(jù)的不同,采取不同的方式實現(xiàn)。
1、對于需在程序次運行時進行預(yù)置并在程序運行過程中個別情況下進行重新設(shè)置的數(shù)據(jù),如高度、荷重等相關(guān)標定參數(shù),可在程序的數(shù)據(jù)塊中建立數(shù)據(jù),并賦予初始數(shù)值。同時在程序中編入SMB31和SMW32命令,在相關(guān)條件下對EEPROM的V數(shù)據(jù)區(qū)進行重新保存,修改先前的初始值。
2、對于程序運行過程中數(shù)值變化比較頻繁,且需斷電長期保存的數(shù)據(jù),則可將數(shù)據(jù)存于MB0至MB13存儲區(qū),且系統(tǒng)塊的斷電數(shù)據(jù)保存設(shè)置中將相應(yīng)的M存儲區(qū)設(shè)為斷電數(shù)據(jù)保存。也可使用程序中的V存儲區(qū),在必要時進行一次程序數(shù)據(jù)存儲,而在斷電數(shù)據(jù)保持設(shè)置中可選取,也可不選取。
作者:蔡慧滎
來源:微信號(PLC發(fā)燒友)
本文為原創(chuàng)作品,盜取必究!
三菱Q系列定位模塊
FX3U 新增功能指令講解
西門子學(xué)習(xí)機箱接線演示
西門子S7-1200編程應(yīng)用入門