配方數(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ù): | 100 |
采購(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)前值覆蓋,。