4、常用运动控制指令:点位运动、直线插补、圆弧插补、连续轨迹、回零、速度/加速度设定等指令的格式与功能
运动控制指令是PLC、专用运动控制器或工业机器人控制器与伺服驱动器、步进驱动器之间的“语法契约”。无论是三菱QD77、基恩士KV-X500,还是倍福TwinCAT、固高GTS系列,其底层指令逻辑都遵循ISO 9787与IEC 61131-3的坐标定义与运动模型。本章聚焦六类最核心的运动控制指令——点位运动、直线插补、圆弧插补、连续轨迹、回零、速度/加速度设定,从指令格式、参数语义、执行时序到工程陷阱逐一拆解。理解这些指令的本质,是编写稳定、高效、可维护运动程序的前提。
上图展示了运动控制指令从控制器到执行机构的完整链路。指令并非孤立存在,而是通过“控制器解析→插补运算→驱动器闭环→机械执行→反馈修正”的闭环体系发挥作用。下面逐一剖析六类指令的格式与功能。
4.1 点位运动指令(ABS/INC)
4.1.1 核心原理
点位运动(Point-to-Point,PTP)只关心起点和终点,不关心中间路径。其核心特征是:各轴独立运动,速度规划基于单轴最大速度与加速度,轴间无插补耦合。典型指令格式如下(以三菱QD77为例):
// 位置定位
D(P)STRT 轴号, 定位数据No.
// 定位数据设定
D(P)POS 轴号, 定位数据No., 目标位置(脉冲或μm)
D(P)SPD 轴号, 定位数据No., 运行速度(脉冲/s或mm/s)
D(P)ACC 轴号, 定位数据No., 加速时间(ms)
D(P)DEC 轴号, 定位数据No., 减速时间(ms)
对于基恩士KV-X500,使用PTP指令:PTP 轴1, 目标位置, 速度, 加减速时间。而倍福TwinCAT使用MC_MoveAbsolute功能块,输入包括Position、Velocity、Acceleration、Deceleration、Direction等参数。
4.1.2 判断方法与操作流程
选择定位(ABS)还是相对定位(INC),取决于工艺需求:
- 定位:目标位置是相对于机械原点的坐标值。适合有明确坐标系、需要重复定位到固定位置的场景(如加工中心换刀点)。
- 相对定位:目标位置是当前坐标的增量。适合连续步进、无需坐标的场景(如送料机构每次前进固定距离)。
操作流程:① 确认机械原点已建立(回零完成);② 设定定位数据(位置、速度、加减速);③ 触发启动信号;④ 监控定位完成标志位;⑤ 异常时执行急停或报警复位。
4.1.3 案例拆解:双工位转台定位
某锂电池卷绕设备转台需要旋转180°进行工位切换,要求定位精度±0.02°,节拍1.2s。初始方案使用相对定位,每次执行PTP 轴1, 180000脉冲, 30000脉冲/s, 200ms。运行后发现累计误差逐渐增大,每100次循环偏差约0.15°。分析原因:相对定位不依赖原点,机械打滑或编码器丢步导致误差累积。改进方案:改用定位,每次定位前先执行回零(利用Z相脉冲找原点),再执行PTP 轴1, 180000脉冲, 30000脉冲/s, 200ms。结果:连续运行500次,偏差稳定在±0.01°以内。复盘经验:对于有固定工位切换的旋转轴,定位+定期回零是最稳妥的方案。
4.2 直线插补指令(G01/线性插补)
4.2.1 核心原理
直线插补(Linear Interpolation)使多个轴按线性比例同步运动,合成轨迹为空间直线。控制器在每个插补周期(通常1-8ms)内计算各轴的位置增量,保证各轴同时到达终点。指令格式(以固高GTS系列为例):
// 二维直线插补
GT_LnXYZ( 目标X, 目标Y, 目标Z, 合成速度, 合成加速度, 合成减速度 );
// 三菱QD77直线插补
D(P)STRT 轴1, 轴2, 定位数据No. // 两轴同时启动
关键参数:合成速度是沿轨迹方向的切向速度,各轴速度按比例分配。例如X轴行程100mm、Y轴行程50mm,合成速度100mm/s时,X轴速度约89.4mm/s,Y轴速度约44.7mm/s。
4.2.2 判断方法与操作流程
直线插补适用于需要保持轨迹形状的场合,如涂胶、切割、焊接。操作流程:① 定义工件坐标系;② 设定合成速度与加减速;③ 按顺序写入各段插补目标;④ 启动插补运动;⑤ 监控插补完成标志。注意:插补指令必须连续执行,若中途停顿,后续轨迹会偏离理论直线。
4.2.3 常见误区
4.3 圆弧插补指令(G02/G03)
4.3.1 核心原理
圆弧插补(Circular Interpolation)通过指定圆心、半径或中间点,使两轴或多轴协调运动形成圆弧轨迹。G02为顺时针,G03为逆时针(从Z轴正方向看)。指令格式(以标准G代码为例):
G02 X_ Y_ I_ J_ F_ ; 圆心坐标方式
G03 X_ Y_ R_ F_ ; 半径方式
其中I、J为圆心相对于起点的增量坐标,R为圆弧半径。对于运动控制器,如固高GTS:GT_ArcXY( 终点X, 终点Y, 圆心X, 圆心Y, 方向, 合成速度, 加速度 )。
4.3.2 判断方法与操作流程
选择圆心方式还是半径方式:圆心方式精度高,适合大圆弧;半径方式编程简单,但可能出现多解(大于180°圆弧需用负半径)。操作流程:① 确定圆弧起点(当前点);② 计算圆心或半径;③ 设定方向(顺/逆);④ 执行插补;⑤ 验证终点坐标。
4.3.3 案例拆解:圆弧轨迹偏差排查
某手机玻璃研磨机使用圆弧插补加工R5mm圆角,加工后检测发现圆角不圆,最大偏差0.05mm。排查过程:① 检查机械间隙,发现X轴反向间隙0.03mm;② 检查插补参数,发现加减速时间过短(50ms),导致圆弧起点过冲;③ 检查编码器分辨率,发现伺服电机编码器为2500线(10000脉冲/转),配合5mm导程丝杠,分辨率0.5μm,理论上足够。最终解决方案:将加减速时间调整为150ms,并启用反向间隙补偿功能。结果:圆角偏差降至0.01mm以内。复盘:圆弧插补对机械刚性和间隙敏感,参数调整需结合机械特性。
| 参数项 | 圆心方式(I/J) | 半径方式(R) |
|---|---|---|
| 编程复杂度 | 需计算圆心坐标 | 直接给半径值 |
| 适用圆弧角度 | 任意角度 | ≤180°(正R),>180°(负R) |
| 精度 | 高,无歧义 | 可能存在多解 |
| 典型应用 | 精密模具加工 | 简单倒角、过渡圆弧 |
4.4 连续轨迹指令(Blending/CVT)
4.4.1 核心原理
连续轨迹(Continuous Path)又称拐角过渡或速度前瞻,目的是在相邻运动段之间不减速或仅轻微减速,保持合成速度平滑,避免“停-走-停”现象。指令格式(以倍福TwinCAT为例):
MC_MoveLinear( 目标位置, 速度, 加速度, 减速度, 缓冲模式:=mcBufferModeBlendingLow );
// 缓冲模式选项:mcBufferModeAborting(打断前段)、mcBufferModeBlendingLow(低速混合)、mcBufferModeBlendingHigh(高速混合)
连续轨迹的核心是前瞻算法:控制器提前扫描后续N段轨迹,计算拐角处的最大允许速度,使刀具路径平滑过渡。
4.4.2 判断方法与操作流程
启用连续轨迹的条件:① 相邻段之间允许微小路径偏差(拐角圆滑);② 工艺要求速度稳定(如高速涂胶);③ 控制器支持前瞻功能。操作流程:① 设定拐角容差(如0.1mm);② 选择缓冲模式;③ 连续写入多段轨迹;④ 启动运动;⑤ 监控实际速度曲线。
4.4.3 常见误区
4.5 回零指令(Home)
4.5.1 核心原理
回零(Home)是建立机械原点的基础操作。回零过程通常包括:① 快速寻找减速开关;② 低速寻找Z相脉冲(编码器零位)或原点开关;③ 设定坐标原点。指令格式(以三菱QD77为例):
D(P)ZRN 轴号, 爬行速度, 原点设定速度, 减速点坐标;
// 参数:爬行速度(接近原点开关前的速度)、原点设定速度(低速找Z相的速度)
对于基恩士,使用HOME指令:HOME 轴1, 方向, 爬行速度, 原点速度。
4.5.2 判断方法与操作流程
回零方式选择:
- 减速开关+Z相:最常用,精度高,适合伺服系统。
- 仅原点开关:精度较低,适合步进系统。
- 软件限位回零:无物理开关,靠硬限位或扭矩限制,适合特殊场合。
操作流程:① 确认回零方向;② 设定爬行速度(通常为快速速度的10%-20%);③ 设定原点速度(通常为爬行速度的10%-20%);④ 触发回零;⑤ 验证原点坐标。
4.5.3 案例拆解:回零位置漂移
某贴片机X轴回零后,每次原点位置偏差约0.08mm。检查发现:减速开关安装位置有振动,导致触发点不稳定。改进措施:① 将减速开关更换为光电开关,并加装减振垫;② 将回零方式改为“减速开关+Z相”,利用Z相脉冲精确定位;③ 回零速度从50mm/s降至20mm/s。结果:回零重复精度提升至±0.005mm。复盘:回零精度不仅取决于指令参数,更取决于机械安装和传感器选型。
4.6 速度/加速度设定指令
4.6.1 核心原理
速度/加速度设定指令用于规划运动过程中的速度曲线。常见曲线类型:
- 梯形曲线:恒加速-恒速-恒减速,简单但存在加速度突变。
- S曲线:加加速度(Jerk)受限,速度过渡平滑,适合精密定位。
- 正弦曲线:加速度连续,振动最小,但计算复杂。
指令格式(以固高GTS为例):
GT_SetVel( 轴号, 速度 );
GT_SetAcc( 轴号, 加速度 );
GT_SetDec( 轴号, 减速度 );
GT_SetJerk( 轴号, 加加速度 ); // S曲线模式
4.6.2 判断方法与操作流程
选择速度曲线类型的原则:
| 应用场景 | 推荐曲线 | 原因 |
|---|---|---|
| 高速搬运(节拍优先) | 梯形 | 时间最短,效率高 |
| 精密定位(精度优先) | S曲线 | 减少残余振动 |
| 涂胶/焊接(轨迹质量优先) | S曲线或正弦 | 速度平稳,轨迹均匀 |
操作流程:① 根据工艺需求确定速度曲线类型;② 设定最大速度、加速度、减速度;③ 若使用S曲线,设定加加速度;④ 测试运行,观察实际速度曲线(通过示波器或控制器监控);⑤ 调整参数直至满足要求。
4.6.3 常见误区
a_max = T_peak / (J_total × η),其中T_peak为电机峰值扭矩,J_total为折算到电机轴的负载惯量,η为传动效率。实际设定值应留20%-30%余量。4.7 指令综合应用与排障策略
在实际项目中,六类指令往往组合使用。例如,一台自动点胶机的工作流程:回零→点位运动到起始点→连续轨迹(多段直线/圆弧插补)→点位运动到安全位置→循环。排障时,应遵循“先单轴后多轴、先低速后高速、先开环后闭环”的原则。
- 指令未执行:检查轴使能、急停信号、指令缓冲区是否满。
- 轨迹偏差大:检查机械间隙、编码器分辨率、插补周期设置。
- 速度异常:检查速度单位(脉冲/s vs mm/s)、电子齿轮比。
- 回零失败:检查原点开关信号、Z相脉冲、回零方向。
- 振动过大:降低加速度或改用S曲线。
最后强调:运动控制指令的掌握不能停留在“会写”层面,必须理解每个参数背后的物理意义和工程约束。建议读者在实验平台上逐条指令验证,记录不同参数下的实际响应,形成自己的参数整定经验库。