問題1:數(shù)據(jù)塊的初始值有什么作用?
回答:數(shù)據(jù)塊的初始值僅對于一個數(shù)據(jù)塊的"離線"組態(tài)有意義。如果用戶離線創(chuàng)建了一個新的數(shù)據(jù)塊或者在離線組態(tài)的過程中在數(shù)據(jù)塊里創(chuàng)建了一個新的變量,如果用戶不做任何修改,新建的變量會使用系統(tǒng)默認值作為初始值,如果用戶為此變量了其它數(shù)值作為初始值,數(shù)據(jù)塊將會多占用相應變量長度的Load memory。在此后的操作中(數(shù)據(jù)塊的上傳及下載),只要數(shù)據(jù)塊的結構,變量的數(shù)據(jù)類型沒有發(fā)生改變,變量的初始值都沒有實際作用,只起到變量類型定義的作用。
如果用戶不給此新建的變量實際值,初始值會被用作變量的實際值。
用戶可以給變量實際值,初始值可以與實際值不同。
問題2:數(shù)據(jù)塊的實際值有什么作用?回答:數(shù)據(jù)塊中的每個變量都有自己的實際值,如果用戶不自行,系統(tǒng)將使用初始值作為變量的實際值;如果用戶自行變量的實際值,則變量的初始值與實際值可能不相同。
如果用戶在data view 視圖下,在菜單命令中執(zhí)行Edit →initialize data block,數(shù)據(jù)塊中所有變量的實際值都將被初始值覆蓋(用戶執(zhí)行此操作需要格外謹慎,需要確認不再需要數(shù)據(jù)塊中的實際值)。
#FormatImgID_1# 問題3:數(shù)據(jù)塊如何實現(xiàn)斷電保持特性?
回答:為了斷電保存數(shù)據(jù),S7-300CPU中的Work memory劃分為兩部分,其中一部分類型為RAM(斷電丟失),一部分為NVRAM(斷電保持),如果數(shù)據(jù)塊為斷電保持,則此數(shù)據(jù)塊需要占用具備斷電保持特性的Work memory部分。當CPU 經歷POWER ON→POWER OFF→ POWER ON或者RESTART過程后,數(shù)據(jù)塊中的數(shù)據(jù)不會丟失。
注意:
當用戶在S7-300CPU 項目中插入新的數(shù)據(jù)塊時,系統(tǒng)默認其屬性為斷電保持。
數(shù)據(jù)塊斷電保持是work memory 的特性,與Load memory(MMC) 無關。
問題4:具備斷電保持特性的數(shù)據(jù)塊何時會丟失當前值?回答:如下操作會導致數(shù)據(jù)塊丟失當前值
? Memory RESET 操作(手動開關操作及STEP7 中菜單操作)
? CPU在沒有MMC卡的情況下上電(實際是因為此情況導致了CPU執(zhí)行Memory RESET操作)
? 插入損壞MMC卡/錯誤MMC卡的情況下上電(實際是因為此情況導致了CPU執(zhí)行Memory RESET操作)
? CPU損壞
? 下載數(shù)據(jù)塊,且離線數(shù)據(jù)塊中的actual value 與當前數(shù)據(jù)塊中的數(shù)值不同
注意:Memory RESET操作將刪除標志位、S7 定時器和 S7 計數(shù)器地址區(qū)的值,而不管這些區(qū)域是否已定義為保持或非保持屬性。對于停止/啟動(STOP/RUN)操作模式或斷電/上電(POWER OFF/ON ),如果標志位、S7 定時器和 S7 計數(shù)器地址區(qū)已定義為保持,則保持它們的數(shù)值;否則,這些區(qū)域的數(shù)值將丟失且被初始化為“0”。
問題5:如何使MMC卡中的數(shù)據(jù)塊與Work memory中的數(shù)據(jù)塊保持一致?回答:當用戶*次將數(shù)據(jù)塊下載到CPU 后,如果用戶程序及用戶監(jiān)控/修改操作對數(shù)據(jù)塊未進行過任何修改,則MMC卡中的數(shù)據(jù)塊與Work memory中的數(shù)據(jù)塊內容是一致的(這種情況在實際應用中很少出現(xiàn))。
一般情況下,用戶程序及用戶的監(jiān)控/修改操作都會影響數(shù)據(jù)塊的當前值,此數(shù)值位于Work memory中,這樣MMC卡中的數(shù)據(jù)塊有可能與Work memory中的數(shù)據(jù)塊內容不一致。對于不同的數(shù)據(jù)塊屬性,此情況會有所不同,可分為3種:
1. 勾選了Un-linked 選項的數(shù)據(jù)塊
此數(shù)據(jù)塊只存儲于MMC卡,不存在與Work memory數(shù)據(jù)一致問題
2. 勾選了Non-Retain選項的數(shù)據(jù)塊
由于此類數(shù)據(jù)塊斷電不保持,所以在每次斷電后,Work memory中數(shù)據(jù)塊當前值丟失;CPU再上電后,MMC卡中數(shù)據(jù)塊被復制到Work memory中,兩者將保持數(shù)據(jù)一致。
3. 未勾選Non-Retain選項的數(shù)據(jù)塊
由于此類數(shù)據(jù)塊斷電保持,所以在每次斷電后,Work memory中數(shù)據(jù)塊當前值保持;CPU再上電后,MMC卡中數(shù)據(jù)塊有可能與Work memory中數(shù)據(jù)不一致。
解決辦法:
1. 需要Work memory中數(shù)據(jù)塊作為保留值:請參考問題11的操作
2. 需要MMC卡中數(shù)據(jù)塊作為保留值:執(zhí)行RESET 操作