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