一、首先我們簡要了解下cpu的存儲結(jié)構(gòu),cpu的存儲區(qū)分為兩大類:
1.ram
易失型,需要供電為使其中的數(shù)據(jù)保持
存放的數(shù)據(jù)類型:v區(qū)、m區(qū)、t區(qū)、c區(qū)和工作存儲區(qū)
2.eeprom
數(shù)據(jù)永久保持型,就是我們常說的斷電保持型
存放的數(shù)據(jù)類型:v區(qū)、m區(qū)(默認(rèn)為mb0—mb13,可設(shè)置)、某些c和plc程序(包括程序塊,系統(tǒng)塊,數(shù)據(jù)塊)
其中,ram中的數(shù)據(jù)在斷電后根據(jù)型號不同可以保持50--100小時,主要是通過cpu內(nèi)部超級電容放電來提供電源,如果需要長時間保持?jǐn)?shù)據(jù)則需要插入電池卡,可保持200天。電池卡訂貨號:6es7291—8ba20—0xa0又叫bc293
二、我們再來了解下cpu永久存儲的原理
我們通常說的plc斷電可保持存儲區(qū)只的都是,斷電時可將數(shù)據(jù)存入eeprom中,即只有v區(qū)和m區(qū)(在系統(tǒng)塊中可以設(shè)置)才可以;當(dāng)cpu斷電瞬間,設(shè)置好的v區(qū)和m區(qū)會瞬間將數(shù)據(jù)寫入eeprom中,當(dāng)再次上電cpu會將eeprom中的數(shù)據(jù)再寫到對應(yīng)v區(qū)和m區(qū)中,實現(xiàn)永久保存。
三、現(xiàn)在我們來詳細(xì)介紹s7-200cpu內(nèi)永久保持型存儲區(qū)eeprom的方法
1.m區(qū):mb0--mb13(默認(rèn)設(shè)置),只需在系統(tǒng)塊----斷電數(shù)據(jù)保持---設(shè)置成自己需要的存儲區(qū)即可,下載時需要將下載系統(tǒng)塊進(jìn)plc中。
先編寫程序如下,監(jiān)控,都對mb0和vb0寫入3然后關(guān)掉電源
然后再上電,監(jiān)控mb0數(shù)據(jù)依舊保持為3vb0數(shù)據(jù)變?yōu)?
2.v區(qū):通過smb31和smb32來實現(xiàn)
smb31和smw32是s7-200一個特殊寄存器,專門用于將v區(qū)寫入eeprom
smb31為傳輸請求和存儲類型
smw32為存儲的v區(qū)位置
詳細(xì)說明請參考上圖或在“幫助”搜索“smb31”
使用方法:編寫程序如下
1.將“3”寫入”vb50”
2.激活v10.0將vb50中的數(shù)據(jù)對應(yīng)的存入eeprom中
3.斷電再上電,仍舊保持
3.t與c的斷電保持
計數(shù)器(c)和tonr型定時器可以斷電保持,但是無法寫入eeprom中,是通過ram存儲,需要電池卡供電。
ton(t32-63)和tof(t96-t55)類型定時器無法斷電保持,請不要再系統(tǒng)塊中設(shè)置這些存儲區(qū),否則下載程序是會報錯。
4.數(shù)據(jù)塊中編寫
原理和初始化類似,每當(dāng)上電后,數(shù)據(jù)塊中寫的數(shù)據(jù)會自動寫入對應(yīng)的存儲區(qū)中,下載時要將數(shù)據(jù)塊下載到plc中。
在數(shù)據(jù)塊中將“3”寫入vb0
編寫程序
下載到cpu,監(jiān)控,vb0的值即為3而vb1為0