A3/M-R 如何讓兩段路徑銜接不減速到零

如果有兩段路徑分別是由 A 走到 B,之後又由 B 走到 C,如何讓 A->B 可以不減速到 0就可以平順的銜接走下段 B->C的路徑。

在我們的二次平台裡有個基本指令 MC_OPT (Motion Option)指令可以指令 Overlap 屬性,讓接下來的運動以重疊的方式進行。(大家自行參考ezASD 中指令說明)

而重疊的方式為前一段命令進入到減速段時,下一段的命令就可以開始啟動,而不是等到前一段命令結束(減速到0),如此就可以讓速度較為平順。

可以參考下圖最右邊圖示:

Read more

ezASD 記憶體分區大小調整 的方法

PLC 記憶體分區調整小圖示

台達 M-R/A3 伺服 內建的 PLC 記憶體,包含許多分區,各區 大小可以調整,雙擊 ezASD 軟體 專案面板 中 “分區大小調整“(如下圖 ),直接拖曳 圖中的指針 或於 分區欄位 輸入數值 即可調整各區的大小:

Read more

函式庫操作

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

兩者主要差異是,應用函式庫提供許多事先編寫好的小區塊的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

EzASD PR表說明

PR程序

步驟1.
clip_image002

clip_image004
在專案樹的「PR表」右鍵選單中新增PR表(如上)。

使用者填寫PR表的名稱(如Demo),系統會自動命名產生相關的全域符號、PR函式表和一個待觸發程式單元。

同時,使用者得決定好「PR程序總數」和每個PR程序最多會使用到多少參數個數,即「PR參數個數」。其中PR參數名稱依序為Demo[1],Demo[2]…等DWORD型態。

步驟2.
雙擊PR表所指定的函式表會打開如下的函式表設定視窗。
使用者可先在「函式清單」中新增函式(如底下FnA、FnB)並在此視窗中各「函式編號」指定對應的函式。
函式表格的大小也可在此視窗的「配置」按鈕獲得重新指定。

clip_image006

函式內容可取得使用者指定的PR參數(如Demo[1],Demo[2]…)

clip_image008

步驟3.

clip_image010

使用者得在適當的地方觸發由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。

clip_image012

方案複製工具說明

產生下載檔步驟;

1首先必須打開機器運行的專案檔.

2.專案樹機器滑鼠右鍵點選【產生下載檔】

clip_image001

3.下載檔的程式區和DV區將由專案檔成功編譯後提供,其餘資料將由機器取得,所以產生下載檔之前,機器裡必須是該專案成功編譯下載過的,

否則會產生”Error!Project is not match!”的錯誤訊息。

projectisnotmatch

之後,使用者可勾選相關選像後按”OK”。

clip_image003

 

 

 

4.輸入下載檔檔名,預設檔名是:專案檔檔名.ez2。

點選存檔後將開始編譯專案並從機器取得資料後產生該下載檔。

clip_image005

下載程式;

下載程式為獨立的可執行檔,已打包成ASDToolkit.zip並附於EzASD執行檔目錄;

使用者可將其解開單獨使用下載功能,內含ASDToolkit.exe,mfc120u.dll,msvcr120.dll,zLib1.dll等四個檔案。

EzASD則可由工具/下載檔下載呼叫ASDToolkit.exe執行下載的功能

clip_image006

下載檔下載步驟:

主要分成底下操作步驟(如下圖所示)

1. 打開下載檔

2. 勾選欲下載的選項

3. 執行下載

此外,本程式亦可用左下角【Gernerate *.ez2】按鈕讀取機器的資料產生資料下載檔

clip_image008