產地類別 | 進口 | 應用領域 | 化工,電子 |
---|---|---|---|
產地 | 德國 | 品牌 | 西門子 |
數據塊有可能與Work memory中的數據塊內容不*。對于不同的數據塊屬性,此情況會有所不同,可分為3種:
1. 勾選了Un-linked 選項的數據塊
此數據塊只存儲于MMC卡,不存在與Work memory數據*問題
2. 勾選了Non-Retain選項的數據塊
由于此類數據塊斷電不保持,所以在每次斷電后,Work memory中數據
參考價 | 面議 |
更新時間:2022-02-24 11:41:25瀏覽次數:442
聯系我們時請說明是化工儀器網上看到的信息,謝謝!
西門子NCU數控主板6FC5247-0AA06-0AA0
問題1:數據塊的初始值有什么作用?
回答:數據塊的初始值僅對于一個數據塊的"離線"組態(tài)有意義。如果用戶離線創(chuàng)建了一個新的數據塊或者在離線組態(tài)的過程中在數據塊里創(chuàng)建了一個新的變量,如果用戶不做任何修改,新建的變量會使用系統(tǒng)默認值作為初始值,如果用戶為此變量了其它數值作為初始值,數據塊將會多占用相應變量長度的Load memory。在此后的操作中(數據塊的上傳及下載),只要數據塊的結構,變量的數據類型沒有發(fā)生改變,變量的初始值都沒有實際作用,只起到變量類型定義的作用。
如果用戶不給此新建的變量實際值,初始值會被用作變量的實際值。
用戶可以給變量實際值,初始值可以與實際值不同。
問題2:數據塊的實際值有什么作用?
回答:數據塊中的每個變量都有自己的實際值,如果用戶不自行,系統(tǒng)將使用初始值作為變量的實際值;如果用戶自行變量的實際值,則變量的初始值與實際值可能不相同。
如果用戶在data view 視圖下,在菜單命令中執(zhí)行Edit →initialize data block,數據塊中所有變量的實際值都將被初始值覆蓋(用戶執(zhí)行此操作需要格外謹慎,需要確認不再需要數據塊中的實際值)。
問題3:數據塊如何實現斷電保持特性?
回答:為了斷電保存數據,S7-300CPU中的Work memory劃分為兩部分,其中一部分類型為RAM(斷電丟失),一部分為NVRAM(斷電保持),如果數據塊為斷電保持,則此數據塊需要占用具備斷電保持特性的Work memory部分。當CPU 經歷POWER ON→POWER OFF→ POWER ON或者RESTART過程后,數據塊中的數據不會丟失。
注意:
當用戶在S7-300CPU 項目中插入新的數據塊時,系統(tǒng)默認其屬性為斷電保持。
數據塊斷電保持是work memory 的特性,與Load memory(MMC) 無關。
問題4:具備斷電保持特性的數據塊何時會丟失當前值?
回答:如下操作會導致數據塊丟失當前值
? Memory RESET 操作(手動開關操作及STEP7 中菜單操作)
? CPU在沒有MMC卡的情況下上電(實際是因為此情況導致了CPU執(zhí)行Memory RESET操作)
? 插入損壞MMC卡/錯誤MMC卡的情況下上電(實際是因為此情況導致了CPU執(zhí)行Memory RESET操作)
? CPU損壞
? 下載數據塊,且離線數據塊中的actual value 與當前數據塊中的數值不同
注意:Memory RESET操作將刪除標志位、S7 定時器和 S7 計數器地址區(qū)的值,而不管這些區(qū)域是否已定義為保持或非保持屬性。對于停止/啟動(STOP/RUN)操作模式或斷電/上電(POWER OFF/ON ),如果標志位、S7 定時器和 S7 計數器地址區(qū)已定義為保持,則保持它們的數值;否則,這些區(qū)域的數值將丟失且被初始化為“0"。
問題5:如何使MMC卡中的數據塊與Work memory中的數據塊保持*?
回答:當用戶*次將數據塊下載到CPU 后,如果用戶程序及用戶監(jiān)控/修改操作對數據塊未進行過任何修改,則MMC卡中的數據塊與Work memory中的數據塊內容是*的(這種情況在實際應用中很少出現)。
一般情況下,用戶程序及用戶的監(jiān)控/修改操作都會影響數據塊的當前值,此數值位于Work memory中,這樣MMC卡中的數據塊有可能與Work memory中的數據塊內容不*。對于不同的數據塊屬性,此情況會有所不同,可分為3種:
1. 勾選了Un-linked 選項的數據塊
此數據塊只存儲于MMC卡,不存在與Work memory數據*問題
2. 勾選了Non-Retain選項的數據塊
由于此類數據塊斷電不保持,所以在每次斷電后,Work memory中數據塊當前值丟失;CPU再上電后,MMC卡中數據塊被復制到Work memory中,兩者將保持數據*。
3. 未勾選Non-Retain選項的數據塊
由于此類數據塊斷電保持,所以在每次斷電后,Work memory中數據塊當前值保持;CPU再上電后,MMC卡中數據塊有可能與Work memory中數據不*。
解決辦法:
1. 需要Work memory中數據塊作為保留值:請參考問題11的操作
2. 需要MMC卡中數據塊作為保留值:執(zhí)行RESET 操作
1) 即將推出
2) 部分電機zui高轉速達到 4000 轉/分,具體參考產品樣本 NC81
安全轉矩停止功能(STO)
基于驅動器的安全轉矩停止(STO)功能能夠防止機床的意外移動并*符合歐洲安全標準規(guī)定(符合 SIL2,EN618005-2 標準)。
西門子NCU數控主板6FC5247-0AA06-0AA0
問題6:數據塊的“Non-Retain"“Un-linked"屬性對于數據塊的內存占用有何影響?
回答: S7-300 CPU從版本V2.0.12開始,開始支持具備“Non-Retain"屬性的數據塊。S7-300 CPU中的Work memory劃分為兩部分,其中一部分類型為RAM(斷電丟失),一部分為NVRAM(斷電保持),有關 CPU 中可供保持數據塊使用的主存儲器空間信息,可參看手冊“S7-300 CPU 31xC and CPU 31x, Technical Data"的第六章和第七章,條目 ID: 12996906。
數據塊的屬性對于數據塊的內存占用影響情況請參考下表:
內存區(qū)域 | Load memory | Work memory | Work memory (Retentive ) | |
數據塊屬性 | ||||
Non-Retain不勾選(系統(tǒng)默認) | 是 | 否 | 是 | |
Non-Retain勾選 | 是 | 是 | 否 | |
Un-linked | 是 | 否 | 否 |
以CPU 315(6ES7-315-2EH13-0AB0, Firmware V2.6.7)為例,其Work memory 共256KB,其中可以斷電保持的Work memory共128KB, 而Load memory 取決于所使用MMC的容量。用戶可以下載的具備斷電保持屬性的數據塊總量為128KB;如果用戶還需要使用更多的數據塊,可以新建數據塊,并在其屬性中勾選Non-Retain選項,則另外還可以下載128KB數據(如果考慮到用戶程序還需要占用此部分的Work memory,所以實際使用中達不到此數值);如果用戶還需要使用更多的數據塊,可以新建數據塊,并在其屬性中勾選Un-linked 選項,則此數據塊只存儲于MMC中,用戶可以使用SFC83/84 對其進行讀寫。
問題7:用戶下載數據塊時,其過程是什么樣的?
回答:以下列出了用戶下載數據塊時,3種常見過程
1. 數據塊屬性中勾選了Un-linked 選項
2. 數據塊屬性中未勾選Un-linked 選項,未勾選Non-Retain選項
Download | | |
3. 數據塊屬性中未勾選Un-linked 選項,勾選Non-Retain選項
Download |
問題8:用戶使用STEP7監(jiān)視/修改(monitor/modify)的數據塊中的數值,位于什么存儲區(qū)?
回答:用戶使用STEP7監(jiān)視(monitor)功能時,讀到的數值來自于CPU的Work memory。用戶使用STEP7修改(modify)功能時,修改的是位于CPU的Work memory中的數據塊的數值。
注意:使用monitor/modify 無法修改MMC卡中的initial value及Actual value
注意:使用monitor/modify 無法監(jiān)控Un-linked類型數據塊
問題9:用戶使用STEP7中Upload Station to PG操作時,數據塊來自于什么存儲區(qū)?
回答:當用戶使用STEP7中Upload Station to PG操作時,數據塊的Initial value來自于load memory中的Initial value;數據塊的actual value來自于work memory中的actual value;
問題10:如何讀出MMC中數據塊的Actual value?
回答:有時候用戶需要將實時運行數據按照特定規(guī)律歸檔,即使CPU損壞或者CPU復位操作也不會造成這些數據丟失,這些數據可以定期(或根據用戶程序編制需求)通過SFC84存儲到MMC 卡上(不推薦使用Copy RAM to ROM功能,此操作需要CPU停機)。當用戶需要將這些數據時,就需要將這些數據塊的Actual value讀出。用戶無法通過使用STEP7中Upload Station to PG操作實現此功能。為了實現此功能,用戶可以通過兩種方法實現:
1. 使用西門子讀卡器,通過菜單命令File → memory card →open 打開MMC文件夾,將其中的數據塊復制到另一個S7 Block 文件夾中,則此文件夾中的數據塊中的Actual value是來自于MMC中數據塊的Actual value。
2. 使用SFC83,通過程序將MMC中數據塊的Actual value寫至某個數據塊中,上載此數據塊,則此數據塊中的Actual value與MMC中數據塊的Actual value相同(注意:僅僅是數值相同)
問題11:如何將CPU數據塊中當前值作為參數保存到項目中?
回答:建議用戶為參數數據塊新建一個S7 program文件夾,以方便日后的調試工作。
方法1步驟:
1. 打開原來項目中的數據塊,在菜單中選擇File → Open online,則打開了在線數據塊,
2. 在菜單中選擇File → Store Read-Only,在提示界面下,選擇新建的S7 Promgram/Blocks文件夾。則此數據塊被以只讀的方式存儲,用戶可以監(jiān)視此數據塊,但無法在計算機上修改其Actual value。其屬性為Block read-only。
3. 將此數據塊下載到CPU中(完成對MMC卡的覆蓋)。
缺點:備份數據塊在STEP7 編輯環(huán)境下為只讀屬性,數據塊與普通數據塊操作不同,日后更改困難
優(yōu)點:備份數據塊在STEP7 編輯環(huán)境下為只讀屬性,不會被錯誤更改
方法2步驟:
1. 將在線的CPU中的數據塊復制到新建的S7 program/Blocks文件夾中,
2. 將此數據塊下載到CPU中(完成對MMC卡的覆蓋)。
缺點:備份數據塊沒有變量名及注釋,不便于識別
優(yōu)點:備份數據塊與普通數據塊操作相同
方法3步驟:
1. 將在線的CPU中的數據塊復制到新建的S7 program/Blocks文件夾中,
2. 在菜單中選擇PLC → Copy RAM to ROM(完成對MMC卡的覆蓋)。
缺點:會導致CPU停機(Copy RAM to ROM操作),備份數據塊沒有變量名及注釋,不便于識別,操作會影響所有的數據塊,所有數據塊load memory中的actual value都將被work memory 中的actual value覆蓋。
問題12:如何使CPU數據塊中當前值不被程序更改?
回答:用戶可以將數據塊的DB is write-protected in the PLC屬性勾選并下載。
問題13:STEP 7功能“Copy RAM to ROM"有何作用?
回答:Copy RAM to ROM會把work memory 中的數據塊數值寫至MMC卡中數據快的 actual value 中。
問題14:使用SFC 82有何注意事項?
回答:SFC 82只能生成 Non-Retain,UN-Linked ,read-only 類型的數據塊
SFC 82可能需要多個掃描周期才可完成,觸發(fā)調用SFC82后,需要把觸發(fā)條件復位
SFC 82對MMC卡有寫操作,MMC 僅允許進行 100,000 次寫訪問,超過此次數,MMC卡將損壞
問題15:使用SFC 83有何注意事項?
回答:SFC 83可能需要多個掃描周期才可完成,觸發(fā)調用SFC83后,需要把觸發(fā)條件復位
SFC 83多用于讀取UN-Linked類型的數據塊
問題16:使用SFC 84有何注意事項?
回答:SFC 84可能需要多個掃描周期才可完成,觸發(fā)調用SFC84后,需要把觸發(fā)條件復位
SFC 84對MMC卡有寫操作,MMC 僅允許進行 100,000 次寫訪問,超過此次數,MMC卡將損壞
SFC 84多用于寫UN-Linked類型的數據塊,對于斷電保持的數據塊也可以進行寫操作,但只有在CPU復位的情況下才可查看到SFC84后一次寫操作的數值。
參考例子:
例子1:如果生成變量,并使用默認值,其源代碼將不包含初始值
源代碼:
DATA_BLOCK DB 6
TITLE =
VERSION : 0.1
STRUCT
test1 : INT ; //初始值為默認值時,都為此類格式
test2 : INT := 1234;
test3 : INT := 1234;
END_STRUCT ;
BEGIN
test1 := 0;
test2 := 1234;
test3 := 1234;
END_DATA_BLOCK