Table of Contents

腳本

任務(Task)頁面會依照順序執行腳本,頁面排版順序為由左至右,再由上至下。

腳本工具列

個別腳本的工具列的順序(Order)欄位為執行順序,如果沒有勾選啟用,則該任務會無視執行順序被略過。

工具欄可新增、刪除腳本。

語法與功能

腳本 (Script) 中的標題 (Title) 的功能僅為註記,無其他功能,腳本的內容與標題不一定要匹配。

腳本預設為簡易模式 (Simple Mode),該模式基於C#語言並簡化部分指令;如未勾選簡易模式,則腳本使用原生C#語言。

簡易模式腳本在執行前會先轉換為C#語言再執行。

Note

基本 C# 語法

  • 指令以分號 ; 作為結束符號。
  • 可以使用 // 作為行尾註解。
  • 可以使用double.PositiveInfinitydouble.NegativeInfinity表示實數中的無限大及無限小。

簡易模式腳本範例:

RunNcFile("NC/file1.nc");
Note

簡易模式與原生C#語言(進階)

本段供有C#開發經驗的工程師參考。

腳本執行函數回傳的物件IEnumerable<Action>

撥放器在Action之間可以執行暫停(Pause)。

與簡易模式腳本範例對照的典型原生C#語言腳本範例:

IEnumerable<Action> Run(){
    foreach(var action in RunNcFile("NC/file1.nc")) yield return action;
    yield return null;
    }
return Run();

多檔案輸出樣板

在有支援路徑樣板的指令中,路徑字串裡的[NcName]會被替換為NC檔案的名稱。

Tip

指令範例

RunNcFile("NC/file1.nc");
RunNcFile("NC/file2.nc");
WriteShotFiles("Output/[NcName].shot.csv", 1);
// 輸出檔案至:
// Output/file1.nc.shot.csv
// Output/file2.nc.shot.csv
OptimizeToFiles("Cache/Opt-[NcName]");
// 輸出檔案至:
// Cache/Opt-file1.nc
// Cache/Opt-file2.nc

NC碼中的腳本指令

在註解內,以;@開頭,會在該行NC執行前執行腳本指令。

Tip

FANUC NC檔範例,在換刀時更改仿真解析度

...
G40 G17 G49 G54 G80
G91 G28 Z0.0
T01 M06 (;@MachiningResolution_mm=0.03125;)
S1270 M03
G43 Z10. H01
...