函式庫操作

應用指令用於幫助開發者提升開發效率,降低開發難度,依指令架構主要分為兩大類:應用函式庫、系統物件。

兩者主要差異是,應用函式庫提供許多事先編寫好的小區塊的MSM程式碼片段,用於階梯圖與程式單元,使用者可自行擴充;系統物件則是由韌體根據特定應用提供的程式,用於程式單元,使用者不可自行擴充。

  image

1.1. 應用函式庫

應用函式特點:

l 兩層樹狀結構,由頂層依序往下為:庫名→應用指令(API)。

l 庫提供許多事先編寫好的小區塊的MSM程式碼片段。

l 可同時用於階梯圖與程式單元,有些只能用於程式單元。

l 使用者可自行擴充。

1.2. 官方應用函式庫ASD

由台達原廠提供的一套函式庫,所有應用指令均有範例專案可參考。

l 應用函式庫主要針對協助Ladder編程設計,但部分PLC屬性為X者,須使用觸發來呼叫。

l 若指令屬性標記為偵錯,可於另一個Task使用Task0Error、Task1Error、Task2Error、Task3Error來檢測是否運作中發生錯誤。

1.3. 擴充應用函式庫

應用函式庫為雙層樹狀結構,由上往下為:庫名→應用指令(API)。應用指令會依照資料夾進行分類,不同資料夾裡的應用指令名稱不可重複,在建立應用指令前,必須先建立資料夾。

以下章節將以Step by Step帶領開發者建立一個應用指令,著重於程式開發的觀念,詳細的使用者介面操作請參考EzASD軟體操作手冊。

1.1.1. 新增應用函式庫

在〔應用函式庫〕點滑鼠右鍵,利用〔設定函式庫路徑〕確認欲存放函式的路徑後,點選〔新增函式庫〕。

 

image

輸入函式庫名稱,不分大小寫,不可以有空格。

 

image

 

點〔確定〕後完成,可以在函式庫路徑下找到LIB1,即為該函式庫。

image

 

1.1.1. 新增資料夾

在欲新增資料夾的函式庫點滑鼠右鍵,點選〔新增資料夾〕。

 

輸入資料夾名稱,不分大小寫。

image

完成。

imageimage

1.1.1. 新增應用指令

在欲新增應用指令的資料夾點滑鼠右鍵,點選〔新增應用指令〕。

image

輸入應用指令名稱,不分大小寫,不可以有空格。下方的描述欄位可以輸入註釋。

image

完成。

image

1.1.1. 撰寫應用指令
1.1.1.1. 應用指令撰寫概念

應用指令由指令名稱、輸入變數、輸出變數、影響變數,四者定義而成,後三者可分別由外部指定目標變數。若有其他諸如C語言的編程經驗,其實就是方法簽名(Method Signature)的概念。

image

圖表 1指令ADD宣告了輸入參數in、輸出參數out、影響參數int_out

指令名稱

命名方式不區分英文字母大小寫,只能使用英文字母與數字,不可以使用空白,只能使用英文字母開頭。

輸入變數(宣告類型VAR_INPUT)

傳值,有區分英文字母大小寫,可以有多個。將來源變數的內容傳送到輸入變數,不會影響來源變數。

輸出變數(宣告類型VAR_OUTPUT)

傳值,有區分英文字母大小寫,可以有多個。應用指令的程式碼運作完成後,會將計算結果傳送到指定的目標變數。

影響變數(宣告類型VAR_IN_OUT)

傳址,有區分英文字母大小寫,可以有多個。應用指令的程式運作時,直接對目標變數進行操作。

宣告輸入變數、輸出變數、影響變數

在編輯應用指令時配置Local Symbol,宣告類型會多出三個選擇VAR_INPUT、VAR_OUTPUT、VAR_IN_OUT,其他狀態開啟MSM程式單元,類型只能配置VAR(區域變數)。

image

應用指令程式

應用指令的程式相較其他MSM程式單元,除了多了Method Signature概念外,並沒有什麼不同。

1.1.1.1. 開始編輯應用指令

滑鼠左鍵雙擊應用指令。

image

開啟MSM程式編輯器,上方提示正在編輯的應用指令,與編輯MSM程式單元略有不同。

image

 

1.1.1.1. 配置輸入變數、輸出變數

點選Local Symbol配置區的〔+〕號。

image

輸入〔名稱〕,點選〔…〕選擇〔型態〕,配置〔宣告類型〕。

image

配置三個變數,注意類別與資料型態。

image

1.1.1.1. 撰寫應用指令程式

鍵入以下程式碼,程式碼將提供一個相加的指令s1 + s2 = d。

 

image

1.1.1.1. 使用自訂的應用指令

如下圖建立一個階梯圖,並拉入上一小節建立好的應用指令,結果:DV0.0 = ON的時候會將 var1 + var2 傳送到 var3。

 

 

image

image

發表迴響