PCI-8254 / PCI-8258 DSP 型 4/8 軸高階運動控制卡 pre lim in a ry 使用手冊 手冊版本: 2.00 更新日期:August 1, 2013 料號:50-15085-1000 Advance Technologies; Automate the World.
更動記錄 日期 更動內容 2.00 2013-08-01 初版 請注意,本文件為 PCI-8254/8258 使用手冊的初版。本 公司雖已盡全力確使文件內容在出版當時均屬精準,後 續版本仍可能對本文件內規格及操作有或大或小的修改, 甚或本文件所無的全新章節。 如需其他資料或有任何問題,請瀏覽本公司網站 (http//.www.adlinktech.
PCI-8254 / PCI-8258 前言 Copyright 2013 ADLINK Technology, Inc.
慣例 請注意本下列文件所用到的慣例,以確保使用者正確執行相關的作 業及指令。 其他有助於使用者執行其作業的資訊、協助、及技巧。 ຝភ ݧཎ pre lim in a ry 執行作業時,有關防止輕微人身傷害、零件損壞、資料遺失、 及 / 或程式損毀的資訊。 執行作業時,有關防止嚴重人身傷害、零件損壞、資料遺失、 及 / 或程式損毀的資訊。 ឌ֙ iv 前言
PCI-8254 / PCI-8258 目錄 更動記錄 .................................................................................... ii 前言.......................................................................................... iii 圖目錄 ...................................................................................... ix 表目錄 .................................................................................... xiii 1 簡介................................................ 1 產品規格............................................ 4 1.
2.8 專用端子板 - DIN-825-GP4 ................................................ 27 連接器定義 .................................................................... 28 P1 連接器 : 可連接至 PCI-8254/PCI-8258/AMP-204C/AMP-208C ................. 30 S1, S2:EDO/ALM_RST 選擇開關 ............................... 39 3 訊號連接介面 ...................................... 41 3.1 類比控制命令訊號 (Analog Command):............... 42 3.1.1 單端類比輸出訊號介面 (Single-ended type signal): AOUT+......................................................................
PCI-8254 / PCI-8258 4.2.5 4.3 4.4 波德圖分析 (Bode Plot)............................................. 93 運動控制操作 ( Motion Control Operations )...................... 98 4.3.1 座標系統 (Coordinated System) ............................... 98 4.3.2 單位轉換因子 (Unit Factor) ....................................... 99 4.3.3 加減速曲線 ( Acc/Deceleration Profile) ................... 102 歸零運動 (Home Move).................................................... 108 4.4.1 ORG 訊號定位 - Home Mode 0 .............................. 111 4.
4.11.2 軟體保護 (Software Protection)............................... 195 4.12 本機中斷 (Host Interrupt) ................................................. 199 重要安全資訊 ......................................................................... 209 pre lim in a ry 服務資訊 ................................................................................
HDV62A-FLR 圖目錄 PCI-8254/58 系統方塊圖............................................. 2 系統安裝流程圖 .......................................................... 3 PCI-8254 產品外觀輪廓圖 ........................................ 12 PCI-8258 產品外觀輪廓圖 ........................................ 13 DIN-825-GP4 外觀圖 ................................................ 27 DIN-825-GP4 機構圖 ................................................ 28 差分類比輸出訊號連接範例圖................................... 43 脈衝控制命令訊號 Line Driver 型連接範例圖 ............
圖 4-17: 圖 4-18: 圖 4-19: pre lim in a ry 圖 4-20: 圖 4-21: 圖 4-22: 圖 4-23: 圖 4-24: 圖 4-25: 圖 4-26: 圖 4-27: 圖 4-28: 圖 4-29: 圖 4-30: 圖 4-31: 圖 4-32: 圖 4-33: 圖 4-34: 圖 4-35: 圖 4-36: 圖 4-37: 圖 4-38: 圖 4-39: 圖 4-40: 圖 4-41: 圖 4-42: 圖 4-43: 圖 4-44: 圖 4-45: 圖 4-46: 圖 4-47: 圖 4-48: 圖 4-49: 圖 4-50: 圖 4-51: 圖 4-52: 圖 4-53: 圖 4-54: 梯型速度曲線之速度 / 加速度 / 加加速度 對時間關係圖102 自動規劃最大速度示意圖 ........................................ 103 S 形速度曲線之速度 / 加速度 / 加加速度 對時間關係圖104 自動規劃最大速度示意圖 ........................................
HDV62A-FLR 圖 4-55: 圖 4-56: 圖 4-57: 圖 4-58: 圖 4-59: pre lim in a ry 圖 4-60: 圖 4-61: 圖 4-62: 圖 4-63: 圖 4-64: 圖 4-65: 圖 4-66: 圖 4-67: 圖 4-68: 圖 4-69: 圖 4-70: 圖 4-71: 連續補間運動範例圖 ............................................... 151 運動狀態監視流程圖 ............................................... 152 不同運動訊號與運動關係圖 .................................... 155 Motion Done (MDN) 訊號與運動關係圖 .................. 156 Motion Done (MDN), In-homing (HMV) 訊號與運動關係圖157 WAIT 訊號與運動關係圖 .........................................
xii 圖目錄 pre lim in a ry
PCI-8254 / PCI-8258 表目錄 脈衝型伺服驅動器專用纜線對照表 ............................................. 8 類比型伺服驅動器專用纜線對照表................................... 9 編碼器輸入格式 ............................................................. 70 編碼器輸入格式 ............................................................. 70 PCI-8254/8 自動調機 (Auto-Tuning) 設定 ...................... 83 卡片參數表 (Board parameter table)............................ 176 運動核心 (Motion kernel) 訊號表.................................. 179 閉迴路控制訊號表 ..............................
pre lim in a ry This page intentionally left blank.
PCI-8254 / PCI-8258 1 簡介 PCI-8254/PCI-8258 為凌華科技 DSP-based 高階運動控制卡,可支 援 4/8 軸脈衝 (Pulse type) 或類比 (Analog type) 訊號命令,提供開 迴路 (Open-loop) 及閉迴路 (Closed-loop) 控制選擇,可支援各式伺 服驅動器上位置 (Position)/ 速度 (Speed)/ 扭矩 (Torque) 命令。 PCI-8254/PCI-8258 藉由高速 PCI 匯排流 (Bus) 完成與作業系統 (operating system) 之運動控制命令、回授資料及參數調整等資料交 換。搭配凌華科技自製 Softmotion 核心,可提供即時 T/S 速度曲線 規 劃 (T/S speed profile planning)、點 對 點 運 動 (Point-to-Point move)、多軸補間運動 (Multi-dimension interpolation move)、主 / 從軸控制 (Master/Salve motion) 等豐富運動控制函式。 pre lim in a ry 為
FPGA Flash ROM A/D circuitry DPRAM CMP & TRG Encoder Input EA EB EZ Isolation DSP D/A circuitry TRG Output pre lim in a ry PEL DSUB 37P 4/8 PID Controllers DIN-825-GP4 PCIPCI BusBus PCI Bridge SCSI 100P SDRAM Misc.
PCI-8254 / PCI-8258 Windows Programming Libraries 支援 Windows 編譯環境,如 Visual Studio C++ 6.0, Microsoft .NET framework 的 VB.
1.1 產品規格 系統 處理器 (DSP) 規格敘述 匯排流資訊 PCI 匯排流寬度 PCI Rev. 2.2, 33MHz 32-bit PCI 匯排流電壓 3.
PCI-8254 / PCI-8258 類比輸入 項目 規格敘述 最大輸入通道 4/8, 單端輸入 ±10 V 100 kHz 12 bits, no missing codes ± 0.1% ±15 V 輸入電壓範圍 取樣頻率 解析度 準確度 過載電壓 最大輸出通道 對地短路保護 15 us, full-scale step pre lim in a ry 類比輸出 輸出電壓範圍 輸出電流 解析度 準確度 保護電路 Settling Time 4/8, 差分 / 單端輸出 ± 10V ±50 mA (Typ.) 16 bits, no missing codes ± 0.
項目 規格敘述 各軸獨立支援 50 點緩衝記 憶區 (BUFs) 點表 (Point table) 支援點對點 / 直線 / 圓弧及 螺旋補間 支援 Dwell 功能 支援暫停 / 恢復功能 (Pause/Resume) 支援 DO 功能 運動狀態監測 (Motion Monitoring) 工業應用 中斷 主從軸控制 高達 4/8 軸 ( 包含龍門控制 (Gantry Control)) 資料取樣 運動速度波形 / 運動狀態 / 運動控制相關 I/O 系統錯誤診斷 看門狗 (Watchdog timer) 運動狀態事件 / 錯誤報警 / 運動到位 / 緊急停止等 依手冊規劃 脈衝輸出介面 觸發通道 位置比對 暨 觸發輸出 6 運動狀態監測 4/8 軸對應 PCI-8254/PCI-8258 pre lim in a ry 同步運動 (Synchronous move) 運動控制相關 I/O 監測 差分輸出 2/4 對應 PCI-8254/PCI-8258 脈衝邏輯 可程式 (active-high or active-low) 觸發輸出頻率 線性比對觸發
PCI-8254 / PCI-8258 PWM 控制 項目 規格敘述 最大通道數 2/4 CH 對應 PCI-8254/PCI-8258 解析度 ● 固定頻率 , 變動占空比 ● 變動頻率 , 固定占空比 ● 變動頻率 , 變動占空比 16 bit 最大可下載程式數 8組 程式容量 1,024 行 ( 每組 ) 程式邏輯 數學運算 運動事件觸發 布林函數、迴圈 Yes Yes 控制模式 pre lim in a ry 程式下載 環境條件 項目 工作環境溫度 0~55°C 儲存環境溫度 -20~75°C 工作環境濕度 10~90%RH, avoid condensation 儲存環境濕度 10~90%RH, avoid condensation 雜訊阻抗 Noise voltage 1500V.P.P, Noise frequency 25~60Hz using noise simulator 環境條件 Minimal corrosive gas, dust 散熱條件 Self-cooling 產品功耗 +3.3V @ 0.
1.2 軟體支援 1.2.1 軟體支援函式庫 PCI-8254/PCI-8258 支援 Windows XP/7 32/64 bit 操作系統,並提 供完整的函式庫與動態連接檔 (DLL),讓使用者可以輕易的完成其 應用程式。 1.2.2 MotionCreatorPro 2 pre lim in a ry MotionCreatorPro 2 是專為凌華科技運動控制產品所開發的使用者 介面,其可運作於一般 Windows 環境中。藉由 MotionCreatorPro 2,使用者可以輕易的完成如卡參數、軸參數的設定。而經由其中設 置精靈 (Setup Wizard),更能讓使用者在短短幾分鐘內完成硬體安 裝、訊號配置、閉迴路 PID 增益自動調整 (PID auto-tunning) 及單 軸 操 控 (Single-axis manipulation),能 有 效 縮 短 應 用 開 發 時 程。 MotionCreatorPro 2 提供一切單軸或補間運動操作頁面,能讓使用 者同時檢視其整體機構設計及電控設計是否正確。 1.
PCI-8254 / PCI-8258 類比命令 : 纜線 支援廠牌 ACL-DM-J3 Mitsubishi J3A 系列 ACL-DY Yaskawa Sigma V 系列 ACL-DP Panasonic MINAS A5/A4 系列 4XMO-OPEN 泛用型 pre lim in a ry 表 1-2:類比型伺服驅動器專用纜線對照表 簡介 9
10 簡介 pre lim in a ry
PCI-8254 / PCI-8258 2 開始安裝 本章節將教導如何成功安裝 PCI-8254/PCI-8258,並完成硬體及軟 體安裝,以及各式 I/O 接線。 • 確認包裝內項目 • 硬體安裝 • 軟體安裝 • 各式 I/O 接線 2.
2.
PCI-8254 / PCI-8258 pre lim in a ry P1 SW2 P2 S1 圖 2-2:PCI-8258 產品外觀輪廓圖 P1:為主要運動控制命令、位置回授及相關伺服訊號回授使用。( 使 用 SCSI-VHDCI 200-PINS 連接器 ) P2:為 16 通道數位 TTL 輸入與 16 通道數位 TTL 輸出使用。( 使用 DSUB 37-PINS 連接器 ) SW2:卡片 ID 設定 (0-15) S1:類比命令模式選擇 ( 差分模式 / 單端模式 ) 開始安裝 13
2.3 硬體安裝 2.3.1 硬體組態 PCI-8254/58 採用 PCI Rev. 2.2 匯排流規格。系統 BIOS 可自動配 置記憶體與 IRQ 通道。 專用端子板 DIN-825-GP4,提供光隔離電路 (Isolation circuitry) 與 指示燈號,搭配專用纜線,可輕易連接各式知名伺服驅動器及步進 驅動器。 2.3.2 硬體安裝程序 pre lim in a ry 1. 閱讀此手冊並將訊號輸出入調整至適當模式 2. 關閉電腦電源及所有端子板上相關電源,並將 PCI-8254/58 安裝至電腦內 32-bit PCI 插槽。(通常為白 色插槽) ( 請確保做好靜電保護處理 ) 3. 利用 SCSI 100p 纜線,連接 PCI-8254/58 及 DIN-825-GP4 4. 完成 DIN-825-GP4 板上運動控制相關極限開關,伺服專 用訊號及泛用數位訊號配線 5. 完成與伺服或步進驅動器連接 6. 開啟系統電源,包含電腦電源、端子板相關電源、24Vdc 電源 7.
PCI-8254 / PCI-8258 2.3.3 問題排除 如果安裝後電腦無法正常開啟或運動控制操作時有異常情況發生。 請依循下列建議進行問題排除。若已經依以下步驟進行但問題仍未 排除,請洽詢您所購買的供應商,尋求技術服務。 故障現象 可能原因 請關機重新確認卡已正確插入 PCI 安裝驅動程式之後在Windows bus 中與從 Windows 控制台 " 新增 移除程式 " 中確認驅動程式是否正確 裝置管理員仍看不到這張卡 安裝完畢 請確認系統中是否安裝 .NET 電腦安裝驅動程式之後, MotionCreatorPro2 無法開啟 framework v3.
2.4 軟體安裝流程 安裝 Windows 驅動程式流程: Step 1. 步驟 1:執行 PCI-8254/PCI-8258 WDM 檔案,並自動執行 安裝流程。 pre lim in a ry Step 2.
PCI-8254 / PCI-8258 Step 3. 完成安裝,重新開啟電腦。 pre lim in a ry Step 4. 確認 Windows 裝置管理員是否可以正確辨識 PCI-8254/PCI-8258。 建議:請定時至凌華科技官方網頁下載最新的安裝軟體,以保持最 佳的使用環境。 (http://www.adlinktech.com/Motion-Control/index.
2.5 主要連接器訊號定義 2.5.1 PCI-8254:P1 連接器 • P1 18 No. Name I/O Function of Axis No. Name I/O Function of Axis 1 DGND -- Digital ground 51 IEMG | 2 DGND -- Digital ground 52 Rsv.
PCI-8254 / PCI-8258 No. Name I/O Function of Axis No.
2.5.2 PCI-8258:P1-A/B 連接器 • P1-A 20 Name I/O Function of Axis No. Name 1 DGND -- 2 DGND 3 4 I/O Function of Axis Digital ground 51 IEMG | Emergency stop input -- Digital ground 52 Rsv.
PCI-8254 / PCI-8258 No. Name 29 EA2+ 30 EA2- 31 EB2+ 32 EB2- 33 EZ2+ 34 EZ2- 35 ALM1 36 ORG1 | 37 SVON1 38 PEL1 39 ZSP1 / INP1 41 42 43 44 45 46 47 48 49 50 No.
22 Name I/O Function of Axis No.
PCI-8254 / PCI-8258 Name I/O 37 SVON5 O 38 PEL5 I 39 ZSP5 / INP5 I 40 MEL5 41 42 No.
Name I/O Function of Axis No.
PCI-8254 / PCI-8258 2.6.
2.
PCI-8254 / PCI-8258 2.
2.8.1 連接器定義 P1 CMA2 2. CMA1–4:為四組 26-PINS 連接器,主要 為連接伺服驅動器進行 S/T 模式控制,輸出類比 控制命令使用。 CMA3 CMA4 J1 CMP1 S1 J6 CMP2 J3 CMP3 S2 pre lim in a ry CMP4 IOIF3 IOIF4 IOIF1 5. J4:為一組 8-PINS 連接 器,主要為連接煞車訊號 (Brake Signal) 時使用。 CN1 IOIF2 4. J1–J3:為 3 組 10-PINS 螺絲鎖附型 (Screwed 系 列 , Delta A2 系列,或藉 由單端開放之纜線,連接 至其他廠牌伺服驅動器及 步進驅動器 type) 連接 器,可連接所有類比輸入 訊號、比較觸發訊號、各 軸機械正負極限開關及原 點 ‘ 訊號。 J5 3.
PCI-8254 / PCI-8258 7. J6:為一組 5-PINS 連接器,主要為 4 組數位帶隔離輸出 (Isolated digital output) 通道 8. P2:為一組 DSUB 37-PINS 連接器,主要為連接控制器 上 16 通道數位輸出訊號及 16 通道數位輸入訊號 (TTL)。 9. IOIF1-IOIF4:為四組 9-PINS 連接器,主要為泛用 16 通 道數位輸出訊號及 16 通道數位輸入訊號使用。 pre lim in a ry 10.
2.8.2 P1 連接器 : 可連接至 PCI-8254/PCI-8258/AMP-204C/AMP-208C • P1: No. Name 30 I/O Function of Axis No. Name I/O Function of Axis DGND -- Digital ground 51 IEMG | Emergency stop input 2 DGND -- Digital ground 52 Rsv.
PCI-8254 / PCI-8258 No. Name I/O Function of Axis No.
Name I/O Function of Axis No.
PCI-8254 / PCI-8258 • J2: No. Name I/O Function of Axis No. Name I/O Function of Axis 1 DICOM -- Digital input common 6 EDI2 | Isolated digital input, (2) 2 EDI1 | Isolated digital input, (1) 7 PEL2 | Positive limit, (2) 3 PEL1 | Positive limit, (1) 8 ORG2 | Origin Signal, (2) 4 ORG1 | Origin Signal, (1) 9 MEL2 | Negative limit, (2) 5 MEL1 | Negative limit, (1) 10 DOCOM -- Digital output common pre lim in a ry 1. DICOM 建議連接至外部電源供應 ( 一般為 24VDC) 2.
• J5 No. Name I/O Function of Axis No. Name I/O Function of Axis 1 I24V -- Ext. power supply, +24V 4 DOCOM -- Digital output common 2 IGND -- Ext. power ground 5 EEMG | Ext. Emergency signal 3 DICOM -- Digital input common 6 -- -- -- 1. DICOM 建議連接至外部電源供應 ( 一般為 24VDC) 2. DOCOM 建議連接至外部電源的地 (GND) • J6 pre lim in a ry ຝភ No. Name I/O Function of Axis No.
PCI-8254 / PCI-8258 • IOIF2: No. Name I/O Function of Axis No.
• IOIF4: No. Name I/O Function of Axis No.
Name SVON ZSP Rsv. Rsv. AOUT AOUT+ EA EA+ BRAKE+ No. 1 開始安裝 2 3 4 5 6 7 8 9 O I I O O I O I/O Reserved.
38 Name SVON INP ERC RDY OUT OUT+ EA EA+ BRAKE+ No. 1 2 3 4 5 6 7 8 9 O I I O O I O I O I/O Function No. Brake signal(+) Encoder A phase(+) Encoder A phase( ) Pulse signal (+) Pulse signal ( ) Servo ready signal Dev. ctr, clr.
PCI-8254 / PCI-8258 2.8.3 S1, S2:EDO/ALM_RST 選擇開關 pre lim in a ry DIN-825-GP4 搭載 4 組伺服驅動器 (servo drive) 重置 (reset) 訊 號。經由設定開關 S1 及 S2,可設定 CMA1~CMA4 PIN 10 及 CMP1~CMP4 PIN 10 為重置伺服驅動器使用或是 J6 連結器 DO.1~DO.
40 開始安裝 pre lim in a ry
PCI-8254 / PCI-8258 3 訊號連接介面 PCI-8254/PCI-8258 必須搭配其專用端子板 DIN-825-GP4,與伺服 或步進馬達驅動器連接。所有機械相關 I/O、伺服相關 I/O 之光隔離 電路被設置於 DIN-825-GP4,以防止任何不當訊號連接對主要控制 器 -PCI-8254/PCI-8258 造成毀損。並且可有效減低使用者進行客服 維修時,置換控制器相關產品之難度,以及減少其所需時間。以下 章節將對各式不同之機械相關 I/O (Mechanical I/O)、伺服相關 I/O (Servo I/O) 訊號連接時所需注意之事項詳加敘述。本章包含有: 類比控制命令訊號 第 3.2 節 : 脈衝控制命令訊號 第 3.3 節 : 編碼器輸入訊號 pre lim in a ry 第 3.1 節 : 第 3.4 節 : 緊急停止訊號 第 3.5 節 : 機械極限開關訊號 第 3.6 節 : 原點開關訊號 第 3.7 節 : 到位 / 零速度訊號 第 3.8 節 : 伺服警報訊號 第 3.9 節 : 伺服激磁訊號 第 3.
3.1 類比控制命令訊號 (Analog Command): 3.1.1 單端類比輸出訊號介面 (Single-ended type signal): AOUT+ pre lim in a ry PCI-8254/PCI-8258 分別提供 4/8 類比控制命令通道,每組類比命 令支援 16-bit 解析度,並提供 ±10V 的輸出範圍及小於 ± 1mV 之準 確度。每組類比控制命令可以藉由調整控制器 S1 開關,設定為單 端輸出 (Single-ended) 或是差分輸出 (Differential) 模式,以符合市 售日 / 台美 / 歐等知名伺服馬達驅動器使用。一般而言,伺服驅動器 可被設定為 P/S/T ( 位置 / 速度 / 扭矩 ) 模式,而當使用者調整控制 模式為 S/T 時,則必須使用類比命令控制馬達的轉速或轉矩,並達 到定位 (positioning) 之功能。而當伺服驅動器被調整為 P 模式時, 意謂將使用 PCI-8254/PCI-8258 的脈衝命令控制 ( 請參考 3.
PCI-8254 / PCI-8258 CMAx Pin No (x=1~4) Signal Name Description (n=1~8) Axis # 6 AOUT+ Analog Out Signal, (+) (n) 1~8 5 AOUT- Analog Out Signal, (-) (n) 1~8 PCI-8258 需搭配 2 組 DIN-825-GP4 以完成八軸運動控制功能 #1 負責軸 1~ 軸 4 ; #2 負責軸 5~ 軸 8 ຝភ pre lim in a ry • 訊號連接範例圖: 圖 3-1:差分類比輸出訊號連接範例圖 訊號連接介面 43
3.2 脈衝控制命令訊號 (Pulse Command): 除了 3.1 節所介紹的類比命令輸出介面外,PCI-8254/PCI-8258 亦 提供 4/8 脈衝控制命令通道,每組脈衝控制命令支援高達 6.5MHz 輸出頻率。 一般而言,伺服驅動器可被設定為 P/S/T ( 位置 / 速度 / 扭矩 ) 模式, 而當使用者調整伺服驅動器控制模式為 P 模式時,意謂將使用 PCI-8254/PCI-8258 的脈衝命令控制,做開迴路控制 (Open-loop Control)。 pre lim in a ry 除了伺服驅動器外,步進馬達驅動器 (Stepper drive) 亦使用脈衝命 令介面為主要控制輸入命令。以下為差分脈衝訊號至 DIN-825-GP4 上之脈衝命令輸出之對應腳位: CMAx Pin No (x=1~4) Signal Name Description (n=1~8) Axis # 6 OUT+ Pulse signal, (+) (n) 1~8 5 OUT- Pulse signal, (-) (n) 1~8 24 DIR+ Dir.
PCI-8254 / PCI-8258 一般無論是伺服馬達驅動器或步進馬達驅動器可能會使用下列兩種 輸入介面, 1. Line Driver 輸入介面,可提供較佳的抗雜訊 (Noise-resistant) 能力及較長的配線長度。 pre lim in a ry • 訊號連接範例圖: 圖 3-2:脈衝控制命令訊號 Line Driver 型連接範例圖 2.
pre lim in a ry • 訊號連接範例圖: 圖 3-3:脈衝控制命令訊號 Open-Collector 型連接範例圖 為了防止不當配線造成控制器上 Line Driver 元件毀損,建議連 接控制器之 OUT-, DIR- 腳位至馬達驅動器之 OUT, DIR 腳位 ݧཎ 控制器使用 Line Driver 元件 -26LS31,其最大 Sink Current 規 為 20mA,請不要超出此規格使用,以免毀損該元件 ݧཎ 46 訊號連接介面
PCI-8254 / PCI-8258 3.3 編碼器輸入訊號 (Encoder Input, EA & EB & EZ): PCI-8254/PCI-8258 分別提供 4/8 編碼器輸入通道,其可允許單端 輸入頻率高達 5MHz,其中各通道包含有 EA、EB 及 EZ 訊號。而 每組 EA、EB、EZ 訊號包含一對差分訊號,如 EA 訊號包含 EA+ 及 EA-。編碼器使用原理請參考第 4.1.1.
pre lim in a ry • 訊號連接範例圖: 圖 3-4:編碼器輸入訊號 Line Driver 型連接範例圖 48 訊號連接介面
PCI-8254 / PCI-8258 3.
3.
PCI-8254 / PCI-8258 pre lim in a ry • 訊號連接範例圖: 圖 3-6:機械極限開關訊號連接範例圖 訊號連接介面 51
3.6 原點開關訊號 (ORG signals Input) PCI-8254/PCI-8258 提供 4/8 組原點開關輸入通道。搭配 4.
PCI-8254 / PCI-8258 3.7 到位 / 零速度檢出訊號 (INP / ZSP signals Input) PCI-8254/PCI-8258 提供 4/8 組到位 (In-position, INP) 或零速度檢 出 (Zero-speed, ZSP) 輸入通道。搭配 4.
3.8 伺服警報訊號 (ALM signals Input) PCI-8254/PCI-8258 提供 4/8 組伺服警報 (servo alarm) 輸入通道。 搭配 4.
PCI-8254 / PCI-8258 3.
3.
PCI-8254 / PCI-8258 3.11 比較觸發訊號 (Comapre & Trigger Output): PCI-8254/PCI-8258 提供 2/4 比較觸發脈衝輸出通道,每組比較觸 發通道可輸出高達 1MHz 脈衝命令。使用方式及細節請參考第 4.10.
pre lim in a ry 2.
PCI-8254 / PCI-8258 3.12 泛用數位輸出入訊號 (Digital signals Output/Input) PCI-8254/PCI-8258 提 供 共 20/24 組 數 位 輸 出 入 通 道。以 下 為 DIN-825-GP4 上之泛用數位輸出入訊號對應腳位: Signal Name Description 2 EDI(3) / EDI (1) 泛用數位輸入訊號 (3), (1) 6 EDI(4) / EDI (2) 泛用數位輸入訊號 (4), (2) J6 Pin No. Signal Name Description 1 EDO(1) 泛用數位輸出訊號 (1) 2 EDO(2) 泛用數位輸出訊號 (2) 3 EDO(3) 泛用數位輸出訊號 (3) pre lim in a ry J1/J2 Pin No. 4 EDO(4) 泛用數位輸出訊號 (4) PCI-8258 需搭配 2 組 DIN-825-GP4 以完成八軸運動控制功能 #1 負責軸 1~ 軸 4 ; #2 負責軸 5~ 軸 8 ຝភ 1.
pre lim in a ry • 訊號連接範例圖: 圖 3-14:泛用數位輸出入訊號連接範例圖 60 訊號連接介面
PCI-8254 / PCI-8258 Signal Name Description 1~8 DI(1)~(8) 泛用 IOIF2 數位輸入訊號 (1)~(8) IOIF2 Pin No. Signal Name Description 1~8 DI(9)~(16) 泛用數位輸入訊號 (9)~(16) IOIF3 Pin No. Signal Name Description Axis # ※1~5 DO(1)~(5) 泛用數位輸出訊號 (1)~(5) - pre lim in a ry IOIF1 Pin No. ※ 表示該數位輸出電流可達 250mA ຝភ IOIF3 Pin No. Signal Name Description Axis # 6~8 DO(6)~(8) 泛用數位輸出訊號 (6)~(8) - IOIF4 Pin No. Signal Name Description Axis # 1~8 DO(9)~(16) 泛用數位輸出訊號 (9)~(16) - 1.
• 訊號連接範例圖: DIN-825-GP4 P2 DICOM2 Switch Type TDI IOIF1 IOIF2 BJT Type DI PS2805 pre lim in a ry PCI-8254/PCI-8258 DOCOM DIN-825-GP4 IOIF3 IOIF4 P2 DICOM2 TDO 1~5 DO 1~5 PCI-8254/PCI-8258 PS2802 DOCOM2 DOCOM2 62 訊號連接介面
PCI-8254 / PCI-8258 DIN-825-GP4 IOIF3 IOIF4 P2 DICOM2 TDO 6~16 DO 6~16 PCI-8254/PCI-8258 PS2802 pre lim in a ry DOCOM2 圖 3-15:泛用數位輸出入訊號連接範例圖 訊號連接介面 63
64 訊號連接介面 pre lim in a ry
PCI-8254 / PCI-8258 4 運動控制功能原理介紹 本章節將介紹此 PCI-8254 / PCI-8258 運動控制原理及注意事項。以 下為各節簡述: 運動控制模式暨介面簡介 第 4.2 節 : 閉迴路控制 (Closed-loop Control) 第 4.3 節 : 運動控制操作 (Motion Control Operations) 第 4.4 節 : 歸零運動 (Home Return Move) 第 4.5 節 : 速度運動 (Velocity Move) 第 4.6 節 : JOG 運動 (Jog Move) 第 4.7 節 : 點對點運動 (Point-to-Point Move) 第 4.8 節 : 多軸補間運動 (Interpolation) 第 4.9 節 : 運動狀態監控 (Motion Status Monitoring) 第 4.10 節 : 應用功能 (Application Functions) 第 4.11 節 : 安全保護 (Safety Protection) 第 4.
4.1 運動控制模式暨介面簡介 本節將介紹本控制器 「PCI-8254」及 「PCI-8258」在進行運動控 制前的基礎設定以及核心運作的基礎觀念。 4.1.1 運動控制介面 (Motion Control Interface) 4.1.1.1 控制模式及輸出介面 本控制器有兩種運動控制輸出介面,分別為脈衝式 (Pulse type) 和 類比式 (Analog type)。 • 脈衝式 (Pulse type) • 類比式 (Analog type) pre lim in a ry 其設定方式可利用 MotionCreatorPro2 應用程式進行設定,此設定 值會儲存在控制器上的非揮發性記憶體 (Non-volatile memory,一 般指 ROM) 上,爾後控制器開機時會自動載入此設定。另外,可利 用下列 API 讀出目前設定值,用來做設定值的確認。 APS_get_eep_curr_drv_ctrl_mode() 4.1.1.
PCI-8254 / PCI-8258 此模式下須注意被驅動電機所能接受的脈衝訊號格式。必須正確的 設定脈衝格式訊號,馬達才會正常作動,若設定錯誤,可能會出現 馬達不運轉,運轉方向錯誤或馬達不正常抖動。一般在軟體初始化 過程後進行任何運動控制前必須被正確地設定。本控制器提供兩種 脈衝訊號輸出格式 : • OUT/DIR 訊號格式 : 此模式下 OUT 訊號表示輸出的脈衝頻率及數 量 , DIR 表示機構位移為正 / 反向 pre lim in a ry • CW/CCW 訊號格式 : 此模式下 CW/CCW 訊號同時表示機構位移方 向及脈衝輸出頻率及數量 Counter: 圖 4-1:脈衝式訊號格式 其設定方式於軸參數中設定 : Param. No.
4.1.1.3 類比式 (Analog Type) 類比式控制模式通常被用來控制設定為速度模式 (Velocity mode) 或 轉矩模式 (Torque mode) 的伺服電機,其所接收的訊號格式為類比 電壓。 此模式下,閉迴路 (closed-loop) 功能自動被啟動,下圖為閉迴路示 意方塊圖,相關PID closed-loop功能請參考第二章閉迴路控制。調整 PID filter AOUT pre lim in a ry Command Eoncoder 圖 4-2:類比命令輸出示意圖 閉迴路 PID 控制器前,以下輸出入介面必須正確設定 : 1. AOUT 電壓控制準位和邏輯是否和伺服電機接收端相互匹 配。 設定方式請參考 4.2 閉迴路控制。 2.
PCI-8254 / PCI-8258 4.1.1.
No 8 Decode Mode Positive direction Negative direction EA EA EB CW/CCW (2) High EB High 表 4-1:編碼器輸入格式 • 軸參數設定: Param. No.
PCI-8254 / PCI-8258 4.1.1.5 運動控制 I/O ( Motion control I/O) 本控制器定義常見的運動控制 I/O 訊號,整理如下表 : Defined Symbol Type Description 0 ALM Input 伺服電機警報輸入訊號 (Servo alarm) 1 PEL Input 正端機械極限輸入訊號 (Plus end limit) 2 MEL Input 負端機械極限輸入訊號 ( Minus end limit) 3 ORG Input 原點輸入訊號 (Home input) 4 EMG Input 緊急停止輸入訊號 (Emergency stop input) 5 EZ Input 編碼器 Z 向輸入訊號 (Servo index input) 6 INP Input 伺服到位輸入訊號 (In-Position input) 7 SVON Output 伺服激磁輸出訊號 (Servo ON output status) pre lim in a ry Param.
• 訊號反向 這些訊號邏輯 (Logic) 可經由軟體的方式設定是否反向,相關軸 參數如下 : • 卡片參數 (Board parameter): Param. No. Define symbol Description 00h (0) PRA_EL_LOGIC PEL/MEL input logic 01h (1) PRA_ORG_LOGIC ORG input logic 04h (4) PRA_ALM_LOGIC Set ALM logic 05h (5) PRA_ZSP_LOGIC / PRA_INP_LOGIC Set INP logic 06h (6) PRA_EZ_LOGIC Set EZ logic pre lim in a ry • 卡片參數 (Board parameter): Param. No.
PCI-8254 / PCI-8258 4.1.2 控制週期 (Control Cycle) 控制器內有三種不同控制週期來執行各種不同的工作,這三種週期 分別為 1. 伺服控制週期 2. 運動控制週期 3. 系統工作週期 4.1.2.1 伺服控制週期 (Servo Control Cycle) pre lim in a ry 伺服控制週期亦即執行一次閉迴路控制所需的時間,本控制器的伺 服控制週期高達 20KHz,即一個週期的時間為 50 microsecond,, 在這個控制週期中會完成如 PID 演算 (PID compensation)、濾波演 算 (Filter compensation) 等伺服控制相關工作。 4.1.2.
運動控制占用時間 系統工作占用時間 運動控制週期 時間 系統工作週期 圖 4-3:控制週期 pre lim in a ry 運動程式會在運動控制週期中被執行,並且使用者可讓該程序直接 控制每個運動控制週期中有哪些工作要執行,讓使用者可以更精準 的完成即時性的工作,但也必須注意處理器的使用 (DSP loading)。 控制器在執行程序時,可能會因為外部的訊號,使用者的操作,演 算法 (Algorithm) 的流程等讓處理器工作量難以具體的預測,所以一 般情況下盡量讓運動控週期對處理器的使用率低於 70%,其餘 30% 保留給系統工作和預留處理某瞬間的工作量高峰。 若工作量超過控制週期 ( 工作超載 , Overloading),可能會產生不預 期的結果,因此本控制器提供一些函式,工具讓您方便監控處理器 的使用量,便於調整您的控制程序,若使用量超過處理器的負荷, 控制器會紀錄並發出警告 ( 中斷,請參考中斷章節 ),讓你可以在程 序上做適當的回應處理。 相關 API 使用方式如下 : get_motion_control_timing() // 取得當下運動控制週期的使用量 get_max_ moti
PCI-8254 / PCI-8258 4.2 閉迴路控制 (Closed-loop Control) 4.2.
b 積分控制 (Integral Control) 積分控制主要可減少穩定誤差 (Steady-state error),並且有雜訊抑 制效果,然而積分控制會降低系統響應速度 (Response time)。 c 微分控制 (Derivative Control) 微分控制則會改善暫態響應 (Temporary response time) 和相對穩定 度,但在減少雜訊及穩態誤差方面則無助益。 d 比例 - 積分控制 (PI-Control) 從頻域上來看,PI 控制器可以增大系統低頻範圍增益以減小穩態誤 差,但相對的會造成相位落後而影響到系統響應速度。 e 比例 - 微分控制 (PD-Control) f pre lim in a ry 同樣從頻域上來看,對於 PD 控制器而言,其增加了高頻部分的相 位,因此系統響應變快,然而由於高頻的增益也變大,因此容易受 雜訊 (Noise) 影響。 比例 - 積分 - 微分控制 (PID-Control) 根據之前討論的 PI 和 PD 控制器合併後所形成的控制器則稱為 PID 控制器。綜合兩者的優點,PID 控制器可以改善穩態誤差同時又滿 足系統響應速度。
PCI-8254 / PCI-8258 ( k ) 為 位 置 命 令,FbkPos ( k ) 為 位 置 回 饋, CmdVel ( k ) 為速度命令,CmdAcc ( k ) 為加速度命令。採用 PID 其 中 CmdPos 控制加上速度 / 加速度命令前饋控制目的在於減少位置命令追蹤誤 差進而增加控制性能。受控廠 (Plant) 會接收到經過控制器計算出的 電壓訊號,其物理意義根據驅動器的設定可能是速度命令或是力矩 命令。 pre lim in a ry 另一方面,本控制器允許使用者改變 PID 控制器的伺服更新速度, 因此使用者也必須注意控制器增益值也要同步重新調整。伺服更新 速 度 可 在 MCP2 內 的 SetupWizard 頁 面 內 調 整,設 定 範 圍 為 50us~2000us,設定完後 DSP 會重新開機 (Reboot)。伺服更新速 度預設值為 250us。 由於控制器的增益值是有限定範圍,我們可以 使用增益結果位移 (Gain shift) 調整增益值工作範圍如下面增益 (Gain) 與增益結果位移 (Shift) 關係圖所示。增益結果位移可以放大 2n 或縮小
pre lim in a ry 圖 4-4:PCI-8254/PCI-8258 閉迴路控制架構圖 圖 4-5:增益 (Gain) 與增益結果位移 (Gain shift) 關係圖 78 運動控制功能原理介紹
PCI-8254 / PCI-8258 控制迴路相關軸參數表 : Param. No.
4.2.
PCI-8254 / PCI-8258 (1) 資料長度 : 設定資料長度是為了決定程式要計算多少組 PID 控 制器的增益值。在理想狀況上,同一個系統根據相同演算法設計出 的 PID 控制器其每組增益值結果都應該都要相同,但因為量測或是 其他因素造成的誤差,些許都會使每組量測結果有些許不同,因此 我們必須提供可量化指表 (Index) 以提供使用者判斷結果使否合理, 在此我們使用統計上常用的平均值計算 PID 控制器增益值並顯示在 MCP2 的 Final value 視窗上,以標準差作為計算流程是否成功的依 據並顯示在 MCP2 的 Fluctuation 視窗上。舉例來說,若使用者設定 資料長度為 200,程式會計算 200 組 PID 增益值的平均值和標準差 ( 或是變動率 ),若是所有計算結果標準差 ( 或是變動率 ) 小於 10%, 則可視為計算完成,而估算出的增益值也會有一定程度可信度。 pre lim in a ry (2) 磁滯範圍 : 此設定目的是為了縮小前面提到的標準差,而能使每 次計算結果都能盡量一致。舉例來說,僅改變磁滯範圍情況下,我 們可由下表結果得知標準差的確隨調大磁滯範圍
由以上說明我們可知,當自動調整失敗時,我們可以嘗試先加大磁 滯範圍以提升成功率,但同時也須考慮到對整體系統頻寬的影響。 有關系統頻寬和Phase margin等的量測可以利用本控制卡提供的波 德圖 (Bode plot) 功能完成,此部分會在其他章節介紹。 Step 5 啟動自動調機程序: 當按下開始調機按鈕 (Start tuning bottom)後自動調機程序就會開始 執行,此時馬達會開始振動。若過程中發生問題可隨時按停止鈕 (Tuning stop bottom) 中止程序。 Step 6 自動調機程序完成: pre lim in a ry 當程序完成時,使用者可以在結果 (Result) 欄位看到比例、積分和 微分增益的經過自動調機後計算出的最後值 (Final value) 以及相對 應的變動率 (Fluctuation)。理想上,變動率愈小,代表最後值收斂 程度愈佳,使用者可嘗試不同的振幅設定找出變動率最小的組合。 最後可以透過設定最後值按鈕 (Set final bottom) 將 PID 控制器增益 值設定到卡內,必須注意此時前饋控制增益和濾波器將不再有作用。 Step 7 PID 控制
PCI-8254 / PCI-8258 圖 4-6:MCP2 內自動調機設定頁面 表 4-3:PCI-8254/8 自動調機 (Auto-Tuning) 設定 描述 設定範圍 預設值 偏移量限制 (Deviation Limit) 位置命令與位置迴授最大誤差 值,超過此值程式會自動停 止,若設 0 則忽略此項功能。 ( 單位 : pulse) >=0 2000 振幅 (Amplitude) 設定輸出訊號的振幅 ( 單位 : Volt) 0~10 1 軸 (Axis) 指定軸進行自動調機程序 0~7 0 資料長度 (Data Length) 計算最後增益值與變動率所需 >0 200 >0 50 100~1000 500 pre lim in a ry 設定 磁滯範圍 (Hysteresis) 磁滯現象的區域 ( 單位 : pulse) 取樣時間 (Cycle Time) Encoder 訊號取樣時間 ( 單位 : 微秒 micro-second) 運動控制功能原理介紹 83
4.2.
PCI-8254 / PCI-8258 4.2.
pre lim in a ry 圖 4-7:PCI-8254/8 雙二階濾波器串接架構圖 相關軸參數如下列表 : 86 Param. No.
PCI-8254 / PCI-8258 Param. No. Define symbol Description Value Default 139h PRA_BIQUAD1_A2 雙二階濾波器 1 係數 -32768~32767 0 13Ah PRA_BIQUAD1_B0 雙二階濾波器 1 係數 -32768~32767 1 13Bh PRA_BIQUAD1_B1 雙二階濾波器 1 係數 -32768~32767 0 13Ch PRA_BIQUAD1_B2 雙二階濾波器 1 係數 -32768~32767 0 13Dh PRA_BIQUAD1_DIV 雙二階濾波器 1 係數 -32768~32767 1 4.2.4.
圖 4-8:理想低通濾波器 100 Original Signal Filtered Signal 80 60 40 Amplitude 20 0 -20 -40 -60 -80 0 0.01 0.02 0.03 0.04 0.05 0.06 Time(second) 0.07 0.08 0.09 0.1 pre lim in a ry -100 (a) 30Hz 弦波 100 Original Signal Filtered Signal 80 60 Amplitude 40 20 0 -20 -40 -60 -80 -100 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 Time(second) 0.
PCI-8254 / PCI-8258 其調整方式可透過 MotionCreatorPro 2 來完成如下圖所示,使用者 只需輸入截止頻率,MotionCreatorPro 2 可自動計算濾波器參數, 其簡單的調整方式為將截止頻率由高而低的調整,一但高頻雜音消 失即可停止,一般可從 2000Hz 開始往下調整。注意若截止頻率調 整過低會導致響應性能的損失甚至不穩定的現象產生。 pre lim in a ry 圖 4-10:MCP2 低通濾波器設定頁面 圖 4-11:MCP2 帶阻濾波器設定頁面 運動控制功能原理介紹 89
4.2.4.
PCI-8254 / PCI-8258 100 Original Signal Filtered Signal 80 60 40 Amplitude 20 0 -20 -40 -60 -80 -100 0 0.01 0.02 0.03 0.04 0.05 0.06 Time (second) 0.07 0.08 0.09 0.1 pre lim in a ry (a) 50Hz 弦波 100 Original Signal Filtered Signal 80 60 Amplitude 40 20 0 -20 -40 -60 -80 -100 0 0.02 0.04 0.06 0.08 0.1 0.12 Time(second) 0.14 0.16 0.18 0.
100 Original Signal Filtered Signal 80 60 40 Amplitude 20 0 -20 -40 -60 -80 -100 0 0.01 0.02 0.03 0.04 0.05 0.06 Time(second) 0.07 0.08 0.09 0.
PCI-8254 / PCI-8258 4.2.5 4.2.5.
頻率響應架構圖 訊號說明表 Name Symbol R Unit pulse Description The input of closed-loop system. pre lim in a ry Sine wave Error position E pulse The input of open-loop system. Controller output U pulse The input of plant. Encoder Y pulse The output of closed-loop system, open-loop system, and plant.
PCI-8254 / PCI-8258 a 設定起始頻率、結束頻率以及波德圖資料點數 : 波得圖頻率範圍是由起始和結束頻率決定。起始頻率若是 設定太小則會大幅增加計算時間,建議從 10Hz 左右開始, 而結束頻率設定須考慮驅動器 (Driver) 以及卡內部取樣速 度 (Sampling rate) 限制,一般而言,建議不超過 500Hz。 每筆波得圖資料點包含頻率、增益和相位等資訊。資料點 數的數量決定了頻率響應的解析度,而愈高解析度整體計 算耗費時間自然會增加。 pre lim in a ry b 設定正弦波振幅大小 : 設定過小振幅會大幅增加計算誤差以至於得到不正確結 果;反過來說,若設定過大振幅則可能對機台安全性會有 影響,因此使用者可能要考慮馬達解析度對應到實際距離 單位等資訊才能決定適當振幅大小。舉例來說,如果馬達 解析度為 10000 pulse/rev,我們可以設定振幅大小為 300 pulse 左右。 c 設定每筆波德圖資料點的更新週期 : 更新週期的時間長短會影響計算每筆波德圖資料點所需 的取樣點數目。舉例來說,若更新週期設 0.
e 設定保護機制 : 設定當錯誤位置 (Error position) 過大超過 偏差限制 (Deviation lomit) 時則馬達會自動關閉的保護機制;若偏 差限制設為零則會關掉此機制。此外,若緊急或警告訊號 啟動時則同樣也會自動關閉馬達。 f pre lim in a ry 啟動計算與顯示結果 : 設定完成後就可以啟動流程。在頻率響應計算結束後會在 視窗顯示結果如下圖 MCP2 波德圖頁面所示,其中馬達無 負載,解析度為 10000 pulse/rev,正弦波振幅設定為 300 pulse,100 個資料點,每個資料點更新週期為 0.
PCI-8254 / PCI-8258 pre lim in a ry MCP2 波德圖頁面 運動控制功能原理介紹 97
4.3 運動控制操作 ( Motion Control Operations ) 本章將介紹控制器所提供運動控制模式,及其基本原理,目的是讓 使用者可更精準掌握控制器的運動控制能力,協助完成特定應用。 4.3.
PCI-8254 / PCI-8258 I32 APS_set_command(I32 Axis_ID, I32 Command); I32 APS_get_position( I32 Axis_ID, I32 *Position ); I32 APS_set_position(I32 Axis_ID, I32 Position); 下列 API 可以讀取馬達座標 I32 APS_get_encoder( I32 Axis_ID, I32 *Encoder ); I32 APS_get_command_counter( I32 Axis_ID, I32 *Counter ); 閉迴路控制過程中,任意設定 Commond counter 以及 Encoder counter 是不允許的,因此不提供相關設定 API。 ຝភ 單位轉換因子 (Unit Factor) pre lim in a ry 4.3.
Unit factor 的計算方式如下 : Unit factor = 10000 2 × =2 10mm×1000 µm 1 例 2:輸送帶系統 馬達旋轉一圈的脈波數為 8192,皮帶輪旋轉一周輸送帶位移 5cm, 齒輪比 (Gear gatio) 為 1:2,若欲使用 Millimeter 為距離單位,則距 離因子 (Unit factor) 為: Motor pre lim in a ry Picth= 5 cm Unit factor 的計算方式如下 : Unit factor = 8192 2 × = 32.768 5cm × 100 mm 1 例 3:線性馬達 (Linear motor) 系統使用光學尺 (Linear scale) 加設光學精度 (Resolution) 為 1 Micrometer,若欲使用 Millimeter 為 距離單位,則距離因子 (Unit factor) 為: Unit factor = 100 1 = 0.
PCI-8254 / PCI-8258 Unit factor 可在軸參數中設定 : Param. No. Define symbol Description Value Default 86h (134) Unit factor F64 value 1 一般而言,在進行運動控制應用設計前,單位的定義應先被確認固 定,再進行其他與位置相關的參數設定。 ຝភ 若操作中 Unit factor 有設定有變動,其他和距離單位相關的參 數 ( 如位置單位,速度單位和加速度單位等 ) 單位意義也將會有 影響,使用者應自行變更調整相關設定。 相關軸參數如下列表 : Define symbol 07h (7) PRA_SD_DEC pre lim in a ry Param. No.
4.3.3 加減速曲線 ( Acc/Deceleration Profile) 一個基本的運動命令通常包含 :1. 距離,2. 速度,3. 加速度等資料, 透過這些運動命令參數,控制器會自動規劃計算加減速度曲線 (Acceleration & deceleration) 使運動能在使用者要求下平順地完 成。本控制器提供下列加速曲線 : 1. 梯形速度曲線 (Trapezoidal speed profile, T-curve) 2. S 形速度曲線 (S-Curve) 4.3.3.1 梯形速度曲線 (Trapezoidal speed profile, T-curve) pre lim in a ry 梯形速度曲線 (也稱 "T- 曲線 ",T-curve)意指期加速和減速 區遵循一階線性 (First-order linear ) 速度曲線 (等加速度)。如下 圖速度 - 時間圖 (V-T) 所示 Velocity Max. velocity Acc. Dec. Distance Start velocity Time Acceleration Max.
PCI-8254 / PCI-8258 在 V-T 圖中,梯形曲線內的面積代表移動距離。當使用者所設定的 移動距離不足時,控制器會自動調整 ( 調降 ) 最大速度,但保持加速 度設定。如下圖所示: Velocity MaxVel pre lim in a ry MaxVel’ Time 圖 4-18:自動規劃最大速度示意圖 使用者設定的最大速為 (MaxVel),虛線表示在足夠距離下的速度曲 線 (Speed profile),但因移動距離不足,控制器自動調整最大速為 (MaxVel’)。但加減速率則保持不變,以保持最佳 ( 最短 ) 的移動時間。 運動控制功能原理介紹 103
4.3.3.2 S 形速度曲線 (S-Curve) S 形曲線是指在加加速區 (Jerk) 的速度曲線遵循二階曲線 (Second-order profile)。有助於減少馬達在啟動和停止時的振動, 如下圖 (t1, t3, t5, t7) 所示。 為了加快加速和減速的時間,我們需要插入到這些地區的線性部分 (t2, t6) 以維持最大加速率,而加速率 - 時間圖 (A-T 圖 ) 呈現梯形。 Velocity Max. velocity Dec. pre lim in a ry Acc. Distance End velocity Start velocity Time Acceleration Max. acceleration Max.
PCI-8254 / PCI-8258 本控制器使用 S-factor (S) 來控制加加速 (Jerk) 的比率,其公式如下 S 的值介於 0 到 1,因此當 S = 0 速度曲線為 T 型曲線 ( T – curve ) S >0 且 S<=1: s 型曲線 ( S – curve ) 其中,當 S = 1 時我們又稱純 S 型曲線 ( Pure S – curve ),其 A-T 圖呈三角形。 pre lim in a ry 由上述公式可知,當 S 的值調的越大表示加速曲線越平滑,Jerk 值 會越小,可助降低機台的震動,但相對的,運動過程所花費的時間 也就越大。反之 S 越小 Jerk 會越大,但運動時間最短。 如同 T 型曲線,當移動距離不足時,控制器會自動修正最大速度以 維持運動的順暢。加速度 (ACC, DEC) 和 S 因子則保持一至以維持 加速率,而加加速率 (Jerk) 則會改變。如下圖 運動控制功能原理介紹 105
Velocity MaxVel MaxVel’ Start velocity Time pre lim in a ry Acce.
PCI-8254 / PCI-8258 • 相關軸參數 Param. No.
4.
PCI-8254 / PCI-8258 Param. No. Define symbol Description 13h (19) PRA_HOME_ACC Homing 加減速率設定 15h (21) PRA_HOME_VM Homing 最大速率 17h (23) PRA_HOME_SHIFT Home 位置和定位訊號的偏移距離 18h (24) PRA_HOME_EZA EZ alignment enable 19h (25) PRA_HOME_VO Homing 離開 ORG 訊號的速率 1Bh (27) PRA_HOME_POS Homing 完成後位置命令設定 • 例: #include "APS168.h" #include "APS_define.h" pre lim in a ry #include "ErrorCodeDef.
// 2. Start home move return_code = APS_home_move( axis_id ); //Start homing if( return_code != ERR_NoError ) { /* Error handling */ } // 3. Wait for home move done, do{ Sleep( 100 ); msts = APS_motion_status( axis_id );// Get motion status msts = ( msts >> MTS_NSTP ) & 1; // Get motion done bit pre lim in a ry }while( msts == 1 ); // 4.
PCI-8254 / PCI-8258 本控制器依不同硬體平台,提供數種自動歸零程序 (Auto-home searching),其中可以任意參考三種不同的機械訊號 , 如 ORG, EL 及單一 EZ 訊號。以根據不同參考訊號定義三種歸零模式,使用者 亦可彈性結合任意三種訊號來規劃適合的歸零程序。此外每一種模 式還提供數種參數來完成各種定位的需求。這三種定位模式是依據 這些系統配置而設計,已涵蓋一般常見硬體配置。這三種模式分別 為: 1. ORG 訊號定位 (Home mode = 0)(Home return by ORG signal) 2. EL 訊號定位 (Home mode = 1) 3. 單一 EZ 訊號定位 (Home mode = 2) 下面小節針對這三種定位方式流程以及相關參數設定來做說明。 ORG 訊號定位 - Home Mode 0 pre lim in a ry 4.4.
• 相關軸參數 (Axis parameter) 設置 軸參數值 軸參數值敘述 PRA_HOME_MODE 0 採用 Home mode 0 (ORG 訊號定位 ) PRA_HOME_DIR 0 採正方向前進定位 PRA_HOME_EZA 0 是否進一步對齊 EZ 訊號 , 0:否 , 1: 是 PRA_HOME_S 0 S 曲線因子 PRA_HOME_ACC ACC 加減速度 ( 距離單位 / 秒 2) PRA_HOME_VS VS 啟動速度 ( 距離單位 / 秒 ) PRA_HOME_VM VM 搜尋原點速度 ( 距離單位 / 秒 ) PRA_HOME_VO VO 定位速度 ( 距離單位 / 秒 ) PRA_HOME_SHIFT 0 最後定位位置與對齊訊號的偏移量 ( 距離單位 / 脈衝 ) pre lim in a ry 軸參數 狀況 A 狀況 B 初始位置 原點位置 初始位置 狀況 C 原點位置 VM: 搜尋原點的速度 VO: 準備定位的速度 圖 4-21:Home mode 0 (Case: ORG) 112 運動控制
PCI-8254 / PCI-8258 一般機械裝置上的 ORG 訊號有兩個方向邊緣 ( 訊號擋片 (Fender) 的兩端 ),上圖顯示當軸參數中的定位方向參數設定為正方向時 (PRA_HOME_DIR),控制軸會由正方向 ( 位置命令遞增的方向 ) 進行搜尋。最後停在 ORG 訊號的左側邊緣上 ( 靠近 MEL 機械訊號 裝置端 )。 反之,軸參數中的定位方向參數設定為負方向時 (PRA_HOME_DIR), 控制軸會由負方向 ( 位置命令遞減的方向 ) 進行搜尋。最後停在 ORG 訊號的右側邊緣上 ( 靠近 PEL 機械訊號裝置端 )。下圖顯示當軸參數 "PRA_DIR" 設定為負方向時,定位運動的示意圖: • 相關軸參數設置 軸參數值 軸參數值敘述 0 用 Home mode 0 (ORG 訊號定位 ) pre lim in a ry 軸參數 PRA_HOME_MODE PRA_HOME_DIR 1 採負方向前進定位 PRA_HOME_EZA 0 是否進一步對齊 EZ 訊號 , 0:否 , 1: 是 PRA_HOME_S 0 S 曲線因子 PRA_HOME_ACC AC
狀況 A 原點 位置 狀況 B 初始位置 狀況 C 初始位置 pre lim in a ry 原點位置 VM: 搜尋原點的速度 VO: 準備定位的速度 圖 4-22:Home mode 0 (Case: ORG) 當軸參數 PRA_HOME_EZA 設定為 1 時,表示進行 EZ 對齊,當控 制軸找到 ORG 邊緣後,再進一步往定位方向前進,直到第一個 EZ 訊號被偵測到並將控制軸定位至 EZ 邊緣上定位運動始完成。 其動作如下圖 : • 相關軸參數設置 軸參數 軸參數值 軸參數值敘述 PRA_HOME_MODE 0 Home mode 0 PRA_HOME_DIR 0 採正方向前進定位 PRA_HOME_EZA 1 是否進一步對齊 EZ 訊號 , 0:否 , 1: 是 PRA_HOME_S 0 S 曲線因子 PRA_HOME_ACC ACC 加減速度 ( 距離單位 / 秒 2) PRA_HOME_VS VS 啟動速度 ( 距離單位 / 秒 ) PRA_HOME_VM VM 搜尋原點速度 ( 距離單位 / 秒 ) 114 運動控制功能原理介
PCI-8254 / PCI-8258 軸參數 軸參數值 軸參數值敘述 PRA_HOME_VO VO 定位速度 ( 距離單位 / 秒 ) PRA_HOME_SHIFT 0 定位位置偏移量 ( 距離單位 ) 狀況 A 原點位置 初始位置 初始位置 pre lim in a ry 狀況 B 和 C 原點位置 VM: 搜尋原點的速度 VO: 準備定位的速度 圖 4-23:Home mode 0 (Case: ORG) 下圖為負方向的例子 : • 相關軸參數設置 軸參數 軸參數值 軸參數值敘述 PRA_HOME_MODE 0 用 Home mode 0 (ORG 訊號定位 ) PRA_HOME_DIR 1 採負方向前進定位 PRA_HOME_EZA 1 是否進一步對齊 EZ 訊號 , 0:否 , 1: 是 PRA_HOME_S 0 S 曲線因子 PRA_HOME_ACC ACC 加減速度 ( 距離單位 / 秒 2) PRA_HOME_VS VS 啟動速度 ( 距離單位 / 秒 ) PRA_HOME_VM VM 搜尋原點速度 ( 距離單位
軸參數 軸參數值 軸參數值敘述 PRA_HOME_VO VO 定位速度 ( 距離單位 / 秒 ) PRA_HOME_SHIFT 0 定位位置偏移量 ( 距離單位 ) 狀況 A 原點位置 狀況 B 和 C pre lim in a ry 初始位置 初始位置 VM: 搜尋原點的速度 VO: 準備定位的速度 圖 4-24:Home mode 0 反向 (Case: ORG+EZ) 另外可以設定定位位置偏移量,進行最後位置的微調工作。下面是 一個設定的例子和其示意圖 : 116 運動控制功能原理介紹
PCI-8254 / PCI-8258 • 相關軸參數設置 軸參數 軸參數值 軸參數值敘述 0 採用 Home mode 0 (ORG 訊號定位 ) PRA_HOME_DIR 0 採正方向前進定位 PRA_HOME_EZA 0 是否進一步對齊 EZ 訊號 , 0:否 , 1: 是 PRA_HOME_S 0 S 曲線因子 PRA_HOME_ACC ACC 加減速度 ( 距離單位 / 秒 2) PRA_HOME_VS VS 啟動速度 ( 距離單位 / 秒 ) PRA_HOME_VM VM 搜尋原點速度 ( 距離單位 / 秒 ) PRA_HOME_VO VO 定位速度 ( 距離單位 / 秒 ) PRA_HOME_SHIFT 偏移量 定位位置偏移量 ( 距離單位 ) MEL pre lim in a ry PRA_HOME_MODE Speed 䉨㱩 A ORG VM PEL ⍇溆ỵ伖 VO ⇅⥳ỵ伖 ῷ䦣慷 狀況䉨㱩 B和 B,C C ⇅⥳ỵ伖 VM Speed VM VO ⍇溆ỵ伖 VM VM : ㏄⮳⍇溆䘬忇⹎ V
4.4.
PCI-8254 / PCI-8258 若設定 EL 訊號定位模式,負方向定位,關閉 EZ 對齊。完成定位運 動後控制軸將停在 MEL 訊號邊緣上如下圖所示。 狀況 A 初始位置 原點位置 pre lim in a ry 狀況 B VM: 搜尋原點的速度 VO: 準備定位的速度 下圖,設定 Home mode 1 (EZ 訊號 ) 定位模式,正方向定位,設定 EZ 對齊。完成定位運動後控制軸將停在 EZ 訊號邊緣上。 • 相關軸參數設置 軸參數 軸參數值 軸參數值敘述 PRA_HOME_MODE 1 採用 Home mode 1 (EZ 訊號 ) 定位 PRA_HOME_DIR 0 採正方向前進定位 PRA_HOME_EZA 1 是否進一步對齊 EZ 訊號 , 0:否 , 1: 是 PRA_HOME_S 0 S 曲線因子 PRA_HOME_ACC ACC 加減速度 ( 距離單位 / 秒 2) PRA_HOME_VS VS 啟動速度 ( 距離單位 / 秒 ) PRA_HOME_VM VM 搜尋原點速度 ( 距離單位 / 秒 ) PRA_HOME_V
‘ 狀況 A 初始位置 原點位置 初始位置 pre lim in a ry 狀況 B VM: 搜尋原點的速度 VO: 準備定位的速度 圖 4-27:Home mode 1 (Case: EL+EZ) 若設定 EL 訊號定位模式,負方向定位,設定 EZ 對齊。則完成定位 運動後控制軸也將同樣停在 EZ 訊號邊緣上如下圖所示 : 狀況 A 初始位置 原點位置 狀況 B 初始位置 VM: 搜尋原點的速度 120 VO: 準備定位的速度 運動控制功能原理介紹
PCI-8254 / PCI-8258 4.4.
狀況 A 原點位置 狀況 B 初始位置 pre lim in a ry 原點位置 VM: 搜尋原點的速度 VO: 準備定位的速度 圖 4-28:Home mode 2 (Case: EZ) 下圖,設定 ”Home mode 2 ( 單一 EZ 訊號 )” 定位模式,負方向定 位。完成定位運動後控制軸將停在 EZ 訊號邊緣上。 • 相關軸參數設置 軸參數 軸參數值 軸參數值敘述 PRA_HOME_MODE 2 採用 Home mode 2 ( 單一 EZ 訊號 ) 定位 PRA_HOME_DIR 1 採負方向前進定位 PRA_HOME_EZA 0 是否進一步對齊 EZ 訊號 , 0:否 , 1: 是 PRA_HOME_S 0 S 曲線因子 PRA_HOME_ACC ACC 加減速度 ( 距離單位 / 秒 2) PRA_HOME_VS VS 啟動速度 ( 距離單位 / 秒 ) PRA_HOME_VM VM 搜尋原點速度 ( 距離單位 / 秒 ) PRA_HOME_VO VO 定位速度 ( 距離單位 / 秒 ) PRA_HOME_SHIFT 0
PCI-8254 / PCI-8258 狀況 A 初始位置 狀況 B 原點位置 pre lim in a ry 初始位置 VM: 搜尋原點的速度 VO: 準備定位的速度 圖 4-29:Home mode 2 反向 (Case: EZ) 此模式下參數:PRA_HOME_EZA,無作用 ຝភ 運動控制功能原理介紹 123
4.
PCI-8254 / PCI-8258 • 例 1: 設定參數,啟動 Velocity move,其範例流程如下, 1. 2 秒後改變最大速度 2. 2 秒後改變最大速度 3. 2 秒後減速停止 #include "APS168.h" #include "APS_define.h" #include "ErrorCodeDef.h" void velocity_move_example() pre lim in a ry { I32 axis_id = 0; F64 speed_1 = 500.0; F64 speed_2 = 1000.0; F64 speed_3 = 600.0; APS_set_axis_param_f( axis_id, PRA_STP_DEC, 10000.0 ); APS_set_axis_param_f( axis_id, PRA_CURVE, 0.5 ); //Set acceleration rate APS_set_axis_param_f( axis_id, PRA_ACC, 10000.
運動控制輸入訊號 EMG, ALM, PEL, MEL 等會導致運動終止, 請參考安全保護 ݧཎ 速度運動模式下,目標位置 (Target position) 會隨時更新,和 命令位置 (Command position) 相同。 pre lim in a ry ݧཎ 126 運動控制功能原理介紹
PCI-8254 / PCI-8258 4.6 JOG 運動 (Jog Move) Jog 操作,常見於機台上的控制面版,主要目的在手動控制運動軸 的移動,亦可與機械開關透過數位輸入訊號 (Digital input) 作結合運 用,利用 DI 訊號當作 Jog 運動啟動訊號,因此使用者只要設定好相 關參數即可讓機台上的控制面板開關來操作 Jog 運動,無須撰寫控 制程式。 Jog 運動模式分為下列兩種 : V pre lim in a ry 1.
1.
PCI-8254 / PCI-8258 • 相關的軸參數 參數定義 參數值意義 40h () PRA_JG_MODE 設定 JOG 模式 [0:Continuous, 1:Step] 41h () PRA_JG_DIR 設定 JOG 方向 [0:Negative, 1:Positive direction] 42h () PRA_JG_SF 設定 JOG S factor [ 0 ~ 1 ] 43h () PRA_JG_ACC 設定 JOG 加速率 (Acceleration) [ Value > 0 ] 44h () PRA_JG_DEC 設定 JOG 減速率 (Deceleration) [ Value > 0 ] 45h () PRA_JG_VM 設定 JOG 最大速 (Max.velocity) [ Value > 0 ] 46h () PRA_JG_OFFSET 設定 JOG 偏移位置 .
1. 運動控制輸入訊號 EMG, ALM, PEL, MEL 等會導致運動終止。請參考安全保護章節. ຝភ 2. 連續模式下,目標位置 (Target position) 會 隨 時 更 新,和 命 令 位 置 (Command position) 相同。 3. 當控制軸為 Jog 運動時,其他運動指令將 被禁止以避免誤動作。 pre lim in a ry 4.
PCI-8254 / PCI-8258 4.7 點對點運動 (Point-to-Point Move) 4.7.1 點對點運動 (Point-to-Point Move ) 點對點運動 (Point-to-Point move, PTP move) 係指,在預定的速度 規劃下控制一軸由 A 位置移動到 B 位置。依照給定的位置參數,可 區分為相對位置運動 (Relative move) 和絕對位置運動 (Absolute move)。 pre lim in a ry 速度曲線部分本控制器提供 T-Curve 和 S-Curve 速度曲線及可透過 S-factor 來進行調整,其中包含起始速度 (Start velocity),最大速度 (Maximum velocity),結束速度 (End velocity),加 / 減速率 (Acceleration / Deceleration) 參數可以個別調整,如下圖所示。其細節說 明請參考 4.3.3 節 - 加減速曲線。 Velocity Max.
相關的 APS API 如下 : I32 APS_ptp(); // PTP move I32 APS_ptp_v(); // 帶最大速度參數 PTP move I32 APS_ptp_all(); // 帶所有速度參數 PTP move I32 APS_relative_move(); // Relative PTP move ( 使用 I32 資料格 式) I32 APS_absolute_move(); // Absolute PTP move ( 使用 I32 資料 格式 ) I32 APS_stop_move(); // 減速停止 I32 APS_emg_stop(); // 立即停止 pre lim in a ry • 相關的軸參數 Param. No.
PCI-8254 / PCI-8258 4.7.3 動態運動參數切換 (On The Fly Change) 在 PTP 運動過程中可動態改變位置及速度參數,動態改變方式如下 : 1. 只動態改變新的位置,速度參數沿用上一次的命令。 2. 只動態改變最大速度,目標位置不變。 3. 動態改變新的位置及速度曲線,意即下達全新的PTP命令。 pre lim in a ry New PTP command T 圖 4-33:動態改變位置速度示意圖 4.7.4 連續 PTP 運動 (Continuous PTP Move) 每一軸配有一運動緩衝佇列 (Motion buffer),其容量為 10 組。當第 一個 PTP 命令下達時,該軸立刻啟動運行,運動過程中可連續下達 PTP 命令,後續命令會被存入緩衝之中等待執行。當第一個運動到 達指定位置後,控制器自動接續執行緩衝器中的 PTP 命令,依此類 推直到沒有新的命令為止。使用者可以指定速度的接續方式,依照 速度連接的方式區分為 : 1. 緩衝連續 (Buffered):以佇列為單位速度接續 2.
以 3 個連續 PTP 運動為例,依照速度連續的方式設定不同,則 V-T 圖和程式的範例如下 : 1. 緩衝連續 (Buffered) T pre lim in a ry 圖 4-34:三段連續位置 V-T 圖 2. 低速連續 (Blend low):接續時以最大速較低者相接 T 圖 4-35:三段連續位置 V-T 圖 ( 速度自動連接 (1)) 3.
PCI-8254 / PCI-8258 4. 前連續 (Blend previous):接續時以前者最大速相接 T 圖 4-37:三段連續位置 V-T 圖 ( 速度自動連接 (3)) pre lim in a ry 5.
4.
PCI-8254 / PCI-8258 若設定的合成速度為 V,則各軸的速度 Vn 為 : 以二維直線補間為例,S 為起點座標,E 為終點座標如下圖 : Y 分量 pre lim in a ry E S X 分量 圖 4-39:二維直線補間運動 ∆X 和 ∆Y 分別為 X 軸和 Y 軸的位移量,而補間的距離設定方式是 依照各軸的分量下去設定 ( 例如相對距離 ∆X 和 ∆Y,或給定終點 E 的絕對座標 ),若要計算合成位移量 ∆P,則使用下列公式 : 速度,加速度的設定方式則採用和成向量,若要計算各軸分量,以 合成速度 V 為例,各軸的速度分量 Vx,Vy: 運動控制功能原理介紹 137
相關的 APS API 如下 : I32 APS_line(); // 多軸直線補間 I32 APS_line_v(); // 帶有最大速設定的多軸直線補間 I32 APS_line_all(); // 帶有所有速度設定的多軸直線補間 I32 APS_stop_move(); // 減速停止 I32 APS_emg_stop(); // 立即停止 I32 APS_absolute_linear_move(); // 直線補間給定絕對位置 ( 使用 I32 資料格式 ) pre lim in a ry I32 APS_relative_linear_move(); // 直線補間給定相對位置 ( 使用 I32 資料格式 ) • 相關的軸參數 Param. No.
PCI-8254 / PCI-8258 相關指令整理如下 : 函式名稱 函式說明 APS_arc3_ca APS_arc3_ca_v APS_arc3_ca_all 執行三維圓弧補間,輸入圓心 (Center),角度 (Angle) 和法向量 (Normal vector) APS_arc3_ce APS_arc3_ce_v APS_arc3_ce_all 執行三維圓弧補間,輸入圓心 (Center) 和終點 (End point) 限制 : 無法執行半圓或全圓 pre lim in a ry 方法一:給定圓心,角度及法向量,如下圖 : 圖 4-40:三維圓弧補間運動 (方法一) 此種輸入方式,讓您很容易的建構出一個圓弧路徑,並且沒有半圓 或全圓的限制。您必須注意法向量 (Normal vector) 是否正確,若您 輸入的法向量有偏差,本控制器預設會自動幫您修正法向量的輸入 值。 • 法向量自動校正 (Auto Normal Vector Correct): 若輸入的法向量和圓心到起點的向量非正交向量 (Not orthogonal vector),控 制 器 自 動 校 正 輸
pre lim in a ry 圖 4-41:空間中法向量定義 • 如何決定圓弧方向以及多圈數的路徑 使用右手定則 (Right-hand grip rule),如下圖,大拇指方向為法向量 方向,其他四指為正旋轉的方向。若角度 Angle 輸入負值則選轉方 向相反。 若要執行多圈數 ( 大於 360 度的圓 ) 可直接設定角度例如 旋轉 2 圈 = 720 度。 圖 4-42:空間中決定圓弧方向 140 運動控制功能原理介紹
PCI-8254 / PCI-8258 另外,因限於計算機的計算精度,終點位置座標可能會有些許誤差, 若要精確計算至終點位置,則可採用方法二輸入終點位置的輸入方 式 ( 下一小節介紹 ) 方法二 : 給定 圓心、終點 此方法您只需輸入圓心和終點的位置,利用此方法來建構圓弧路徑 的好處是,不需要求得法向量 (Normal vector),且可以很精確的掌 握最後終點位置來滿足循跡 (Contour) 或需精確定位的應用。採用 惟有下列兩點限制 : 1. 無法執行角度為 180 度的半圓 (Half circle) pre lim in a ry 2.
舉例來說若,若 θ = 30 度,則 Dir 計算方式 Angle ( 度 Degree) 0 30 + 0 x 360 30 1 30 + 1 x 360 390 2 30 + 2 x 360 750 -1 30 + (-1) x 360 -330 -2 30 + (-2) x 360 -690 pre lim in a ry • 例: S E 圖 4-44:三維圓弧補間範例圖 4.8.2.
PCI-8254 / PCI-8258 4.8.2.
方法二:給定圓心及終點 (Center-End) 描述圓錐曲線的參數整理如下表及下圖 參數 說明 圓心 (Center point) 圓心位置 ( 相對或絕對 ) 法向量 (Normal vector) 起點圓平面的法線向量 終點 (End point) 圓錐終點位置 ( 相對或絕對 ) 方向 (Direction) 旋轉方向及圈數 pre lim in a ry 方向參數的設定原理和 3D 圓弧相同,細節說明請參考前一章節。 圖 4-46:三維螺旋補間運動 (方法二) 144 運動控制功能原理介紹
PCI-8254 / PCI-8258 上述幾種螺旋補間曲線輸入方式皆需要給定法向量,若法向量輸入 有偏差,控制器會自動作修正,其修正方式請參考章節 4.8.2 圓弧 補間章節 相關的 APS API 如下 : 輸入方式 方法一 Center-Angle 說明 I32 APS_sprial_ca( ); 啟動三維螺旋補間 I32 APS_sprial_ca_v( ); 啟動三維螺旋補間 + 最大速參數 I32 APS_sprial_ca_all( ); 啟動三維螺旋補間 + 所有速度參數設定 I32 APS_sprial_ce(); 啟動三維螺旋補間 I32 APS_sprial_ce_v(); 啟動三維螺旋補間 + 最大速參數 I32 APS_sprial_ce_all(); 啟動三維螺旋補間 + 所有速度參數設定 pre lim in a ry 方法二 Center-End API 相關的軸參數 : Param. No.
4.8.3 連續補間運動 (Continuous Interpolation) 連續補間係指控制器連續執行多個補間路徑,補間路徑包括前面小 節所介紹的,直線,圓弧和螺旋補間。其操作方式是連下執行多個 補間指令,下達的補間指令會被存入控制器的緩衝區中等待被執行, 如下圖。 圖 4-47:連續補間運動 (Buffer) 示意圖 pre lim in a ry 連續補間運動只有一個規則就是補間的維度和軸號必須相同,舉例 來說 3D 的直線必須和 3D 圓弧相連接,不能和 2D 的圓弧進行連 接,其使用的軸號也必須相同。另外針對兩個相鄰的路徑其速度接 續的方式,本控制器提供下列七種種設定方式: 1. 中止 - 混和 (Aborting and blending) 2. 中止 - 強迫 (Aborting forced) 3. 中止 - 減速 (Aborting stop) 4. 緩衝 (Buffered) 5. 混和 - 減速 (Blending when deceleration start) 6. 混和 - 殘餘距離 (Blending when residue-distance met) 7.
PCI-8254 / PCI-8258 其設定的方式是在輸入參數 ”Flag” 中指定,參數說明細節請參考 APS API 使用手冊。 基本上,前面三種方式 (1)、(2)、(3) 在新的補間命令下達時會立刻 中止目前正在運行補間運動且執行所下達的補間運動,倘若運動緩 衝 (Motion buffer) 中尚有命令未被執行,此時也會被清除,這三種 方式在行為上的差別在於其中止的方式,一般被運用在於需要立刻 改變目前的補間路徑上。 其他 (4)、(5)、(6)、(7) 的方式,會依緩衝順序執行。第四種方式, 特色在於完全依照補間的路徑及速度規劃依序執行,路徑不會產生 誤差。 pre lim in a ry 而其中 (5)、(6)、(7) 方法採用的是速度混和的做法,而其好處是軌 跡會進行平滑的處理,因此不會有振動問題,且運動速度不會下降, 這些方法的不同處在於控制其開始混和的時機點,這關係到混和過 程的實際計算路徑和使用者規劃的路徑誤差,使用者可以依照需求 選擇調整。下面分別說明這七種速度連續方式 : 1.
2. 中止 - 強迫 (Aborting forced) 此種指令的特徵是指令下達後,軌跡立即轉換到新指令上,控制 器將不會進行平滑處理,也因此運動軌跡會和指令完全吻合。這 種模式下,各軸的速度分量可能會有不連續的情況,使用者必須 注意轉換時的速度與角度以避免震動產生。 E1 E2 pre lim in a ry S1 圖 4-49:速度混合 ( 方法二 ) 3.
PCI-8254 / PCI-8258 4. 緩衝 (Buffered) 當新指令下達後會先存入運動緩衝 (Motion buffer),待原補間完 成後,接續執行緩衝內的命令。以下圖為例,執行一直線補間由 S1 至 E1,途中下達 ” 緩衝 (Buffered)” 的補間指令,控制器接收 指令後先存入緩衝內,待補間完成後再由 E1 移動至 E2 位置。 速度曲線的部分完全依照使用者的設定,若要讓兩補間連接時不 減速或稍微減速,可以事先規劃前一段的結束速度與下一段的起 始速度。 Buffered Buffered pre lim in a ry E1 E2 S1 圖 4-51:速度混合 ( 方法四 ) 5.
6. 混和-殘餘距離 ( Blending when residue-distance met) 當控制器收到新指令後會先將其存入運動緩衝 (Motion buffer), 使用者可以指定一位移量 ( 如下圖的 Distance,此處稱為殘餘距 離 ),待原補間路徑距離目標位置小於指定的殘餘距離時 ( 圖中 E1),新的補間指令開始啟動進行擬和,如下圖。 Distance E1 S1 Blending E2 pre lim in a ry 圖 4-53:速度混合 ( 方法六 ) 7.
PCI-8254 / PCI-8258 • 例: pre lim in a ry 圖 4-55:連續補間運動範例圖 運動控制功能原理介紹 151
4.
PCI-8254 / PCI-8258 4.9.1 運動狀態 (Motion Status) 讀取各軸的運動狀態使用下列 API 函式 : I32 APS_motion_status(); 以軸為單位的運動狀態整合整合在回傳值 I32 變數之內 (32 bit 整 數),每個位元所代表的運動狀態和其意義如下表 : Bit No. 7 Status 15 Status JOG Bit No. 23 5 4 3 2 1 0 HMV MDN DIR DEC ACC VM CSTP 14 13 12 11 10 9 8 PTB WAIT 19 18 17 16 22 21 20 pre lim in a ry Bit No. 6 Status Bit No. 31 30 29 Status 28 POSTD PRED BLD ASTP 27 26 25 24 GER 下表簡述運動狀態意義 : Bit No.
Bit No.
PCI-8254 / PCI-8258 其運動與訊號的關係圖如下 : Velocity pre lim in a ry Time CSTP MV ACC DEC DIR Time 圖 4-57:不同運動訊號與運動關係圖 Bit 5:運動完成 (Motion Done) – MDN 單一運動指令或連續運動指令完成。單一運動指令系指單軸的點對 點運動,多軸的點對點運動。連續運動泛指,如定位運動 (Home), 連續運動等一系列運動所組成之連續運動指令。利用此訊號,使用 者便很容易地使用輪詢 (Polling) 或是使用中斷事件產生便可運動流 程規劃。 注意,當運動異常停止此訊號也會產生,要進一步檢查運動是否有 異常停止可以檢查 ASTP 訊號。 運動控制功能原理介紹 155
Velocity home() ptp() Time pre lim in a ry MDN Time 圖 4-58:Motion Done (MDN) 訊號與運動關係圖 Bit 6:定位運動訊號 (In Homing) – HMV 當控制器接收到定位運動指令 home() 並開始進行定位運動時 HMV 訊號會被致能 ( = 1)。當定位運動完成或定位運動被終止時,此訊號 會此訊號會關閉 (= 0) 詳細的定位運動描述請參考 4.
PCI-8254 / PCI-8258 Velocity home() Time HMV pre lim in a ry MDN Time 圖 4-59:Motion Done (MDN), In-homing (HMV) 訊號與運動關係圖 Bit10:等待運動觸發 (Wait Move Trigger) – WAIT 當此信號為 ON 時表示該軸正處於等待運動觸發的狀態。當使用者 發出觸發訊號:使用:move_trigger() 函式來觸發正在等待的軸。 下列運動控制函式的輸入參數 Flag 設定為 MF_WAIT (0x00100)時, 亦即將該指令設定為觸發啟動。該目標軸不會立即啟動,且 WAIT 訊號變為 ON。 運動控制功能原理介紹 157
Move_trigger( 0x3 ); Velocity ptp( axis0, MF_WAIT…); Axis 0 Time ptp( axis1, MF_WAIT…); Axis 1 Time Axis0: WAIT pre lim in a ry Axis1: WAIT Time 圖 4-60:WAIT 訊號與運動關係圖 Bit11:Point Buffer 運動訊號 – PTB 當 Point buffer 運動啟動時,此訊號為 ON,當運動結束時為 OFF。 Bit15:Jog 運動訊號 – JOG 當該軸正在進行 Jog 運動時,JOG 訊號為 ON,當 Jog 運動結束 JOG 訊號為 OFF, 詳細的 Jog 運動功能請參考 4.
PCI-8254 / PCI-8258 Velocity Time ON(1) OFF(0) JOG-ON 訊號 JOG MDN Time pre lim in a ry 圖 4-61:JOG, Motion Done (MDN) 訊號與運動關係圖 Bit 16:異常停止 (Abnormal stop) – ASTP 當運動因為一些原因而被迫終止,此訊號會產生。異常停止的原因 包括如下表所示,使用者可用 get_stop_code() 函式取回錯誤停止 的代碼 (Stop code)。可利用此代碼進行後續的錯誤處理程序。下小 節將說明停止原因。 Velocity dec_stop() ptp() Time ASTP MDN Time 圖 4-62:異常停止訊號 (ASTP) 與運動關係圖 運動控制功能原理介紹 159
Bit17:擬和運動中 – BLD 連續補間運動中有數種速度接續的方式,其中混和接續 (Blending) 方式在兩路徑交接處有一過渡 (Transition) 區域 ( 如下圖 ),BLD 訊 號代表該軸進入此區域。 Start deceleration V E1 Transition area E2 I II T pre lim in a ry S1 Blending BLD Time 圖 4-63:擬和運動 (BLD) 訊號與運動關係圖 Bit18, Bit19:前 / 後位移量事件:(Pre/Post-distance Event) 每 筆 位 置 運 動 命 令 可 指 定 前 位 移 量 (Pre-distance) 或 後 位 移 量 (Post-distance),當移動位移量滿足設定的條件時控制器發出訊號。 前位移量指當點對點運動 (Point to point move) 開始時控制器會記 錄運動的位移量,當位移量大於前位移量時,前位移量事件 (Pre-distance event) 便產生。相對的,當該點對點運動所剩餘的位移量小 於後位移量時,後位移量事件 (P
PCI-8254 / PCI-8258 Velocity Pre-distance Post-distance Time pre lim in a ry Pre-distance event (PRED) Post-distance event (POSTD) Motion done event (MDN) Time 圖 4-64:前 / 後位移量事件訊號與運動關係圖 運動控制功能原理介紹 161
4.10 應用功能 (Application Functions) 4.10.1 電子齒輪 (Electronic Gearing) 電子齒輪功能係指使用者可以設定某一軸 ( 從軸 Slave axis) 和另一 軸 ( 主軸 Master axis) 的運動關係,而這個關係類似機械上的齒輪 結構,兩個齒輪間的關係一般使用齒輪比 (Gear ratio) 來表示,舉例 來說一組齒輪 X 和 Y,其齒輪比為 1:2,當 X( 主軸 ) 旋轉 1 圈時, Y( 從軸 ) 旋轉 2 圈。同理,透過設定電子齒輪比,當主軸進行控制 運動時從軸根據使用者設定的齒輪比運動。 pre lim in a ry 本控制器提供 2 種模式分別為標準模式及龍門模式。這兩種模式最 主 要 的 差 別 在 於 龍 門 模 式 是 特 別 針 對 雙 驅 動 式 龍 門 機 構 (Dual drives gantry mechanism) 所設計,這種結構主要使用兩個馬達來驅 動一個剛性連接的機構,因此在安全性上以及控制的行為上有特殊 的設計。以下兩個小節分別就這兩種模式來說明。 4.10.1.
PCI-8254 / PCI-8258 Ratio Change gear ratio to ratio-2 Change gear ratio to ratio-3 Ratio 2 Ratio 1 Ratio 3 Time Start gearing A 圖 4-65:電子齒輪自動接和速率調整 pre lim in a ry 有幾個狀況會解除標準模式的齒輪關係 : 1. 使用者手動解除齒輪關係使用 APS_start_gear() 2. 當從軸的 EMG / ALM / PEL / MEL / ALM 信號為 ON 時, 主軸若在運行中不會被影響。 3. 從軸收到 stop(), emg_stop(), servo_off() 指令 4.10.1.2 龍門模式 (Gantry Mode) 龍門模式是依照雙驅的龍門機構 (Dual drives gantry mechanism), 所以有以下特點 : 1. 除了使用者手動解除齒輪關係外,齒輪關係將不會被解 除。 2. 若從軸的 EMG / ALM / PEL / MEL / ALM 信號為 ON 時, 主從軸的運動將會停止。 3.
其操作方式是對從軸的軸參數設定 1: 選定跟隨的主軸 ,2: 兩階段的 位置誤差保護。設定完後使用 APS_start_gear( 從軸 ID ) 來啟動龍 門模式。當模式啟動後只需操作主軸即可,從軸的動作會和主軸完 全一致。 Param. No. Define symbol Description 60h(96) PRA_GEAR_MASTER 設定主軸 (Gear master) 63h(99) PRA_GANTRY_PROTECT_1 Gantry mode 第一階保護 64h(100) PRA_GANTRY_PROTECT_2 Gantry mode 第二階保護 4.10.
pre lim in a ry PCI-8254 / PCI-8258 圖 4-66:比較觸發方塊圖 TRG / PWM / Timer 相關參數設定 NO Define Description 0x06 TGR_TRG_EN TRG0~3 輸出開關 0x10~0x13 TGR_TRGx_SRC 設定 TRG0~3 觸發來源,可以選擇多重來源 0x14~0x17 TGR_TRGx_PWD 設定 TRG0~3 脈衝寬度 0x18~1B TGR_TRGx_LOGIC 設定 TRG0~3 邏輯準位 0x1C~1F TGR_TRGx_TGL 設定 TRG0~3 觸發輸出格式 0x20 TIMR_ITV 設定 Timer 間隔 0x21 TIMR_DIR 設定 Timer 計數方向 0x22 TIMR_RING_EN 設定 Timer counter 溢位行為 0x23 TIMR_EN 啟動 Timer 運動控制功能原理介紹 165
比較觸發詳細的相關參數列表請參考 APS Library 使用手冊。設定 參數 APIs 如下 APS_set_trigger_param( ); APS_get_trigger_param( ); 比較器的來源除了編碼計數器 (Encoder counter) 外也可選擇使用內 部的 Timer,其相關的 API 如下 : APS_get_timer_counter(); // 讀取 timer counter APS_set_timer_counter(); // 設定 timer counter 4.10.2.1 手動觸發 (Manual Trigger) NO pre lim in a ry 使用 APS_set_trigger_manual() API 即可對輸出脈波訊號,使用前 先設定 TRG 的觸發來源有手動觸發。以下是一個操作範例 : 0x10~0x13 4.10.2.
PCI-8254 / PCI-8258 使用下列 API 設定線性比教的起始點,總點數和間隔 APS_set_trigger_linear(); 線性比較觸發相關參數 NO Define Description 0x00 TGR_LCMP0_SRC 線性比較器 (LCMP0) 比較來源 0x01 TGR_LCMP1_SRC 線性比較器 (LCMP1) 比較來源 pre lim in a ry • 例: 圖 4-67:線性比較觸發範例圖 運動控制功能原理介紹 167
4.10.2.2.
PCI-8254 / PCI-8258 控制器和硬體內部有兩層的 FIFO 緩衝設計以加速比較速率,硬體 的 FIFO 大小為 255 筆,其比較速率高達 1 MHz,制器上處理器會 設定 999 筆 FIFO 緩衝,控制器在每運動控制週期執行填點工作。 另外在 APS 函數庫中,使用者只須傳入任意大小的位置陣列 ( 視系 統記憶體大小限制 )APS 函式庫將動態載入所有比較位置到控制器 中,因此若點數較多時使用者也無須額外撰寫程式來將比較點動態 填入控制器中。 將比較表格陣列傳入的 API: APS_set_trigger_table( ); APS driver Inside PCI-8254 / PCI-8258 pre lim in a ry memory Kernel memory Hardware FIFO FIFO Table array Point 1~Point n 圖 4-69:表格比較觸發方塊圖 運動控制功能原理介紹 169
4.10.3 4.10.3.
PCI-8254 / PCI-8258 pre lim in a ry VAO 模組架構圖 4.10.3.2 控制模式 目前 PCI-8254/8 VAO 模組支援的控制模式有以下三種 : a. Mode1: PWM mode 此種控制模式為在固定 PWM 頻率 (frequency) 下根據不同速度調整 PWM 工作週期 (duty cycle),如下圖所示,固定輸出 PWM 頻率為 1/T,在 V1、 V2 及 V3 三種不同速度下,PWM 輸出會根據速度功率 表計算結果調整 PWM 工作週期 W1/T、W2/T 及 W3/T,其中 PWM 脈寬 (width)W1、W2 與 W3 的寬度皆不同。有關速度功率表部分在 接下來章節會做介紹。使用者想使用此種控制模式時其流程為 1. 設定控制模式。使用 APS_set_vao_param( ) 設定 VAO_TABLE_OUTPUT_TYPE 參數的值為 0x1。 2.
pre lim in a ry b. Mode 2: PWM frequency mode with fixed width 此種控制模式為在固定 PWM 脈寬 (width) 下根據速度調整 PWM 頻 率。如下圖所示,在 V1、 V2 及 V3 三種不同速度下,PWM 脈寬固 定為 W,速度功率表會隨著速度改變而產生不同 PWM 頻率 1/T1、 1/T2 與 1/T3。使用此種模式的流程為 1. 設定控制模式。使用 APS_set_vao_param( ) 設定 VAO_TABLE_OUTPUT_TYPE 參數為 0x2。 2.
PCI-8254 / PCI-8258 c. Mode 3: PWM frequency mode with fixed duty cycle 此種控制模式為在固定 PWM 工作週期 (duty cycle) 下根據速度調整 PWM 頻率。如下圖所示,在不同速度下其得到的工作週期 W1/T1、 W2/T2 及 W3/T3 都會相同的,但是對應的頻率和脈寬則是根據速度 功率表調變的。 1. 設定控制模式。使用 APS_set_vao_param( ) 設定 VAO_TABLE_OUTPUT_TYPE 參數為 0x3。 pre lim in a ry 2. 設定 PWM 固定工作週期。使用 APS_set_vao_param( ) 設定 VAO_TABLE_PWM_Config 參數,在此種模式下參數的 單位為 %。而目前支援可輸入範圍為 0.05% ~ 100%。 4.10.3.
pre lim in a ry P X = ( P 3 – P2 ) * ( V X – V 2 ) / ( V3 – V 2 ) + P2 下列表格列出了在不同控制模式下速度與對應功率表所能設定功率 的範圍和解析度。 Mode Power output range Resolution 1: PWM mode Duty cycle: 0~2000 (0.05%~100%) 0.05% 2: PWM frequency mode with fixed width Frequency: 3Hz ~ 50MHz 1 Hz 3: PWM frequency mode with fixed duty cycle Frequency: 3Hz ~ 50MHz 1 Hz 4.10.3.
PCI-8254 / PCI-8258 4.10.3.5 VAO 參數表 (VAO parameter table) VAO 參數表讓使用者可以決定控制模式和速度功率表的相關設定, 以下表格將說明各個 VAO 參數的定義以提供使用者使用。 NO Define 0x00 + (2 * N) Note: N is TableNo, range is 0 ~ 7. VAO_TABLE_OUTPUT_TYPE Table output type Description 0x01 + (2 * N) Note: N is TableNo, range is 0 ~ 7. VAO_TABLE_INPUT _TYPE 0x10 + N Note: N is TableNo, range is 0 ~ 7. VAO_TABLE_PWM_Config Configure PWM according to output type a. Mode 1 - set a fixed frequency ( 3~50M Hz ) b.
模組 PWM 輸出時,若對應關係已經建立時,PWM 輸出是否啟動或 停止將由當時相對應的數位輸出狀態及邏輯決定。以下為簡單使用 範例 1. 使用 APS_set_board_param() 依照卡片參數表設定 PWM 輸出通道與相對應數位輸出以及判斷邏輯。 2. 在點表 (Point table) 指定點的選項 (Option) 中打開 DO_Enable,決定 DO_Channels 及 DO_ON 或 DO_OFF。 pre lim in a ry 對應關係圖 表 4-4:卡片參數表 (Board parameter table) NO. SYMBOL Description Default PRB_PWM0_MAP_DO (1) ‐1: Disable mapping ; > 0: Enable mapping (2) Bit0~7: Specify a Do channel. (3) Bit8: Select logic; Set to 1: Turning on Do maps enabling PWM0. Turning off Do maps disabling PWM0.
PCI-8254 / PCI-8258 4.10.3.7 操作流程範例 以下部分將說明不同控制模式的操作流程供使用者參考。 Description 1: PWM mode a. VAO parameter table - APS_set_vao_param( ) 0x00: set to 1 – PWM mode 0x01: set to 1 – command speed 0x10: set to 1000 – set fixed frequency to 1000 Hz 0x20: set to 3 – Axis0 and Axis1 are selected b. “Velocity to Power” mapping lookup table APS_set_vao_table( ) Duty cycle range: 0 ~ 2000 units (Be equal to 0 ~ 100 %) Points range: 1 ~ 32 points c. Switch VAO table - APS_switch_vao_table( ) d.
4.10.4 4.10.4.
PCI-8254 / PCI-8258 表 4-5:運動核心 (Motion kernel) 訊號表 範圍 資料形態 描述 SAMP_SRC_COM_POS Axis 0~7 Integer 位置命令 (command position); 單位 : pulse SAMP_SRC_FBK_POS Axis 0~7 Integer 回饋位置 (feedback position) ; 單位 : pulse SAMP_SRC_CMD_VEL Axis 0~7 Integer 速度命令 (command velocity) ; 單位 : pulse/sec SAMP_SRC_FBK_VEL Axis 0~7 Integer 回饋速度 (feedback velocity) ; 單位 : pulse/sec SAMP_SRC_MIO Axis 0~7 Integer 運動 I/O (motion IO),定義請參考註 1 SAMP_SRC_MSTS Axis 0~7 Integer 運動狀態 (motion status),定義請參考註 2 SAMP_SRC_MS
訊號名稱 範圍 資料形態 描述 SAMP_SRC_FBK_VEL_F64 Axis 0~7 Double 同 SAMP_SRC_FBK_VEL,但以浮點數 表示 SAMP_SRC_CONTROL_VOL_F64 Axis 0~7 Double 同 SAMP_SRC_CONTROL_VOL,但以 浮點數表示 SAMP_SRC_ERR_POS_F64 Axis 0~7 Double 同 SAMP_SRC_ERR_POS,但以浮點數 表示 SAMP_PWM_FREQUENCY_F64 Channel 0~3 Double PWM 訊號頻率 (PWM frequency); 單位 : Hz SAMP_PWM_DUTY_CYCLE_F64 Channel 0~3 Double PWM 訊號佔空比 (PWM duty cycle); 單位 : 百分比 (%) SAMP_PWM_WIDTH_F64 Channel 0~3 Double PWM 訊號寬度 (PWM width); 單位 : ns SAMP_VAO_COMP_VEL_F64 No.
PCI-8254 / PCI-8258 範圍 資料形態 描述 PID_KAFF_CALC_COUNT Axis 0~7 Integer 加速度前饋控制輸出 (Commanded Acceleration Calculate Result) ; 單位 : pulse PID_KVFF_CALC_COUNT Axis 0~7 Integer 速度前饋控制輸出 (Commanded Velocity Calculate Result) ; 單位 : pulse PID_CALC_COUNT Axis 0~7 Integer 結合 PID 控制與前饋控制輸出 (PID Calculate Result) ; 單位 : pulse BIQUAD_0_CALC_COUNT Axis 0~7 Integer Biquad Filter 0 輸出 (Biquad Filter 0 Calculate Result) ; 單位 : pulse BIQUAD_1_CALC_COUNT Axis 0~7 Integer Biquad Filter 1 輸出 (Biquad Filter 1 Cal
Bit number detail description: Bit Define Description ALM Servo alarm input status 1 PEL Positive end limit 2 MEL Minus end limit 0 3 ORG Original input (Home input) 4 EMG Emergency stop input 5 EZ Servo index input 6 INP In-Position input 7 SVON Servo ON output status 11 SPEL 1: Soft-positive-end limit condition match.
PCI-8254 / PCI-8258 Bit number detail description: Bit Define 0 CSTP Description Command stopped (But it could be in motion) 1 VM In maximum velocity 2 ACC: In acceleration 3 DEC: In deceleration 4 DIR: Move direction. 1:Positive direction, 0:Negative direction 5 MDN Motion done. 0: In motion, 1: Motion done ( It could be abnormal stop) 6 HMV In homing 10 WAIT Axis is in waiting state. ( Wait move trigger ) 11 PTB Axis is in point buffer moving.
4.10.5 4.10.5.1 同動控制 (Simultaneous Move) 同時啟動 (Simultaneous Start) 同步啟動 ( 亦稱同動 ):此運動可設定為觸發啟動,指令下達時,該 軸會進入等待觸發訊號的狀態,當接收到觸發訊號後才開始運動。 另外當多軸處於等待觸發的狀態時,可以同時發送觸發訊號來達成 同時啟動的目的,但須注意是各軸為獨立運動,結束時間會依照所 設定的位移量及加速曲線來決定。 請依據下列二個步驟來達成同時啟動的功能 : a 將軸運動設定為觸發啟動 , 並監測軸狀態是否處於等待觸 發的狀態 pre lim in a ry b 發出觸發訊號來執行同步啟動 a 將軸運動設定為觸發啟動的模式 , 監測軸狀態是否處於等 待觸發的狀態 透過控制器提供的運動函式的 Option 參數 , 可以設定為觸發 啟動的模式 , 指令下達後 , 該軸會進入等待觸發訊號的狀態 .
PCI-8254 / PCI-8258 當軸運動被設定為觸發啟動後,該軸會進入等待觸發訊號的狀態, 也就是下表中的 Bit 10 的 WAIT 訊號 , 會被顯示為 ON.
I32 APS_arc3_ca();I32 APS_arc3_ca_v();I32 APS_arc3_ca_all( );I32 APS_arc3_ce(); I32 APS_arc3_ce_v();I32 APS_arc3_ce_all();I32 APS_arc3_ca();I32 APS_arc3_ca_v(); I32 APS_arc3_ca_all( );I32 APS_sprial_ca( );I32 APS_sprial_ca_v( );I32 APS_sprial_ca_all( ); I32 APS_sprial_ce( );I32 APS_sprial_ce_v( );I32 APS_sprial_ce_all(); b. 發出觸發訊號來執行同步啟動 pre lim in a ry 透過函式發出觸發訊號 , 可以達成多軸的同時啟動 .
PCI-8254 / PCI-8258 • 例: #include "APS168.h" #include "APS_define.h" #include "ErrorCodeDef.
a. 設定運動參數 在執行運動指令之前,使用者需要先設定運動參數,運動參數包含 絕對、相對運動、最大速度、結束速度、加減速度、S 因子以及相 鄰路徑其速度接續的方式等,根據應用來給予適當的速度與路徑的 規劃。需注意的是,這些運動參數的特性只需要設定一次就會被程 式記憶起來,其他運動命令會自動的套用先前的設定,除非使用者 要變動參數的設定,否則不需要將參數依據所有運動命令做重複設 定。 對應 APS 函式 絕對 / 相對運動 APS_pt_set_absolute / APS_pt_set_relative 最大速度 APS_pt_set_vm 結束速度 APS_pt_set_ve 加速度 APS_pt_set_acc 減速度 pre lim in a ry 運動參數設定 APS_pt_set_dec 加速度和減速度 APS_pt_set_acc_dec S 因子 APS_pt_set_s 相鄰路徑其速度接續的方式 ( 請參考 4.11.
PCI-8254 / PCI-8258 c. 設定運動指令到點表中 點表提供了下列的運動指令,包含直線、圓弧以及螺旋補間,透過 對應的 APS 函式,將運動指令填入到點表中。 運動指令 對應 APS 函式 直線補間 APS_pt_line 圓弧補間 APS_pt_arc2_ca / APS_pt_arc2_ce APS_pt_arc3_ca / APS_pt_arc3_ce 螺旋補間 APS_pt_sprial_ca / APS_pt_sprial_ce 暫停 APS_pt_dwell pre lim in a ry 透過上述的三個步驟,設定相關的運動參數,設定需同步的命令指 令,最後將運動指令設入到點表中存放,照著這個步驟,依序的把 所有圖形線段存入到點表內存放。 4.10.6.
a. 致能 / 禁能點表功能 使用點表功能需要先將點表致能,同時指定點表的 ID(0~1),指定運 動維度,以及指定軸號碼。當點表功能結束後,則必須把它做禁能 設定。 I32 APS_pt_enable( I32 Board_ID, I32 PtbId, I32 Dimension, I32 *AxisArr ); 點表功能 對應 APS 函式 致能點表功能 APS_pt_enable 禁能點表功能 APS_pt_disable pre lim in a ry b. 監控 buufer 空間,並且填點 每一組點表提供 50 個 buffer 點空間來供使用,應用上透過監控這些 buffer,並同時將運動指令填入點表中 ( 參考 4.11.1 節 ),依序的將 所有圖形點動態載入。 點表功能 對應 APS 函式 監控 buffer 狀態 APS_get_pt_status c.
PCI-8254 / PCI-8258 • 例: #include "APS168.h" #include "APS_define.h" #include "ErrorCodeDef.h" void pt_move_example() { //This example shows how pt move operation I32 ret; I32 Board_ID = 0; I32 PtbId = 0; //Point table 0 I32 Dimension = 2; //2D Dimension I32 AxisArr[2] = { 0, 1 }; //Set Axis 0 & Axis 1 to point table 0 PTLINE Prof; PTSTS Status; pre lim in a ry //Enable point table id 0 for 2D dimension with aixs 0 and axis 1.
4.11 安全保護 (Safety Protection) 在設備的操作的過程可能會遭遇到錯誤或者必須緊急停止的狀況, 一般的做法是將運轉中的機構設備做停止的動作。本控制器提供一 些安全機制來偵測預先設定好的錯誤行為,當錯誤行為發生時控制 器會做適當的處理,以保護人員安全及防止設備的損壞。這些安全 機制中,有些需要外接硬體訊號,有些則利用軟體的方式檢查周期 的檢查,下面小節將分別介紹這些安全機制。 4.11.1 硬體保護 ( Hardware Protection ) pre lim in a ry 控制器提供了外部硬體訊號的偵測保護機制,這些訊號包含緊急停 止 ( EMG),伺服警報 (ALM) 以及機構正負極限 (PEL, MEL)。以下 各小章節將詳細描述其原理。 4.11.1.1 緊急停止 (EMG) EMG 硬體輸入腳位,參照下表: P1A Pin No Signal Name 51 IEMG EMG 訊號為一個硬體的輸入訊號,當 EMG 訊號為 ON 時將導致控 制器操作在下列幾種行為: 1.
PCI-8254 / PCI-8258 4.11.1.2 伺服警報 (ALM) ALM 硬體輸入腳位以及相對應的軸號,參照下表: P1A Pin No Signal Name Axis # P1B Pin No Signal Name Axis # 35 ALM1 0 35 ALM5 4 41 ALM2 1 41 ALM6 5 85 ALM3 2 85 ALM7 6 91 ALM4 3 91 ALM8 7 ALM 訊號為一個硬體的輸入訊號,來自伺服驅動器的 ALM 訊號, 透過 ALM 腳位輸入到控制器內。當 ALM 訊號為 ON 時,將導致控 制器操作在下列幾種行為: pre lim in a ry 1. 若軸是在運動狀態下,當 ALM 訊號被致動,控制器會立 即的停止相對應的軸運動,此時該軸的錯誤停止的代碼 (Stop code) 被設定為 ”2” (STOP_ALM),且運動狀態為異 常停止狀態 (ASTP = ON)。 2.
EL 訊號為一個硬體的輸入訊號,分為 PEL 和 MEL 兩種訊號。PEL 為正方向的極限訊號,MEL 為負方向的極限訊號。致動 EL 訊號將 導致控制器操作在下列幾種行為: 1. 若軸是在正方向運動狀態下,當 PEL 訊號被致動,控制器 會停止相對應的軸運動,此時該軸的錯誤停止的代碼 (Stop code) 被設定為 ”4” (STOP_PEL),且運動狀態為異常停止 狀態 (ASTP = ON)。 2. 若軸是在負方向運動狀態下,當 MEL 訊號被致動,控制 器會停止相對應的軸運動,此時該軸的錯誤停止的代碼 (Stop code) 被設定為 ”5” ( STOP_MEL),且運動狀態為異 常停止狀態 (ASTP = ON)。 pre lim in a ry 3. 若軸是在非運動狀態下,且 PEL 訊號是致動的,此時控制 器不會運行使用者的正方向運動指令,同時讓該軸的錯誤 停止的代碼 (Stop code) 被設定為 ”4” (STOP_PEL),且運 動狀態為異常停止狀態 (ASTP = ON)。 4.
PCI-8254 / PCI-8258 4.11.2 軟體保護 (Software Protection) 控制器提供了軟體保護機制,包含軟體極限以及位置誤差保護。 4.11.2.1 軟體極限 (Soft-limit Signal) 軟體極限的功能和硬體極限類似,差別在於軟體極限是以檢查各軸 所在的位置來產生極限訊號,同樣區分為正極限 (SPEL) 和負極限 (SMEL) 兩種訊號。要使用軟體極限的步驟如下: 1. 設定軟體極限的位置,軸參數如下表中的 PRA_SPEL_POS 和 PRA_SMEL_POS。 pre lim in a ry 2. 設定極限訊號產生時的停止模式,可選擇減速停止和立 即停止,參照軸參數標號為 PRA_EL_MODE(0x02), PRA_SD_DEC (0x07) 3.
當軟體極限訊號為 ON 時將導致控制器操作在下列幾種行為: 1. 若軸是在正方向運動狀態下,當 SPEL 訊號被致動,控制 器會停止相對應的軸運動,此時軸的停止碼 (stop code) = STOP_SPEL (6) , 且運動狀態為異常停止狀態 (ASTP)。 2. 若軸是在負方向運動狀態下,當 SMEL 訊號被致動,控制 器會停止相對應的軸運動,此時軸的停止碼 (stop code) = STOP_SMEL (7),且運動狀態為異常停止狀態 (ASTP)。 3. 若軸是在非運動狀態下,且 SPEL 訊號是致動的,此時控 制器不會運行使用者的正方向運動指令,同時讓軸的停止 碼 (stop code) = STOP_SPEL (6),且運動狀態為異常停 止狀態 (ASTP)。 pre lim in a ry 4. 若軸是在非運動狀態下,且 SMEL 訊號是致動的,此時控 制器不會運行使用者的負方向運動指令,同時讓軸的停止 碼 (stop code) = STOP_SMEL (7),且運動狀態為異常停 止狀態 (ASTP)。 4.11.2.
PCI-8254 / PCI-8258 4.11.2.3 看門狗 (Watch Dog) 看門狗的保護機制,是控制器內部有實作一個計時器,當計時器逾 時,會啟動事先設定好的回應動作,回應動作包括伺服電機的解除 激磁 (Servo off),關閉數位輸出以及關閉 PWM 輸出等。當使用者 啟動看門狗機制後,使用者的程式必須處在可回應的狀態,在計時 器尚未逾時前,不間斷的重置看門狗,讓計時器重新開始計時。只 要使用者程式一直保持在可回應狀態,那麼就不會觸發相對應的事 件。換句話說,看門狗的功能是監控上位的控制程式是否進入停滯 ( 當機 ) 的狀態,當停滯狀態發生時,控制器可以觸發保護機制來關 閉訊號輸出。 在 Windows 下使用中斷的方式如下列三大步驟: 1. 設定計時器逾時的觸發事件 pre lim in a ry 2. 啟動看門狗保護機制 3.
3. 不間斷的重置計時器 在啟動看門狗後,需要在設定的逾時時間內,去重置看門狗, 讓計時器可以歸零,並重新計時。若計時器逾時了,會依據 步驟 1 的設定,去觸發相關的事件。 使用 APS_wdt_reset_counter() 去重置看門狗。 • 例: void watchdog_example() { // This example shows how interrupt functions work. I32 board_id = 0; pre lim in a ry I32 timer_no = 0; // Only timer 0 to be used I32 time_out = 10; // Time out is 10*100 ms = 1 sec I32 EventByBit = 0x01; // Action event is defined by bit.
PCI-8254 / PCI-8258 4.12 本機中斷 (Host Interrupt) 中斷係指當某一指定的事件產生,裝置 ( 本控制器 ) 發出硬體中斷訊 號給作業系統,而作業系統再通知驅動程式執行相對應的中斷服務 函式 (Interrupt service routine) 的過程,下圖為中斷流程示意。 中斷與輪詢的機制,常被使用來偵測某事件的產生 . 若使用輪詢的 機制,會重覆地占用 CPU 的時間,來偵測事件的產生,導致 CPU 的使用率過高。而透過中斷的機制,在事件產生後,裝置會通知 CPU 事件已經產生,這過程中不會消耗掉多餘的 CPU 時間,因此可以降 低 CPU 的使用率,並且在等待中斷的同時程式可以處理其他工作達 到多工且有效率利用 CPU 資源。 pre lim in a ry User space User’s application Event Operation system DLL & Driver Interrupt signal Controller 圖 4-71:中斷流程圖 本控制器所提供的中斷事件類別區分為 : 1.
與控制軸相關的事件均歸類為軸中斷,數位輸入中斷包含上緣觸發 (Rising edge interrupt) 和下緣觸發 (Falling edge interrupt)。其餘事 件歸類為系統中斷。 下表描述本控器所有的中斷事件類別,其中 Item 0~7 分別為各控制 軸相關的中斷 ( 註 :PCI-8254 為 Item 0~3, 4~7 部分為保留 ),Item 8 為系統相關中斷,Item 9 和 10 為數位輸入中斷。 • Interrupt Item 總覽 :I Item 類別描述 0~7 軸 0~7 中斷 ( PCI-8254 之 Item 4 ~ 7 保留 ) 8 系統中斷 9 pre lim in a ry Item 數位輸入上緣觸發中斷 10 數位輸入下緣觸發中斷 每個 Item 分別有最多 32 種中斷事件 (32 bit),詳細定義請參考下列 各表格 : • Item = 0~7:軸中斷事件總覽 200 Bit No.
PCI-8254 / PCI-8258 • 軸中斷事件描述 : 符號 中斷事件說明 0 IALM ALM 訊號發生 1 IPEL PEL 訊號發生 2 IMEL MEL 訊號發生 3 IORG ORG 訊號發生 4 IEZ 馬達 Z 相訊號 (EZ) 發生 5 IINP 驅動器到位 INP 訊號發生 6 IEMG 緊急停止訊號 EMG 發生 ( 同系統 IEMG ) 7 -- 保留 (Reserved),設定為 0 8 pre lim in a ry bit.
• Item = 8:系統中斷事件總覽 Bit No. 7 6 5 4 3 2 1 0 Factor -- IHOV IMOV IFCF1 IFCF0 ILCF1 ILCF0 IEMG Bit No. 15 14 13 12 11 10 9 8 Factor -- -- -- -- -- -- -- -- Bit No. 23 22 21 20 19 18 17 16 Factor -- -- -- -- -- -- -- -- Bit No. 31 30 29 28 27 26 25 24 Factor -- -- -- -- -- -- -- -- bit. 0 1 2 3 4 5 6 7 202 pre lim in a ry • 系統中斷事件描述 符號 中斷事件說明 IEMG 緊急停止訊號 EMG 發生 ILCF0 線性比較器 NO.0 (Linear comparator 0) 比較結束 ILCF1 線性比較器 NO.
PCI-8254 / PCI-8258 • Item = 9:數位輸入上緣觸發中斷 7 6 5 4 3 2 1 0 Factor IDIR7 IDIR6 IDIR5 IDIR4 IDIR3 IDIR2 IDIR1 IDIR0 Bit No. 15 14 13 12 11 10 9 8 Factor IDIR15 (TTL7) IDIR14 (TTL6) IDIR13 (TTL5) IDIR12 (TTL4) IDIR11 (TTL3) IDIR10 (TTL2) IDIR9 (TTL1) IDIR8 (TTL0) Bit No. 23 22 21 20 19 18 17 16 Factor IDIR23 (TTL15) IDIR22 (TTL14) IDIR21 (TTL13) IDIR20 (TTL12) IDIR19 (TTL11) IDIR18 (TTL10) IDIR17 (TTL9) IDIR16 (TTL8) Bit No.
ݧཎ 偵測數位輸入訊號 (DI) 狀態改變由控制器在每個運動周期內偵 測,因此外部輸入訊號變化周期必須大於運動週期才能產生中 斷 在 Windows 下使用中斷的方式如下列五大步驟 : 1. 設定中斷事件 2. 啟動中斷總開關 3. 等待中斷觸發 4. 重置中斷為為觸發狀態 5.
PCI-8254 / PCI-8258 詳細的使用方式描述如下 : 1. 設定中斷事件 : 使用 APS_set_int_factor( ) 設定要等待的中斷事件,若成功設 定此函式回傳此中斷事件的 Event number,使用者必須使用一 變數將 Event number 紀錄待後面步驟 Wait 函式中使用。 依照應用需求 APS_set_int_factor( ) 函式也可以關閉已被開啟 的中斷事件。 2. 啟動中斷總開關 : pre lim in a ry 以控制器為單位的中斷裝置總開關,開啟後作業系統才可接收到 硬體裝置的中斷信號。使用 APS_int_enable( ) 開啟。 3. 等待中斷觸發 若等待單一中斷事件使用 APS_wait_single_int( ),或者使用 APS_wait_multiple_int( ) 同時等待數個中斷事件。 當程序進入該函式後會進入睡眠狀態,亦即該程序 ( 或執行緒 ) 不再耗費 CPU 資源直到中斷事件發生或者 Timeout,當 Wait 函 式返回後,使用者可透過檢查其回傳值來確認所等待的事件是否 發生,進而處理後續的應用流程。 4.
• 例: void interrupt_example() { // This example shows how interrupt functions work.
PCI-8254 / PCI-8258 #include // Using event handle #include "APS168.h" #include "ErrorCodeDef.h" void interrupt_with_win32_example() { // This example shows how interrupt functions work.
pre lim in a ry 208 運動控制功能原理介紹
PCI-8254 / PCI-8258 重要安全資訊 為保護使用者安全,處理 / 操作本設備前,請詳閱並遵守本手冊及 相關設備上的各項指令、警告、警戒、及注意事項。 請詳閱下列安全指令。 請妥善保留本手冊以備將來參考。 請詳閱本手冊規格節內所述有關產品作業環境的說明。 安裝 / 裝載或拆裝 / 拆除設備時: 關閉電源並拔除任何電源線 / 纜線。 為防電擊及 / 或損壞設備: pre lim in a ry 切勿將產品置於水或液體源附近; 設備務必避開高熱或高濕之處; 設備務必通風良好 (切勿遮蓋通風口); 務必使用指定的電壓及電源設定; 設備務必在方便可用的電氣插座附近安裝及使用; 務必將電源線固定妥當 (切勿壓 / 裹任何物件在電源線 上); 務必在穩固的表面及 /或指定的安裝架上安裝 / 附掛及操作 設備; 設備長期不使用時,請關閉電源並拔除設備的電源線。 重要安全資訊 209
切勿自行維修本設備。本設備限由合格人員進行維修。 本設備可使用鋰電池提供不中斷、備援或緊急電力。 不當的電池可能有爆炸之虞。廢舊電池請按法規處理。 ឌ֙ 如有下列情況,本產品限由授權的技術人員處理: 電源線或插頭受損; 設備進水; 設備暴露於高濕 / 高水氣的環境; 設備無法運作,或不按使用手冊所描述方式運作; pre lim in a ry 210 遭摔落及 / 或損壞; 有明顯的破損。 重要安全資訊
PCI-8254 / PCI-8258 服務資訊 如需任何服務或協助請聯繫本公司。 ADLINK Technology, Inc. Address: 9F, No.166 Jian Yi Road, Zhonghe District New Taipei City 235, Taiwan ᄅؑקխࡉ৬ԫሁ 166 ᇆ 9 ᑔ Tel: +886-2-8226-5877 Fax: +886-2-8226-5717 Email: service@adlinktech.com pre lim in a ry Ampro ADLINK Technology, Inc. Address: 5215 Hellyer Avenue, #110, San Jose, CA 95138, USA Tel: +1-408-360-0200 Toll Free: +1-800-966-5200 (USA only) Fax: +1-408-360-0222 Email: info@adlinktech.com ADLINK Technology (China) Co., Ltd.
pre lim in a ry New Taipei City 235, Taiwan ADLINK Technology, Inc. (French ᄅؑקխࡉ৬ԫሁ 166 ᇆLiaison 9 ᑔ Office) Address: +886-2-8226-5877 15 rue Emile Baudot, 91300 Massy CEDEX, France Tel: Tel: +33 (0) 1 60 12 35 66 Fax: +886-2-8226-5717 Fax: +33 (0) 1 60 12 35 66 Email: service@adlinktech.com Email: france@adlinktech.com Ampro ADLINK Technology, Inc.