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