ZeroOne AI
← 返回文章列表

TRIO-Basic 从入门到精通(五):直线与圆弧插补指令的使用

👁 3
分类:机器人自动化

本文讲解 TRIO-Basic 三大运动指令:MOVE 相对移动、MOVEABS 绝对移动与 MOVECIRC 平面圆弧插补,给出各自的语法格式、完整可运行的代码示例(含轴参数段与矩形圆角轮廓插补示例),并说明增益参数的使用前提,帮助开发者快速上手多轴轨迹编程。

TRIO-Basic 从入门到精通(五):直线与圆弧插补指令的使用

一、教程背景

在掌握轴参数含义之后,即可进入实战编程环节。插补是运动控制的核心能力:多轴设备通过直线插补(MOVE、MOVEABS)与圆弧插补(MOVECIRC)实现平面轨迹运动,广泛用于点胶、焊接、切割、搬运等自动化设备。本教程通过可运行的代码示例,讲解 TRIO-Basic 中最常用的相对移动、绝对移动与平面圆弧插补指令的语法与用法。适用于需要编写轨迹运动的设备开发与调试工程师。

二、技术要点/技术方案

1. 增益参数的使用前提

增益参数(P_GAIN、I_GAIN、D_GAIN、VFF_GAIN 等)仅在速度控制或扭矩控制模式下才能使用;位置控制模式下由驱动器内部增益控制。

2. MOVE 相对移动

语法:

MOVE(distance1 [,distance2 [,distance3 [,distance4...]]])

MOVE 以当前位置为基准进行相对移动,参数为各轴移动距离。

3. MOVEABS 绝对移动

语法:

MOVEABS(position1 [,position2 [,position3 [,position4...]]])

MOVEABS 以绝对坐标为目标进行移动,参数为各轴目标位置。

4. MOVECIRC 平面圆弧插补

语法:

MOVECIRC(end1, end2, centre1, centre2, direction [,ta [,output]])

其中 end 为圆弧终点坐标,centre 为圆心坐标,direction 为圆弧方向。通过直线与圆弧的组合,可以绘制任意平面轮廓轨迹。

三、实施步骤

  1. 在程序中先配置各轴参数(单位、速度、加减速、限位等);
  2. 使用 BASE 选择参与插补的轴组;
  3. 调用 DEFPOS 设定初始位置,等待回零完成;
  4. 使用 TRIGGER 启动运动,按轨迹顺序交替调用 MOVE、MOVECIRC;
  5. 下载程序到控制器或仿真器运行,观察轨迹是否与设计一致。

四、代码示例

标准轴参数段

'Start Standard Section

' Axis Parameters

BASE(0)

UNITS=10000

'Gains

P_GAIN=1

I_GAIN=0

D_GAIN=0

OV_GAIN=0

VFF_GAIN=0

'Velocity profile

ACCEL=500

CREEP=1

DECEL=ACCEL

JOGSPEED=1

SPEED=2

'Limits

DATUM_IN=0

FE_LIMIT=0.5

FHOLD_IN=1

FS_LIMIT=1000

FWD_IN=2

REP_DIST=10000

REV_IN=3

RS_LIMIT=-1000

'Axis output

SERVO=0

'Stop Standard Section

WDOG=1

MOVE 相对移动示例

WHILE
TRUE

TRIGGER

ACCEL=2

DECEL=2

MOVE(1)

WAIT IDLE

WA(100)

MOVE(-1)

WAIT IDLE

WA(100)

WEND

MOVEABS 绝对移动示例

WHILE TRUE

TRIGGER

ACCEL=10

DECEL=10

MOVEABS(1)

WAIT IDLE

WA(100)

MOVEABS(0)

WAIT IDLE

WA(100)

WEND

MOVECIRC 圆弧插补示例(走矩形圆角轮廓 A->B->C->D->E->F->G->H->A)

LIMIT_BUFFERED=32

BASE(0)

UNITS=1000

SPEED=100

ACCEL=10*SPEED

DECEL=ACCEL

JOGSPEED=1

FS_LIMIT=1000

RS_LIMIT=-1000

FE_LIMIT=1

FE_RANGE=0.6*FE_RANGE

FWD_IN=-1

REV_IN=-1

SERVO=0

BASE(1)

UNITS=1000

SPEED=100

ACCEL=10*SPEED

DECEL=ACCEL

JOGSPEED=1

FS_LIMIT=1000

RS_LIMIT=-1000

FE_LIMIT=1

FE_RANGE=0.6*FE_RANGE

FWD_IN=-1

REV_IN=-1

SERVO=0

WDOG=1

BASE(0,1)

DEFPOS(0,0)

WAIT UNTIL
OFFPOS=0

TRIGGER

MOVE(0,6)
'move A -> B

MOVECIRC(3,3,3,0,1)
'move B -> C

MOVE(2,0)
'move C -> D

MOVECIRC(3,-3,0,-3,1)
'move D -> E

MOVE(0,-6)
'move E -> F

MOVECIRC(-3,-3,-3,0,1)'move F -> G

MOVE(-2,0)
'move G -> H

MOVECIRC(-3,3,0,3,1)
'move H -> A

五、应用价值

  1. 轨迹编程直观:MOVE / MOVEABS / MOVECIRC 语法简洁,直线与圆弧自由组合即可构成复杂轮廓;
  2. 绝对/相对灵活切换:根据工艺需求选择绝对定位或相对位移,适应不同加工场景;
  3. 多轴协同插补:BASE 指定多轴后,各轴按统一轨迹协同运动,保证轮廓精度;
  4. 示例可直接运行:教程代码完整可测试,适合在仿真器中快速验证插补效果;
  5. 门槛低见效快:无需深入底层原理即可上手编写第一个插补程序。

六、SEO关键词

TRIO运动控制器, TRIO-Basic, 插补指令, MOVE, MOVEABS, MOVECIRC, 圆弧插补, 直线插补, 运动控制编程

本文内容整理自 guimotion 的《TRIO-Basic从入门到精通教程》系列(CSDN,CC BY-SA 4.0),由 ZeroOne AI 重新组织编写。

评论(0