S7-200 每款的CPU 本身有兩種記憶體空間(根據CPU類型不同而不同,最多10239 Bytes):RAM、EEPROM。而電容或電池都是要保持RAM裡的資料。
通常寫程式時都將資料放在 V memory 的區域,如果超過了內部高性能電容或者外部電池模組的剩餘時間之後,如何保存修改過的參數( V memory)?
解答:
一旦高性能電容的時間(根據CPU類型不同而不同,最多100小時)用完,或者電池模組過期(200天),修改過的參數( V memory)就會流失。可使用一個特殊指令以防止這種情況發生。
使用以下Store_To_EEprom Library,可以在CPU中的內部EEPROM中保存完整的變數區域。
警告:
請注意,一個 EEPROM 只有100,000次~1,000,000 寫入存儲。如果超過這個值,CPU將發生故障。因此不應該以很高的頻率在 EEPROM 上寫入資料。
EEPROM服務壽命的範例:
如果以每小時在 EEPROM 上 寫入保存數值,那麼EEPROM的期望服務壽命是11到12年。
該 Store_To_EEprom Library 包含兩個不同的程式版本,其差別僅僅在於執行位址的參數(偏移量)。
重要注意事項:
每個迴圈按位元組保存資料。
如果待保存資料中存在WORD或DWORD變數,則必須確保處理過程中這些資料不發生改變。
如果發生改變,會影響資料一致性。
(技術背景:如果只保存變數的一部分,而該數值被臨時改變,那麼程式只保存缺失的剩餘部分,這將會產生損壞的變數值。相關的程式部分應當使用Busy位元鎖住。
------------------------------------------------------------------------------------------------------------------------------------------
圖1:起始位址為整數(直接保存到EPROM)
|
參數 |
變數類型 |
說明 |
|
EN |
BOOL |
必須始終為1(High) |
|
Start |
BOOL |
上升沿 (0 ->1)觸發程式執行 |
|
V_Start |
INT |
偏移量指定(起始位址) |
|
Length |
INT |
從偏移量(起始位址)開始待保存的位元組數 |
|
Memory |
INT |
用於副程式的臨時存儲區 |
|
Busy |
BOOL |
正在處理狀態1(High),程式在執行中 |
|
Done |
BOOL |
結束狀態1(High),成功完成保存 |
表1:直接定址的範例參數
------------------------------------------------------------------------------------------------------------------------------------------
圖2:執行位址為間接位址(間接保存到EPROM)
|
參數 |
變數類型 |
說明 |
|
EN |
BOOL |
必須始終為1(High) |
|
Start |
BOOL |
上升沿 (0 ->1)觸發程式執行 |
|
Address |
DWORD |
規定偏移量(起始位址); 必須由用戶預先定義; 例如 位址從VB200轉換到MD20 (間接定址) |
|
Length |
INT |
從偏移量(起始位址)開始待保存的位元組數目 |
|
Memory |
INT |
用於副程式的臨時存儲 |
|
Busy |
BOOL |
處理狀態 1 (High),程式在執行中 |
|
Done |
BOOL |
結束狀態 1 (High),成功完成保存 |
表2:間接定址的範例參數
------------------------------------------------------------------------------------------------------------------------------------------
相關副程式的說明在示例程式的注釋中給出。
STEP 7 Micro/WIN Library的存檔文件:
把檔“Store to EPROM”複製到單獨的檔夾,然後雙擊打開。STEP 7 Micro/WIN Library文件被解壓縮。然後可以合併這個Library到S7專案中,STEP 7 Micro/WIN的3.2.4.27以上版本可以使用該Library。下載包括兩個副程式,其中可以指定起始位址和從起始位址開始的待保存位元組數.
重要事項:
範例程式是免費軟體。每個用戶都可以免費使用,複製或轉發該程式。程式的作者和擁有者對於該軟體的功能性和相容性不負任何責任。使用該軟體的風險完全由用戶自行承擔。由於它是免費的,所以不提供任何擔保,錯誤糾正和熱線支援。
------------------------------------------------------------------------------------------------------------------------------------------
Siemens SIMATIC PLC S7-400 S7-300 S7-1200 S7-200 LOGO HMI 西門子 自動化
