一、首先我們簡要了解下CPU的存儲結構,CPU的存儲區分為兩大類: 1.RAM 易失型,需要供電為使其中的數據保持 存放的數據類型:V區、M區、T區、C區和工作存儲區 2.EEPROM 數據保持型,就是我們常說的斷電保持型 存放的數據類型:V區、M區(默認為MB0—MB13,可設置)、某些C和plc程序(包括程序塊,系統塊,數據塊) 其中,RAM中的數據在斷電后根據型號不同可以保持50--100小時,主要是通過CPU內部超級電容放電來提供電源,如果需要長時間保持數據則需要插入電池卡,可保持200天。電池卡訂貨號:6ES7 291—8BA20—0XA0 又叫BC293 二、我們再來了解下CPU存儲的原理 我們通常說的PLC斷電可保持存儲區只的都是,斷電時可將數據存入EEPROM中,即只有V區和M區(在系統塊中可以設置)才可以;當CPU斷電瞬間,設置好的V區和M區會瞬間將數據寫入EEPROM中,當再次上電CPU會將EEPROM中的數據再寫到對應V區和M區中,實現保存。 三、現在我們來詳細介紹S7-200 CPU內保持型存儲區EEPROM的方法 1.M區:MB0--MB13(默認設置),只需在系統塊----斷電數據保持---設置成自己需要的存儲區即可,下載時需要將下載系統塊進PLC中。 先編寫程序如下,監控,都對MB0和VB0寫入3 然后關掉電源 然后再上電,監控MB0數據依舊保持為3 VB0數據變為0 2. V區:通過SMB31和SMB32來實現 SMB31和SMW32是S7-200一個特殊寄存器,專門用于將V區寫入EEPROM SMB31為傳輸請求和存儲類型 SMW32為存儲的V區位置 詳細說明請參考上圖或在“幫助"搜索“SMB31" 使用方法:編寫程序如下 1. 將“3"寫入"VB50" 2. 激活V10.0 將VB50中的數據對應的存入EEPROM中 3. 斷電再上電,仍舊保持 3. T與C的斷電保持 計數器(C)和TONR型定時器可以斷電保持,但是無法寫入EEPROM中,是通過RAM存儲,需要電池卡供電。 TON(T32-63)和TOF(T96-T55)類型定時器無法斷電保持,請不要再系統塊中設置這些存儲區,否則下載程序是會報錯。 4.數據塊中編寫 原理和初始化類似,每當上電后,數據塊中寫的數據會自動寫入對應的存儲區中,下載時要將數據塊下載到PLC中。 在數據塊中將 “3"寫入VB0 編寫程序 下載到CPU,監控,VB0的值即為3 而VB1為0 |