通過參數(shù)實例可將函數(shù)塊的實例傳送到其它塊(FB 或 FC)中進行進一步處理,如數(shù)據(jù)查詢、錯誤分析,甚至使用由被傳遞實例執(zhí)行的函數(shù)塊。
ARRAY 多重實例可用于組合相同類型的對象,并在程序循環(huán)中對這些實例的下標(biāo)進行處理。ARRAY 下標(biāo)元素可作為參數(shù)實例傳送到其它塊中。
在以下示例中,使用對象“Valve”(FB_Valve) 進行詳細說明。在此,顯示了程序塊(本示例中為“FB_ValveControl”)中進行閥處理的所有相關(guān)信息。
下圖顯示了所需的特性以及具體的應(yīng)用方式:
使用函數(shù)“FC_StatusValve”和“FC_MaintainValve”,對調(diào)用時接收到的“FB_Valve”程序塊的參數(shù)實例繼續(xù)處理。
在“FB_ValveControl”程序塊中,可使用 ARRAY 多重實例對現(xiàn)有的閥的數(shù)量進行聲明,同時通過各種函數(shù)對循環(huán)程序中的所有閥進行管理。
說明 完整性 該解決方案示例僅用于說明如何實現(xiàn)指定的任務(wù)。請注意,在實際任務(wù)中需要對程序代碼進行相應(yīng)調(diào)整。 |
在本示例中,需要使用以下程序塊:
塊 | 說明 | 編程語言 |
---|---|---|
FB_ValveControl | 該函數(shù)塊將用作一個控制塊,可通過一個多重實例 ARRAY 對所有閥進行處理。 | SCL |
FB_Valve | 該函數(shù)塊中包含閥數(shù)據(jù)的定義以及進行閥處理的程序代碼。 |
SCL (在程序塊“FB_ValveControl”中,將用到這三個程序塊。) |
FC_StatusValve | 該函數(shù)將返回當(dāng)前所處理閥的狀態(tài)。 | |
FC_MaintainValve | 該函數(shù)用于檢查閥是否需要維護。如果需要,將執(zhí)行維護操作,并在維護完成時返回函數(shù)值 TRUE。 |
操作步驟:創(chuàng)建“FB_Valve”
要創(chuàng)建該 SCL 函數(shù)塊,請執(zhí)行以下操作步驟:
雙擊“新增塊”(Add new block) 命令。 “新增塊”(Add new block) 對話框隨即打開。 單擊“函數(shù)塊 (FB)”(Function block (FB)) 按鈕。 輸入名稱“FB_Valve”。 選擇 SCL 編程語言。 單擊“確定”(OK)。 基于可打開和關(guān)閉的閥進行塊接口聲明,如下所示: 編寫閥控制程序代碼,如下所示: |
操作步驟:創(chuàng)建“FC_StatusValve”
要創(chuàng)建 SCL 函數(shù)塊“FC_StatusValve”,請執(zhí)行以下操作步驟:
雙擊“添加新塊”(Add new block) 命令。 “新增塊”(Add new block) 對話框隨即打開。 單擊“函數(shù) (FC)”(Function (FC)) 按鈕。 輸入名稱“FC_StatusValve”。 選擇 SCL 編程語言。 單擊“確定”(OK)。 使用參數(shù)實例“FB_Valve”組合聲明該塊接口,如下所示: 編寫程序代碼,如下所示: |
操作步驟:創(chuàng)建“FC_MaintainValve”
要創(chuàng)建 SCL 函數(shù)塊“FC_MaintainValve”,請執(zhí)行以下操作步驟:
雙擊“添加新塊”(Add new block) 命令。 “新增塊”(Add new block) 對話框隨即打開。 單擊“函數(shù) (FC)”(Function (FC)) 按鈕。 輸入名稱“FC_MaintainValve”。 選擇 SCL 編程語言。 單擊“確定”(OK)。 使用參數(shù)實例“FB_Valve”組合聲明該塊接口,如下所示: 編寫程序代碼,如下所示: |
操作步驟:創(chuàng)建“FB_ValveControl”
要創(chuàng)建該 SCL 函數(shù)塊,請執(zhí)行以下操作步驟:
雙擊“新增塊”(Add new block) 命令。 “新增塊”(Add new block) 對話框隨即打開。 單擊“函數(shù)塊 (FB)”(Function block (FB)) 按鈕。 輸入名稱“FB_ValveControl”。 選擇 SCL 編程語言。 單擊“確定”(OK)。 定義用戶常量: 在本示例中,可通過用戶常量“vmax”快速更改程序中的閥數(shù)量。 使用“FB_Valve”中的閥實例組合聲明該塊接口,如下所示: 編寫程序代碼,如下所示: |
操作步驟:調(diào)用 OB 1 中的“FB_ValveControl”
要調(diào)用 OB 1 中的函數(shù)塊“FB_ValveControl”,請執(zhí)行以下操作步驟:
雙擊打開“Main [OB1]”塊。 使用拖放操作,將函數(shù)塊“FB_ValveControl”添加到 OB 1 中。 |
結(jié)果
每個程序循環(huán)中處理一個閥。系統(tǒng)將對下標(biāo)選定的相應(yīng)閥進行處理和狀態(tài)查詢。必要時,可進行相應(yīng)維護。
在本示例中,每個循環(huán)處理一個閥。當(dāng)然,也可以在一個程序循環(huán)中處理所有的閥,但循環(huán)時間會相對延長。如果要縮短程序循環(huán)時間,則不建議在一個程序循環(huán)中執(zhí)行所有處理。
審核編輯:湯梓紅
-
西門子
+關(guān)注
關(guān)注
93文章
2958瀏覽量
114832 -
參數(shù)
+關(guān)注
關(guān)注
11文章
1661瀏覽量
31877 -
編程語言
+關(guān)注
關(guān)注
10文章
1916瀏覽量
34379 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4237瀏覽量
61969 -
SCL
+關(guān)注
關(guān)注
1文章
239瀏覽量
16991
原文標(biāo)題:西門子博途:多重實例 ARRAY 中參數(shù)實例的使用示例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論