配方數(shù)據(jù)塊存儲(chǔ)在裝載存儲(chǔ)器中。
2.在工作存儲(chǔ)器中存"/>
西門子: | 西門子工業(yè)交換機(jī)代理商 |
西門子工業(yè)交換機(jī): | 西門子工業(yè)交換機(jī)一級(jí)代理 |
德國(guó): | 西門子工業(yè)交換機(jī)授權(quán)代理 |
單價(jià): | 面議 |
發(fā)貨期限: | 自買家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 上海寶山 |
有效期至: | 長(zhǎng)期有效 |
發(fā)布時(shí)間: | 2023-12-13 20:55 |
最后更新: | 2023-12-13 20:55 |
瀏覽次數(shù): | 88 |
采購(gòu)咨詢: |
請(qǐng)賣家聯(lián)系我
|
下面列出了配方示例程序的先決條件:
1.一個(gè)存儲(chǔ)所有配方記錄的配方數(shù)據(jù)塊。配方數(shù)據(jù)塊存儲(chǔ)在裝載存儲(chǔ)器中。
2.在工作存儲(chǔ)器中存儲(chǔ)一個(gè)配方副本的活動(dòng)配方數(shù)據(jù)塊。
1、創(chuàng)建活動(dòng)配方數(shù)據(jù)塊
在“添加新塊”(Add new block) 窗口中,選擇“數(shù)據(jù)塊”(Data block)按鈕,
在“類型”(Type) 下拉菜單中,選擇您先前創(chuàng)建的“Beer_recipe”PLC數(shù)據(jù)類型。
不需要起始值。在將一個(gè)配方從配方數(shù)據(jù)塊傳送到活動(dòng)配方數(shù)據(jù)塊時(shí),數(shù)據(jù)塊數(shù)據(jù)值將置位。在本實(shí)例中,活動(dòng)配方數(shù)據(jù)塊是 READ_DBL 的目標(biāo)數(shù)據(jù)并為 WRITE_DBL 提供源數(shù)據(jù)。下圖顯示 Active_Recipe 數(shù)據(jù)塊。
▲ 背景數(shù)據(jù)塊
指令RecipeExport ("RecipeExport_DB") 和Recipeimport ("Recipeimport_DB") 使用的背景數(shù)據(jù)塊是在將指令置于程序中時(shí)自動(dòng)創(chuàng)建的。 背景數(shù)據(jù)塊用于控制指令的執(zhí)行,不在程序邏輯中引用。
2、示例配方程序
程序段 1 REQ 上升沿啟動(dòng)導(dǎo)出過程。CSV 文件由配方數(shù)據(jù)塊數(shù)據(jù)生成并被置于 CPU存儲(chǔ)器配方文件夾。
程序段 2 捕獲 RecipeExport 執(zhí)行的 STATUS輸出,考慮到該指令僅在一個(gè)掃描周期內(nèi)有效。
程序段 3 REQ 上升沿啟動(dòng)導(dǎo)入過程。 現(xiàn)有配方數(shù)據(jù)塊載入讀取自 CPU存儲(chǔ)器配方文件夾的相應(yīng) CSV 文件中的所有配方數(shù)據(jù)。
程序段 4 捕獲 Recipeimport 執(zhí)行的 STATUS輸出,考慮到該指令僅在一個(gè)掃描周期內(nèi)有效。
程序 5 READ_DBL 從配方“Recipe_DB”中復(fù)制起始值。 結(jié)果值[1](在 CPU 的裝載存儲(chǔ)器中)至 Active_Recipe DB 的當(dāng)前值(在 CPU 的工作內(nèi)存中)。READ_DBL 執(zhí)行后,程序邏輯通過在 Active_Recipe 數(shù)據(jù)塊中尋址可以訪問配方成分值。
例如,符號(hào)地址("Active_Recipe".productname)和 ("Active_Recipe.water) 為程序邏輯提供當(dāng)前配方名稱和用水量。
程序段 6 運(yùn)行期間,HMI 設(shè)備可以修改 Active_Recipe 數(shù)據(jù)塊中存儲(chǔ)的成分值。可以通過執(zhí)行 WRIT_DBL 存儲(chǔ)改進(jìn)的配方數(shù)據(jù)。 本例中,Recipe_DB 的全部起始值都用于這一個(gè)配方 "Recipe_DB"。 結(jié)果值 [1] 被 "Active_Recipe" 數(shù)據(jù)塊中的當(dāng)前值覆蓋。