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