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.2 EL 讯号定位 - Home Mode 1 ...................
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 的高阶运动控 制器芯卡,可支持 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) 等丰富运动控制形式。
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 输入电压范围 取样频率 分辨率 准确度 过载电压 最大输出通道 输出电压范围 输出电流 分辨率 准确度 保护电路 Settling Time ±50 mA (Typ.) 16 bits, no missing codes ± 0.
项目 规格叙述 各轴独立支持 50 点缓冲记 忆区 (BUF) 点表 (Point table) 支持点对点 / 直线 / 圆弧及 螺旋内插 支持 Dwell 功能 支持暂停 / 恢复功能 (Pause/Resume) 支持 DO 功能 运动控制相关 I/O 监测 同步运动 (Synchronous move) 4/8 轴对应 PCI-8254/PCI-8258 主从轴控制 高达 4/8 轴 (包含龙门控制 (Gantry Control)) 资料取样 运动速度波形 / 运动状态 / 运动控制相关 I/O 系统错误诊断 看门狗定时器 (Watchdog timer) 运动状态事件 / 错误报警 / 运动到位 / 紧急停止等 根据手册规划 脉冲输出接口 触发通道 位置比对 暨 触发输出 6 运动状态监测 pre lim in a ry 工业应用 中断 运动状态监测 (Motion Monitoring) 差分输出 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 ℃ 储存环境温度 -20~75 ℃ 工作环境湿度 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 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) ຝភ pre lim in a ry • J6 2. DOCOM 建议连接至外部电源的地 (GND) 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)。 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. Signal, (+) (n) 1~8 23 DIR- Dir.
PCI-8254 / PCI-8258 一般无论是伺服马达驱动器或步进马达驱动器,可能会使用下列两 种输入接口, 1. 线路驱动器输入接口,可提供较好的抗噪声 (Noise-resistant) 能力及较长的配线长度。 pre lim in a ry • 信号连接范例图: 图 3-2:脉冲控制命令信号 Line Driver 型连接范例图 2.
pre lim in a ry • 信号连接范例图: 图 3-3:脉冲控制命令信号线路驱动器型连接示意图 为了防止不当配线造成控制器上 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:编码器输入信号线路驱动器型连接示意图 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) 4 EDO (4) 通用数字输出信号 (4) pre lim in a ry J1/J2 Pin No. ຝភ 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 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() // 取得当下运动控制周期
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 其 中 CmdPos (k ) 为 位 置 命 令,FbkPos (k ) 为 位 置 回 馈, CmdVel (k ) 为速度命令,CmdAcc (k ) 为加速度命令。采用 PID 控制加上速度 / 加速度命令前馈控制目的在于减少位置命令追踪误 差,进而增加控制性能。受控厂 (Plant) 会接收到经过控制器计算 出的电压信号,其物理意义根据驱动器的设定可能是速度命令或是 力矩命令。 pre lim in a ry 另一方面,本控制器允许用户更改 PID 控制器的伺服更新速度,因 此用户也必须注意控制器增益值也要同步重新调整。伺服更新速度 可 在 MCP2 内 的 SetupWizard 页 面 内 调 整,设 定 范 围 为 50us~2000us,设定完后 DSP 会重新启动 (Reboot)。伺服更新速 度默认值为 250us。 由于控制器的增益值是有限定范围,我们可以 使用增益结果位移 (Gain shift) 调整增益值工作范围,如下面增益 (Gain) 与增益结果位移 (Shift) 关系图所示。增益结果位移可以放大 2n 或缩小 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) 振幅 (Amplitude) 设定输出信号的振幅 (单位 : Volt)) 轴 (Axis) 指定轴进行自动调谐程序 数据长度 (Data Length) 计算最后增益值与变动率所需 设定范围 默认值 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 Ratio) 为 1:2,如果要使用毫米为距离单位,则距离因 数 (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 86h(134) Unit factor F64 value Default 一般而言,在进行运动控制应用设计前,单位的定义应先被确认固 定,再进行其他与位置相关的参数设定。 ຝភ 若操作中 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)是指其加速和减速 区符合一阶线性速度曲线(等加速度)。如下图速度-时间图(V-T)所示 Velocity Max. velocity Acc. Dec. Distance Start velocity Time Acceleration Max. 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 采用 Home mode 0 (ORG 信号定位 ) PRA_HOME_DIR 采正方向前进定位 PRA_HOME_EZA 是否进一步对齐 EZ 信号 , 0:否 , 1: 是 PRA_HOME_S S 曲线因子 PRA_HOME_ACC ACC 加减速度 ( 距离单位 / 秒 2) PRA_HOME_VS VS 启动速度 ( 距离单位 / 秒 ) PRA_HOME_VM VM 搜寻原点速度 ( 距离单位 / 秒 ) PRA_HOME_VO VO 定位速度 ( 距离单位 / 秒 ) PRA_HOME_SHIFT 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” 设置为负方向时定位运动的示意图: • 相关轴参数设置 轴参数 轴参数值 轴参数值叙述 用 Home mode 0 (ORG 信号定位 ) PRA_HOME_DIR 采负方向前进定位 PRA_HOME_EZA 是否进一步对齐 EZ 信号 , 0:否 , 1: 是 pre lim in a ry PRA_HOME_MODE PRA_HOME_S S 曲线因子 PRA_HOME_ACC ACC 加减速度 ( 距离单位 / 秒 2) P
状况 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 Home mode 0 PRA_HOME_DIR 采正方向前进定位 PRA_HOME_EZA 是否进一步对齐 EZ 信号 , 0:否 , 1: 是 PRA_HOME_S 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 轴参数值叙述 定位速度 ( 距离单位 / 秒 ) 定位位置偏移量 ( 距离单位 ) 状况 A 原点位置 初始位置 初始位置 pre lim in a ry 状况 B 和 C 原点位置 VM: 搜寻原点的速度 VO: 准备定位的速度 圖 4-23:Home mode 0 (Case: ORG) 下图为负方向的例子 : • 相关轴参数设置 轴参数 轴参数值 PRA_HOME_MODE 轴参数值叙述 用 Home mode 0 (ORG 信号定位 ) PRA_HOME_DIR 采负方向前进定位 PRA_HOME_EZA 是否进一步对齐 EZ 信号 , 0:否 , 1: 是 PRA_HOME_S 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 • 相关轴参数设置 轴参数 轴参数值 轴参数值叙述 PRA_HOME_MODE 采用 Home mode 0 (ORG 信号定位 ) PRA_HOME_DIR 采正方向前进定位 PRA_HOME_EZA 是否进一步对齐 EZ 信号 , 0:否 , 1: 是 PRA_HOME_S S 曲线因子 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_ACC Speed 䉨㱩 A ORG VM PEL ⍇溆ỵ伖 VO ⇅⥳ỵ伖 ῷ䦣慷 状况䉨㱩 B和 B,C C ⇅⥳ỵ伖 VM Speed VM VO ⍇溆ỵ伖 VM VM : ㏄⮳⍇溆䘬忇⹎ VO : 㸾⁁⭂ỵ䘬忇⹎
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 采用 Home mode 1 (EZ 信号 ) 定位 PRA_HOME_DIR 采正方向前进定位 PRA_HOME_EZA 是否进一步对齐 EZ 信号 , 0:否 , 1: 是 PRA_HOME_S S 曲线因子 PRA_HOME_ACC ACC 加减速度 ( 距离单位 / 秒 2) PRA_HOME_VS VS 启动速度 ( 距离单位 / 秒 ) PRA_HOME_VM VM 搜寻原点速度 ( 距离单位 / 秒 ) PRA_HOME_VO VO 定位速度 (
状况 A 初始位置 原点位置 初始位置 pre lim in a ry 状况 B VM: 搜寻原点的速度 VO: 准备定位的速度 圖 4-27:Home mode 1 (Case: EL+EZ) 若设定 EL 信号定位模式,负方向定位,设定 EZ 对齐。则完成定位 运动后控制轴也将同样停在 EZ 信号边缘上如下图所示 : 状况 A 初始位置 状况 B 原点位置 初始位置 VM: 搜寻原点的速度 VO: 准备定位的速度 120 运动控制功能原理介绍
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 采用 Home mode 2 ( 单一 EZ 信号 ) 定位 PRA_HOME_DIR 采负方向前进定位 PRA_HOME_EZA 是否进一步对齐 EZ 信号 , 0:否 , 1: 是 PRA_HOME_S S 曲线因子 PRA_HOME_ACC ACC 加减速度 ( 距离单位 / 秒 2) PRA_HOME_VS VS 启动速度 ( 距离单位 / 秒 ) PRA_HOME_VM VM 搜寻原点速度 ( 距离单位 / 秒 ) PRA_HOME_VO VO 定位速度 ( 距离单位 / 秒 ) PRA_HOME_SHIFT 122 定位位置偏移量 (
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 Move) Jog 操作,常见于机台上的控制面版,主要目的在手动控制运动轴 的移动,也可与机械开关通过数字输入信号 (Digital input) 作结合运 用,利用 DI 信号当作点动启动信号,因此用户只要设定好相关参数 即可让机台上的控制面板开关来操作点动,无须撰写控制程序。 点动模式分为下列两种 : 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.
ຝភ 1. 运动控制输入信号 EMG、 ALM、 PEL、 MEL等会导致运动终止。请参考安全保护 章节 . 2. 连续模式下,目标位置 (Target position) 会随时更新 (与命令位置相同 command position)。 3. 当控制轴为点动时,其他运动指令将被禁 止以避免误动作。 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 even
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 PWM mode Duty cycle: PWM frequency mode with fixed width Frequency: 3Hz~50MHz 1 Hz 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.
止将由当时相对应的数字输出状态及逻辑决定。以下为简单使用范 例 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 PRB_PWM0_MAP_DO 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. Set to 0: Turning on Do maps disabling PWM0.
PCI-8254 / PCI-8258 4.10.3.7 操作流程范例 以下部分将说明不同控制模式的操作流程供用户参考。 Description 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 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 资源,直到中断事件发生或者超时, 当 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.