如果有兩段路徑分別是由 A 走到 B,之後又由 B 走到 C,如何讓 A->B 可以不減速到 0就可以平順的銜接走下段 B->C的路徑。
在我們的二次平台裡有個基本指令 MC_OPT (Motion Option)指令可以指令 Overlap 屬性,讓接下來的運動以重疊的方式進行。(大家自行參考ezASD 中指令說明)
而重疊的方式為前一段命令進入到減速段時,下一段的命令就可以開始啟動,而不是等到前一段命令結束(減速到0),如此就可以讓速度較為平順。
可以參考下圖最右邊圖示:
ezASD 軟體功能的介紹:
如果有兩段路徑分別是由 A 走到 B,之後又由 B 走到 C,如何讓 A->B 可以不減速到 0就可以平順的銜接走下段 B->C的路徑。
在我們的二次平台裡有個基本指令 MC_OPT (Motion Option)指令可以指令 Overlap 屬性,讓接下來的運動以重疊的方式進行。(大家自行參考ezASD 中指令說明)
而重疊的方式為前一段命令進入到減速段時,下一段的命令就可以開始啟動,而不是等到前一段命令結束(減速到0),如此就可以讓速度較為平順。
可以參考下圖最右邊圖示:
目的:為了保有使用者的應用函式庫\參數自訂群組\示波器快速設定選單..等資料,不會因為更新軟體而不見或覆蓋掉,所以讓使用者可自行決定資料的存放路徑。
使用 MSM 設定 常數資料 給 暫存器 或 變數時,雖可透過 ACC 載入 與 存出指令來做,但是需二步驟.例如,要把常數 123456 設給變數 Var_1,撰寫如下:
應用指令用於幫助開發者提升開發效率,降低開發難度,依指令架構主要分為兩大類:應用函式庫、系統物件。
兩者主要差異是,應用函式庫提供許多事先編寫好的小區塊的MSM程式碼片段,用於階梯圖與程式單元,使用者可自行擴充;系統物件則是由韌體根據特定應用提供的程式,用於程式單元,使用者不可自行擴充。
應用函式特點:
l 兩層樹狀結構,由頂層依序往下為:庫名→應用指令(API)。
l 庫提供許多事先編寫好的小區塊的MSM程式碼片段。
l 可同時用於階梯圖與程式單元,有些只能用於程式單元。
l 使用者可自行擴充。
由台達原廠提供的一套函式庫,所有應用指令均有範例專案可參考。
l 應用函式庫主要針對協助Ladder編程設計,但部分PLC屬性為X者,須使用觸發來呼叫。
l 若指令屬性標記為偵錯,可於另一個Task使用Task0Error、Task1Error、Task2Error、Task3Error來檢測是否運作中發生錯誤。
應用函式庫為雙層樹狀結構,由上往下為:庫名→應用指令(API)。應用指令會依照資料夾進行分類,不同資料夾裡的應用指令名稱不可重複,在建立應用指令前,必須先建立資料夾。
以下章節將以Step by Step帶領開發者建立一個應用指令,著重於程式開發的觀念,詳細的使用者介面操作請參考EzASD軟體操作手冊。
在〔應用函式庫〕點滑鼠右鍵,利用〔設定函式庫路徑〕確認欲存放函式的路徑後,點選〔新增函式庫〕。
輸入函式庫名稱,不分大小寫,不可以有空格。
點〔確定〕後完成,可以在函式庫路徑下找到LIB1,即為該函式庫。
在欲新增資料夾的函式庫點滑鼠右鍵,點選〔新增資料夾〕。
輸入資料夾名稱,不分大小寫。
完成。
在欲新增應用指令的資料夾點滑鼠右鍵,點選〔新增應用指令〕。
輸入應用指令名稱,不分大小寫,不可以有空格。下方的描述欄位可以輸入註釋。
完成。
應用指令由指令名稱、輸入變數、輸出變數、影響變數,四者定義而成,後三者可分別由外部指定目標變數。若有其他諸如C語言的編程經驗,其實就是方法簽名(Method Signature)的概念。
圖表 1指令ADD宣告了輸入參數in、輸出參數out、影響參數int_out
指令名稱
命名方式不區分英文字母大小寫,只能使用英文字母與數字,不可以使用空白,只能使用英文字母開頭。
輸入變數(宣告類型VAR_INPUT)
傳值,有區分英文字母大小寫,可以有多個。將來源變數的內容傳送到輸入變數,不會影響來源變數。
輸出變數(宣告類型VAR_OUTPUT)
傳值,有區分英文字母大小寫,可以有多個。應用指令的程式碼運作完成後,會將計算結果傳送到指定的目標變數。
影響變數(宣告類型VAR_IN_OUT)
傳址,有區分英文字母大小寫,可以有多個。應用指令的程式運作時,直接對目標變數進行操作。
宣告輸入變數、輸出變數、影響變數
在編輯應用指令時配置Local Symbol,宣告類型會多出三個選擇VAR_INPUT、VAR_OUTPUT、VAR_IN_OUT,其他狀態開啟MSM程式單元,類型只能配置VAR(區域變數)。
應用指令程式
應用指令的程式相較其他MSM程式單元,除了多了Method Signature概念外,並沒有什麼不同。
滑鼠左鍵雙擊應用指令。
開啟MSM程式編輯器,上方提示正在編輯的應用指令,與編輯MSM程式單元略有不同。
點選Local Symbol配置區的〔+〕號。
輸入〔名稱〕,點選〔…〕選擇〔型態〕,配置〔宣告類型〕。
配置三個變數,注意類別與資料型態。
鍵入以下程式碼,程式碼將提供一個相加的指令s1 + s2 = d。
如下圖建立一個階梯圖,並拉入上一小節建立好的應用指令,結果:DV0.0 = ON的時候會將 var1 + var2 傳送到 var3。
PR程序
使用者填寫PR表的名稱(如Demo),系統會自動命名產生相關的全域符號、PR函式表和一個待觸發程式單元。
同時,使用者得決定好「PR程序總數」和每個PR程序最多會使用到多少參數個數,即「PR參數個數」。其中PR參數名稱依序為Demo[1],Demo[2]…等DWORD型態。
步驟2.
雙擊PR表所指定的函式表會打開如下的函式表設定視窗。
使用者可先在「函式清單」中新增函式(如底下FnA、FnB)並在此視窗中各「函式編號」指定對應的函式。
函式表格的大小也可在此視窗的「配置」按鈕獲得重新指定。
函式內容可取得使用者指定的PR參數(如Demo[1],Demo[2]…)
步驟3.
使用者得在適當的地方觸發由PR表自動產生的「待觸發程式單元」(如Demo_pr)。
該「待觸發程式單元」內容已經由系統自動填寫PR程序運作等必需的處理流程。
步驟 4.
編譯->下載->Run後,可在PR表右鍵選單將該PR表加到監控面板。
Demo_idx變數指定目前運行的PR編號。
如下產生5組PR程序,其PR程序編號分別為PR#01, PR#02, PR#03, PR#04, PR05。
每組PR程序可指定運行的函式編號,並填入給該函式參考的PR參數(如Para_1,Para_2,Para_3)。
此PR參數即對應到函式所處理的@Demo[1],@Demo[2],@Demo[3]。
此外,針對每組PR程序可指定下一筆即將運行的PR程序編號,即Next PR。
其中”-1”表示使用下一筆PR程序編號,而”0”表示停止。
以下圖為例,運行結果可得到DV100的值是30。
產生下載檔步驟;
1首先必須打開機器運行的專案檔.
2.專案樹機器滑鼠右鍵點選【產生下載檔】
3.下載檔的程式區和DV區將由專案檔成功編譯後提供,其餘資料將由機器取得,所以產生下載檔之前,機器裡必須是該專案成功編譯下載過的,
否則會產生”Error!Project is not match!”的錯誤訊息。
之後,使用者可勾選相關選像後按”OK”。
4.輸入下載檔檔名,預設檔名是:專案檔檔名.ez2。
點選存檔後將開始編譯專案並從機器取得資料後產生該下載檔。
下載程式;
下載程式為獨立的可執行檔,已打包成ASDToolkit.zip並附於EzASD執行檔目錄;
使用者可將其解開單獨使用下載功能,內含ASDToolkit.exe,mfc120u.dll,msvcr120.dll,zLib1.dll等四個檔案。
EzASD則可由工具/下載檔下載呼叫ASDToolkit.exe執行下載的功能
下載檔下載步驟:;
主要分成底下操作步驟(如下圖所示)
1. 打開下載檔
2. 勾選欲下載的選項
3. 執行下載
此外,本程式亦可用左下角【Gernerate *.ez2】按鈕讀取機器的資料產生資料下載檔
Q: | 要怎麼反映 EzASD的Bug和提出建議呢? |
A: | 使用迴響 |