列出配方示例程序的先決條件
1.一個(gè)存儲(chǔ)所有配方記錄的配方數(shù)據(jù)塊。配方數(shù)據(jù)塊存儲(chǔ)在裝載存儲(chǔ)器中。
2.在工作存儲(chǔ)器中存儲(chǔ)一個(gè)配方副本的活動(dòng)配方數(shù)據(jù)塊。
>>>>
創(chuàng)建活動(dòng)配方數(shù)據(jù)塊
1.在“添加新塊”(Add new block)窗口中:
2.在“添加新塊”(Add new block) 窗口中,選擇“數(shù)據(jù)塊”(Data block)按鈕
3.在“類型”(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í)行,不在程序邏輯中引用。
>>>>
示例配方程序
程序段 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)前值覆蓋。
責(zé)任編輯:彭菁
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7452瀏覽量
163604 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6890瀏覽量
88826 -
控制指令
+關(guān)注
關(guān)注
0文章
14瀏覽量
5371 -
示例程序
+關(guān)注
關(guān)注
0文章
6瀏覽量
5501
原文標(biāo)題:西門子PLCS7-1200/1500配方實(shí)例程序
文章出處:【微信號(hào):PLC與自控設(shè)備,微信公眾號(hào):PLC與自控設(shè)備】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論