台達 CNC 數控系統解決方案 OPENCNC 系列使用手冊 www.deltaww.com
序言 感謝您購買本產品,在使用之前,請詳讀本手冊以正確使用產品;請將本手冊放置在明顯的地點以便 隨時查閱。在尚未讀完本手冊前,請務必遵守下列事項: 安裝的環境必須沒有水氣、腐蝕性氣體及可燃性氣體。 接線時,請依 NC 系列操作維護手冊中的端子定義圖說明進行施工,並請確實實施接地工程。 通電時,請勿拆解控制器或更改配線、請勿接觸電源處,以免觸電。 如果您在使用上仍有問題,請洽詢經銷商或者本公司客服中心。內容規格有所修正時,本公司將不另 行通知,請洽詢代理商或至台達網站(http://www.delta.com.tw/ia/)下載最新版本。 安全注意事項 安裝注意 請依照手冊指定的方式安裝控制器,否則可能導致設備損壞。 禁止將本產品暴露在有水氣、腐蝕性氣體、可燃性氣體等物質的場所中使用,否則 可能會造成觸電或火災。 配線注意 請將接地端子連接到 class-3 (100 Ω以下)接地,接地不良可能會造成通訊異常、觸 電或火災。 設備運轉前注意 請先使用 MLC 編輯軟體正確地規劃 I/O 動作,否則可能導致運轉異常。 機械設備運轉前須適當調整參數,否則將造成運轉異常或故障。 請確認緊急停止開關動作是否正常,避免在無保護的狀態下運轉設備。 November, 2017 i
操作注意 禁止在開啟電源時改變配線,否則可能造成人員觸電。 請勿以尖銳物品碰觸面板,否則可能導致面板凹陷,而導致控制器無法正常運作。 保養及檢查 電源啟動時,請勿拆下控制器面板或接觸控制器內部,否則會造成觸電。 電源關閉 10 分鐘內,不得接觸接線端子,殘餘電壓可能造成觸電。 更換備用電池前,應先行切斷電源,並在更換後重新檢查系統設定值。 操作控制器時,不可封住排氣孔,散熱不良易導致控制器故障。 配線方法 電源:請正確供應控制器 24 V 直流電源,並遵照線材規格配線,以免發生危險。 線材選用:所有訊號線請採用多股及多芯絞合線整體隔離。 配線長度:除了遠端 I/O 與 DMCNET 訊號線最長為 20 m,其餘訊號線長度最長 為 10 m。 本機 I/O 與遠端 I/O 需要另外配接 24 V 直流電源,才可正常輸出入訊號。 通訊電路的配線 DMCNET 接線:請依標準規格採用通訊配線線材。 請確保控制器與驅動器的接線無鬆脫情形,否則將導致運轉異常。 產品檢查 為了防止本產品在購買與運送過程中的疏忽,請詳細檢查下表所列出的項目: 檢查項目 內容 是否為購買的產品 檢查控制器銘板上的型號,請參閱產品型號說明 外觀 目視檢查外觀損傷 連接器 是否有連接器鬆脫或未固定的狀況 如果發生任何上述情形,請與代理商聯絡以獲得妥善的解決。 ii November, 2017
產品型號說明 NC30 E (1) (2) (1) 名稱 NC30:3 系列控制器 (2) 系列 E:Embedded 系列 EH:Embedded 多軸系列 產品配件 NC30E□ NC30E□ 用途 ● 電源 24 VDC 產品配件 ● 3-PIN 接頭 1 個 ● DMCNET 終端電阻 1 個 15-pin 母接頭及其配件 2 組 ● 於 MPG 及 SPINDLE 使用 於 HSI 接口使用 6-pin 接頭 1 個 (HSI:高速 G31 與外部緊急停止輸入介面) 硬體規格 NC30E□ 10% ~ 95% RH (0 ~ +55°C) 型號 10% ~ 95% RH (-20~ +60°C) 工作環境 自然冷卻 儲存環境 +24 VDC (-10% ~ +15%) (內建隔離電路) 冷卻方式 24 VDC 端子與 FG 端子間:AC500V,1 分鐘 工作電壓 絕緣耐力 15 W (24 V ; 0.6 A ) 消耗功率 3V 鋰電池 CR2032 × 1 記憶體備份電池 依使用環境溫度及使用條件而不同,常溫 25°C 下壽命約三年以上 備份電池壽命 60 x 196 x 164 尺寸 (W) x (H) x (D) mm 0.8 重量 (kg) November, 2017 iii
儲存環境條件 本產品在安裝之前必須置於其包裝箱內,若暫時不使用,為了使該產品能夠符合本公司的保固範圍及 日後的維護,儲存時務必注意下列事項: 儲存必須置於無塵垢、乾燥之平整位置。 儲存的環境溫度必須在 -20°C ~ 60°C (-4°F ~ 140°F) 範圍內。 儲存位置與工作環境的相對濕度必須在 10%到 95%範圍內且無結露。 避免儲存於含有腐蝕性或易燃氣、液體之環境中。 避免儲存於超出規格規定振動量之場所。 安裝環境條件 操作溫度:0°C ~ 55°C (32°F ~ 131°F) 長時間的運轉的環境溫度建議保持在 45°C 以下,以確保產品的可靠性能;若環境溫度超過 45°C 以 上時,請設置於通風條件符合且無過熱危險的配電箱內,並注意機器的振動是否會影響配電箱的電 子裝置。 為了使 NC 系列控制器能夠符合本公司保固範圍以及日後的維護,安裝時務必注意下列事項: 產品適合的安裝環境必須為:無發高熱裝置、無水滴、蒸氣、灰塵及油性灰塵之場所;無腐蝕、 易燃性之氣、液體之場所;無漂浮性的塵埃及金屬微粒之場所;堅固無振動、無電磁雜訊干擾 之場所。 安裝地點之溫度與濕度請勿超過規格所規定之範圍。 安裝方式及空間 NC 系列控制器必須垂直安裝於乾燥且堅固、符合 NEMA 標準的平台。為了使通風及散熱循環效果良 好,與其上下左右及相鄰的物品和擋板(牆)必須保持足夠空間(建議值為 50 mm 或 2 英吋),並且不可 封住控制器的吸排氣孔,請注意,過熱會造成控制器故障。 註:各版本內容若略有差異,請以台達網站(http://www.delta.com.tw/industrialautomation/) 最新公佈的資 訊為主。 iv November, 2017
目錄 外觀 簡 1.1 外觀·············································································································1-2 1.1.1 NC30E介面說明 (正面) ···········································································1-2 1.1.2 NC30E尺寸標記·····················································································1-3 配線 安 2.1 配線方式 ·······································································································2-2 2.1.1 I/O 腳位定義 ····························································································2-2 2.1.2 操作面板安裝 ···························································································2-3 2.1.3 電腦與網路連結 ························································································2-4 操作方式 軟 3.1 操作方式 ·······································································································3-2 3.1.1 更新韌體·································································································3-2 3.1.2 預設組合鍵······························································································3-2 3.1.3 進階組合鍵······························································································3-2 3.1.4 MLC 自定義鍵盤功能 ·················································································3-3 3.1.5 輸入裝置功能設定 ·····················································································3-7 OPENCNC 控制器 API 邊 4.1 資料型態 ·······································································································4-6 4.2 回傳說明 ·······································································································4-7 4.3 數值說明 ·······································································································4-10 4.3.1 CNC 數值單位 CNCUnit ·············································································4-10 4.3.2 軸代碼 Axis······························································································4-10 4.3.3 軸類型 Axis Type······················································································4-10 4.3.4 工作座標代碼 ···························································································4-11 4.3.5 CNC Mode ······························································································4-12 4.3.6 CNC Status ·····························································································4-12 4.3.7 CNC Restart Action ···················································································4-12 4.3.8 巨集變數代碼 ···························································································4-12 4.3.9 PLC 變數代碼 ··························································································4-13 4.3.10 Permission Mode ····················································································4-13 November, 2017
4.3.11 Disk Type ······························································································4-13 4.3.12 Data Type······························································································4-14 4.3.13 Sub Group Type······················································································4-14 4.3.14 軸類別 ··································································································4-14 4.3.15 RIO Type·······························································································4-15 4.4 欄位說明 ·······································································································4-15 4.5 IP Address Information·····················································································4-16 4.5.1 GetCurrentIPAddress:回傳現在電腦 IP Address·············································4-16 4.5.2 GetNetConfig:查詢 IP 詳細資訊··································································4-16 4.5.3 BroadcastGetCNC:取得同網段中控制器 IP Address 與名稱······························4-16 4.6 Connection Setting··························································································4-17 4.6.1 CNCInfoClass:CNCInfoClass 建構子 ··························································4-17 4.6.2 LocalIPAddress:Get/Set local IP Address ·····················································4-17 4.6.3 RemoteIPAddress:Get/Set Remote IP Address ·············································4-17 4.6.4 Timeout:Get/Set Timeout··········································································4-17 4.6.5 SetConnectInfo:設定連線用資訊 ································································4-18 4.6.6 Connect:建立的連線················································································4-18 4.6.7 Disconnect:中斷建立的連線 ······································································4-18 4.7 權限資訊 ·······································································································4-19 4.7.1 READ_current_permission: 讀取目前網路連線權限······································4-19 4.7.2 Check_current_permission:檢查目前網路連線是否 具備權限··························4-19 4.7.3 Check_default_password:檢查是否為預設密碼 ············································4-19 4.7.4 LockPermission:鎖定網路連線權限····························································4-20 4.7.5 UnLockPermission:解除網路連線權限························································4-20 4.7.6 Change_Password:改變權限密碼 ·····························································4-20 4.8 基本資訊 ·······································································································4-21 4.8.1 READ_CNCFlag:讀取 CNC 加工與 Alarm Flag··············································4-21 4.8.2 READ_CNCFlag:讀取 CNC 加工、Alarm 與 RestartAct Flag ····························4-21 4.8.3 READ_CNC_information:CNC 基本資訊 ······················································4-22 4.8.4 READ_Channel_information:Channel 基本資訊·············································4-22 4.8.5 READ_axis_count:Channel 伺服軸軸數 ·······················································4-23 4.8.6 READ_spindle_count:Channel 主軸軸數······················································4-23 4.8.7 READ_status:CNC 狀態···········································································4-23 4.8.8 READ_NCMOTION:CNC Motion 狀態資訊···················································4-24 4.8.9 READ_feed_spindle:讀取進給率/轉速 ·························································4-25 4.8.10 READ_gcode:讀取 G Code Data ······························································4-25 4.8.11 READ_othercode:讀取其他 Code Data······················································4-25 4.8.12 READ_CNC_HostName:讀取 NC 主機名稱 ················································4-26 4.8.13 WRITE_CNC_HostName:寫入 NC 主機名稱 ···············································4-26 4.8.14 READ_HomeStatus:寫入控制器軸回原點資訊 ·············································4-26 November, 2017
4.9 警報資訊 ·······································································································4-27 4.9.1 READ_current_alarm_count:讀取全部目前警報個數·······································4-27 4.9.2 READ_alm_current:讀取目前發生警報 ························································4-27 4.9.3 READ_history_alarm_count:讀取全部歷史警報個數 ·······································4-27 4.9.4 READ_alm_history_all:讀取全部歷史警報訊息 ··············································4-28 4.9.5 READ_alm_history:讀取歷史警報訊息·························································4-28 4.10 伺服資訊 ·····································································································4-29 4.10.1 READ_servo_current:讀取伺服軸負載電流 ·················································4-29 4.10.2 READ_spindle_current:讀取主軸負載電流 ··················································4-29 4.10.3 READ_servo_load:讀取伺服軸負載···························································4-30 4.10.4 READ_spindle_load:讀取主軸負載····························································4-30 4.10.5 READ_servo_speed:讀取伺服軸轉速 ························································4-30 4.10.6 READ_spindle_speed:讀取主軸轉速 ·························································4-31 4.10.7 READ_servo_temperature:讀取伺服軸溫度 ················································4-31 4.10.8 READ_spindle_temperature:讀取主軸溫度 ·················································4-31 4.11 座標資訊······································································································4-32 4.11.1 READ_POSITION:CNC 各軸座標 ·····························································4-32 4.11.2 CLEAR_Relative_Coord:清除相對座標 ······················································4-32 4.11.3 CLEAR_Relative_Coord_all:清除全部相對座標············································4-32 4.12 工件座標 ·····································································································4-33 4.12.1 READ_GPOSITION_Title:讀取工件座標標題名稱·········································4-33 4.12.2 READ_GPOSITION:讀取工件座標資料······················································4-33 4.12.3 WRITE_GPOSITION:寫入工件座標資料·····················································4-34 4.12.4 READ_Offset_Coord:讀取偏移座標資料·····················································4-34 4.12.5 WRITE_Offset_Coord:寫入偏移座標資料 ···················································4-34 4.13 刀具資訊 ·····································································································4-35 4.13.1 READ_cutter_title:讀取刀具標題列····························································4-35 4.13.2 READ_cutter_count:讀取刀具總筆數 ·························································4-35 4.13.3 READ_cutter:讀取刀具資訊 ·····································································4-35 4.13.4 WRITE_cutter:寫入刀具資訊····································································4-36 4.14 刀庫資訊 ·····································································································4-37 4.14.1 READ_magazine_info:讀取刀庫資訊 ·························································4-37 4.14.2 WRITE_magazine_info:寫入刀庫資訊························································4-37 4.14.3 RESET_magazine_info:重置刀庫 ·····························································4-38 4.14.4 WRITE_lock_magazine:刀庫封鎖 ·····························································4-38 4.14.5 WRITE_unlock_magazine:刀庫解鎖··························································4-38 4.15 加工資訊 ·····································································································4-39 4.15.1 READ_processtime:讀取加工時間···························································4-39 4.15.2 CLEAR_processtime:清除加工時間 ·························································4-39 4.15.3 READ_part_count:讀取加工數································································4-39 November, 2017
4.15.4 WRITE_part_count:寫入加工數 ······························································4-39 4.16 巨集變數 ·····································································································4-40 4.16.1 READ_MacroVariable:讀取 Macro Variable ···············································4-40 4.16.2 READ_MacroVariablebyID:讀取 Macro Variable···········································4-40 4.16.3 WRITE_MacroVariable:寫入 Macro Variable ···············································4-41 4.16.4 WRITE_MacroVariablebyID:寫入 Macro Variable ·········································4-41 4.17 PLC 變數·····································································································4-42 4.17.1 READ_PLC_ADDR_BUFFSIZE:取得 PLC Variable 需要的 Buffer Size ····························································································4-42 4.17.2 READ_PLC_ADDR:讀取 PLC Variable ······················································4-42 4.17.3 WRITE_PLC_ADDR:寫入 PLC Variable ·····················································4-43 4.17.4 WRITE_Customized_PLC_ADDR:寫入特定 PLC Variable······························4-43 4.18 參數資訊 ·····································································································4-44 4.18.1 READ_CNCParameter_Single:讀取單筆 CNC 參數 ······································4-44 4.19 SF 設定·······································································································4-46 4.19.1 READ_SF_Limit:讀取 SF 極限值 ······························································4-46 4.19.2 WRITE_S_setting:設定主軸轉速·······························································4-46 4.19.3 WRITE_F_setting:設定進給速度·······························································4-46 4.20 系統資訊·······································································································4-47 4.20.1 READ_System_Time:讀取系統日期時間 ····················································4-47 4.20.2 Reset_System:Reset System ··································································4-47 4.20.3 READ_system_variable:讀取系統變數·······················································4-48 4.20.4 READ_user_variable:讀取用戶變數···························································4-49 4.20.5 WRITE_user_variable_register:寫入用戶變數暫存器數值·······························4-49 4.20.6 WRITE_user_variable_value:寫入用戶變數數值 ··········································4-49 4.20.7 DELETE_user_variable:刪除用戶變數 ·······················································4-49 4.20.8 READ_equip_variable:讀取設備變數 ·························································4-50 4.20.9 WRITE_equip_variable_register:寫入設備變數暫存器數值 ·····························4-50 4.20.10 WRITE_equip_variable_value:寫入設備變數數值 ·······································4-50 4.20.11 DELETE_equip_variable:刪除設備變數 ····················································4-51 4.20.12 READ_system_status:讀取系統狀態························································4-51 4.20.13 READ_FW_version:讀取韌體序號···························································4-52 4.20.14 READ_HW_version:讀取硬體序號···························································4-52 4.20.15 READ_equip_infomation:讀取設備資訊 ····················································4-53 4.20.16 WRITE_equip_infomation:寫入設備資訊···················································4-53 4.20.17 DELETE_equip_infomation:刪除設備資訊·················································4-53 4.21 通道設定 ·····································································································4-54 4.21.1 READ_channel_setting:讀取通道設定························································4-54 4.21.2 WRITE_channel_setting_single:寫入單筆通道設定·······································4-54 4.21.3 WRITE_channel_setting_all:寫入全部通道設定············································4-55 November, 2017
4.21.4 READ_port_info:讀取埠設定····································································4-55 4.22 RIO 設定 ·····································································································4-56 4.22.1 RIO 設定說明 ·························································································4-56 4.22.2 READ_RIO_Status:讀取 RIO 埠狀態 ·························································4-56 4.22.3 READ_RIO_setting_single:讀取單筆 RIO 設定 ············································4-57 4.22.4 READ_RIO_setting_all:讀取全部 RIO 設定 ·················································4-57 4.22.5 WRITE_RIO_setting_single:寫入單筆 RIO 設定 ···········································4-58 4.22.6 WRITE_RIO_setting_all:寫入全部 RIO 設定 ················································4-58 4.22.7 READ_RIO_home_limit:讀取 RIO 原點極限設定 ··········································4-59 4.22.8 WRITE_RIO_home_limit:寫入 RIO 原點極限設定 ·········································4-59 4.22.9 READ_RIO_filter:讀取 RIO 濾波等級 ·························································4-59 4.23 檔案程式資訊 ·······························································································4-60 4.23.1 READ_disk_quota:讀取磁碟剩餘空間 ························································4-60 4.23.2 READ_inter_disk_quota:讀取快閃記憶體剩餘可用空間··································4-60 4.23.3 READ_dir_list:讀取磁碟目錄清單······························································4-61 4.23.4 UPLOAD_file:上傳檔案至 CNC ································································4-61 4.23.5 DOWNLOAD_file:從 CNC 下載檔案 ··························································4-61 4.23.6 DELETE_file:刪除 CNC 上檔案 ································································4-62 4.23.7 RENAME_file:修改 CNC 上檔案名稱 ·························································4-62 4.23.8 MAKE_directory:CNC 上建立目錄·····························································4-62 4.23.9 REMOVE_directory:CNC 上移除目錄 ························································4-63 4.23.10 WRITE_nc_main:設定加工程式為主程式 ··················································4-63 4.23.11 CLOSE_nc_main:移除主程式·································································4-63 4.23.12 READ_nc_pointer:讀取 NC 執行行號 ·······················································4-64 4.23.13 READ_preview_code:讀取 NC 預讀程式內容·············································4-64 4.23.14 READ_current_code:讀取 NC 當前程式內容··············································4-64 4.24 斷點搜尋 ·····································································································4-65 4.24.1 READ_CodeSearch_LineNo:讀取斷點搜尋行號···········································4-65 4.24.2 READ_CodeSearch_POSITION:讀取斷點搜尋座標 ······································4-65 4.24.3 WRITE_CodeSearch_Exec:執行斷點搜尋 ··················································4-66 4.24.4 READ_CodeSearch_Status:讀取斷點搜尋狀態············································4-66 4.25 手動輸入 ·····································································································4-67 4.25.1 WRITE_MDI_Load:MDI 載入 ···································································4-67 4.25.2 READ_MDI_code:MDI 執行內容讀取·························································4-67 4.25.3 CLEAR_MDI: MDI 清除 ·········································································4-67 4.26 系統監控 ·····································································································4-68 4.26.1 READ_RIO_MONITOR:I/O 監控·······························································4-68 4.26.2 READ_SERVO_MONITOR:伺服監控 ························································4-68 4.26.3 WRITE_home_setting:絕對歸零設定 ·························································4-69 4.26.4 READ_Variable_MONITOR_SysVar:系統變數監控 ·······································4-69 November, 2017
4.26.5 READ_Variable_MONITOR_ChannelVar:通道變數監控·································4-69 4.26.6 READ_Variable_MONITOR_AxisVar:軸變數監控 ·········································4-70 4.26.7 READ_Variable_MONITOR_HMIVar:介面變數監控·······································4-71 4.26.8 READ_Variable_MONITOR_MLCVar:MLC 變數監控·····································4-71 4.27 通用函式 ·····································································································4-72 4.27.1 TransferUnit:公英制數值轉換 ···································································4-72 4.27.2 TransferUnit:公英制數值轉換 ···································································4-72 4.27.3 TransferToString:數值轉換字串 ································································4-72 4.27.4 TransferToString:數值轉換字串 ································································4-73 November, 2017
外觀 本章節提供產品的外觀尺寸與硬體規格介面說明。 1.1 外觀·································································································· 1-2 1.1.1 NC30E介面說明 (正面)································································· 1-2 1.1.2 NC30E尺寸標記 ·········································································· 1-3 November, 2017 1-1
外觀 OPENCNC 使用手冊 1.1 外觀 1 1.1.1 NC30E介面說明 (正面) 編號 項目 編號 項目 (1) 高速串列 I/O 端子 (15) 高速 G31 端子 (2) (19) 第二操作面板 (3) 手輪端子 (20) USB 插槽 (連接滑鼠、鍵盤、隨身碟) (7) 主軸端子 (21) VGA (連接螢幕) (8) CF 卡插槽 (22) (9) DMCNET 端子 (23) 工程模式 (12) 乙太網路端子 工作燈號 24 VDC 控制器電源 - - 燈號狀態 說明 PWR 綠色:電源開啟 RDY 綠色閃爍:系統已備妥;橘色:進入模式 1 ~ 3 SON 綠色:系統已備妥 RIO 綠色:遠端 I/O 正常 ETH 綠色:網路通訊正常 ALM 紅色:警報發生;綠色閃爍:軟體更新中 1-2 November, 2017
OPENCNC 使用手冊 外觀 1.1.2 NC30E尺寸標記 1 外觀尺寸對應表 尺寸 標記 60 mm A 19 mm B 196 mm C 213 mm D 164 mm E 70 mm G 尺寸 開孔尺寸對應表 210 ± 0.3 mm 標記 19 ± 0.3 mm H1 W1 M5 I November, 2017 1-3
外觀 OPENCNC 使用手冊 1 (此頁有意留為空白) 1-4 November, 2017
配線 本章說明控制器接線方法與各種信號端子之意義,以及列出各種功能的標準接線圖。 2.1 配線方式···························································································· 2-2 2.1.1 I/O 腳位定義·················································································· 2-2 2.1.2 操作面板安裝 ················································································ 2-3 2.1.3 電腦與網路連結 ············································································· 2-4 November, 2017 2-1
配線 OPENCNC 使用手冊 HSI REMOTE IO 2.1 配線方式 2 2.1.1 I/O 腳位定義 PIN No. MPG SPINDLE 參考點,可接 24 EMG (DC+ 5V 輸出) 1 VDC 或 0 VDC RS-485 GND TX+ (雙向輸入) TX- 2 DI0 RS-485 D+ MODE_ENABLE RX- (DC+ 5 V 輸出) RX+ HSI_1 GND 3 DI1 RS-485 D- (計數器 C78,輸入 SHIELD 保留 [M2142]) 保留 保留 SP OUT GND 保留 4 DI2 (類比輸出) 保留 保留 SP GND HSI_2 保留 保留 5 DI3 (類比接地) (計數器 C79,輸入 保留 [M2143]) 6 DI4 保留 HSI_COM,可接+24 VDC 或 0 V 7 DI5 保留 保留 8 DI6 +5 SP A+ 保留 9 DI7 +5 SP A- 保留 10 +5 VDC OUT +5 VDC OUT 保留 11 XA+ +5 SP B+ 保留 12 XA- +5 SP B- 保留 13 XB+ +5 SP Z+ 保留 14 XB- +5 SP Z- 保留 15 GND GND 保留 2-2 November, 2017
OPENCNC 使用手冊 配線 2.1.2 操作面板安裝 2 面板安裝方式可分為兩種,以下將個別說明其包含的裝置,請參考下圖。 A. 標準操作面板安裝方式,包含:(1) 台達螢幕;(2) 第一面板;(3) 第二面板 B. 外接市售面板安裝方式,包含:(4) 市售螢幕;(5) 鍵盤 兩種配置方式皆可連接(6) ASDA 系列 AC 伺服驅動器、(7) 主軸伺服驅動器(ASDA-S)、 (8) ECMA 系列伺服馬達及(9) ECMS 系列伺服主軸馬達。 November, 2017 2-3
配線 OPENCNC 使用手冊 2 2.1.3 電腦與網路連結 透過電腦與網路連接 NC30E時,配置包含: (1) 個人電腦或 PC-based 工業控制器 (2) 滑鼠及台達 OpenCNC 公版軟體 (3) ASDA 系列 AC 伺服驅動器 (4) 主軸伺服驅動器(ASDA-S) (5) ECMA 系列伺服馬達 (6) ECMS 系列伺服主軸馬達 2-4 November, 2017
操作方式 NC 控制器具備有多種系統介面模式,本章節針對系統提供的介面模式與操作方式作說明。 3.1 操作方式···························································································· 3-2 3.1.1 更新韌體 ······················································································ 3-2 3.1.2 預設組合鍵 ··················································································· 3-2 3.1.3 進階組合鍵 ··················································································· 3-2 3.1.4 MLC 自定義鍵盤功能 ······································································ 3-3 3.1.5 輸入裝置功能設定 ·········································································· 3-7 November, 2017 3-1
操作方式 OPENCNC 使用手冊 3.1 操作方式 3 3.1.1 更新韌體 OPENCNC 具備更新韌體的功能,使用者可在開機時同時按壓鍵盤 F1 與 F2 為機器更新。 3.1.2 預設組合鍵 OPENCNC 提供與實體機一樣的系統模式切換,如 POS、PRG、OFS、DGN 等,可由 鍵盤之組合鍵切換。 模式 鍵盤按鍵 Reset Ctrl +ESC POS Ctrl +F1 PRG Ctrl +F2 OFS Ctrl +F3 DGN Ctrl +F4 ALM Ctrl +F5 GRA Ctrl +F6 PAR Ctrl +F7 SOF Ctrl +F8 3.1.3 進階組合鍵 OPENCNC 除了預設組合鍵功能之外,亦提供空白鍵之功能選項。此方式係指同時按壓 鍵盤 Ctrl+Space+F1 或 Ctrl+Space+F2……Ctrl+Space+F8 時,會觸發 MLC 特 M 裝置。 對應參數與特 M 裝置設定如下: 3-2 November, 2017
OPENCNC 使用手冊 操作方式 觸發 M 裝置對應 MLC 之應用實例: 3 1. Ctrl+Space+F1 按壓時,觸發 M3002 (上升緣)。 2. Ctrl+Space+F2 按壓時,觸發 M3004 (上升緣)。 3.1.4 MLC 自定義鍵盤功能 OPENCNC 之預設組合鍵功能如:Ctrl +F1, Ctrl + F2…等等可切換系統模式,若需要自 訂 Ctrl +F1、Ctrl + F2 等對應的功能,可以經由 MLC 自定義鍵盤功能達成此項目的。使 用該項功能必須設定以下參數。 注意:若系統設定時發生設定錯誤,導致所有鍵盤都無法操作,此時可同時按下鍵盤 [Ctrl]+[Alt]+[Delete]解除 MLC 自定義鍵盤功能。 使用 MLC 自定義鍵盤功能參數 號碼 參數名稱 參數說明 12017.4 自定義鍵盤功能 開啟 MLC 自定義鍵盤功能 12029 關閉系統鍵盤操作 M 1. 若此 M 裝置狀態為 ON,預設組合鍵功能操作將會關閉。 裝置號碼 2. 若狀態為 OFF,則允許預設組合鍵操作,此功能只有在 12017.4 為 1 時才會生效。 12030 紀錄鍵盤按鍵值 D 1. 將鍵盤收到的按鍵值寫入對應的 D 暫存器內。 裝置號碼 2. 鍵盤按下後會將值寫入 D 暫存器內,放開按鍵後則會將 D 暫存器內值清除 0。 註:此功能只有在 12017.4 為 1 時才會生效。 November, 2017 3-3
操作方式 OPENCNC 使用手冊 3 鍵盤定義 Key 值 +Ctrl (+0x100) +Alt (+0x200) 鍵盤定義 0x30 ~ 0x39 0x130 ~ 0x139 0x230 ~ 0x239 0~9 0x41 ~ 0x5A 0x131 ~ 0x15A 0x231 ~ 0x25A A~Z 0x61 ~ 0x7A 0x161 ~ 0x17A 0x261 ~ 0x27A a~z 0x470 ~ 0x47A 0x570 ~ 0x57A 0x670 ~ 0x67A F1 ~ F12 SPACE 0x20 0x120 0x220 ENTER 0x0D 0x10D 0x20D + 0x2B 0x12B 0x22B - 0x2D 0x12D 0x22D * 0x2A 0x12A 0x22A / 0x2F 0x12F 0x22F = 0x3D 0x13D 0x23D > 0x3E 0x13E 0x23E < 0x3C 0x13C 0x23C ! 0x21 0x121 0x221 : 0x3A 0x13A 0x23A | 0x7C 0x17C 0x27C ^ 0x5E 0x15E 0x25E \& 0x26 0x126 0x226 # 0x23 0x123 0x223 ; 0x3B 0x13B 0x23B , 0x2C 0x12C 0x22C . 0x3E 0x13E 0x23E ( 0x28 0x128 0x228 ) 0x29 0x129 0x229 [ 0x5B 0x15B 0x25B ] 0x5D 0x15D 0x25D Insert 0x44B 0x54B 0x64B Delete 0x44C 0x54C 0x64C Home 0x450 0x550 0x650 End 0x451 0x551 0x651 Page Up 0x455 0x555 0x655 0x456 0x556 0x656 Page Down 0x08 0x108 0x208 Backspace 0x46E 0x56E 0x66E 0x47C 0x57C 0x67C Esc 0x47D 0x57D 0x67D Print Screen 0x47E 0x57E 0x67E Scroll Lock 0x09 0x109 0x209 Pause Break November, 2017 Tab 3-4
OPENCNC 使用手冊 操作方式 鍵盤定義 Key 值 +Ctrl (+0x100) +Alt (+0x200) 3 Up 0x453 0x553 0x653 0x454 0x554 0x654 Down 0x44F 0x54F 0x64F Left 0x459 0x559 0x659 Right MLC 自定義鍵盤應用實例 功能需求: 1. 透過 Ctrl + F1、Ctrl + F2、Ctrl + F3、Ctrl + F4 來切換模式。 2. 透過 Ctrl + Z 來決定 Ctrl +Fx 的功能,將功能設定為「切換系統群組」或是 「切換模式」。 系統設定: 步驟一:設定上述說明的對應參數: 將 12017.4 設定為 1。 將 12029 設定為 700。 將 12030 設定為 200。 November, 2017 3-5
操作方式 OPENCNC 使用手冊 3 步驟二:修改後,MLC 階梯圖如下圖所示 3-6 November, 2017
OPENCNC 使用手冊 操作方式 3.1.5 輸入裝置功能設定 3 OPENCNC 允許使用者利用滑鼠、鍵盤以及觸碰螢幕操作系統,其相關的參數設 定如下圖: 輸入裝置相關設定 號碼 參數名稱 參數說明 此數值越大,滑鼠靈敏度將越低。 10005.1 滑鼠靈敏度 1. 通常不須開啟此參數,請於該型號滑鼠無法操作時 10005.2 支援 HID 滑鼠格式 再開啟。 2. 觸控螢幕操作下須打開此參數。 10005.3 自動開啟鍵盤 1. 舊版本 OpenCNC 重上電時,NumLock 按鍵會被自 10005.4 NumLock 動關閉。 游標顯示時間(秒) 2. 當開啟此參數後,重上電將自動開啟 NumLock 功能。 游標停止後,計數達此設定值時,會消失在螢幕上。 November, 2017 3-7
操作方式 OPENCNC 使用手冊 3 (此頁有意留為空白) 3-8 November, 2017
OPENCNC 控制器 API NC 系列提供開放式的控制方式,可使用特定之 API 並透過 Ethernet 通道即可操作控制器, 本章節將說明各 API 之使用方法。 4.1 資料型態·························································································· 4-6 4.2 回傳說明·························································································· 4-7 4.3 數值說明························································································ 4-10 4.3.1 CNC 數值單位 CNCUnit ······························································ 4-10 4.3.2 軸代碼 Axis··············································································· 4-10 4.3.3 軸類型 Axis Type······································································· 4-10 4.3.4 工作座標代碼 ·············································································4-11 4.3.5 CNC Mode ··············································································· 4-12 4.3.6 CNC Status ·············································································· 4-12 4.3.7 CNC Restart Action ···································································· 4-12 4.3.8 巨集變數代碼 ············································································ 4-12 4.3.9 PLC 變數代碼············································································ 4-13 4.3.10 Permission Mode ····································································· 4-13 4.3.11 Disk Type················································································ 4-13 4.3.12 Data Type ··············································································· 4-14 4.3.13 Sub Group Type······································································· 4-14 4.3.14 軸類別 ··················································································· 4-14 4.3.15 RIO Type ················································································ 4-15 4.4 欄位說明························································································ 4-15 4.5 IP Address Information ····································································· 4-16 4.5.1 GetCurrentIPAddress:回傳現在電腦 IP Address ······························ 4-16 4.5.2 GetNetConfig:查詢 IP 詳細資訊 ··················································· 4-16 4.5.3 BroadcastGetCNC:取得同網段中控制器 IP Address 與名稱 ··············· 4-16 4.6 Connection Setting ·········································································· 4-17 4.6.1 CNCInfoClass:CNCInfoClass 建構子············································ 4-17 4.6.2 LocalIPAddress:Get/Set local IP Address ······································ 4-17 4.6.3 RemoteIPAddress:Get/Set Remote IP Address······························· 4-17 4.6.4 Timeout:Get/Set Timeout ··························································· 4-17 4.6.5 SetConnectInfo:設定連線用資訊·················································· 4-18 4.6.6 Connect:建立的連線 ································································· 4-18 4.6.7 Disconnect:中斷建立的連線························································ 4-18 4.7 權限資訊························································································ 4-19 4.7.1 READ_current_permission: 讀取目前網路連線權限 ······················· 4-19 November, 2017 4-1
OPENCNC 控制器 API OPENCNC 使用手冊 4 4.7.2 Check_current_permission:檢查目前網路連線是否 具備權限 ··········· 4-19 4.7.3 Check_default_password:檢查是否為預設密碼 ····························· 4-19 4-2 4.7.4 LockPermission:鎖定網路連線權限············································· 4-20 4.7.5 UnLockPermission:解除網路連線權限 ········································· 4-20 4.7.6 Change_Password:改變權限密碼··············································· 4-20 4.8 基本資訊························································································ 4-21 4.8.1 READ_CNCFlag:讀取 CNC 加工與 Alarm Flag ······························· 4-21 4.8.2 READ_CNCFlag:讀取 CNC 加工、Alarm 與 RestartAct Flag ············· 4-21 4.8.3 READ_CNC_information:CNC 基本資訊 ······································· 4-22 4.8.4 READ_Channel_information:Channel 基本資訊 ······························ 4-22 4.8.5 READ_axis_count:Channel 伺服軸軸數 ········································ 4-23 4.8.6 READ_spindle_count:Channel 主軸軸數 ······································· 4-23 4.8.7 READ_status:CNC 狀態 ···························································· 4-23 4.8.8 READ_NCMOTION:CNC Motion 狀態資訊 ···································· 4-24 4.8.9 READ_feed_spindle:讀取進給率/轉速··········································· 4-25 4.8.10 READ_gcode:讀取 G Code Data ··············································· 4-25 4.8.11 READ_othercode:讀取其他 Code Data ······································· 4-25 4.8.12 READ_CNC_HostName:讀取 NC 主機名稱·································· 4-26 4.8.13 WRITE_CNC_HostName:寫入 NC 主機名稱 ································ 4-26 4.8.14 READ_HomeStatus:寫入控制器軸回原點資訊 ······························ 4-26 4.9 警報資訊························································································ 4-27 4.9.1 READ_current_alarm_count:讀取全部目前警報個數 ························ 4-27 4.9.2 READ_alm_current:讀取目前發生警報·········································· 4-27 4.9.3 READ_history_alarm_count:讀取全部歷史警報個數························· 4-27 4.9.4 READ_alm_history_all:讀取全部歷史警報訊息································ 4-28 4.9.5 READ_alm_history:讀取歷史警報訊息 ·········································· 4-28 4.10 伺服資訊 ······················································································ 4-29 4.10.1 READ_servo_current:讀取伺服軸負載電流··································· 4-29 4.10.2 READ_spindle_current:讀取主軸負載電流 ··································· 4-29 4.10.3 READ_servo_load:讀取伺服軸負載 ············································ 4-30 4.10.4 READ_spindle_load:讀取主軸負載 ············································· 4-30 4.10.5 READ_servo_speed:讀取伺服軸轉速·········································· 4-30 4.10.6 READ_spindle_speed:讀取主軸轉速 ·········································· 4-31 4.10.7 READ_servo_temperature:讀取伺服軸溫度·································· 4-31 4.10.8 READ_spindle_temperature:讀取主軸溫度··································· 4-31 4.11 座標資訊 ······················································································ 4-32 4.11.1 READ_POSITION:CNC 各軸座標 ·············································· 4-32 4.11.2 CLEAR_Relative_Coord:清除相對座標········································ 4-32 4.11.3 CLEAR_Relative_Coord_all:清除全部相對座標 ····························· 4-32 4.12 工件座標 ······················································································ 4-33 4.12.1 READ_GPOSITION_Title:讀取工件座標標題名稱 ·························· 4-33 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.12.2 READ_GPOSITION:讀取工件座標資料 ······································· 4-33 4 4.12.3 WRITE_GPOSITION:寫入工件座標資料 ······································ 4-34 4.12.4 READ_Offset_Coord:讀取偏移座標資料 ······································ 4-34 4.12.5 WRITE_Offset_Coord:寫入偏移座標資料····································· 4-34 4.13 刀具資訊 ······················································································ 4-35 4.13.1 READ_cutter_title:讀取刀具標題列 ············································· 4-35 4.13.2 READ_cutter_count:讀取刀具總筆數 ·········································· 4-35 4.13.3 READ_cutter:讀取刀具資訊 ······················································ 4-35 4.13.4 WRITE_cutter:寫入刀具資訊 ····················································· 4-36 4.14 刀庫資訊 ······················································································ 4-37 4.14.1 READ_magazine_info:讀取刀庫資訊 ·········································· 4-37 4.14.2 WRITE_magazine_info:寫入刀庫資訊 ········································· 4-37 4.14.3 RESET_magazine_info:重置刀庫··············································· 4-38 4.14.4 WRITE_lock_magazine:刀庫封鎖 ·············································· 4-38 4.14.5 WRITE_unlock_magazine:刀庫解鎖 ··········································· 4-38 4.15 加工資訊 ······················································································ 4-39 4.15.1 READ_processtime:讀取加工時間 ············································ 4-39 4.15.2 CLEAR_processtime:清除加工時間 ·········································· 4-39 4.15.3 READ_part_count:讀取加工數 ················································· 4-39 4.15.4 WRITE_part_count:寫入加工數················································ 4-39 4.16 巨集變數 ······················································································ 4-40 4.16.1 READ_MacroVariable:讀取 Macro Variable································· 4-40 4.16.2 READ_MacroVariablebyID:讀取 Macro Variable ···························· 4-40 4.16.3 WRITE_MacroVariable:寫入 Macro Variable································· 4-41 4.16.4 WRITE_MacroVariablebyID:寫入 Macro Variable··························· 4-41 4.17 PLC 變數 ····················································································· 4-42 4.17.1 READ_PLC_ADDR_BUFFSIZE:取得 PLC Variable 需要的 Buffer Size ············································································· 4-42 4.17.2 READ_PLC_ADDR:讀取 PLC Variable········································ 4-42 4.17.3 WRITE_PLC_ADDR:寫入 PLC Variable ······································ 4-43 4.17.4 WRITE_Customized_PLC_ADDR:寫入特定 PLC Variable ··············· 4-43 4.18 參數資訊 ······················································································ 4-44 4.18.1 READ_CNCParameter_Single:讀取單筆 CNC 參數 ······················· 4-44 4.19 SF 設定 ······················································································· 4-46 4.19.1 READ_SF_Limit:讀取 SF 極限值················································ 4-46 4.19.2 WRITE_S_setting:設定主軸轉速 ················································ 4-46 4.19.3 WRITE_F_setting:設定進給速度 ················································ 4-46 4.20 系統資訊 ······················································································· 4-47 4.20.1 READ_System_Time:讀取系統日期時間······································ 4-47 4.20.2 Reset_System:Reset System···················································· 4-47 4.20.3 READ_system_variable:讀取系統變數 ········································ 4-48 November, 2017 4-3
OPENCNC 控制器 API OPENCNC 使用手冊 4 4.20.4 READ_user_variable:讀取用戶變數············································ 4-49 4.20.5 WRITE_user_variable_register:寫入用戶變數暫存器數值 ················ 4-49 4-4 4.20.6 WRITE_user_variable_value:寫入用戶變數數值···························· 4-49 4.20.7 DELETE_user_variable:刪除用戶變數 ········································ 4-49 4.20.8 READ_equip_variable:讀取設備變數 ·········································· 4-50 4.20.9 WRITE_equip_variable_register:寫入設備變數暫存器數值··············· 4-50 4.20.10 WRITE_equip_variable_value:寫入設備變數數值························· 4-50 4.20.11 DELETE_equip_variable:刪除設備變數······································ 4-51 4.20.12 READ_system_status:讀取系統狀態 ········································· 4-51 4.20.13 READ_FW_version:讀取韌體序號 ············································ 4-52 4.20.14 READ_HW_version:讀取硬體序號············································ 4-52 4.20.15 READ_equip_infomation:讀取設備資訊 ····································· 4-53 4.20.16 WRITE_equip_infomation:寫入設備資訊 ···································· 4-53 4.20.17 DELETE_equip_infomation:刪除設備資訊 ·································· 4-53 4.21 通道設定 ······················································································ 4-54 4.21.1 READ_channel_setting:讀取通道設定········································· 4-54 4.21.2 WRITE_channel_setting_single:寫入單筆通道設定 ························ 4-54 4.21.3 WRITE_channel_setting_all:寫入全部通道設定 ····························· 4-55 4.21.4 READ_port_info:讀取埠設定 ····················································· 4-55 4.22 RIO 設定 ······················································································ 4-56 4.22.1 RIO 設定說明 ·········································································· 4-56 4.22.2 READ_RIO_Status:讀取 RIO 埠狀態 ·········································· 4-56 4.22.3 READ_RIO_setting_single:讀取單筆 RIO 設定······························ 4-57 4.22.4 READ_RIO_setting_all:讀取全部 RIO 設定··································· 4-57 4.22.5 WRITE_RIO_setting_single:寫入單筆 RIO 設定 ···························· 4-58 4.22.6 WRITE_RIO_setting_all:寫入全部 RIO 設定 ································· 4-58 4.22.7 READ_RIO_home_limit:讀取 RIO 原點極限設定···························· 4-59 4.22.8 WRITE_RIO_home_limit:寫入 RIO 原點極限設定 ·························· 4-59 4.22.9 READ_RIO_filter:讀取 RIO 濾波等級 ·········································· 4-59 4.23 檔案程式資訊 ················································································ 4-60 4.23.1 READ_disk_quota:讀取磁碟剩餘空間 ········································· 4-60 4.23.2 READ_inter_disk_quota:讀取快閃記憶體剩餘可用空間 ··················· 4-60 4.23.3 READ_dir_list:讀取磁碟目錄清單 ··············································· 4-61 4.23.4 UPLOAD_file:上傳檔案至 CNC·················································· 4-61 4.23.5 DOWNLOAD_file:從 CNC 下載檔案············································ 4-61 4.23.6 DELETE_file:刪除 CNC 上檔案·················································· 4-62 4.23.7 RENAME_file:修改 CNC 上檔案名稱 ·········································· 4-62 4.23.8 MAKE_directory:CNC 上建立目錄 ·············································· 4-62 4.23.9 REMOVE_directory:CNC 上移除目錄 ········································· 4-63 4.23.10 WRITE_nc_main:設定加工程式為主程式···································· 4-63 4.23.11 CLOSE_nc_main:移除主程式 ·················································· 4-63 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.23.12 READ_nc_pointer:讀取 NC 執行行號 ········································ 4-64 4 4.23.13 READ_preview_code:讀取 NC 預讀程式內容 ······························ 4-64 4.23.14 READ_current_code:讀取 NC 當前程式內容 ······························· 4-64 4.24 斷點搜尋 ······················································································ 4-65 4.24.1 READ_CodeSearch_LineNo:讀取斷點搜尋行號 ···························· 4-65 4.24.2 READ_CodeSearch_POSITION:讀取斷點搜尋座標 ······················· 4-65 4.24.3 WRITE_CodeSearch_Exec:執行斷點搜尋···································· 4-66 4.24.4 READ_CodeSearch_Status:讀取斷點搜尋狀態 ····························· 4-66 4.25 手動輸入 ······················································································ 4-67 4.25.1 WRITE_MDI_Load:MDI 載入 ···················································· 4-67 4.25.2 READ_MDI_code:MDI 執行內容讀取 ·········································· 4-67 4.25.3 CLEAR_MDI: MDI 清除··························································· 4-67 4.26 系統監控 ······················································································ 4-68 4.26.1 READ_RIO_MONITOR:I/O 監控 ················································ 4-68 4.26.2 READ_SERVO_MONITOR:伺服監控·········································· 4-68 4.26.3 WRITE_home_setting:絕對歸零設定 ·········································· 4-69 4.26.4 READ_Variable_MONITOR_SysVar:系統變數監控 ························ 4-69 4.26.5 READ_Variable_MONITOR_ChannelVar:通道變數監控 ·················· 4-69 4.26.6 READ_Variable_MONITOR_AxisVar:軸變數監控··························· 4-70 4.26.7 READ_Variable_MONITOR_HMIVar:介面變數監控························ 4-71 4.26.8 READ_Variable_MONITOR_MLCVar:MLC 變數監控 ······················ 4-71 4.27 通用函式 ······················································································ 4-72 4.27.1 TransferUnit:公英制數值轉換 ···················································· 4-72 4.27.2 TransferUnit:公英制數值轉換 ···················································· 4-72 4.27.3 TransferToString:數值轉換字串·················································· 4-72 4.27.4 TransferToString:數值轉換字串·················································· 4-73 November, 2017 4-5
OPENCNC 控制器 API OPENCNC 使用手冊 4 4.1 資料型態 所佔空間 8位元 型態名稱 8位元 byte 16位元 char 16位元 short 32位元 32位元 ushort (unsigned short) 32位元 int 64位元 uint (unsigned int) float double 4-6 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.2 回傳說明 回傳值 錯誤類別 說明 4 2 API_RET_MAIN_FILE_OPENED 檔案已經開啟 1 API_RET_DONE_WORKING 執行成功,但目前為加工狀態 0 API_RET_SUCCESS 執行成功 -1 API_RET_NETWORK_CONNECT_ERR 連線錯誤 -2 API_RET_DEL_ERR 檔案刪除錯誤 -9 API_RET_NETWORK_TRANSFER 傳輸錯誤 -10 API_RET_WORKING 系統加工中 -11 API_RET_TRANSFERING 系統仍有其他連線傳輸中 -12 API_RET_BACKUP_ERR 無法寫入備份檔 -13 API_RET_OVERBUFF 傳輸資料超過系統BUFFSIZE -14 API_RET_DISK_ERR 磁碟空間不足 -15 API_RET_FILE_ACC_ERR_SERVER CNC讀取檔案錯誤 -16 API_RET_FILE_WRITE_ERR_SERVER CNC寫入檔案錯誤 -17 API_RET_INPUT_PARAM_ERR 輸入參數錯誤 -18 API_RET_AXIS_ERR 軸不符合 -19 API_RET_PERMISSION_ERR 認證密碼錯誤 -20 API_RET_SET_ERR 設定錯誤 -21 API_RET_FILE_ACC_ERR_CLIENT Client端檔案存取錯誤 -23 API_RET_RETURN_NULL 網路回傳空白 -24 API_RET_CONNECTING_SET_ERR 連線中,無法設定 -25 API_RET_IMPORT_TWICE_ERR 禁止連續匯入兩次 -26 API_RET_OPEN_MAIN_FILE_ERR 開啟主檔失敗 -27 API_RET_CNANNEL_ERR 通道錯誤 -28 API_RET_PAR_NOT_ENABLE 相關參數未開啟 -29 API_RET_PAR_READONLY_ERR 參數唯讀 -30 API_RET_SYS_AUTH_ERR 系統權限認證錯誤 -31 API_RET_EQUIP_AUTH_ERR 設備商權限認證錯誤 -32 API_RET_USER1_PERM_ERR 用戶權限1認證錯誤 -33 API_RET_USER2_PERM_ERR 用戶權限2認證錯誤 -34 API_RET_AUTH_ERR 權限認證錯誤 -35 API_RET_PWD_ERR 密碼錯誤 -36 API_RET_API_INEXISTENCE API不存在 -37 API_RET_API_UNAVAILABLE API不可使用 -38 API_RET_RETURN_CMD_ERR 回傳指令錯誤 -39 API_RET_MLC_READ_BUFFER_NULL MLC讀取寫入Buffer為空白 -44 API_RET_Servo_ERR 伺服未備妥 -45 API_RET_ParValue_Over 輸入值超出範圍 November, 2017 4-7
OPENCNC 控制器 API OPENCNC 使用手冊 4 回傳值 錯誤類別 說明 -46 API_RET_Channel_ERR 通道不符合 -47 API_RET_FEEDHOLD Feedhold狀態 -48 API_RET_BIT_CANNOT_SET Bit無法設定 -49 API_RET_BLOCK_NOT_COMPLETE 當節未完成 -50 API_RET_Read_ERR 伺服讀取資料失敗 -51 API_RET_Spindle_Axis_Enable_ERR 主軸致能錯誤 -52 API_RET_Servo_Axis_Enable_ERR 伺服軸致能錯誤 -53 API_RET_HANDLE_OPERATE_ERR 不符合操作模式 -54 API_RET_SERVO_DISCONECT_ERR 伺服斷線 -55 API_RET_PORT_USE_ERR Port已被使用 -56 API_RET_PORT_RANGE_ERR 網路埠號超出範圍 -57 API_RET_DISPLAYNAME_ERR 顯示名稱超過範圍 -58 API_RET_RIO_TYPE_OVER_ERR RIO type設定超過範圍 -59 API_RET_MLC_FILE_NOT_EXIST MLC檔案不存在 -60 API_RET_MLC_FILE_OPEN_FAIL MLC開啟檔案錯誤 -61 API_RET_MLC_FILE_CRC_ERROR MLC檔案CRC 錯誤 -62 API_RET_MLC_FILE_FILECODE_ERROR MLC檔案FileCode 錯誤 -63 API_RET_MLC_FILE_COMPILE_ERROR MLC檔案尚未編譯 -64 API_RET_MLC_LOAD_MODE_ERROR MLC載入模式錯誤 -65 API_RET_MLC_EDIT_LOCK MLC正在編輯中,不允許讀取 -66 API_RET_MLC_PERMISSION_ERROR MLC權限錯誤 -67 API_RET_MLC_EMG_STATUS_ERROR MLC急停狀態錯誤 -68 API_RET_MLC_LAD_NOT_EXIST LAD檔案不存在 -69 API_RET_MLC_LCM_NOT_EXIST LCM檔案不存在 -70 API_RET_SoftPanel_PLCComm 軟體面板PLCComm檔案錯誤 -71 API_RET_FILE_NULL 檔案為空白 -72 API_RET_REG_NOT_EXIST 暫存器不存在 -73 API_RET_ACTION_FORBIDDEN 動作禁止 -74 API_RET_EXPIRATION 使用時限到期 -75 API_RET_SEARCHCODEING 斷點搜尋執行中 -76 API_RET_SEARCHCODE_SET_ERR 斷點搜尋設定錯誤 -77 API_RET_FILE_FORMAT_ERR 檔案格式不符 -78 API_RET_UPDATE_MODEL_ERR 韌體更新機種錯誤 -79 API_RET_UPDATE_VERSION_ERR 韌體更新版本不支援 -80 API_RET_UPDATE_HMI_FAIL 韌體更新失敗(HMI) -81 API_RET_UPDATE_MLC_FAIL 韌體更新失敗(MLC) -82 API_RET_UPDATE_MOTION_FAIL 韌體更新失敗(Motion) -83 API_RET_UPDATE_FPGA_FAIL 韌體更新失敗(FPGA) -84 API_RET_UPDATE_COMM_FAIL 韌體更新失敗(COMM FAIL) 4-8 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 回傳值 錯誤類別 說明 4 -85 API_RET_GCODEBUFFER_WRITE_ERR BUFFER資料還未處理完 -86 API_RET_GCODEBUFFER_SIZE_ERR G Code Buffer Size錯誤 -87 API_RET_GCODEBUFFER_LINE_ERR G Code Buffer行數錯誤 -88 API_RET_GCODEBUFFER_CODE_ERR_1 G Code內容錯誤(含M98,M99) -89 API_RET_GCODEBUFFER_CODE_ERR_2 G Code內容錯誤(含WHILE) -90 API_RET_GCODEBUFFER_CODE_ERR_3 G Code內容錯誤(含GOTO) -91 API_RET_GCODEBUFFER_CODE_ERR_4 G Code內容錯誤(含N Label) -92 API_RET_GCODEBUFFER_NOT_ENABLE G Code BUFFER未啟動 -93 API_RET_GCODEBUFFER_ALREADY_ENABLE G Code BUFFER已啟動 -94 API_RET_MOTOR_TYPE_ERR 馬達型態錯誤 -95 API_RET_MLC_MONIOR_ERR MLC監控錯誤 -96 API_RET_CUTTER_LOCK_ERR 該刀具被封鎖 -97 API_RET_EXPIRATION_SET 系統時限已經設定 -98 API_RET_LOCK_CODE_ERR 機台鎖定碼設定錯誤 -999 API_RET_UNKNOWN_ERR 未知錯誤 November, 2017 4-9
OPENCNC 控制器 API OPENCNC 使用手冊 4.3 數值說明 說明 公制 4 4.3.1 CNC 數值單位 CNCUnit 英制 類別 數值 數值 metric 0 0 inch 1 1 2 4.3.2 軸代碼 Axis 3 4 Axis 5 X 6 Y 7 Z 8 A 9 B C 數值 U 0 V 1 W 2 SP 4.3.3 軸類型 Axis Type Type None(無類別) NC MLC 4-10 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.3.4 工作座標代碼 數值 座標類別 數值 0 G55 座標類別 2 G57 41 G54 4 G59 G56 6 3 G58 8 G54P02 5 10 G54P04 7 G54P01 12 G54P06 9 G54P03 14 G54P08 11 G54P05 16 G54P10 13 G54P07 18 G54P12 15 G54P09 20 G54P14 17 G54P11 22 G54P16 19 G54P13 24 G54P18 21 G54P15 26 G54P20 23 G54P17 28 G54P22 25 G54P19 30 G54P24 27 G54P21 32 G54P26 29 G54P23 34 G54P28 31 G54P25 36 G54P30 33 G54P27 38 G54P32 35 G54P29 40 G54P34 37 G54P31 42 G54P36 39 G54P33 44 G54P38 41 G54P35 46 G54P40 43 G54P37 48 G54P42 45 G54P39 50 G54P44 47 G54P41 52 G54P46 49 G54P43 54 G54P48 51 G54P45 56 G54P50 53 G54P47 58 G54P52 55 G54P49 60 G54P54 57 G54P51 62 G54P56 59 G54P53 64 G54P58 61 G54P55 66 G54P60 63 G54P57 68 G54P62 65 G54P59 G54P64 67 G54P61 69 G54P63 November, 2017 4-11
OPENCNC 控制器 API OPENCNC 使用手冊 4.3.5 CNC Mode 數值 說明 0 4 Mode 1 自動執行 AUTO 2 程式編輯 EDIT 3 手動輸入 MDI 4 手輪進給 MPG 5 寸動進給 JOG 6 快速進給 RPD 原點復歸 HOME 數值 0 說明 4.3.6 CNC Status 1 2 準備完成 Mode 3 停止 READY 4 STOP 5 執行中 6 RUN 處理中 PROCESS bit 緊急停止 EMG_STOP 0 伺服未備妥 SERVO_NOT_READY 1 MLC停止 MLC_STOP 2 3 4.3.7 CNC Restart Action 4~7 說明 Mode 1:啟用 保留 0:無動作 重開機後生效 Reset後生效 伺服需重新斷開電 保留 4.3.8 巨集變數代碼 變數 數值 號碼範圍 總個數 局部 0 1 ~ 50 50 公用 1 200 保持 2 51 ~ 250 200 擴充 3 1601 ~ 1800 500 10001 ~ 10500 4-12 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.3.9 PLC 變數代碼 數值 4 0x0 變數 0x1 X(位元) 0x2 Y(位元) 0x3 M(位元) 0x4 A(位元) 0x5 T(位元) 0x6 T(暫存器 16位元) 0x7 C(位元) 0x8 C(暫存器16/32位元) 0xA D(暫存器16位元) 0xB V(暫存器16位元) Z(暫存器16位元) 4.3.10 Permission Mode 數值 說明 0x0 預設(不需密碼) 權限身分 0x1 - Normal (一般使用者) 0x2 保留,暫無作用 User_1 (用戶權限1) 0x10 - User_2 (用戶權限2) 0x80 - Machine (設備商權限) 0x4000 - Expire (時限權限) System (系統權限) 4.3.11 Disk Type 類別 磁碟代號 CF Card B C Flash D USB November, 2017 4-13
OPENCNC 控制器 API OPENCNC 使用手冊 4.3.12 Data Type 代號 0 4 類別 1 DEC無號數 2 DEC有號數 3 4 HEX 5 Binary 6 Float 7 Color 8 Date 9 Time 10 Text 11 系統Language設定 用戶Language設定 代號 IP Address 0x1000 0x1001 4.3.13 Sub Group Type 0x1002 0x1003 類別 0x1004 操作 0x1005 刀庫 0x1006 加工 0x1020 主軸 0x1090 機械 0x1091 原點 0x1080 補償 0x1070 溫補 系統 代號 網路設定 0 (不可設定) MLC 1 圖形 2 4.3.14 軸類別 November, 2017 類別 None NC MLC 4-14
OPENCNC 使用手冊 OPENCNC 控制器 API 4.3.15 RIO Type 代號 類別 40 AD/DA 1 DA 2 AD 3 I/O 4.4 欄位說明 欄位 說明 函數名稱 使用API函數名稱。 可使用函數權限。 使用權限 權限數值參考章節4.3.10 Permission Mode。 CNC加工中是否有限制使用函數。有些函式系統權限與設備權限無限制。 加工中限制 限制可使用函式之CNC模式。系統權限與設備權限無限制。 模式限制 函數帶入參數說明。 參數名稱。 引數 參數型別。參考章節4.1資料型態。 變數名稱 in為輸入參數,out為輸出參數。 參數說明。 型別 函數傳回值說明。參考章節4.2回傳說明。 [in/out] 說明 傳回值 November, 2017 4-15
OPENCNC 控制器 API OPENCNC 使用手冊 4.5 IP Address Information 4 4.5.1 GetCurrentIPAddress:回傳現在電腦 IP Address 函數名稱 string[] GetCurrentIPAddress 加工中限制 無 使用權限 一般使用者 引數 - 傳回值 String[]:現在電腦所有可用的IP Address 4.5.2 GetNetConfig:查詢 IP 詳細資訊 函數名稱 int GetNetConfig 加工中限制 無 使用權限 一般使用者 型別 [in/out] 說明 引數 變數名稱 string strIPAddress string in 電腦的IP Address 傳回值 trMACAddress string string out Mac Address strMask bool strGateway out 網路遮罩 DHCPEnable 0:成功 out Gateway 小於0為失敗 out 是 啟動DHCP 4.5.3 BroadcastGetCNC:取得同網段中控制器 IP Address 與名稱 函數名稱 string[] BroadcastGetCNC 使用權限 一般使用者 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 localIPAddress string in 本機查詢IP Address strMask string in 網路遮罩 String[] :同網段中控制器IP Address與名稱 4-16 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.6 Connection Setting 4.6.1 CNCInfoClass:CNCInfoClass 建構子 4 (設定local and Remote IP Address與Timeout) 加工中限制 無 函數名稱 CNCInfoClass 使用權限 一般使用者 變數名稱 型別 [in/out] 說明 引數 strLocalIP string in Local IP Address strRemoteIP string in Remote IP Address iTimeout int n 連線逾時 (ms) 傳回值 - 4.6.2 LocalIPAddress:Get/Set local IP Address 函數名稱 string LocalIPAddress 加工中限制 無 使用權限 一般使用者 型 [in/out] 說明 引數 變數名稱 string in Local IP Address 傳回值 LocalIPAddress 電腦IP Address 4.6.3 RemoteIPAddress:Get/Set Remote IP Address 函數名稱 string RemoteIPAddress 加工中限制 無 使用權限 一般使用者 型別 [in/out] 說明 引數 string 變數名稱 in Remote IP Addres 傳回值 RemoteIPAddress 遠端IP Address 4.6.4 Timeout:Get/Set Timeout 函數名稱 int Timeout 加工中限制 無 使用權限 一般使用者 型別 [in/out] 說明 引數 變數名稱 int in 連線逾時 (ms) 傳回值 Timeout 逾時時間 November, 2017 4-17
OPENCNC 控制器 API OPENCNC 使用手冊 4.6.5 SetConnectInfo:設定連線用資訊 4 函數名稱 int SetConnectInfo 加工中限制 無 使用權限 一般使用者 引數 變數名稱 型別 [in/out] 說明 傳回值 strLocalIP string in Local IP Address strRemoteIP string in Remote IP Address 連線逾時 (ms) iTimeout int in 0:成功 小於0為失敗,數值內容參考章節4.2回傳說明。 4.6.6 Connect:建立的連線 函數名稱 int Connect 加工中限制 無 使用權限 一般使用者 引數 - 0:成功 傳回值 小於0為失敗,數值內容參考章節4.2回傳說明。 4.6.7 Disconnect:中斷建立的連線 函數名稱 Void Disconnect 加工中限制 無 使用權限 一般使用者 - 引數 - 傳回值 4-18 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.7 權限資訊 4.7.1 READ_current_permission: 讀取目前網路連線權限 4 函數名稱 int READ_current_permission 使用權限 一般使用者 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 網路連線權限 permission_id ushort out (參考4.3.10 Permission 0:成功 Mode) 小於0為失敗,數值內容參考章節4.2回傳說明。 權限為[Permission Mode]之集合,可允許同時存在不同身份權限 4.7.2 Check_current_permission:檢查目前網路連線是否 具備權限 函數名稱 int Check_current_permission 使用權限 一般使用者 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 網路連線權限 permission_id ushort in (參考4.3.10 Permission 0:具備權限 Mode) 小於0為失敗,數值內容參考章節4.2回傳說明 4.7.3 Check_default_password:檢查是否為預設密碼 函數名稱 int Check_default_password 使用權限 一般使用者 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 網路連線權限 permission_id ushort in (參考章節4.3.10 Permission 0 : 預設密碼 Mode) 小於0為失敗,數值內容參考章節4.2回傳說明。 November, 2017 4-19
OPENCNC 控制器 API OPENCNC 使用手冊 4.7.4 LockPermission:鎖定網路連線權限 4 函數名稱 int LockPermission 使用權限 對應輸入權限 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 網路連線權限 permission_id ushort in (參考4.3.10 Permission 0:成功 Mode) 小於0為失敗,數值內容參考章節4.2回傳說明。 4.7.5 UnLockPermission:解除網路連線權限 函數名稱 int UnLockPermission 使用權限 一般使用者 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 網路連線權限 permission_id ushort in (參考4.3.10 Permission strPassword String Mode) in 對應權限之密碼 0:成功 小於0為失敗,數值內容參考章節4.2回傳說明。 4.7.6 Change_Password:改變權限密碼 函數名稱 int Change_Password 使用權限 對應輸入權限 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 網路連線權限 permission_id ushort in (參考4.3.10 Permission strOrgPwd String Mode) in 舊密碼 strNewPwd String in 新密碼 0:成功 小於0為失敗,數值內容參考章節4.2回傳說明。 4-20 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.7.7 Reset_Password:重置用者權限密碼回復預設值 函數名稱 int Reset_Password 4 使用權限 設備商權限 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 使用者權限 permission_id ushort in (參考4.3.10 Permission 0:成功 Mode) 小於0為失敗,數值內容參考章節4.2回傳說明 4.8 基本資訊 4.8.1 READ_CNCFlag:讀取 CNC 加工與 Alarm Flag 函數名稱 int READ_CNCFlag 使用權限 一般使用者 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 WorkingFlag bool out 是否加工中 AlarmFlag bool out 是否有警報 0:成功 小於0為失敗,數值內容參考章節4.2回傳說明。 4.8.2 READ_CNCFlag:讀取 CNC 加工、Alarm 與 RestartAct Flag 函數名稱 int READ_CNCFlag 使用權限 一般使用者 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 WorkingFlag bool out 是否加工中 AlarmFlag bool out 是否有警報 系統重新動作 RestartAct byte out (bit定義參考4.3.7 CNC Restar Action) 0:成功 小於0為失敗,數值內容參考章節4.2回傳說明。 November, 2017 4-21
OPENCNC 控制器 API OPENCNC 使用手冊 4.8.3 READ_CNC_information:CNC 基本資訊 4 函數名稱 int READ_CNC_information 使用權限 一般使用者 加工中限制 無 引數 變數名稱 型別 [in/out] 說明 傳回值 CncType string out CNC Type MaxChannels ushort out 最大通道數 Series string out Series (M/T Type) Nc_Ver string out NC版本 ScrewUnit ushort 螺桿單位 out (參考4.3.1 CNC數值單位) DisplayUnit ushort HMI顯示單位 out (參考4.3.1 CNC數值單位) ApiVersion uint out API版本 0:成功 小於0為失敗,數值內容參考章節4.2 回傳說明。 4.8.4 READ_Channel_information:Channel 基本資訊 函數名稱 int READ_Channel_information 使用權限 一般使用者 加工中限制 無 引數 說明 變數名稱 型別 [in/out] 傳回值 系統使用的Channel個數 Channels uint out 各Channel使用軸數 各Channel使用伺服軸數 AxesOfChannel ushort[] out 各Channel最大軸數 各Channel使用軸名稱 ServoAxesOfChannel ushort[] out (x:channel; y:AxisName) MaxAxisOfChannel ushort[] out 各Channel精度 AxisNameOfChannel string[x,y] out DecPointOfChannel ushort[] out 0:成功 小於0為失敗,數值內容參考章節4.2回傳說明。 4-22 November, 2017
OPENCNC 使用手冊 OPENCNC 控制器 API 4.8.5 READ_axis_count:Channel 伺服軸軸數 函數名稱 int READ_axis_count 加工中限制 無 4 使用權限 一般使用者 說明 引數 變數名稱 型別 [in/out] 查詢通道(目前為0) Channel使用的伺服軸軸數 傳回值 Channels ushort in AxisCount ushort[] out 0:成功 小於0為失敗,數值內容參考章節4.2回傳說明。 4.8.6 READ_spindle_count:Channel 主軸軸數 函數名稱 int READ_axis_count 使用權限 一般使用者 加工中限制 無 引數 說明 變數名稱 型別 [in/out] 傳回值 查詢通道(目前為0) Channels ushort in Channel使用的主軸 AxisCount ushort[] out 0:成功 小於0為失敗,數值內容參考章節4.2回傳說明。 4.8.7 READ_status:CNC 狀態 函數名稱 int READ_status 型別 加工中限制 無 使用權限 一般使用者 ushort [in/out] 說明 string in 引數 變數名稱 string out 查詢通道(目前為0) Channel string out 主程式檔名 傳回值 MainProg out 目前執行程式檔名 CurProg int out 執行路徑 ProgPath int out 目前執行行號 CurSeq MDI模式游標所在行號 MDICur int out CNC 模式 (參考4.3.5 CNC Mode) Mode CNC 狀態 (參考4.3.6 CNC Status) Status int out 是否發生警報 加工切削是否進行中 IsAlarm bool out 系統重新動作 IsWorking bool out (bit定義參考4.3.7 CNC Restart Action) RestartAct byte out 0:成功 小於0為失敗,數值內容參考4.2回傳說明。 November, 2017 4-23




