Page 1
SYNTEC
OpenCNC PLC 發展工具
操作手冊
By: SYNTEC
Date: 2012/11/20
Version: 2.15
I
Page 2
1. 修正 Page74 系統內定警報對應暫存器編號
2. 修正 R1013,R1015 說明為關機後清除
3. 更新 C,S,R 說明為 10.63 規格
1. 新增 RS232 相關元件說明
2. 新增 M/T Code 呼叫 MACRO 說明
3. 新增 R 暫存器間接定值說明
4. 修改 PLC 警報觸發方式說明
5. 修改編輯軟體操作說明
1. 修正 M 碼同時執行功能範例說明
2. 修正 MST 碼簡易範例說明
1. 修正 6.3 中 R13 的表格
2. 修正 6.4 中 R16 的表格
1. 新增 MODR 傳送 Modbus 讀取指令說
明到 2.11.6
2. 新增 MODW傳送 Modbus寫入指令說
明到 2.11.7
1. MODR 與 MODW 範例以 MSD 表示
版本更新記錄
II
Page 3
Contents
1 編輯軟體介紹 ........................................................................................................ 1
1.1 軟體下載 ..................................................................................................... 1
1.2 軟體安裝 ..................................................................................................... 1
1.3 軟體操作 ..................................................................................................... 2
1.3.1 按鈕功能區 ....................................................................................... 3
1.3.2 指令區 ................................ .............................................................. 4
1.3.3 指令編輯區 ....................................................................................... 4
1.3.4 參數輸入欄 ....................................................................................... 4
1.3.5 鍵盤操作說明 ................................................................................... 4
1.3.6 元件註解區 ....................................................................................... 5
1.3.7 元件索引區 ....................................................................................... 5
2 編輯軟體元件使用說明 ........................................................................................ 6
2.1 接點元件 (Contact Operation) ...................................................................... 6
2.1.1 常開接點( Normal Open Contact) ................................................. 6
2.1.2 常閉接點( Normal Close Contact) ................................................ 6
2.1.3 連結線( Connector) ....................................................................... 6
2.2 線圈元件 (Coil Operation) ........................................................................... 7
2.2.1 常開線圈 (Normal Open Coil) ........................................................... 7
2.2.2 常閉線圈 (Normal Closed Coil) ......................................................... 7
2.2.3 正緣觸發脈衝線圈 (Positive Edge Triggered Coil)............................ 7
2.2.4 負緣觸發脈衝線圈 (Negative Edge Triggered Coil) .......................... 8
2.2.5 保持線圈 (Latch Coil) ....................................................................... 8
2.2.6 復歸線圈 (Unlatch Coil) .................................................................... 8
2.3 算數運算元件 (Arithmetic Operation)) ........................................................ 9
2.4 比較元件 (Compare Operation) .................................................................. 10
2.5 資料搬移元件 (Move Operation) ............................................................... 11
2.6 邏輯運算元件 (Logic Operation) ............................................................... 12
2.7 定時器元件 (Timer) ................................................................................... 13
2.8 計數器元件 (Counter) ................................................................................ 14
2.8.1 單程計數器 (One Way Counter) ...................................................... 14
2.8.2 循環計數器 (Ring Counter) ............................................................. 14
2.8.3 計數器復歸 (Counter Reset) ............................................................ 15
2.9 流程相關元件 (Flow Operation) ................................................................ 16
2.9.1 符號標記 (Label) ............................................................................. 16
2.9.2 程式跳躍 (Jump) ............................................................................. 16
2.9.3 副程式呼叫 (Jump Subroutine) ...................................................... 16
III
Page 4
2.9.4 副程式呼叫返回 (Return) ................................................................ 16
2.9.5 程式結束 (End) ................................................................................ 17
2.9.6 快速 PLC 程式掃描 (Fast PLC) ....................................................... 17
2.10 CNC 相關元件 (CNC Operation) .............................................................. 19
2.10.1 刀庫旋轉 (Rotate) .......................................................................... 19
2.10.2 PLC 軸控制元件 (PLC Axis) .......................................................... 20
2.10.3 鍵盤掃描 ...................................................................................... 22
2.10.4 PLC 座標教導系統 ........................................................................ 24
2.11 RS232 相關元件 (RS232 Operation) ......................................................... 27
2.11.1 RS232/RS485 傳輸指令 ................................................................ 27
2.11.2 ASCII 字元轉換成數字 ................................................................. 32
2.11.3 數字轉換成 ASCII 字元 ............................................................... 34
2.11.4 數值寫入暫存器 ........................................................................... 36
2.11.5 從暫存器讀出數值 ....................................................................... 37
2.11.6 Modbus 讀取指令 .......................................................................... 38
2.11.7 Modbus 寫入指令 .......................................................................... 39
2.11.8 自行設定 Modbus 指令 ................................................................ 48
2.12 R 暫存器間接定值功能說明 ................................ .................................... 51
3 PLC 元件說明 ...................................................................................................... 52
4 M/S/T 碼 ............................................................................................................... 53
4.1 M/S/T 碼功能目的 ..................................................................................... 53
4.2 M/S/T 碼動作流程 ..................................................................................... 54
4.3 如何撰寫 M/S/T 碼 ................................ ................................................... 55
4.3.1 基本規則 ........................................................................................ 55
4.3.2 簡易範例 ........................................................................................ 55
4.4 M/T 碼呼叫巨集 (MACRO)功能 ................................................................ 59
4.4.1 M 碼呼叫巨集 (MACRO)功能使用設定 ......................................... 59
4.4.2 T 碼呼叫巨集 (MACRO)功能使用設定 .......................................... 60
4.5 補充說明 ................................................................................................... 61
4.5.1 同一單節有 G/M 碼時 .................................................................... 61
4.5.2 多個 M 碼同時執行功能 ................................................................ 63
5 如何運用 PLC 發出警報視窗 ............................................................................. 65
5.1 系統內定警報 ........................................................................................... 65
5.1.1 系統內定警報觸發方式 ................................................................. 66
5.2 自訂警報 ................................................................................................... 67
5.2.1 PLC 警報規格 ................................................................................. 67
5.2.2 自訂警報觸發方式 ......................................................................... 68
5.2.3 DOS 版本檔案編輯 ......................................................................... 68
IV
Page 5
5.2.4 WinCE 版本檔案編輯 ..................................................................... 68
6 操作面版應用範例 .............................................................................................. 70
6.1 模式選擇 (R13) .......................................................................................... 70
6.2 主軸速率百分比 (R15) .............................................................................. 71
6.3 MPG / INJOG 段數 (R14)與 G00 速率百分比 (R18) ................................... 72
6.4 G01 速率百分比 (R16)與 JOG 速率百分比 (R17) ...................................... 73
6.5 MPG 模擬 /MPG Simulation(C20) .............................................................. 74
6.6 程式空跑 /Dry Run(C42)............................................................................ 74
6.7 選擇性停止 /Optional Stop(C44) ................................................................ 75
6.8 選擇性跳躍 /Optional Skip (C41) ............................................................... 75
6.9 單節執行 /Single Block(C40) ..................................................................... 76
6.10 機械鎖定 /Machine Lock(C43) ................................................................. 76
6.11 緊急停止 /Emergency Stop(C36) ............................................................. 77
6.12 面板 JOG 鍵 ............................................................................................ 77
6.13 程式啟動 (C0)與程式暫停 (C1) ................................................................ 78
6.14 原點復歸 ................................................................................................. 78
6.15 三軸 XYZ 正負極限 (Over Travel) ........................................................ 79
6.16 主軸正逆轉、停止 .................................................................................. 80
6.17 夾頭與夾爪方向 ...................................................................................... 81
7 銑床斗笠式刀庫應用範例 ................................................................................... 83
7.1 M 碼說明 ................................................................................................... 83
7.1.1 M 碼定義總表 ................................................................................. 83
7.1.2 M 碼操作規格說明 ......................................................................... 84
7.1.3 M 碼技術規格說明 ......................................................................... 85
7.1.4 M 碼機械狀態圖 (MSD) .................................................................. 87
7.2 T 碼說明 .................................................................................................... 88
7.2.1 T 碼操作規格說明 ........................................................................... 88
7.2.2 T 碼技術規格說明 ........................................................................... 88
7.2.3 T 碼呼叫巨集 (MACRO)功能使用說明 .......................................... 88
7.2.4 T 碼動作流程圖 .............................................................................. 89
7.2.5 T0000 範例 ...................................................................................... 90
7.2.6 T 碼機械狀態圖 (MSD) ................................................................... 91
7.3 S 碼說明 ..................................................................................................... 92
7.3.1 S 碼操作規格說明 ........................................................................... 92
7.3.2 S 碼技術規格說明 ........................................................................... 92
7.3.3 S 碼機械狀態圖 (MSD) .................................................................... 92
8 常用 C/S/R 整理 .................................................................................................. 93
8.1 軸向相關 ................................................................................................... 93
V
Page 6
8.2 主軸相關 ................................................................................................... 96
8.3 MST 通道與多群組 ................................................................................... 97
VI
Page 7
VII
Page 8
Page 9
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
1 編輯軟體介紹
1.1 軟體下載
請進入新代網站 http://www.syntecclub.com.tw ,完成線上註冊手續並收
到密碼後,即可至下載專區 => 控制器軟體專區 => 開放式工具下載
階梯圖(PLC) 編輯程式的軟體工具。
1.2 軟體安裝
系統需求:
個人電腦:80486 以上的中央處理器。
作業系統:NT4.0 以上的版本,視窗九五以上的版本(需事先安裝 IE3.0 及
以上版本)。
硬碟空間:需至少 10MB 以上的硬碟空間。
執行 LadEdit_vx.xx.x.msi 並依畫面指示,即可完成安裝程序。
安裝完成後,依序點選『開始』 => 『程式集』 => 『OpenCNC 』 =>
『 MLCEdit.exe』,即可開啟編輯軟體。
1
Page 10
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
按鈕功能區 下拉式功能區 指令區
指令編輯區
元件註解區
元件索引區
1.3 軟體操作
如下圖所示,編輯軟體畫面共有四個區域:按鈕功能區、下拉式功
能區、指令區、指令編輯區、元件註解區與元件索引區。
2
Page 11
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
開啟新檔:
開啟新的檔案
開啟舊檔:
開啟以儲存之檔案
儲存檔案
加入新註解
:
將游標移至要加入註解的位置按下新
註解,出現對話框,即可輸入註解。
語法檢查
:
協助使用者檢查程式是否存
在語法錯誤。
插入行 :
移到欲插入的位置,按下插入,就可
新增單行。
尋找下一個
:
尋找相同元件的下一筆,可選擇此鍵
或按 F3 。
尋找:
可尋找元件位址,如要繼續搜尋請按
F3 。
貼上 :
將所複製或剪下內
容貼上。
複制 :
複制所標記起來的區塊
剪下 :
剪下所標記起來的區塊
刪除元件
:
刪除所標記起來的區塊
回覆:
回覆上一個動作
重作:
重作上一個動作
開啟新檔:
開啟新的檔案
開啟舊檔:
開啟以儲存之檔案
儲存檔案
加入新註解
:
將游標移至要加入註解的位置按下新
註解,出現對話框,即可輸入註解。
語法檢查
:
協助使用者檢查程式是否存
在語法錯誤。
插入行 :
移到欲插入的位置,按下插入,就可
新增單行。
尋找下一個
:
尋找相同元件的下一筆,可選擇此鍵
或按F3 。
尋找:
可尋找元件位址,如要繼續搜尋請按
F3 。
貼上 :
將所複製或剪下內
容貼上。
複制 :
複制所標記起來的區塊
剪下 :
剪下所標記起來的區塊
刪除元件
:
刪除所標記起來的區塊
回覆:
回覆上一個動作
重作:
重作上一個動作
1.3.1 按鈕功能區
按鈕功能區共有以下 14 項功能。
3
Page 12
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
1.3.2 指令區
指令區提供 72 種元件可供使用者應用,詳細說明請參閱後續章節。
1.3.3 指令編輯區
可進行 PLC 編輯之區塊。
1.3.4 參數輸入欄
選擇指令元件後,在程式編輯區適當位置按滑鼠左鍵後,會出現如
下圖所示之元件參數設定視窗,請輸入適當數值後,將滑鼠移至確認按
鈕處按下滑鼠左鍵即完成指令元件輸入動作。
1.3.5 鍵盤操作說明
Page Up : 編輯視窗時移動游標位置前一頁。
Page Down : 編輯視窗時移動游標位置後一頁。
Home : 將游標移至最左端。
End : 將游標移至最右端。
Delete : 刪除游標所在的元件。
↑ ↓ : 游標在編輯區時,可移動游標上下。
← → : 游標在編輯區時,可利動游標左右。
F3 : 在位址搜尋時,本鍵可往下繼續搜尋。
4
Page 13
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
1.3.6 元件註解區
於元件註解區按下滑鼠右鍵即可進行元件註解,短註解至多 8 位
元,並可顯示於指令編輯區,長註解字數不受限,但無法出現於指令編
輯區中。此外此區塊亦為元件總表,方便使用者確認元件使用情形。
1.3.7 元件索引區
此區塊將列出所選擇元件之相關位址,利用滑鼠左鍵快速點擊兩
下,即可快速跳躍該元件所在位址處。
5
Page 14
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
2 編輯軟體元件使用說明
2.1 接點元件 (Contact Operation)
2.1.1 常開接點( Normal Open Contact)
1. 圖示:
2. 說明:俗稱為 a 接點。常開接點平時不導通,有訊號時才導通。
3. 容量: I 點 / O 點 /C 點 /S 點 /A 點 /定時器 /計數器各有 512 點, R 暫存器則有
65535 個,其中 R0~R639 可於 PLC 中,進行 32 位元之存取,例如:
R50.0 ~ R50.31。
2.1.2 常閉接點( Normal Close Contact)
1. 圖示:
2. 說明:俗稱為 b 接點。常閉接點平時導通,有訊號時不導通。
3. 容量: I 點 / O 點 /C 點 /S 點 /A 點 /定時器 /計數器各有 512 點, R 暫存器則有
65535 個,其中 R0~R639 可於 PLC 中,進行 32 位元之存取,例如:
R50.0 ~ R50.31。
2.1.3 連結線( Connector)
1. 圖示:
2. 說明:用於連通其它元件。
6
Page 15
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.2 線圈元件 (Coil Operation)
2.2.1 常開線圈 (Normal Open Coil)
1. 圖示
2. 說明:當輸入訊號為ON,輸出為 ON;當輸入訊號為 OFF,則輸出為 OFF。
3. 容量: O 點 /C 點 /S 點 /A 點 /定時器 /計數器各有 512 點, R 暫存器則有
65535 個,其中 R0~R639 可於 PLC 中,進行 32 位元之存取,例如:
R50.0 ~ R50.31。
2.2.2 常閉線圈 (Normal Closed Coil)
1. 圖示
2. 說明:當輸入訊號為 ON,則輸出為 OFF;當輸入訊號為 OFF,則輸出為
ON。
3. 容量: O 點 /C 點 /S 點 /A 點 /定時器 /計數器各有 256 點, R 暫存器則有
65535 個,其中 R0~R639 可於 PLC 中,進行 32 位元之存取,例如:
R50.0 ~ R50.31。
2.2.3 正緣觸發脈衝線圈 (Positive Edge Triggered Coil)
1. 圖示
2. 說明:當輸入訊號由 OFF 變成 ON 時,輸出一個脈衝信號。一個脈衝信號
之週期時間代表 PLC 軟體程式執行一個循環所需之掃描時間。
3. 容量: O 點 /C 點 /S 點 /A 點 /定時器 /計數器各有 512 點, R 暫存器則有
65535 個,其中 R0~R639 可於 PLC 中,進行 32 位元之存取,例如:
R50.0 ~ R50.31。
7
Page 16
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.2.4 負緣觸發脈衝線圈(Negative Edge Triggered Coil)
1. 圖示
2. 說明:當輸入訊號由 ON 變成 OFF 時,輸出一個脈衝信號。一個脈衝信號
之週期時間,代表 PLC 之軟體程式執行一個循環所需之掃描時間。
3. 容量: O 點 /C 點 /S 點 /A 點 /定時器 /計數器各有 512 點, R 暫存器則有
65535 個,其中 R0~R639 可於 PLC 中,進行 32 位元之存取,例如:
R50.0 ~ R50.31。
2.2.5 保持線圈 (Latch Coil)
1. 圖示
2. 說明:當輸入訊號 ON 時,輸出為 ON 且一直保持 ON。
3. 容量: O 點 /C 點 /S 點 /A 點 /定時器 /計數器各有 256 點, R 暫存器則有
65535 個,其中 R0~R639 可於 PLC 中,進行 32 位元之存取,例如:
R50.0 ~ R50.31。
2.2.6 復歸線圈 (Unlatch Coil)
1. 圖示
2. 說明:當輸入訊號 ON 時,輸出為 OFF 且一直保持 OFF。
3. 容量: O 點 /C 點 /S 點 /A 點 /定時器 /計數器各有 512 點, R 暫存器則有
65535 個,其中 R0~R639 可於 PLC 中,進行 32 位元之存取,例如:
R50.0 ~ R50.31。
8
Page 17
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
2.3 算數運算元件 (Arithmetic Operation))
1. 圖示
PS:符號左邊為 R1 ;右邊則為 R2 。
2. 說明:
I. 每當輸入訊號 ON 時,執行算數運算。#表示常數,其輸入範圍為-32768
到 32767。
II. 本元件可支援 R 暫存器間接定值功能。
9
Page 18
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.4 比較元件(Compare Operation)
1. 圖示
PS:符號左邊為 R1 ;右邊則為 R2 。
2. 說明:
I. 當比較結果為成立(真,True)時,輸出訊號為 ON;當比較的結果為不
成立(假,False)時,輸出訊號為 OFF。#表示常數,其輸入範圍為-32768
到 32767。
II. 本元件可支援 R 暫存器間接定值功能。
10
Page 19
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.5 資料搬移元件(Move Operation)
1. 圖示
PS:符號左邊為 R1 ;右邊則為 R2 。
2. 說明:
I. 每當輸入訊號 ON 時,執行搬移動作。#表示常數,其輸入範圍為-32768
到 32767。
II. 本元件可支援 R 暫存器間接定值功能。
III. 若欲填入數值超過上述範圍,請參考下圖方式作輸入。
11
Page 20
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
2.6 邏輯運算元件 (Logic Operation)
1. 圖示
PS:符號左邊為 R1 ;右邊則為 R2 。
2. 說明:每當輸入訊號 ON 時,執行邏輯運算。每一個 R 暫存器數值均為 32
位元 (bit)形式,因此每次運算,均針對 32 位元 (bit)單獨執行邏輯運算。
12
Page 21
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.7 定時器元件(Timer)
1. 圖示
2. 說明:每當輸入訊號由OFF 變 ON,且一直保持 ON 時,該定時器就開始持
續計時。當定時器到達設定時間時,輸出訊號為 ON ,其相對的定時
器接點亦為 ON 。當輸入信號為 OFF 時,計時器停止計時,輸出訊號
為 OFF 。其相對的定時器接點亦為 OFF 。
3. 容量:常數設定定時器+暫存器設定定時器共有 256 個 (TM0~TM255)。
13
Page 22
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.8 計數器元件 (Counter)
2.8.1 單程計數器 (One Way Counter)
1. 圖示
2. 說明:
I. 每當輸入訊號由 OFF 變 ON 時,計數器向上增加(向下減少)一次,直
到計數器數值到達目標值才停止計數。當計數器到達目標值時,輸出訊
號為 ON 。其相對計數器接點亦為 ON 。
II. 向上計數器的初始值為 0 ,目標值為暫存器或常數之數值;向下計數器
的初始值為暫存器或常數之數值,目標值為 0 。
3. 容量:常數設定計數器+暫存器設定計數器共有 256 個(CT0~CT255) 。
2.8.2 循環計數器(Ring Counter)
1. 圖示
2. 說明:
I. 每當輸入訊號由 OFF 變 ON 時,計數器向上增加(向下減少)一次,直到
計數器數值到達目標值才停止計數。當計數器到達目標值時,輸出訊號
為 ON 。其相對計數器接點亦為 ON 。若計數器數值到達目標值時,再
一次觸發會回到初始值+1( 或-1) 之數值,一直持續循環計數。
14
Page 23
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
II. 向上計數器的初始值為 0 ,目標值為暫存器或常數的值;向下計數器的
初始值為暫存器或常數的值。目標值為 0 。
3. 容量:常數設定計數器+暫存器設定計數器共有 256 個(CT0~CT255) 。
2.8.3 計數器復歸(Counter Reset)
1. 圖示
2. 說明:每當輸入訊號由 OFF 變 ON 時,該計數器數值變為初始值。指令中
符號 #所輸入的數值,對實際執行並無任何影響。
15
Page 24
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.9 流程相關元件 (Flow Operation)
2.9.1 符號標記 (Label)
1. 圖示
2. 說明:符號標記供 JMP 或 JSR 指令使用,符號標記長度為 6 個字元。
2.9.2 程式跳躍 (Jump)
1. 圖示
2. 說明:每當輸入訊號為 ON 時,執行程式跳躍指令,程式跳到符號標記為
-]LABEL[-處開始執行。
2.9.3 副程式呼叫 (Jump Subroutine)
1. 圖示
2. 說明:每當輸入訊號為ON 時,執行副程式呼叫指令,程式跳到符號標記為
-]LABEL[-處開始執行;副程式結束,則返回執行下一個元件指令。
2.9.4 副程式呼叫返回 (Return)
1. 圖示
2. 說明:此為副程式結束返回指令。
16
Page 25
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.9.5 程式結束(End)
1. 圖示
2. 說明:此為階梯圖程式結束指令。
2.9.6 快速 PLC 程式掃描 (Fast PLC)
1. 圖示
2. 說明
I. 快速掃描 PLC 請寫在程式的最前面,並以-]FEND[-元件結束。
II. 在程式執行時,-]FEND[-之前的程式會被載入到快速掃描區。
III. -]FEND[-之後的程式到 -]END[-之間的程式會被載入到一般掃描區。
IV. 快速掃描區的程式掃描時間與系統參數 3203 運動補間時間相同。
V. 一般掃描區的程式掃描時間與系統參數 3204 PLC 掃描時間相同。
3. 範例
17
Page 26
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
18
Page 27
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.10 CNC 相關元件 (CNC Operation)
2.10.1 刀庫旋轉(Rotate)
1. 圖示
2. 說明
I. 每當輸入訊號為 ON 時,執行刀庫旋轉計算,並輸出 1 正轉(CW)與 0
反轉 (CCW)訊號。所用引數說明如下:
R1 為目前刀號 1..n
R1+1 為目標刀號 1..n
R2 為總刀數 n
II. 當此指令被執行時,目前刀號如超出總刀數範圍 1..n 時,會自動被修改
換算為對等範圍內的刀號。此元件將以最短距離方式,計算正反轉訊
號,例如總刀數為 8 ,目前刀號為 4 ,當目標刀號為 6 時,將輸出 0 反
轉(CCW) 訊號;反之,當目標刀號為 2 時,將輸出 1 正轉(CW) 訊號。
19
Page 28
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
執行加工程
式,且加工程式
檔名由數值指
定(Run Axis by
Value)
執行加工程
式,且加工程式
檔名由 R 暫存
器指定(Run
Axis by R bit)
2.10.2 PLC 軸控制元件 (PLC Axis)
1. 圖示
2. 說明
I. Run 副程式 (程式號碼範圍 O0001~O9999)
加工程式檔名由數值指定:要求第三軸執行檔名 O1234 。
加工程式檔名由 R 暫存器指定:要求第三軸執行檔名 O1234 。
PLC 軸控制副程式說明 (Onnnn) :
程式名稱一定以 “O” 作檔名開頭,但是 Ladder 內不需寫 “O”;程式名
稱(nnnn) 一定是四碼的自然數
DOS 系統將此程式放在 C:\CNC\MACRO ; CE 系統為
DiskC\OpenCnc\MACRO
此程式是 MACRO ,所以檔案內容起頭一定是%@MACRO
程式只能執行單軸,且程式內容軸向名稱一律是 X
所有單軸 G code 都可使用(G00, G01, G04, G90, G91, G94, G95…)
程式結尾不可下 M02 、M30 或 M99
程式中若要執行 M 碼時,M Code Read / M Code Finish / M Code Content
請參閱 R629 / R630 / R681 說明。
20
Page 29
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
II. Move 移動 (依所指定的速度、位移量與 G90/G91 模式移動 )
Move 移動需要四個連續暫存器設定移動內容,其內容如下:
R 基址 (Base)+0:位移量,單位 BLU。
R 基址 (Base)+1:移動速度,單位 mm/min。
R 基址 (Base)+2:絕對或增量模式選擇(0:增量模式,1:絕對模式,
10.107 版之後有效 )。
R 基址 (Base)+3:必頇為 0(保留將來擴充用 )。
Move 移動的軸向指令必頇放在位移量及移動速度之後才會正常動作,
範例如下:第二軸在絕對模式下,以 100mm/min 速度移動 10mm ,
假設 R 基址(Base) 為 R1024 。
III. 中斷 PLC 正在加工中的程式,例如:中斷正在移動中的第二軸。其中
指令中符號# 所輸入的數值,對實際執行並無任何影響。
IV. 執行中的程式可以利用暫停鍵 (FeedHold)來暫停動作。
V. 執行中的程式可以利用重置鍵(Reset)來中斷動作。
VI. 在自動 (AUTO)或手動輸入 (MDI)模式下,當軸向仍在移動中,若透過
PLC 軸控制元件對該軸下命令,將造成軸向指令加成,產生錯誤的運動
軌跡。
VII. 執行 PLC 軸控制時,請以上升緣觸發的方式,以免相同動作,被多次
觸發執行。
21
Page 30
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
位元(Bit)16:掃描完成訊號,即輸入暫
存器內容被更新後則此位元瞬間為 1 。
位元(Bit)8 :存放輸入資料暫存器定址
方式,0 為直接定址,1 為間接定址。
位元(Bit)0~3:定義所需要使用之 O
點數目。1 個 O 點可掃入 8 個 I 點。
2.10.3 鍵盤掃描
1. 圖示
2. 說明
I. 每當此功能鍵被 ON 時則啟動 PLC 鍵盤掃描,輸入資料則由控制器上
之 PIO5 的 DB-25PIN 讀入;輸入資料放置順序由低位元(Low Bit) 往高
位元(High Bit) 依序放置。從 PIO5 上的 DB-25PIN 硬體接腳定義可得知
一個 O 點可掃入 8 個 I 點。如 O 點數目定義為 5 ,則最大共有 40 個 I
點可被輸入,則輸入資料排列順序如下:
輸入資料指定暫存器 Rin 的位元(Bit) 0…31 對應 I 點 0…31
輸入資料指定暫存器 Rin+1 的位元(Bit) 0…7 對應 I 點 32…39
II. PLC 鍵盤掃描指令最少要使用兩個連續暫存器,其暫存器內容規劃如
下:
R 基址(Base)+0 :
位元(Bit)0~3 :定義所需要使用之 I 點數目,其值需要大於
(所需 I 點數÷8)。
位元(Bit)8:存放輸入資料暫存器 Rin 定址方式,0 為直接定址,
1 為間接定址。
位元(Bit)16 :掃描完成旗標,即輸入暫存器內容被更新後則此
位元(Bit) 瞬間為 1 。
R 基址(Base) 的功能定義:
輸入資料暫存器 Rin :
直接定址時,掃描內容將被放在 R 基址(Base)+1( 就是 Rin) ~
R 基址 (Base)+4(就是 Rin+3)依序被放置;
22
Page 31
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
間接定址時,輸入資料暫存器 Rin 編號則由此暫存器
(R 基址+1)內容指定。
Rin (內容為 I 點狀態 )
3. 容量:KS 最大鍵盤數 1,範圍 1,此功能目前只有在 PIO5 硬體版本下有效。
4. 範例
I. 直接定址:使用 5 個 O 點當控制訊號,可以掃入 40 點 I 點,它的內容
將被放在 R1025 與 R1026。
R 基址 (Base)+0 = R1024、Rin=R1025…
II. 間接定址:使用 5 個 O 點當控制訊號,可以掃入 40 點 I 點,它的內容
將被放在 R2000 與 R2001。
R 基址 (Base)+0 = R1028、Rin=R2000…
23
Page 32
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
2.10.4 PLC 座標教導系統
1. 圖示
2. 說明
I. 每當輸入訊號由 Off 變 On 時,啟動座標教導系統,座標教導系統一經
啟動後便一直有效,直到關機。使用者可以透過 PLC 來建立以暫存器
為基礎的檔案系統,PLC 座標教導系統元件可以依使用者操作的動作來
做快速定位、直線切削等運動指令教導,並將教導結果存入檔案,讓
PLC 使用者可以做檔案管理。
II. PLC 座標教導系統元件使用八個連續暫存器內容,其內容如下
R 基址 (Base)+0: [In],資料顯示區起始的暫存器位址。
R 基址 (Base)+1: [In],資料顯示區每一行佔去幾個字元。
R 基址 (Base)+2: [In],資料顯示區一次共顯示幾行。
R 基址 (Base)+3: [In],控制指令暫存器位址 (教導,刪除,
上, 下,…) 。
位元(Bit)0:
快速定位教導,由 Off 變 On 時,以此時機械座標做為終點。
位元(Bit)1:
直線切削教導,由 Off 變 On 時,以此時機械座標做為終點。
位元(Bit)2:圓弧切削教導, 在此元件中保留, 目前無做用。
位元(Bit)3~5:保留區。
位元(Bit)6:刪除行,由 Off 變 On 時將游標所在的那一行刪除。
位元(Bit)7:儲存檔案,由 Off 變 On 將現在的編輯檔寫回磁碟
裝置。
位元(Bit)8:由 Off 變 On 時將游標上移一行。
位元(Bit)9:由 Off 變 On 時將游標下移一行。
位元(Bit)10:由 Off 變 On 時將畫面切換到上一頁。
位元(Bit)11:由 Off 變 On 時將畫面切換到下一頁。
位元(Bit)12~31:保留區。
R 基址(Base)+4:[In],指定教導檔(加工檔)檔名的暫存器,
範圍為 1 ~ 8999。
R 基址 (Base)+5:[Out],座標教導系統目前的教導檔(加工檔)檔名。
R 基址 (Base)+6:保留。
R 基址 (Base)+7:保留。
24
Page 33
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
字串長度= 單行長度-4 位元
(String Length=Line Length-4)
其中基址(Base) 表示設定座標教導系統資料的基準暫存器。
[In] 表示由使用者填入 [Out]表由 PLC 系統回應
3. 容量:目前僅提供 1 個檔案系統。
4. 附註:資料顯示區單行格式
在使用者設定的單行長度中,第一個暫存器(佔去 4 個字元)用來存放該
行的資料,第二個暫存器開始才是存放字串資料(一個暫存器可放 4 個
字元),第一個暫存器(Line Header)格式說明如下:
位元(Bit)0~15:
存放該行的行號,亦即是該文件的第幾行(由 0 行開始算起)
位元 (Bit)16: On 表示該行是游標行,Off 表示該行不是游標行
位元 (Bit)17~31:保留區。
5. 範例
I. 設定系統使用教導元件
指定資料顯示區從 R1100 開始,每行有 40 個字元,總共有 5 行,並設
定初始化時載入的加工檔檔名為 O0002 ,設定步驟執行一次即可
25
Page 34
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
II. 選擇教導檔(加工檔)
將欲教導加工的檔名放入 R 基址 (Base)+4 所指定的暫存器,在此例為
R304,如下所示,表示要載入的加工檔為 O0003
III. 教導動作控制
依照所需要的動作去設定 R 基址(Base)+3 暫存器(在此例為 R303)的對
應位元為 On,如下所示,依序可做快速定位教導、直線切削教導、刪
除行、儲存檔案、游標上下移動等動作。
26
Page 35
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.11 RS232 相關元件 (RS232 Operation)
2.11.1 RS232/RS485 傳輸指令
1. 圖示
2. 說明
I. 在輸入訊號由 Off 變為 On 時啟動 RS232 傳送指令,從指定的傳送起始
暫存器開始將指定的傳送個數的暫存器的值透過 RS232 傳送出去,如
有傳回值,RS232 元件會將收到的資料從指定的接收位元組存放暫存器
開始依序填入,並將收到的位元組數記錄下來,然後回到等待狀態。
II. RS232 傳送指令元件需要八個連續暫存器設定內容,其內容如下:
R 基址 (Base)+0: [傳出 /接收填 ], RS232 傳送元件控制暫存器。
位元(Bit) 0 :傳送等待控制位元,On(High ,此位元數值為 1)
表示資料送出後元件需等待回應值才可繼續下次的資料
傳送,Off(Low,此位元數值為 0)表示之後無需等待即可
進入下一次的資料傳送。
位元(Bit) 1 ~ 7:保留區。
位元(Bit)8:RS232 資料接收位元,正常情況為 On(High,
此位元數值為 1) ,在元件輸入訊號由 Off 變為 On 時,
會先將此資料接收位元變為 Off(Low,此位元數值為 0) ,
然後將資料傳送出去,當收到傳回的資料或是不需等待傳
回資料後才會又變成 On(High ,此位元數值為 1) 。
位元(Bit) 9 :On(High,此位元數值為1)表 RS232 傳送時發生
錯誤,Off(Low,此位元數值為 0)表傳送時無錯誤發生。
位元(Bit)10:On(High,此位元數值為 1)表 RS232 接收時,
發生逾時錯誤(Time Out) ,Off(Low ,此位元數值為 0)
表示接收時無錯誤發生。
位元(Bit)11 :On(High,此位元數值為1)表示 RS232 傳輸元件
的暫存器數值錯誤,Off(Low,此位元數值為 0)表示正確。
位元(Bit)12:On(High,此位元數值為 1)表示 RS232 傳輸接
收時,有輸出入錯誤(I/O error)。
位元(Bit)12 ~ 31:保留區。
R 基址 (Base)+1: [使用者填 ],位元組傳送起始暫存器位址。
27
Page 36
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
R 基址 (Base)+2: [使用者填 ],傳送位元組個數 (以 R 為單位 )。
R 基址 (Base)+3: [使用者填 ],接收到的位元組存放起始暫存器
位址。
R基址 (Base)+4:[傳送 /接收填 ],指定接收的最大位元組個數,RS232
會填回實際接收到的位元組個數。
R 基址 (Base)+5: [使用者填 ],接收結束位元 (Terminator)。
R 基址 (Base)+6:保留區。
R 基址 (Base)+7:保留區。
3. 容量:最大通訊埠 1。
4. 範例
I. 以四個狀態 A500~A503 來控制 RS232 的傳出與接收,下列分別說明四
個狀態,按鍵 1(S402)可使狀態進入 A500
A500:
RS232 傳送資料準備,會觸發一個正緣觸發訊號 A510 以做傳送資
料的準備,並立刻進入 A501。
A501:
為 RS232 的要求(Request)狀態,會將 RS232 元件控制暫存器(R 基
址+0)的資料接收位元(bit) 8 設定為 Off(Low,此位元數值為 0),以
進入傳送接收資料狀態 A502。
A502:
為 RS232 的要求(Request)狀態,在此狀態中會去透過 RS232 傳出
資料並等待回應資料,如果控制暫存器(R 基址+0)的傳送等待位元
(bit)0 為 On(High,此位元數值為 1)的話。
A503:
RS232 回應資料處理,會觸發一個正緣觸發訊號 A509 以做回應資
料的處理,在接到按鍵 1(S402)後才會再進入 A500
II. 傳出資料的準備
階梯圖(Ladder) 程式將RS232 傳出的資料從暫存器 R1210 開始依序
放入 84, 65, 49, 13 為”TA1\n” 的 ASCII 值,並將傳送起始位址設為
R1210 填入暫存器 R301 ,傳送的長度設為 4 填入暫存器 R302 ,指定接
收的資料存放起始位址為 R1410 填入暫存器 R303 ,接收最大長度設為
30 填入暫存器 R304,並指定 13 為接收結束符號 (Terminator)。
III. 接收資料的處理
在此預設接收到的資料為 ”EV 301 0 1 23.827 159.447\n” ,從暫存器
R1410 開始填入,所以將資料開始處理的位址 R1410 填入暫存器
R1400,先指定小數點位數為 0(表整數)填入暫存器 R1401,再指定數值
的分隔符號為空白, ASCII 值為 32 填入暫存器 1402,執行第一次的字
28
Page 37
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
元轉換成數字元件,可將”EV” 轉成數字填入暫存器 R1380 ,因為為英
文字所以轉出來為 0 ,第二次執行可將”301” 轉成 301 填入暫存器
R1381 ,依序將”0” 轉成 0 填入 R1382 ,將”1” 轉成 1 填入 R1383 ,接
著指定小數點位數為 3 ,然後將”23.827” 轉成 23827 填入
R1384, ”159.447” 轉成 159447 填入 R1385
29
Page 38
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
30
Page 39
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
31
Page 40
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
2.11.2 ASCII 字元轉換成數字
1. 圖示
2. 說明
I. 在輸入訊號為 On 時,將指定的一連續區塊的暫存器內容值,以符合
ASCII 編碼的數值轉換成數字,並依照指定的小數點位數將數值偏移後
填入目的暫存器,例如轉出來的數值為12.345,小數點為三位,則目的
暫存器會被填入 12345 。
II. 字元轉換成數字元件需要指定的連續暫存器內容如下:
R1(來源暫存器 )基址 (Base)+0:存放 ASCII 要轉換成數值的暫存器
起始位址。
R1(來源暫存器 )基址 (Base)+1:設定小數點位數,會依小數點位數
偏移 ( x 10 倍 , x100 倍 ....)。
R1(來源暫存器 )基址 (Base)+2:連續的暫存器中數值與數值分隔的
符號 (spliter)。
R1(來源暫存器 )基址 (Base)+3:保留區。
R2(目標暫存器 )基址 (Base)+0:存放轉換完的數值。
3. 範例
R1410 開始存放的值為 49(為字元‟1‟ 的 ASCII 值 )、50(字元‟2‟ 的 ASCII
值 ) 、 51(字元 ‟3‟ 的 ASCII 值 ) 、 46(字元 ‟.‟ 的 ASCII 值 ) 、 52(字元 ‟4‟ 的
ASCII 值 ) 、 53(字元‟5‟ 的 ASCII 值 ),來源暫存器 R1 存放字元開始轉換的
暫存器位址 R1410 ,R1+1(R1401=R1400+1) 存放要轉換的小數點位數 2 ;元
件執行後轉換成數值 123.45 ,但放大 100 倍為 12345 存入目的暫存器
R2(R1399),並將來源暫存器 (R1400)存放的字元開始轉換暫存器位址填入
1416,為轉換完成後的下一個位址。
32
Page 41
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
33
Page 42
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.11.3 數字轉換成 ASCII 字元
1. 圖示
2. 說明
I. 在輸入訊號為 On 時將來源暫存器(R1)內所存放的數值讀出,並依照指
定的小數點位數偏移後所產生的數值,一個一個位元轉成 ASCII 值依序
從目的暫存器起始位址開始填入,例如來源暫存器讀出的值為 12345 ,
小數點為三位,則轉換成12.345,則從指定目的暫存器的起始位址開始
會被填入 ASCII „1‟, ASCII „2‟, ASCII „.‟, ASCII „3‟, ASCII „4‟, ASCII
„5‟ ,需注意此元件非上緣觸發元件。
II. 數字轉換成字元元件需要設定的暫存器內容如下:
R1(來源暫存器 ):存放要轉換的數值暫存器位址。
R2(目的暫存器 ):轉換成 ASCII 值後要填入的暫存器起始位址。
R1(來源暫存器 )基址 (Base)+1:設定小數點位數 , 會依小數點位數
偏移 (÷ 10 倍, ÷ 100 倍 ....)
R1(來源暫存器 )基址 (Base)+2:保留區。
R1(來源暫存器 )基址 (Base)+3:保留區。
3. 範例
來源暫存器(R1399)存放 12345,目的暫存器 R2(R1400)存放轉換完成後
要輸出的暫存器起始位址(R1410),R2+1(R1401)存放要轉換小數點位數 1;
元件執行後將12345 縮小10 倍為1234.5,並從目的暫存器指定的位址R1410
開始依序填入 49(為字元‟1‟ 的 ASCII 值)、50(字元‟2‟ 的 ASCII 值) 、51(字
元‟3‟ 的 ASCII 值) 、52(字元‟4‟ 的 ASCII 值)、46(字元‟.‟ 的 ASCII 值) 、
53(字元‟5‟ 的 ASCII 值 ),並將 R2(R1400) 轉換完成輸出暫存器位址改為
R1416,為輸出完成後的下一個位址。
34
Page 43
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
35
Page 44
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.11.4 數值寫入暫存器
1. 圖示
2. 說明
I. 在輸入訊號 On 時將輸入的數值寫到目的暫存器,寫入數值後並將目的
暫存器所指向的目標暫存器位址往下移一個,需注意此元件非上緣觸發
元件。
II. 寫入數值元件需要設定的暫存器內容如下:
R1(來源暫存器 ):要寫入到暫存器的數值。
R2(目標暫存器 ):存放數值要寫入的暫存器位址。
3. 範例
按下按鍵 8 之後,先將要寫入的暫存器位址 1410 寫入 R1400 ,然後依
序寫入 1, 2, 13 ,寫完之後 R1400 的值會指到 R1413 ,即下一個可寫入的暫
存器位址
36
Page 45
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
2.11.5 從暫存器讀出數值
1. 圖示
2. 說明
I. 在輸入訊號 On 時將來源暫存器(R1)中存放的值指到的暫存器位址內所
存放的數值讀出到目的暫存器(R2),讀出數值後並將來源暫存器所指向
的暫存器位址往下移一個,需注意此元件非上緣觸發元件。
II. 數字轉換成字元元件需要設定的暫存器內容如下:
R1(來源暫存器 ):存放要讀取數值的暫存器位址。
R2(目的暫存器 ):存放讀取出來的數值。
3. 範例
下面的階梯圖(ladder) 為以此元件將 R1400 所指向的暫存器位址內所存
的數值讀出,並寫入暫存器 R1420 ,按下按鍵 7 之後先將要讀取的暫存器位
址 R1410 寫入 R1400 ,將要讀取的數值 123 填到 R1410 ,讀完之後 R1400
的值會指到 R1411 ,即下一個可未讀取的暫存器位址。
37
Page 46
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
2.11.6 Modbus 讀取指令
1. 圖示
從指定裝置(Slave) 站號的特定地址讀取多筆資料
2. 說明
I. 指定裝置(從站,Slave)可設定站號:0~255。
II. MODR 為 MODBUS RTU16 讀取元件,可讀取連續 1~15 個資料。
III. 傳送過程若有錯誤產生時, R608.31 會 On,同時將錯誤內容顯示於
R5039。
IV. 元件內容需輸入:從站資料的起始位置、存放到主站 (Master, CNC)的
間接定址位址、從站站號與傳輸筆數,所有位址皆以十進位填寫。
V. 其他細部說明參考 2.11.7 MODW 傳送 Modbus 寫入指令。
3. 範例: (合併於 MODW 舉例,請參考 2.11.7 MODW 傳送 Modbus 寫入指令 )
38
Page 47
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
傳送待機,指示 PLC 目前可發送資料。當 R608.0 On 時,
R608.10、 R608.31 和 R5039 將自動清除。
設定 Modbus 通訊用 COM Port ,一體機(LX 主版)為 3 ;
槽箱(PCA-6773) 為 2
2.11.7 Modbus 寫入指令
1. 圖示
從指定裝置(Slave) 站號的特定地址寫入單筆資料
2. 說明
I. 指定裝置(從站,Slave)可設定站號:0~255。
II. MODW 為 MODBUS RTU16 寫入元件,僅可寫入 1 個資料。
III. 傳送過程若有錯誤產生時, R608.31 會 On,同時將錯誤內容顯示於
R5039。
IV. 元件內容需輸入:從站資料的填寫位置、主站 (Master, CNC)上的資料
位址與從站站號,所有位址皆以十進位填寫。
V. Modbus 通訊在一體機 (LX 主版 )強制為 COM3,使用時請將 R5040 設
為 3;槽箱 (PCA-6773)則強制為 COM2,使用時請將 R5040 設為 2。
VI. 承 V, Pr3947/Pr3967 為 PLC RS232 通訊使用,啟用 Modbus 時請將該
參數設定為 0,以避免某些 PLC 運動控制設備無法正確運作。
VII. 相關旗標
VIII. R5030 通訊協定設定說明
39
Page 48
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
01 : 奇同位( Odd)
11 : 偶同位( Even)
0000 (H0) : 2400
0001 (H1) : 4800
0010 (H2) : 9600
0011 (H3) : 19200
0100 (H4) : 38400
0101 (H5) : 57600
0110 (H6) : 115200
通訊格式設定範例:
假設當前使用者想要設定如下面的通訊格式:Baud Rate "9600"
同位元 "None"
停止位元 "1"
資料長度 "7"
則 R5030 內容將表示如下:
Ladder 設定:
備註:當 bit 0 設定為不啟用時,PLC Modbus 元件在進行通訊時將參考 Pr39xx,
例如當 Modbus 使用 COM1 進行通訊則它會使用 Pr3921~Pr3930,若為 COM2 則
為 Pr3941~Pr3950 ,若為 COM3 則為Pr3961~Pr3970
40
Page 49
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
通訊指令不合法 (Function Code error)
資料數值被 Slave 判定不合法 (Data Value error)
Slave 裝置錯誤 (Slave Device error)
0x05 確認應答 (ACK),當 Slave 判定需長
確認應答(ACK) ,當 Slave 判定需長時間處理,將回傳 ACK
避免 TimeOut 產生
Slave 裝置忙碌中 (Slave Device Busy)
Parity 確認錯誤 (Memory Parity error)
閘道路徑無法使用 (Gateway Path Unavailable)
目標閘道設備回應錯誤 (Gateway target Device failed to Respond)
R5040 所指定的通訊 COM Port 不正確
讀取資料錯誤 (Read COM Port error)
寫入資料錯誤 (Write COM Port error)
開啟通訊埠錯誤 (Open COM Port error)
IX. R5039 錯誤碼說明
3. 範列
I. 需求規格:
使用 10A 控制器 (LX 主機板 /使用通訊埠 3),與主軸變頻器 (假設:站號
=001、轉速命令 =0001H,轉速回授=0010H)進行 Modbus 通訊,如果主
軸轉速改變,就進行傳輸寫入新轉速(R871) 的動作(MODW) ,如果不變
的情況下,就進行傳輸讀取實際轉速的動作(MODR) ;如果過程中發生
傳輸錯誤即停止傳輸通訊,並發出警報,按操作面板的重置鍵後,重新
恢復通訊。
II. 狀態流程圖規劃:
i. Modbus 傳輸完成狀態 (A400):
A. 進入:
41
Page 50
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
甲、開機設定此狀態(A0);
乙、在資料傳輸中狀態(A403)下,且傳輸完成(R608.10);
丙、在資料傳輸錯誤狀態(A404)下,按下操作面板上的重置鍵
(S32)。
2. 輸出:
甲、清除通訊旗標 (R608=0)
ii. 傳出資料準備狀態 (A401):
1. 進入:
甲、在 Modbus 傳輸完成狀態 (A400)下,主軸轉速改變
(R871<>R1871)。
2. 輸出:
甲、設定變頻器的轉速命令位址為 1 (R2013=1);
乙、設定變頻器的轉速值為 R871 (R2010=R871);
丙、使用 MODW 元件,站號為 1 (MODW R2013, R2010,
RS001);
丁、起動 Modbus 通訊 R608.0=ON (R608=1);
戊、將舊轉速資料更新(R1871=R871)。
iii. 傳入資料準備狀態 (A402):
1. 進入:
甲、在 Modbus 傳輸完成狀態 (A400)下,主軸轉速不變
(R871=R1871)。
2. 輸出:
甲、設定變頻器的轉速回授位址為 10H (R2020=16) ;
乙、設定控制器接收存放的間接定址位址為 R2000
(R2021=2000) ;
丙、使用 MODR 元件,站號為 1 ,只傳一筆 (MODW R2020,
R2021, RS001, N=1);
丁、起動 Modbus 通訊 R608.0=ON (R608=1)。
iv. 資料傳輸中狀態 (A403):
1. 進入:
甲、在傳出資料準備狀態(A401) 下,已進入傳輸中(R608.1) 觸
發;
乙、在傳入資料準備狀態(A402) 下,已進入傳輸中(R608.1) 觸
發。
2. 輸出:
甲、(無)
v. 資料傳輸錯誤狀態(A404):
1. 進入:
42
Page 51
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
甲、在資料傳輸中狀態(A403) 下,傳輸錯誤(R608.31) 觸發。
2. 輸出:
甲、發 Modbus 傳輸錯誤警報(R44.0) 。
43
Page 52
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
III. PLC IOCSAR 規劃:
44
Page 53
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
傳出完成
(A400)
傳出資料準備
(A401)
傳入資料準備
(A402)
資料傳輸中
(A403)
傳輸錯誤
(A404)
MOV #0, R608
MOV #1, R2013
MOV R871, R2010
MODW R2013, R2010, RS001
MOV #1, R608
MOV R871, R1871
R608.10
R44.0
CMP R871 > R1871 or
CMP R871 < R1871
CMP R871 = R1871
MOV #16, R2020
MOV #2000, R2021
MODR R2020, R2021, RS001, N=1
MOV #1, R608
R608.1 R608.1
R608.31
S32
IV. 狀態流程圖:
45
Page 54
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
V. Ladder 階梯圖:
46
Page 55
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
47
Page 56
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
2.11.8 自行設定 Modbus 指令
1. 圖示
在 bus 上送出指定的命令
2. 說明
I. 自定義通訊封包
II. 使用上只需要撰寫 Modbus PDU 內容, CRC 由元件自行處理
III. 元件內容需輸入:要發送資料的起始位置、收到的結果要存儲的位址、
要發送的資料長度。
IV. 在程式中可無限次數使用 RS 指令,但不可同一時間執行 2 個(含)以上
的 RS 指令。
V. RS 指令於執行當中變更傳送資料的內容無效。
VI. 範例:
假設有一使用者他需要透過 RS485 連續讀取外部設備十個 I 點的狀態
(Coils 狀態 ),且外部設備的通訊協定設定為 115200(Baud Rate), 8(資料長
度), N( 同位元), 1( 停止位元),哪麼他將需要做下面幾件事。
說明:
由於要進行 RS485 通訊,所以 R5040( 參考 2.11.7 VII 節 )要設
定成 3
通訊協定要求 115200 、 8、N、1 所以將 R5030 設為 195 ,通訊
協定設置請參考(請參考 2.11.7 VIII)
MOD RS 元件指名 R2029 表示要傳送封包的資料來源,R2035
表示收到的結果要儲存的位置(請保證資料的位置不會覆蓋到其他在使
用的 R 值),SL=6 表示傳送的 Modbus 命令在 R2029~R2034
48
Page 57
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
讀取 Coils 的功能代碼 (參考
Modbus 官方技術文件 )
命令封包的 CRC,由系統自行運
算產生,使用者無頇處理
讀取 Coils 的功能代碼 (參考
Modbus 官方技術文件 )
總共讀取 2Bytes(10 / 8 加上不足
1byte 乃以 1byte 計算 )
第二筆和第五筆 Coils是 On(0001
0010)
回傳封包的 CRC,由系統自行比
對後移除,將不會占用暫存器
R2029 表示站號,R2030 表示 Function code ,R2031 、R2032
表示起始讀取 Slave 的 Coil 資料位址,R2033 、R2034 表示總共要讀取
幾筆 Coils 資料
設
定
完成後將進入待機狀態 R608.0 On ,此時等待 PLC 觸發元件,以傳送 Modbus
封包
觸發元件後,PLC 將傳送"01 01 0000 000A BC 0D ”
若傳送成功 R608.10 將 On ,失敗則 R608.31 將 On
當 R608.31 On 表示錯誤發生,此時請參考 R5039(2.11.7 IX 節)
進行錯誤排除
當傳送成功後,R2035~R2039 將收到如下表
49
Page 58
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
關於 MODBUS 指令應該如何撰寫以及回傳內容的細節,請參
考 Modbus 官方技術文件
下面附上完整的 Ladder 程式
50
Page 59
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
2.12 R 暫存器間接定值功能說明
上述特定元件有關 R 暫存器的應用上,若在輸入時加入@ 符號,即
可啟用間接定值功能。如下範例所示,由於 R61 內容為 50,因此當 PLC
掃描到第 4 行時,會將 R50 內容指定給 R62 ,故最終 R62 內容為 1 。
51
Page 60
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
PLC 控制 CNC 指令
PLC CNC Command
PLC 讀取 CNC 狀態
PLC CNC Status
PLC 與 CNC 雙向
32 位元暫存器
PLC CNC Register
可選擇單位為 1 秒、
0.1 秒或 0.01 秒
3 PLC 元件說明
新代 PLC 主要可提供 I 、O 、A 、C 、S 、R 、CT 、TI 等 8 個元件,
供程式編輯人員使用,詳細說明如下表所示:
52
Page 61
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
N1 G00 X50.0 Y100.0
N2 T1
N3 S1000 M3
N4 G01 Z-10.0
N5 M8
N6 G01 Z-15. F500
N1 X 軸 /Y 軸同時各別行進到 50./100.mm
N2 換第一把刀
N3 主軸以 1000RPM 正轉
N4 Z 軸切削到 -10.mm
N5 打開切削液
N6 Z 軸切削到 -15.mm
4 M/S/T 碼
4.1 M/S/T 碼功能目的
如下範例說明,使用者一般會在加工程式中編入 M 碼以驅動週邊
設備(油冷機、料機…… 等等);編入 S 碼以設定主軸轉速;編入 T
碼以進行換刀作業。透過 M/S/T 碼使用,將可讓加工程式,亦即馬達的
運動能與 PLC 之輸出/ 輸入訊號做同步控制。
上面範例中,程式第二行使用者透過 T1 來更換刀具;程式第三行
使用者透過 S1000 來設定主軸轉速為 1000RPM ,並透過 M3 使主軸馬
達正轉啟動;程式第五行使用者透過 M8 來開啟切削液。
如上範例所示,使用者只需於程式中編入 M/S/T 碼即可控制主軸馬
達轉動及開啟切削液…… 等等,操作上相當容易。至於控制器是如何處
理 M/S/T 碼指令來正確驅動週邊設備?接下來的幾個章節將告訴您控
制器對於 M/S/T 碼指令的處理架構,了解這些動作流程後,您就可以規
劃您專屬的 M/S/T 碼指令了。
53
Page 62
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
4.2 M/S/T 碼動作流程
加工程式執行到 M/S/T 碼 (Code) 時,核心會將 M/S/T 碼 (Code)
內容放在 R1/R2/R3 暫存器內。例如:當加工程式執行到 M3 時,
控制器會將 3 存入 R1 暫存器內;當加工程式執行到 T5 時,控制
器會將 5 存入 R3 暫存器內。
加工程式執行到 M/S/T 碼 (Code) 時,核心會發出 S29/S54/S69
的 M/S/T 碼讀取(M/S/T Code Read) 給 PLC 。
當 PLC 接到 M/S/T 碼讀取 (M/S/T Code Read) 後,即開始執行
預先規劃之動作。
待M/S/T 碼執行完成後, PLC將觸發 M/S/T 碼完成 (M/S/T Code
Finish、 C38 On)訊號給核心。
核心收到 C38 On 後,確認 M/S/T 碼動作完成,才會繼續往下
執行加工程式。
PS:
1. 使用者如果將 M/S/T 碼下在同一單節,則核心將同時發出
S29/S54/S69 訊號通知 PLC。
2. C38 為 M/S/T 碼執行完成訊號,編輯 PLC 時,需特別注意 C38
On/Off 的時機,其與 S29/S54/S69 關係如下所示:
54
Page 63
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
MST就緒狀態
A50
MST執行狀態
A51
A0(開機時的上緣訊號 )
C38 On
S29 On (M碼讀取 )
I0轉速到達 ,且維持 0.5秒 (TM0) 或
非須要等待的 M碼 (A70) 或
C36 On 或
S32 On
4.3 如何撰寫 M/S/T 碼
4.3.1 基本規則
需要加工程式等待之 M Code,請用『狀態流程圖(Machine State
Diagram, MSD)』觀念撰寫階梯圖 (ladder)。
C38 需要常態保持 On(Normal High) ,也就是說在一般狀態或
未執行 M/S/T 碼時,C38 需為 On 。
對於如切削液、工作燈、排削機等等加工程式不需等待之 M
碼,不用處理 C38 訊號。也就是說 PLC 在處理這一類之 M Code
時,可以不需將 C38 Off 。
對於主軸正反轉、車床夾料、主軸定位等等加工程式需等待之
M 碼,在 M 碼執行期間需將 C38 訊號 Off ,待 M 碼執行完成確認
後,再將 C38 訊號還原成 On。
4.3.2 簡易範例
以下圖 MSD 為例,建議採用兩個狀態來區隔 M/S/T 執行狀
態。當 MST 處於就緒狀態(A50) 時,將 C38 On 起來;MST 執行狀
態(A51) 時,則將 C38 關閉(Off) 以通知控制器進行等待。
不需要加工程式等待之 M 碼(例如:M8/M9 切削液開/關):切
削水開啟/ 關閉輔助接點 A108/A109 直接觸發 M 碼完成條件
A70,使得此時控制器不進行等待行為。
55
Page 64
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
需要加工程式等待之 M Code(例如:M3/M4 主軸正/ 反轉):由
於主軸正/反轉啟動必頇考慮主軸馬達之加速時間,因此加工
程式必頇等待主軸轉速到達後,才能繼續往下執行,故在
M3/M4 執行狀態下,需將 C38 Off 掉,待轉速到達訊號 I0 進
來後且維持 0.5 秒,才將 C38 On 。
56
Page 65
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
57
Page 66
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
PS:
58
Page 67
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
4.4 M/T 碼呼叫巨集 (MACRO)功能
新代控制器可提供 10 組 M 碼呼叫 MACRO,以及 1 組 T 碼呼叫
MACRO 功能,這功能使得 M 碼與 T 碼不僅能靠 PLC 去控制 I/O 動作,
更可以使用完整 MACRO 之全部指令,並且可將引數帶入 MACRO 中
進行演算存取,以及下達 G 碼、M 碼與 T 碼指令。
當控制器執行到欲呼叫 MACRO 之 M 碼或 T 碼時,將先執行對應
MACRO 之內容,而不會有 S29/S54 On 與 R1/R2 填值之動作。但如果
該 MACRO 中有 M Code 或 T Code 的話,則 S29/S54 On 與 R1/R2 填值
動作將會正常執行。
4.4.1 M 碼呼叫巨集(MACRO) 功能使用設定
於控制器參數 Pr3601~3610 中,登錄要執行呼叫 MACRO 之 M
碼。
將 M 碼欲呼叫的巨集預先編輯好,並存入控制器磁碟目錄中。
DOS 系統:C:\CNC\MACRO
WinCE 系統: DiskC\OpenCnc\MACRO
MACRO 之檔名需與 M 碼互相對應,例如控制器參數
Pr3601=50,則 MACRO 檔案名稱需為 M0050(無副檔名 )。
59
Page 68
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
4.4.2 T 碼呼叫巨集 (MACRO)功能使用設定
如下表說明,依照使用需求進行參數 Pr3215 設定
此參數用來設定 T 碼呼叫邏輯:
0:不呼叫副程式;
1:呼叫 T0000;
2:呼叫 T0000,但視 T0000 為巨集,故會將 T 碼後方引數
帶入 T0000 運算使用。
車床系統即便此參數設定為 0 時,系統仍內定為 1(呼叫
T0000 副程式 )。
將 T 碼指令呼叫的巨集預先編輯好,並存入控制器磁碟目錄
中。
DOS 系統:C:\CNC\MACRO
WinCE 系統: DiskC\OpenCnc\MACRO
T 碼指令呼叫的巨集檔名需為 T0000(無副檔名 )。
60
Page 69
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
Input掃描
Output掃描
PLC掃描週期
Ladder演算 Ladder演算 Ladder演算 Ladder演算 Ladder演算 Ladder演算 Ladder演算 Ladder演算
G Code執行中
On
Off
On
Off
S29/S54/S69
C38
On
Off
On
Off
S30初始 Off
S30初始 On
M/G Code同一單節且 G Code執行中
Input掃描
Output掃描
PLC掃描週期
Ladder演算 Ladder演算 Ladder演算 Ladder演算 Ladder演算 Ladder演算 Ladder演算 Ladder演算
G Code執行中
On
Off
On
Off
S29/S54/S69
C38
On
Off
On
Off
S30初始 Off
S30初始 On
單節中僅有M Code
當C38 Off 時,S30 進行更新
當C38 Off 時,S30 進行更新
4.5 補充說明
4.5.1 同一單節有 G/M 碼時
當加工程式之同一單節中,同時有 G 碼與 M 碼指令時,控制器會
同時發出 G 碼運動指令與 M 碼讀取(M Code Read ,S29 On )指令,但
由於各種 M Code 特性不同,有些可以 G 碼與 M 碼同時執行(例如:
M8 切削液打開),有些則必頇等G 碼運動指令完成後,才能執行(例
如:M5 主軸停止)。
對於 M Code 需等待 G 碼完成的情況,建議如下圖範例所示,可利
用 S30 (同單節 G 碼執行結束訊號,Distribution End )訊號,於狀態流
程圖中增加等待 G 碼完成(Wait G Code Finish) 狀態,以作為保護。
M5 主軸停止之狀態流程圖:當程式同一單節中有 G01 與 M5 主軸
停止時,需先執行 G01 後再執行 M5 。
61
Page 70
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
M碼就緒
A30
M碼啟動等待
A31
M5執行
A105
M碼完成
A32
A0(剛開機時的上緣訊號 )
C38 On
C38 On
C38 Off
C38 Off
C64 On
I3 On(主軸轉速到達 )
S29 On, R1=5
S30 On
62
Page 71
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
4.5.2 多個 M 碼同時執行功能
在某些應用場合下,使用者需要同時執行多個 M 碼功能,而不是
依序執行。此時建議可開啟同一單節 M 碼同時執行功能,以滿足使用
需求。
相關參數說明
此參數用來決定當同一單節存在多個 M 碼時,是否啟動同
時執行功能:
0:否,一次發送一個 M 碼至 PLC,待 C38 ON 後執行下一
個 M 碼;
1:是,同一單節同時 5 個 M 碼發送至 PLC 執行。
當此參數設定為 1 時,按 M 碼順序,將對應不同的 S Bit
與 R Bit 。此外,原本使用者自行定義的相關R Bit ,將會強
迫為系統使用,請務必小心注意。
63
Page 72
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
範例(使用 M51M52 或是 M52M51 皆可同時輸出 O1 與 O2)
64
Page 73
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
5 如何運用 PLC 發出警報視窗
PLC 發出之警報訊息,會自動記錄在控制器的歷來警報資料內容
中,以提供者診斷使用。當 PLC 發出警報訊息時,控制器只將警報字
串顯示於控制器螢幕上,並不會自動中止其他執行中的任何動作,如果
需要終止程式加工或其他執行中的動作(如:主軸轉動),需於 PLC
程式中另行處理。
5.1 系統內定警報
當 PLC 輸出 R40 ~ R43 時,控制器螢幕會立即依據下表內容,彈
出警報視窗。
65
Page 74
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
5.1.1 系統內定警報觸發方式
如下圖所示,外部訊號 I10 將觸發 R40.0 ,而 R40.0 則對應於 PLC
Alarm/Warning 1 號。
66
Page 75
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
PLC
警告訊息
(Warning
Message)
1. PLC 警報 (Alarm)可儲存於歷來警報中;但 PLC 警告
(Warning)與 PLC 提示 (Hint)則無法儲存。
2. PLC 提示 (Hint)的識別方式有別於 PLC 警報 (Alarm)與 PLC
警告 (Warning),因此警報編號重複無妨。
3. PLC 提示 (Hint)不需自保,警報視窗即可一直存在;但 PLC
警報 (Alarm)與 PLC 警告 (Warning)則必頇透過自保才行。
5.2 自訂警報
5.2.1 PLC 警報規格
新代控制器提供 96 個 PLC Alarm、96 個 PLC Warning 以及 319 個
PLC Hint 供使用者自行定義,其中各 Alarm/Warning/Hint 編號與 R Bit
對應關係請參閱下表。此外,PLC Alarm/Warning 編號 1 至 64 號為系
統內定警報區,使用者請請勿重複使用。
67
Page 76
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
5.2.2 自訂警報觸發方式
如下圖所示,外部訊號 I10 將觸發 R44.1,而 R44.1 則對應於 PLC
Alarm/Warning66 號。
5.2.3 DOS 版本檔案編輯
檔案路徑
中文版:C:\CNC\APP\APPCHI.STR
英文版:C:\CNC\APP\APPENG.STR
檔案格式
20xxx="1;MSG= 警報內容 " ,其中 xxx 為對應 PLC
Alarm/Warning 編號,請注意識別代號為 20 。
23xxx="1;MSG=警報內容 ",其中 xxx 為對應 PLC Hint 編號,
請注意識別代號為 23。
檔案範例
APPCHI.STR 範例:
20001="1;MSG=X 軸超過正向硬體行程極限 "
23010="1;MSG=第 10 號提示 "
APPENG.STR 範例:
20001="1;MSG=X+ hardware stroked limit exceed"
23010="1;MSG=10th Hint "
5.2.4 WinCE 版本檔案編輯
檔案路徑(10.114.46 以前版本 )
中文版:DiskC/OCRes/CHT/String/AlarmMsg_CHT.xml
英文版:DiskC/OCRes/Common/String/AlarmMsg_common.xml
檔案路徑(10.114.46 以後版本 )
繁體中文版:DiskC/OCRes/CHT/String/AlarmPLC_CHT.xml
簡體中文版:DiskC/OCRes/CHS/String/AlarmPLC_CHS.xml
英文版:DiskC/OCRes/Common/String/AlarmPLC_COM.xml
檔案格式
68
Page 77
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
<Message ID="AlarmMsg::MLC ::ID=xxx " Content="警報內容 "
/>,其中 xxx 為對應 PLC Alarm/Warning 編號,請注意識別字
母為 MLC。
<Message ID="AlarmMsg::MLCHint ::ID=xxx " Content="警報內
容" />,其中 xxx 為對應 PLC Hint 編號,請注意識別字母為
MLCHint。
檔案範例
AlarmMsg_common.xml 範例:
<Message ID="AlarmMsg::MLC ::ID=1 " Content="X 軸超過正
向硬體行程極限" />
<Message ID="AlarmMsg::MLCHint ::ID=10 " Content="第 10 號
提示" />
AlarmMsg_common.xml 範例:
<Message ID="AlarmMsg::MLC ::ID=1 " Content="X+ hardware
stroked limit exceed " />
<Message ID="AlarmMsg::MLCHint ::ID=10 " Content="10th
Hint " />
69
Page 78
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
操作模式(R13) 選擇由 I109/I110/I111
等三信號以二進位碼組合而成。其輸出
與輸入間,轉換關係如下表所示:
6 操作面版應用範例
6.1 模式選擇 (R13)
Ladder 範例:
70
Page 79
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
主軸速率百分比(R15) 是由 I106/I107/I
108 等三信號以二進位碼組合而成。其
輸出與輸入間,轉換關係如下表所示:
6.2 主軸速率百分比 (R15)
Ladder 範例:
-71-
Page 80
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
MPG/INJOG 段數 (R14)以及 G00 速率
百分比(R18) 是由I104/I105 等信號以二
進位碼組合而成。其輸出與輸入間,轉
換關係如下表所示:
6.3 MPG / INJOG 段數 (R14) 與 G00 速率百分比
(R18)
PLC 範例:
-72-
Page 81
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
G01 速率百分比 (R16)與 JOG 速率百分
比(R17) 是由 I100/I101/I102/I103 等四
個信號以二進位碼組合而成。其輸出與
輸入間,轉換關係如下表所示:
6.4 G01 速率百分比 (R16)與 JOG 速率百分比 (R17)
Ladder 範例:
-73-
Page 82
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
自動(Auto)或手動輸入(MDI) 模式且
C20 On 條件下,起動加工後,
G00/G01/G02/G03 速 率百分比 將 由
MPG 轉動速度決定,轉動越快,機台
移動越快;MPG 停止,機台也就停止,
非常適合於詴加工。
C42 On 時,執行所有 G 碼時,會以空
跑速度(G01 單節為程式速度的五倍;
G00 單節即為 G00 速度)執行。
6.5 MPG 模擬/MPG Simulation(C20)
Ladder 範例:
6.6 程式空跑/Dry Run(C42)
Ladder 範例:
-74-
Page 83
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
C44 On 時,執行到 M01 時,控制器會
進入單節停止狀態 (B-STOP);反之,
C44 Off 時,控制器會忽略 M01,繼續
報執行下個單節。
C41 On 時,遇到跳躍符號”/” 時,控制
器會跳過該單節,直接執行下一單節。
6.7 選擇性停止 /Optional Stop(C44)
Ladder 範例:
6.8 選擇性跳躍 /Optional Skip (C41)
Ladder 範例:
-75-
Page 84
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
C40 On 時, G 碼執行會走一個單節即
產生暫停,需再按啟動(Cycle Start) 才
會繼續走下一個單節。
C43 On 時,畫面座標系會變動,但實
際機台卻不會移動,此功能通常用於程
式檢查。
6.9 單節執行/Single Block(C40)
Ladder 範例:
6.10 機械鎖定/Machine Lock(C43)
Ladder 範例:
-76-
Page 85
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
JOG 模式下,按壓面板方向鍵,觸發
下表對應 C 點(C Bit) 後,控制器將產生
對應軸向的方向之運動;此時若再搭配
快動鍵觸發 C23 ,將使該軸向以 G00
速度移動。
6.11 緊急停止 /Emergency Stop(C36)
C36 On 時,控制器會暫停所有的機台運動,進入未就緒狀態 (Not Ready),直到
C36 Off 後,系統恢復就緒 (Ready)狀態。
Ladder 範例:
6.12 面板 JOG 鍵
Ladder 範例:
-77-
Page 86
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
6.13 程式啟動(C0)與程式暫停(C1)
在自動(Auto)或手動輸入(MDI)模式下,C0 On(僅需上緣觸發即可)會啟動加工,
此時 S0 On;C1 On(僅需上緣觸發即可)會暫停加工,此時 S1 On。
Ladder 範例:
6.14 原點復歸
尋原點(HOME) 模式下,按壓各軸 JOG 鍵,控制器會根據參數設定往原點方向移
動,當遇到原點時,需觸發下表對應之 C 點(C Bit) ;待尋原點完成後,控制器將
觸發下表對應尋原點完成(Home Ok) 之 S 點(S Bit) 。
Ladder 範例:
-78-
Page 87
錯誤! 找不到參照來源。. 錯誤! 找不到參照來源。
6.15 三軸 XYZ 正負極限 (Over Travel)
下表為各軸硬體正負極限對應的 C 點(C Bit),當極限的 C 點(C Bit) 觸發時,控制
器將自動產生暫停(Feed Hold),此時控制器僅能接受反方向命令將機台帶出極限
位置。
Ladder 範例:
PS:假設 I92 為過行程警報解除。
-79-
Page 88
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
6.16 主軸正逆轉、停止
主軸正反轉分別對應 C64 與 C65,一般使用上有幾點得特別注意:
1. 按重置鍵 (Reset)或程式執行到 M05, M02 與 M30 的時候。
2. 車床夾頭未閉合,以及銑床在鬆刀狀態不可正逆轉。
3. 加工中 (S0 On)不可手動將主軸停止,但可以用 M05 去停止。
Ladder 範例:
PS:
I69 為操作面板主軸停止按鍵; S32 為系統重置 (Reset)訊號; A105 為
M05 主軸停止狀態; A7 為主軸禁止運轉狀態 (如:鬆刀、油冷機警
報 …) ; A103 為 M03 主軸正轉狀態。
-80-
Page 89
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
6.17 夾頭與夾爪方向
車床夾爪有分外爪與內爪,因此需要有一夾爪方向的設定,這裡方向設定可由暫
存器去設定(以下範例使用 R82),或是操作面板按鍵有提供夾爪方向設定。夾頭
因使用的油壓電磁閥通常是五口二位,因此夾頭開關的 O 點需要 On 一段時間
後,才能切換。
Ladder 範例:
-81-
Page 90
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
PS:O49 為夾爪方向。
-82-
Page 91
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
加工吹氣電磁閥關閉
切削液 PUMP 關閉
主軸停止
7 銑床斗笠式刀庫應用範例
7.1 M 碼說明
7.1.1 M 碼定義總表
於標準銑床 PLC 程式中,提供下列 M 碼功能:
PS:M01 選擇停止、M02 程式結束、M98 呼叫副程式、M99 程式返回等四個 M
碼,是由 CNC 核心提供,並非 PLC 程式處理,因此未列入上表中。
-83-
Page 92
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
7.1.2 M 碼操作規格說明
1. M03( 主軸正轉):此指令可使主軸作順時鐘方向旋轉,與 S 碼一起使用,讓
主軸依設定轉速作順時鐘方向旋轉,動作順序如下:
I. 執行 M03 時,主軸正轉啟動直到主軸轉速 (R36) 到達目標轉速 (R871~)
的 80% 後,再接著繼續往下執行加工程式。
II. 主軸正轉訊號(C64 On) 輸出期間,會一直檢查主軸轉速是否高於目標轉
速的 70% ,如果轉速未達目標轉速的 70% ,會立即暫停加工程式,並
發出警報訊息。
2. M04( 主軸反轉):此指令可使主軸作逆時鐘方向旋轉,與 S 碼一起使用,讓
主軸依設定轉速作逆時鐘方向旋轉,動作順序如下:
I. 執行 M04 時,主軸反轉啟動直到主軸轉速 (R36) 到達目標轉速 (R871~)
的 80% 後,再接著繼續往下執行加工程式。
II. 主軸反轉訊號(C65 On) 輸出期間,會一直檢查主軸轉速是否高於目標轉
速的 70% ,如果轉速未達目標轉速的 70% ,會立即暫停加工程式,並
發出警報訊息。
3. M05( 主軸停止):此指令可使主軸依減速時間停止轉動,同是也可以使用此
指令取消主軸定位狀態,動作順序如下:
I. 執行 M05 時,啟動主軸減速停止。
II. 當主軸轉速(R36)低於 10PRM 後將關閉主軸控制。
4. M19(主軸定位 ):此指令可使主軸進行定位動作,動作順序如下:
I. 執行 M19 時,輸出主軸定位訊號。
II. 當控制器收到主軸定位完成訊號後,再接著繼續往下執行加工程式。
5. M50(主軸鬆刀 ):此指令可使主軸進行鬆刀動作,動作順序如下:
I. 執行 M50 時,輸出主軸鬆刀訊號。
II. 當控制器收到主軸鬆刀完成訊號後,再接著繼續往下執行加工程式。
6. M51(主軸夾刀 ):此指令可使主軸進行夾刀動作,動作順序如下:
I. 執行 M51 時,切斷主軸鬆刀訊號。
II. 當控制器收到主軸夾刀完成訊號後,再接著繼續往下執行加工程式。
7. M52(刀庫推出 ):此指令可使刀庫進行推出動作,動作順序如下:
I. 執行 M52 時,輸出刀庫推出訊號。
II. 當控制器收到刀庫推出完成訊號後,再接著繼續往下執行加工程式。
8. M53(刀庫推入 ):此指令可使刀庫進行推入動作,動作順序如下:
I. 執行 M53 時,切斷刀庫推出訊號。
II. 當控制器收到刀庫推入完成訊號後,再接著繼續往下執行加工程式。
-84-
Page 93
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
7.1.3 M 碼技術規格說明
1. M03(主軸正轉 ):
I. 主軸夾刀狀態下,才可以執行 M03。
II. 啟動主軸正轉 10 秒內,主軸轉速(R36)未達目標轉速(R871~)的 80%,
即發出『主軸正轉啟動異常』警報,同時暫停程式加工,此時需按壓重
置(Reset) 鍵解除。
III. 在主軸正轉狀態下,持續檢查主軸轉速,如發現主軸轉速低於目標轉速
的 70% ,即發出『主軸轉速異常偏低』警報,同時暫停程式加工,此時
需按壓重置(Reset) 鍵解除。
2. M04(主軸反轉 ):
I. 主軸夾刀狀態下,才可以執行 M04。
II. 啟動主軸反轉 10 秒內,主軸轉速(R36)未達目標轉速(R871~)的 80%,
即發出『主軸反轉啟動異常』警報,同時暫停程式加工,此時需按壓重
置(Reset) 鍵解除。
3. M05(主軸停止 ):
I. 執行 M05 時,不進行 M 碼等待,即 C38 維持輸出。
II. 主軸轉速低於 10RPM 才切掉主軸執行(RUN)的外部訊號。
4. M19(主軸定位 ):
I. 主軸夾刀狀態下,才可以執行 M19。
II. 啟動主軸定位 3 秒內,未有主軸定位完成確認訊號傳回控制器,即發出
『主軸定位失敗』警報,同時暫停程式加工,此時需按壓重置(Reset)
鍵解除。
III. 定位中變頻器傳回的定位完成訊號異常中斷,即發出『主軸定位異常中
斷警報』,同時暫停程式加工,此時需按壓重置(Reset) 鍵解除。
IV. 定位中可接受 M03、 M04 及 M05 解除,並同時直接啟動下一動作。
5. M50(主軸鬆刀 ):
I. 主軸正/反轉時,禁止執行主軸鬆刀。
II. 主軸轉速(R36)低於 10RPM 時,才可以執行主軸鬆刀。
III. 啟動主軸鬆刀 3 秒內,未有汽缸推出確認訊號傳回控制器,即發出『主
軸鬆刀失敗』警報,同時暫停程式加工,此時需按壓重置 (Reset)鍵解除。
IV. 汽缸推出確認訊號持續 0.1 秒鐘,主軸鬆刀才算完成。
6. M51(主軸夾刀 ):
I. 主軸正/反轉時,禁止執行主軸夾刀。
II. 主軸轉速(R36)低於 10RPM 時,才可以執行主軸夾刀。
III. 啟動主軸夾刀 3 秒內,未有汽缸退回確認訊號傳回控制器,即發出『主
軸鬆刀失敗』警報,同時暫停程式加工,此時需按壓重置 (Reset)鍵解除。
IV. 汽缸退回確認訊號持續 0.5 秒鐘,主軸夾刀才算完成。
7. M52(刀庫推出 ):
I. 主軸正/反轉時,禁止執行刀庫推出。
-85-
Page 94
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
II. 機械鎖定(Machine Lock,C43 On)狀態下,禁止執行刀庫推出。
III. 主軸轉速 (R36)低於 10RPM 時,才可以執行刀庫推出。
IV. 啟動刀庫推出 10 秒內,未有汽缸推出確認訊號傳回控制器,即發出『刀
庫推出失敗』警報,同時暫停程式加工,此時需按壓重置 (Reset)鍵解除。
V. 汽缸推出確認訊號持續 0.1 秒鐘,刀庫推出才算完成。
8. M53(刀庫退回 ):
I. Machine Lock 狀態下,禁止執行刀庫退回。
II. 主軸轉速(R36)低於 10RPM 時,才可以執行刀庫退回。
III. 啟動刀庫退回 10 秒內,未有汽缸退回確認訊號傳回控制器,即發出『刀
庫退回失敗』警報,同時暫停程式加工,此時需按壓重置 (Reset)鍵解除。
IV. 汽缸退回確認訊號持續 0.1 秒鐘,刀庫推出才算完成。
9. 其他:
I. 加工中,於操作面版的手動操控主軸無效。
II. 當G 碼指令與M05指令在同一單節時,頇等待G碼動作執行完成後(S30
On),才執行 M05 動作。
III. 啟動主軸 Y-Δ 切換需 5 秒內,未有切換完成確認訊號傳回控制器,即
發出『主軸 Y-Δ 切換失敗』警報,同時暫停程式加工,此時需按壓重
置(Reset) 鍵解除。
10. 特別注意事項:
I. 當夾/鬆刀與刀庫前進/後退之控制元件使用自動復歸型電磁閥時需
注意,在換刀失敗警報發生時,如果操作人員按下緊急停止鍵,刀庫會
自動退回,此時刀具如果沒有固定妥當,有可能刀具會從刀架上掉下來。
II. 當發生換刀失敗警報且順利排除後,請務必主動確認控制器紀錄之刀塔
刀號,及主軸刀號與實際刀號是否正確。如有異常,請修正控制器紀錄
的刀號資料表,然後關閉電源重新開機。
-86-
Page 95
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
M Code Ready
A30
A0(Power On Upper Trigger)
主軸定位
A119
S29 on & R1=19
動作完成訊號 on
且TM11 計數0.1 秒
TM1 計時3 秒
主軸定位失敗
A201
TM1 on or
C36 on
刀庫推出
A152
S29 on & R1=52
動作完成訊號 on
且TM16 計數0.1 秒
TM6 計時10 秒
刀庫推出失敗
A206
TM6 on or
C36 on
刀庫推入
A153
S29 on & R1=53
動作完成訊號 on
且TM17 計數0.1 秒
刀庫推入失敗
A207
TM7 on or
C36 on
TM17計時 10秒
主軸夾刀
A151
S29 on & R1=50
動作完成訊號 on
且TM14 計數0.1 秒
TM4 計時3 秒
主軸夾刀失敗
A204
TM4 on or
C36 on
主鬆鬆刀
A150
S29 on & R1=51
動作完成訊號 on
且TM15 計數0.1 秒
主軸鬆刀失敗
A205
TM5 on or
C36 on
TM5計時 3秒
主軸夾刀完成 &
刀庫推入完成 &
S32 on
主軸反轉
A104
S29 on & R1=4
動作完成訊號 on
且TM13 計數0.1 秒
TM3 計時10 秒
主軸反轉失敗
A203
TM3 on or
C36 on
主軸正轉
A103
S29 on & R1=3
動作完成訊號 on
且TM12 計數0.1 秒
TM2 計時10 秒
主軸正轉失敗
A202
TM2 on or
C36 on
S32 on
M Code Finish
A32
M Code Start
A31
S29 On
C38 On
C38 Off
C38 Off
換刀失敗
A210
7.1.4 M 碼機械狀態圖 (MSD)
-87-
Page 96
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
7.2 T 碼說明
7.2.1 T 碼操作規格說明
於加工程式中執行 T 碼,將進行主軸刀具變更,動作順序如下:
1. 主軸停止 (M05)
2. 刀庫旋轉並數刀至目前主軸刀號
3. 主軸定位 (M19)
4. Z 軸快速移動至第二參考點 (參數 Pr2803)
5. 刀庫推出 (M52)
6. 主軸鬆刀 (M50)
7. Z 軸快速移動至機械原點
8. 刀庫旋轉並數刀至目標刀號
9. Z 軸快速移動第二參考點 (參數 Pr2803)
10. 主軸夾刀 (M51)
11. 刀庫推回 (M53)
12. 主軸定位解除 (M05)
13. 改寫主軸刀號
14. 繼續往下執行加工程式
7.2.2 T 碼技術規格說明
1. 刀庫推出時,禁止主軸正 /反轉以及手動旋轉刀塔。
2. 啟動刀盤轉動 3 秒內,未有數刀訊號傳回控制器,即發出『數刀異常』警報,
同時暫停程式加工。
3. T 碼執行過程若出現『主軸定位失敗』、『刀庫推出失敗』、『主軸鬆刀失
敗』、『主軸夾刀失敗』、『刀庫推回失敗』或『數刀異常』等警報時,即
發出『換刀失敗』警報,同時暫停程式加工,此時需待主軸夾刀與刀庫推回
訊號出現後,按壓 Reset 解除。
7.2.3 T 碼呼叫巨集(MACRO)功能使用說明
新代控制器可提供選刀時呼叫副程式功能,當使用者完成以下設定後,T 碼觸發
時,系統會優先進入 T0000 中,然後再根據 T0000 內容觸發相關 PLC 動作。
1. 將控制器參數 Pr3215 設定為 1。
2. 將 T 碼指令呼叫的巨集預先編輯好,並存入控制器磁碟目錄中。
2.1 DOS 系統: C:\CNC\MACRO
2.2 WinCE 系統: DiskC\OpenCnc\MACRO
3. T 碼指令呼叫的巨集檔名需為 T0000(無副檔名 )。
-88-
Page 97
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
T碼執行開始
目標刀號 > 總刀數 or
目標刀號 = 主軸刀號 or
目標刀號 = 0
備份目標刀號與
G90/G91 狀態
主軸停止(M5)
刀庫旋轉至
目前主軸刀號
Z 軸移至
換刀點
主軸定位(M19)
刀庫推出(M52)
主軸鬆刀(M50)
刀庫旋轉至
目標刀號
Z 軸移至
換刀點
主軸夾刀(M51)
刀庫推入(M53)
主軸定位解除(M5)
改寫目前主軸刀號
還原換刀前
G90/G91狀態
T碼執行結束
No
Yes
Z軸移至
機械原點
7.2.4 T 碼動作流程圖
-89-
Page 98
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
7.2.5 T0000 範例
% @MACRO
WAIT();
// @481=R81_總刀數; @502=R102_目前主軸刀號
// #1004_G90/G91 模式; #1036_目標刀號; #26023=參數 Pr2803_Z 軸換刀點
IF ( @502 = #1036 OR 0 = #1036 OR @481 < #1036 ) THEN
M99; //判斷目標刀號=主軸目前刀號/零號刀/大於總刀數就跳出換刀
MACRO
END_IF;
@102:=#1036; //儲存目標刀號
@103:=#1004; //儲存進入換刀 MACRO 前的 G91/G90 狀態
M3S0; //強迫 0RPM,避免變頻器跳過電流 (OC)
M05;
WAIT();
T@502; //旋轉刀庫至目前刀號
M19; //主軸定位
G90 G53 Z#26023; //Z 軸移動到換刀點參數 Pr2803
G4X0.5;
WAIT();
M52; //刀庫推出
M50; //主軸鬆刀
G90 G53 Z0; //Z 軸移動到機械原點
WAIT();
T@102; //旋轉刀庫至目標刀號
G90 G53 Z#26023; //Z 軸移動到換刀點參數 Pr2803
G4X0.5;
WAIT();
M51; //主軸夾刀
M53; //刀庫推入
M05; //主軸定位解除
WAIT();
@502:=@102; //改寫主軸目前刀號
G@103; //回復進入換刀 MACRO 前的 G91/G90 狀態
M99;
-90-
Page 99
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
T碼就緒
A40
T碼啟動
A41
A0(剛開機時的上緣訊號 )
C38 on
S69 on(Txx)
目標刀號 = R3
ROT元件動作
TM8計時 3秒
數刀異常
A301
T碼完成
A42
TM8 on
目前刀號 = R3 &
TM18計數 0.1秒
手動正轉刀盤
A303
R13 = 5 且
手動正轉刀盤 on
目前刀號+1
若目前刀號 > 總刀數
則目前刀號 = 1
手動正轉刀盤 off
手動正轉刀盤
A304
R13 = 5 且
手動反轉刀盤 on
目前刀號-1
若目前刀號 < 0
則目前刀號 = 總 刀 數
手動反轉刀盤 off
主軸夾刀完成 且
刀庫推入完成 且
S32 on
換刀失敗
A210
重設刀號設定提示
7.2.6 T 碼機械狀態圖 (MSD)
-91-
Page 100
錯誤 ! 找不到參照來源。 . 錯誤 ! 找不到參照來源。
S碼就緒
A50
S碼啟動
A51
A0(剛開機時的上緣訊號 )
C38 on
S54 on(Sxxxx) 且 C64/C65 on
TM9計時 10秒
主軸變速失敗
A401
S碼完成
A52
TM10 on
動作完成訊號 on
且TM19 計數0.1 秒
S32 on
7.3 S 碼說明
7.3.1 S 碼操作規格說明
1. 在主軸轉動時執行 S 碼,將進行主軸轉速變換。
2. 當主軸轉速 (R36)高於目標轉速 (R871~)的 80%,且低於目標轉速的 110%後,
再接著繼續往下執行加工程式。
7.3.2 S 碼技術規格說明
1. 啟動主軸轉速變換 10 秒內,主軸轉速 (R36)無法高於目標轉速 (R871~)的
80%,且低於目標轉速的 110%時,即發出『主軸轉速變換失敗』警報,同
時暫停程式加工。
2. 頇待主軸轉速 (R36)高於目標轉速 (R871~)的 80%,且低於目標轉速的 110%
狀態持續 0.1 秒鐘,主軸轉速變換才算完成。
7.3.3 S 碼機械狀態圖 (MSD)
-92-