西門子1200/1500PLC32G存儲卡
S7-1200存儲卡作為傳輸卡使用時,如何選擇存儲卡的大?客戶查看了項目文件夾的大小,發現其很大,有4-5MB,那么是不是在選擇存儲卡時需要根據這個大小選擇呢?
答案是否定的,因為此文件夾中不僅包含項目文件本身,還包含一些輔助文件,并不需要傳輸到存儲卡里,所以這個選擇依據是錯誤的。
那么究竟該如何選擇呢?首先,需要了解如下背景知識:
S7-1200的內部存儲區分為工作存儲區、裝載存儲區和保持性存儲區三種。
裝載存儲區是非易失性存儲區。用于存儲用戶項目文件(用戶程序、數據和組態)。在不插存儲卡時,用戶使用TIA Portal軟件下載項目即是下載到裝載存儲區中。
注意:對于S7-1200,存儲卡不是必須的。即使使用大容量的存儲卡,也無法擴展裝載存儲區。
所以用戶的項目所占存儲區的大小不會超過S7-1200裝載存儲區的最大限制。
由此可知,S7-1200的程序不會超過4MB,所以無論那款CPU,選擇4MB的存儲卡作為傳輸卡已經足夠。
那么如何查看用戶項目需要存儲區的大小呢?
如果想知道目前程序所占用的存儲區空間,可以通過TIA Portal軟件的資源窗口查看。在軟件左側的結構樹中,用鼠標右擊“程序塊”選擇“調用結構”,如下圖所示:
然后選擇“資源”標簽,彈出資源窗口,如下圖所示:
MMC常見問題列表
2.1如何確定STEP7中的工程項目需要使用多大空間的MMC卡?
Answer :確定控制程序所需的MMC卡的大小,可以按以下步驟進行:
1. 在STEP7 Manager中打開的Project;
2. 選中的程序塊,點擊鼠標右鍵(或快捷鍵Alt + Enter),打開程序塊的屬性頁面:

圖1 屬性頁面
3. 選擇彈出窗口中的Blocks頁面:
從上圖中可以看出的全部程序塊在PLC中占用裝載內存的字節數。
4. 將項目中所有程序塊(OB、FC、FB、DB)占用裝載內存(Load Memory Requirement)和系統數據(Syestem data memory)占用的裝載內存的數量加在一起:
得到的總的字節數量在除以1024,就可以知道Project中的程序塊需要多大的MMC卡空間。
5. 如果已經有Siemens的PLC和MMC,那么可以通過在線診斷,獲取PLC工作內存和裝載內存(MMC卡)的使用情況。
在STEP7 Manager界面中,選中CPU,用CP5611或PC-Adapter連接PLC的MPI通訊口,使用快捷鍵Ctrl + D,彈出PLC的診斷信息窗口:
當MMC卡未插入PLC中時:

圖2 信息頁面
因為PLC中沒有插入MMC卡,Load memory RAM + EPROM列為空,Work Memory列中顯示當前PLC的工作內存為48K,EPROM是S7-400、舊款S7-300使用的裝載內存卡;
在PLC中插入MMC卡時,
使用快捷鍵Ctrl + D彈出PLC的內存使用情況:

圖3 內存屬性
可以看出PLC的內存使用情況為0%,空余128K裝載內存和48K工作內存;
將的程序下載到PLC當中:

圖4 下載按鈕
使用Ctrl + D彈出PLC的內存使用情況:

圖5 屬性頁面
可以看出,的控制程序在PLC中對裝載內存和工作內存的占用情況。
2.2 MMC卡上存儲程序塊或數據塊的限制是什么?
ANSWER:
是的,下載到MMC卡的塊數目見如下表格:
類型
|
MLFB
|
最多的塊數目
|
MMC 64KB
|
6ES7953-8LF20-0AA0
|
768
|
MMC 128KB
|
6ES7953-8LG20-0AA0
|
1024
|
MMC 512KB
|
6ES7953-8LJ30-0AA0
|
2560
|
MMC 2MB
|
6ES7953-8LL20-0AA0
|
6528
|
MMC 4MB
|
6ES7953-8LM20-0AA0
|
12672
|
表 2: 在MMC卡中的最大塊數
2.3 如何刪除MMC卡上的數據或程序?
ANSWER:
可以使用如下方法刪除MMC卡上的數據:
1. 需要被刪除的MMC卡插在PLC插槽內。
2. 在SIMATIC管理器界面(SIMATIC Manager),通過"View > Online"或者點擊
3.
圖標切換到在線模式。
4. 在在線模式下選擇
。
5. 選擇需要刪除的塊.
6. 點擊鍵盤上的DEL刪除按鍵(刪除操作需要進行確認).
2.4 31X型PLC插入MMC卡后,STOP燈不停閃爍,怎么辦? 或如何格式化MMC?
ANSWER:
在CPU中的MMC卡沒有格式化或者存在CPU無法識別的信息(例如組態另外一種PLC或者與現有CPU不兼容的系統)時,CPU的停止燈會閃爍
注意:
當格式化MMC卡時,MMC卡內所有數據都會丟失。
格式化MMC的步驟:
1. CPU 請求完全復位 (STOP燈慢閃).
2. CPU需要完全格式化(STOP燈慢閃)。
3. 把模式選擇開關選擇到MRES位置并保持九秒鐘左右直到停止燈常亮。
4. 需要在3秒內放開選擇開關然后把開關撥至MRES位置,在格式化過程中停止燈會閃爍。
如果按照如上操作不能格式化MMC卡,MMC卡有可能已經損壞。
注意:
如上方法僅僅適用于MMC卡內部存在的信息對于PLC無效的情況。
2.5 插入MMC卡的S7300 PLC不能正常調用SFC54程序塊?
ANSWER:
在新型的S7-300 CPU中SFC 54 "RD_DPRARM "已經被SFC 102 "RD_DPARA".所代替。
SFC 102 "RD_DPARA", 對比于舊的 SFC 54 "RD_DPARM" 是一個異步執行的系統功能. 這意味著程序的執行中會有多次的sfc的調用.
包含 SFC 54 "RD_DPARM" 的程序無法下載到使用MMC卡的PLC中. 因此需要用 SFC 102 "RD_DPARA" 替代SFC 54 "RD_DPARM",并且針對異步執行調整程序的邏輯.
下表為兩個功能塊的對比:
SFC 54 "RD_DPARM"
|
SFC 102 "RD_DPARA"
|
說明
|
Inputs
|
|
---
|
REQ
|
當REQ=1時程序執行; SFC 102的新參數
|
IOID
|
---
|
該參數已在SFC 102中取消; 見LADDR
|
LADDR
|
LADDR
|
SFC 54: 任何塊地址, ((B#16#54=外設輸入; B#16#55= 外設輸出) SFC 102: 任何塊地址; LADDR的高位(BIT 15) Bit15=0 ->外設輸入Bit15=1 ->外設輸出
|
RECNUM
|
RECNUM
|
數據記錄號
|
Output
|
|
RET_VAL
|
RET_VAL
|
如果在功能激活時出錯,
|
則返回值包含故障代碼。SFC 102 包含更多的錯誤信息
|
---
|
BUSY
|
BUSY=1; 任務尚未結束
|
RECORD
|
RECORD
|
所獲取數據記錄的目標區域。只允許字節數據
|
類型。
|
表 3: SFC 54 和 SFC 102的對比
2.6 采用MMC卡的S7300和C7613,635系列CPU是如何完成數據保持功能的?
ANSWER:
如下描述的數據保持功能對使用MMC卡的CPU有效,當PLC改變操作模式時數據塊,定時器計數器和中間變量的數據保持屬性。
數據塊:
• CPU 停止/運行 或者 電源 關/開
1. 保留數據塊中的內容在重啟和電源開/關時始終保留?梢愿鶕ぷ鞔鎯ζ髟试S的最大限制將保持數據塊上載到工作存儲器。在 V2.0.12 和更高版本的 CPU 中,也支持非保持數據塊。每當執行重新啟動或切斷電源然后再次打開時,都將使用非保持數據塊的初始值從裝載存儲器中初始化非保持數據塊?梢愿鶕畲蠊ぷ鞔鎯ζ鞯南拗苼硌b載非保持數據塊和代碼塊。

2. 設置非保持數據塊操作為:
o 在數據塊的屬性中選擇"Non-Retain"
o 通過 SFC 82 "CREA-DBL"生成的數據塊. 在參數ATTRIB中BIT2 用來表明數據塊的保持屬性,1為不保持,0為保持.
• 內存復位(MRES)
1. 在裝載存儲器的內容將會復位為初始值
2. 在裝載存儲器內的塊不變,工作內存的數據復位為初始值.
• CPU 斷電 -> 插卡 -> 上電 -> 斷電 -> 插卡 -> 上電
1. 數據恢復為裝載存儲器的數值. 數值為從編程器下載到CPU的數值,或者使用SFC84寫入的數值。
2. 所有的塊都保持不變。在工作內存的數值被初始化。
Note:
如需要保持當前值, 可用SFC84保存數據在MMC卡內,注意MMC 卡只允許進行 100,000次寫訪問。
M區,計數器和定時器:
這些值可以在硬件組態內進行設定保持或者非保持: "Object properties CPU > remanence".
• CPU STOP/RUN 或者 電源OFF/ON
如果設定為保持,數據將會保留,否則會被初始化為0.
• 內存復位(MRES)
這些變量將會清零,不論設定為保持還是非保持。
• CPU Power OFF -> Remove MMC -> Power ON -> Power OFF -> Insert MMC -> Power ON
如果設置為保持則保留否則被初始化為0。
2.7 在數據塊的屬性中非保持是什么作用?
ANSWER:
在數據塊的屬性中非保持是在"General - Part 2" 標簽頁?梢酝ㄟ^該選項進行保持或者非保持的設定。