TRIO-Basic 从入门到精通(五):直线与圆弧插补指令的使用
本文讲解 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 为圆弧方向。通过直线与圆弧的组合,可以绘制任意平面轮廓轨迹。
三、实施步骤
- 在程序中先配置各轴参数(单位、速度、加减速、限位等);
- 使用 BASE 选择参与插补的轴组;
- 调用 DEFPOS 设定初始位置,等待回零完成;
- 使用 TRIGGER 启动运动,按轨迹顺序交替调用 MOVE、MOVECIRC;
- 下载程序到控制器或仿真器运行,观察轨迹是否与设计一致。
四、代码示例
标准轴参数段
'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
五、应用价值
- 轨迹编程直观:MOVE / MOVEABS / MOVECIRC 语法简洁,直线与圆弧自由组合即可构成复杂轮廓;
- 绝对/相对灵活切换:根据工艺需求选择绝对定位或相对位移,适应不同加工场景;
- 多轴协同插补:BASE 指定多轴后,各轴按统一轨迹协同运动,保证轮廓精度;
- 示例可直接运行:教程代码完整可测试,适合在仿真器中快速验证插补效果;
- 门槛低见效快:无需深入底层原理即可上手编写第一个插补程序。
六、SEO关键词
TRIO运动控制器, TRIO-Basic, 插补指令, MOVE, MOVEABS, MOVECIRC, 圆弧插补, 直线插补, 运动控制编程
本文内容整理自 guimotion 的《TRIO-Basic从入门到精通教程》系列(CSDN,CC BY-SA 4.0),由 ZeroOne AI 重新组织编写。
推荐阅读
更多工业 AI、智能制造与技术实践文章
SOEM-EtherCAT 源代码解析(二):已知的从站配置信息列表
解析 SOEM 主站库的从站配置信息列表:ec_configlist_t 结构体字段含义、dtype 设备类型解释、倍福 EK1100/EL 系列端子预配置表,以及未知从站如何回退到 EEPROM 读取配置。
陶瓷喷墨 RIP 中的 8 色 ICC Profile 技术原理与 LittleCMS 实现
系统讲解陶瓷喷墨 RIP 中 8 色 ICC Profile 的技术原理与 LittleCMS 实现:ICC 色彩管理模型、8 通道颜色空间、Profile 制作流程(固定条件/色卡打印/烧成后测色/分光数据)、LittleCMS 集成与批量转换,以及墨量限制、通道线性化、喷头灰度映射与工业级软件架构设计。
TRIO-Basic 从入门到精通(十二):Trio 实现 ModbusTCP 通讯
本教程演示两台Trio控制器间基于ModbusTCP的以太网通讯,主站通过MODBUS指令对从站保持寄存器进行读写,并实现快速超时、断线重连等可靠通讯机制,适用于与PLC、传感器等从站设备的数据交换。
陶瓷盘UV喷墨印刷中的Z轴高度测量与防碰撞技术方案
陶瓷盘等异形产品 UV 喷墨印刷中,喷头与产品表面的高度控制是核心难点:距离太近会撞坏昂贵的 UV 喷头,距离太远则墨滴扩散、套色精度下降。本文系统讲解线扫相机与激光测高的分工、两级 Z 轴高度设计、浮雕跟随、三重防撞保护,并给出 3.8 米 10 盘位设备基于 Trio + EtherCAT 的完整架构与工作流程。
Linux系统篇(十八)——文件(二):吃透 Linux 重定向底层:从文件描述符到 VFS 缓冲全链路拆解
从文件描述符数组到 dup2 重定向,再到用户/内核双缓冲与 VFS 多态,完整拆解 Linux 输出重定向的内核实现链路。
手把手做ROS2机器人系统开发(二):ROS2核心命令详解
在上一讲中,我们完成了 Ubuntu 22.04 与 ROS2 Humble 开发环境的搭建。本章节进入实战第一步:系统梳理 ROS2 的核心命令体系。熟练掌握这些命令,是后续编写节点、调试通信、排查问题的基本功。 ROS2 的命令统一以 `ros2` 开头,通过子命令分组管理:daemon、no
