S7-200可編程控制器 掉電數(shù)據(jù)保持常見問題
發(fā)布時間:2019-08-02 15:34:37來源:
關(guān)鍵詞 S7-200,數(shù)據(jù)存儲,RAM,EEPROM,掉電保持
Key Words S7-200, data storage, RAM, EEPROM, retentive settings
問題1:S7-200 CPU 內(nèi)部存儲區(qū)類型?
回答:S7-200 CPU 內(nèi)部存儲區(qū)分為易失性的RAM 存儲區(qū)和永久保持的EEPROM 兩種,其中
RAM 包含CPU 工作存儲區(qū)和數(shù)據(jù)區(qū)域中的V 數(shù)據(jù)存儲區(qū)、M 數(shù)據(jù)存儲區(qū)、T(定時器)區(qū)和C(計
數(shù)器)區(qū),EEPROM 包含程序存儲區(qū)、V 數(shù)據(jù)存儲區(qū)的全部和M 數(shù)據(jù)存儲區(qū)的前14 個字節(jié)、C
區(qū)全部以及TONR 對應(yīng)區(qū)域。
也就是說V 區(qū)和MB0-MB13 這些區(qū)域都有對應(yīng)的EEPROM 永久保持區(qū)域。
EEPROM 的寫操作次數(shù)是有限制的(比較少10 萬次,典型值為100 萬次),所以請注意只在必要
時才進(jìn)行保存操作。否則,EEPROM 可能會失效,從而引起CPU 故障。
EEPROM 的寫入次數(shù)如果超過限制之后,該CPU 即不能使用了,需要整體更換CPU,不能夠只
更換CPU 內(nèi)EEPROM,西門子不提供這項服務(wù)。
問題2:S7-200 CPU 的存儲卡的作用?
回答:S7-200 還提供三種類型的存儲卡用于永久存儲程序,數(shù)據(jù)塊,系統(tǒng)塊,數(shù)據(jù)記錄(歸
檔)、配方數(shù)據(jù),以及一些其他文件等,這些存儲卡不能用于實時存儲數(shù)據(jù),只能通過
PLC—存儲卡編程的方法將程序塊/數(shù)據(jù)塊/系統(tǒng)塊的初始設(shè)置存于存儲卡內(nèi)。
存儲卡分為兩種,根據(jù)大小共有三個型號。
32K 存儲卡:僅用于儲存和傳遞程序、數(shù)據(jù)塊和強制值。32K 存儲卡只可以用于向新版(23
版)CPU 傳遞程序,新版CPU 不能向32K 存儲卡中寫入任何數(shù)據(jù)。而且32K 存儲卡不支持存
儲程序以外的其他功能。訂貨號:6ES7 291-8GE20-0XA0。
64K/256K 存儲卡:可用于新版CPU(23 版)保存程序、數(shù)據(jù)塊和強制值、配方、數(shù)據(jù)記錄和
其他文件(如項目文件、圖片等)。64K/256K 新存儲卡只能用于新版CPU(23 版)。64K 存
儲卡訂貨號: 6ES7 291-8GF23-0XA0;256K 存儲卡訂貨號:6ES7 291-8GH23-0XA0。
為了把存儲卡中的程序送到CPU 中,必須先插入存儲卡,然后給CPU 上電,程序和數(shù)據(jù)將自
動復(fù)制到RAM 及EEPROM 中。
存儲卡的使用完整限制條件,請參考《S7-200 系統(tǒng)手冊》附錄A 技術(shù)規(guī)范—可選卡件一節(jié)。
S7-200 的外部存儲卡有哪些功能?
問題3:S7-200 CPU 內(nèi)的程序是否具有掉電保持特性?
回答:S7-200 CPU 內(nèi)的程序塊下載時,會同時下載到EEPROM 中,也就是說程序下載后,將
永久保持。同樣,系統(tǒng)塊和數(shù)據(jù)塊下載時,也會同時下載到EEPROM 中。
問題4:S7-200 CPU 內(nèi)部的數(shù)據(jù)的掉電保持特性?
回答:S7-200 系統(tǒng)手冊第四章——“PLC 基本概念”一章中“理解S7--200 如何保存和存儲
數(shù)據(jù)”一節(jié)詳細(xì)介紹了S7-200 CPU 內(nèi)數(shù)據(jù)的掉電保持特性,建議用戶仔細(xì)閱讀。
S7-200 CPU 內(nèi)的數(shù)據(jù)分為RAM 區(qū)和EEPROM 區(qū)。
其中,RAM 區(qū)數(shù)據(jù)需要CPU 內(nèi)置的超級電容或者外插電池卡才能實現(xiàn)掉電保持特性。
對于CPU221 和CPU222 的內(nèi)置超級電容,能提供典型值約50 小時的數(shù)據(jù)保持。
對于CPU224,CPU224XP,CPU224XPsi 和CPU226 的內(nèi)置超級電容,能提供典型值約100 小時
的數(shù)據(jù)保持。
超級電容需要在CPU 上電時充電。為達(dá)到上述指標(biāo)的數(shù)據(jù)保持時間,需要連續(xù)充電至少24 小
時。
當(dāng)該時間不夠時,可以購買電池卡,以獲得更長時間的數(shù)據(jù)保持時間。
EEPROM 區(qū)能實現(xiàn)數(shù)據(jù)永久保持,不依靠超級電容或者電池就可以保持?jǐn)?shù)據(jù)。
問題5:S7-200 CPU 內(nèi)部數(shù)據(jù)的工作順序?
回答:S7-200 CPU 一上電后,CPU 先去檢查RAM 區(qū)域中的數(shù)據(jù),如果在超級電容或者電池有
電的情況下,數(shù)據(jù)并未丟失,則使用該RAM 區(qū)的數(shù)據(jù);如果超級電容或者電池沒電了,導(dǎo)致
數(shù)據(jù)丟失,則CPU 去讀EEPROM 中相應(yīng)的區(qū)域(包含數(shù)據(jù)塊中的數(shù)據(jù)定義內(nèi)容),如果在
EEPROM 中存有永久保持的數(shù)據(jù),則CPU 將EEPROM 中的數(shù)據(jù)寫回到RAM 區(qū)中,再進(jìn)行下面的
工作。
如果EEPROM 中也沒有對應(yīng)存儲區(qū)的數(shù)據(jù)了,則該存儲區(qū)的數(shù)據(jù)將變成0。
問題6:S7-200 CPU 電池卡的使用注意事項?
回答:新版S7-200 CPU 電池卡有兩種型號。
對于CPU221 和CPU222,由于其中沒有實時時鐘,則對應(yīng)的為時鐘電池卡,訂貨號為:
6ES7297--1AA23--0XA0。
對于CPU224,CPU224XP,CPU224XPsi 和CPU226,電池卡僅提供電池功能,訂貨號為:6ES7
291--8BA20--0XA0,該款電池卡型號又叫做BC293。
電池卡的壽命典型值約為200 天,當(dāng)插上電池卡后,如果CPU 處于工作狀態(tài)或者超級電容有
電的情況下,并不消耗電池卡的電量。當(dāng)電池卡的電量消耗完畢之后,該電池卡就報廢了。
S7-200 電池卡不能充電,使用完畢就不能再用了,只能購買新的電池卡了。
S7-200 沒有檢測電池卡內(nèi)剩余電量的狀態(tài)位和這種功能。
新版S7-200 CPU 電池卡不能用于老CPU,即訂貨號為6ES7xxx-xxx21-0XB0 和6ES7xxxxxx22-
0XB0 以及更老版本的CPU。
以上為兩種電池卡以及所在插槽位置。
電池卡的使用完整限制條件,請參考《S7-200 系統(tǒng)手冊》附錄A 技術(shù)規(guī)范—可選卡件一節(jié)。
問題7:S7-200 CPU 內(nèi)EEPROM 的使用方法?
回答:EEPROM 的寫入分為如下幾種情況:
1、MB0—MB13 的設(shè)置,只需要在系統(tǒng)塊—斷電數(shù)據(jù)保持中設(shè)置即可。
默認(rèn)情況下,系統(tǒng)塊設(shè)置如下圖藍(lán)框中所示,即MB14—MB31,這些區(qū)域沒有對應(yīng)的EEPROM
區(qū)域,無須考慮EEPROM 寫入次數(shù)限制。
圖3
3、使用SMB31 和SMW32 控制字來實現(xiàn)將V 區(qū)的數(shù)據(jù)存到EEPROM 中
特殊存儲器字節(jié)31 (SMB31)命令S7-200 將V 存儲區(qū)中的某個值復(fù)制到永久存儲器的V 存儲
區(qū),置位SM31.7 提供了初始化存儲操作的命令。特殊存儲器字32 (SMW32)中存儲所要復(fù)制
數(shù)據(jù)的地址。如圖4 為S7-200 系統(tǒng)手冊內(nèi)關(guān)于SMB31 和SMW32 的使用說明。
圖4
采用下列步驟來保存或者寫入V 存儲區(qū)中的一個特定數(shù)值:
1. 將要保存的V 存儲器的地址裝載到SMW32 中。
2. 將數(shù)據(jù)長度裝載入SM31.0 和SM31.1。具體含義如圖4 所示。
3. 將SM31.7 置為1。
圖5
注意:如果在數(shù)據(jù)塊中定義了某地址的數(shù)據(jù),而又使用這種辦法存儲同樣地址的數(shù)據(jù),則當(dāng)
CPU 內(nèi)超級電容或電池沒電時,CPU 再上電時將采用SMB31 和SMW32 存儲的數(shù)據(jù)。
問題8:EEPROM 寫入次數(shù)的統(tǒng)計?
回答:每次下載程序塊/數(shù)據(jù)塊/系統(tǒng)塊或者執(zhí)行一次SMB31.7 置位的操作都算作對EEPROM
的一次寫操作,所以請注意在程序中一定不要每周期都調(diào)用SMB31/SMW32 用于將數(shù)據(jù)寫入
EEPROM 內(nèi),否則CPU 將很快報廢。
問題9:不使用數(shù)據(jù)塊的方法,如何在程序中實現(xiàn)不止一個V 區(qū)數(shù)據(jù)的存儲?
回答:由于SMB31/SMW32 一次比較多只能送入一個V 區(qū)雙字給EEPROM 區(qū)域,因而當(dāng)有超過一
個雙字的數(shù)據(jù)需要送入EEPROM 中時,需要程序配合實現(xiàn)。具體操作方法可參照如下的例子,
即使用SMB31/SMW32 送完一個數(shù)據(jù)(字節(jié)/字/雙字)之后,通過一個標(biāo)志位(如M0.0)來觸
發(fā)下一個SMB31/SMW32 操作,之后需要將上一個標(biāo)志位清零,以用于下一次的存儲數(shù)據(jù)的操
作。
由于SM31.7 在每次操作結(jié)束之后都自動復(fù)位,因而不能使用它作為第二次觸發(fā)操作的條件。
以上程序僅供參考。
或者可以參考如下FAQ,多次調(diào)用指令庫用以存儲多個V 區(qū)變量到EEPROM 存儲區(qū)中:
如何在 CPU 內(nèi)部 EEPROM 存儲空間中永久保存變量區(qū)域?
http://support.automation.siemens.com/CN/view/zh/17471561
問題10:定時器和計數(shù)器以及MB14-MB31 的掉電保持性能?
回答:計數(shù)器和TONR 型的定時器(T0-T31,T64-T95)能夠?qū)崿F(xiàn)掉電保持。這些區(qū)域只能由
超級電容和電池來進(jìn)行數(shù)據(jù)的掉電保持,他們并沒有對應(yīng)的EEPROM 永久保持存儲區(qū)。當(dāng)超過
超級電容和電池供電的時間之后,這些計數(shù)器和TONR 定時器的數(shù)據(jù)全部清零。
TON 和TOF 型的定時器(T32-T63,T96-T255)沒有掉電保持?jǐn)?shù)據(jù)的功能。請不要在系統(tǒng)塊中
設(shè)置這些區(qū)域為掉電保持,如圖6 所示為錯誤做法:
圖6
按上述做法設(shè)置之后,下載系統(tǒng)塊時會導(dǎo)致如下錯誤發(fā)生:
圖7
所以請不要將T32-T63,T96-T255 的定時器設(shè)為掉電保持區(qū)域。
問題11:CPU 內(nèi)具備斷電保持性的數(shù)據(jù)區(qū)為何會丟失?
以下情況會導(dǎo)致CPU 內(nèi)數(shù)據(jù)清零:
1. 沒有插入電池卡的CPU 斷電時間過長,內(nèi)部超級電容放電完畢,TONR 區(qū)/C 區(qū)/MB14-MB31
區(qū)數(shù)據(jù)丟失,V 區(qū)和MB0-MB13 區(qū)的對應(yīng)EEPROM 內(nèi)沒有數(shù)據(jù)導(dǎo)致數(shù)據(jù)丟失,
2. 電池卡使用時間過長,使之沒電了, TONR 區(qū)/C 區(qū)/MB14-MB31 區(qū)數(shù)據(jù)丟失,V 區(qū)和MB0-
MB13 區(qū)的對應(yīng)EEPROM 內(nèi)沒有數(shù)據(jù)導(dǎo)致數(shù)據(jù)丟失,
3. 插在CPU 上的存儲卡內(nèi)程序/數(shù)據(jù)與CPU 內(nèi)部RAM 中運行的程序/數(shù)據(jù)不符,一上電時會導(dǎo)
致原有數(shù)據(jù)/程序的丟失。
4. CPU 損壞。