在項目中創建的配方數據塊,存儲在 CPU 裝載存儲器中,可以使用內部 CPU 存儲器或外部存儲器"程序"卡
程序中創建一個活動配方數據塊,此 DB 塊在工作存儲器中,其中使用程序邏輯讀取或寫入一個活動配方記錄
為了方便配方數據的導入導出,建議建立 2 個活動配方數據塊分別用于配方的導入和導出
為方便通過外部設備對某一條配方數據實現讀取和寫入,建議創建一個 DB 塊作為數據應用接口
下面,舉例說明用 S7-1200 實現配方的寫入和讀取功能。為方便配方數據操作,按照下圖思路進行項目編程:
測試環境:
軟件:STEP 7 Professional V13 SP1
硬件:CPU1215 C DC/DC/DC 訂貨號:6ES7 215-1AG40-0XB0
實現步驟
1.定義一個 PLC 數據類型
配方數據塊包含一維數組,結構是 PLC 數據類型或結構。在這個配方實例中使用 PLC 數據類型創建配方數據塊,其成分的數據類型在本例中選擇是 DINT 數據類型。 成分數據類型也可以是除結構以外的混合數據類型(如 REAL 類型)。 在配方數據塊數組元素中,不允許 PLC 數據類型中存在結構,也不允許結構中嵌套結構。
在此,創建一個 PLC 數據類型,以定義一個配方記錄中的所有成分,如配方名稱 Name 和各成分 A、B,見圖 2 所示:
圖2.定義 PLC 數據類型
數據類型是一個數據模板,它在每個配方數據塊以及活動配方數據塊中重復使用。輸入所有實例配方共用的成分名稱和數據類型,根據分配給配方成分的數值不同而產生不同的產品配方。
2.使用 PLC 數據類型創建配方數據塊
140DDI84100C 140DDI84100C
創建一個配方數據塊,為全局數據塊,并啟用數據塊屬性"僅存儲在裝載存儲器中"。本例中,配方數據 DB 塊名稱為 “Recipe_backup”,插入數組類型變量,名稱"Recipe",數據類型為Array of “數據類型”,本例中設置數組大小 4 即是可創建的配方的數目。