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、智能制造与技术实践文章
TRIO-Basic 从入门到精通(十四):Trio 实现单位置轴多色标捕捉
本教程介绍Trio控制器多色标捕捉方案:通过ADDAX将实体轴位置叠加到虚拟轴,对虚拟轴执行REGIST色标捕捉,突破物理通道数量限制,实现单位置轴多路色标同时捕捉,满足印刷包装行业套准控制需求。
农业无人机管理平台:构建“无人机巡检 + AI识虫 + GIS地块 + 精准作业”的智慧农业系统
农业无人机正在从“飞行工具”变成“农业机器人”,但大规模种植真正需要的是一个能管理整个农场的智能系统。本文系统讲解农业无人机管理平台的完整架构:RTK GIS 数字地块、任务与集群调度、自动机场、AI 虫害识别、GIS 热力图与虫害预警、精准作业闭环,以及基于 Ubuntu + Docker + MQTT + PostGIS + GPU 服务的数据架构和 ZeroOne 棱壹产品技术路线。
Linux系统篇(十一)——进程(一):从零入门操作系统:冯诺依曼体系到进程的完整理解
从冯诺依曼体系讲起,理解操作系统内核与系统调用,再到进程与 PCB,用 fork 与写时拷贝实战入门进程编程
C#调用Intel NPU实现YOLOv26极速推理:OpenVINO工业视觉加速实践
通过C# + OpenVINO Runtime调用Intel Core Ultra NPU运行YOLOv26模型,实现低功耗、毫秒级的工业边缘AI视觉推理,涵盖模型导出、环境配置、推理代码与FP16/INT8/异步推理等性能优化实践。
MY-BASIC 应用(一):轻量级嵌入式 BASIC 解析器介绍
MY-BASIC 是一个用标准 C 语言编写的轻量级 BASIC 解释器:不足 128KB 内存占用、可嵌入可扩展、支持原型编程与 Lambda 函数式编程、Unicode、列表/字典集合,适合嵌入式设备脚本化控制。
RAG 实战教程(一):RAG 工作原理与完整流程——分片、索引、召回、重排和生成
本文系统讲解RAG的完整工作流程:为什么不能把整份文档直接交给大模型、哪些场景适合RAG、分片Chunking(含常见分片方式对比表与段落感知分片器代码)、索引与Embedding、召回(余弦相似度与BM25混合检索)、重排(BGE Reranker)、生成(Prompt组装),并给出一个可运行的Python端到端Demo与常见问题排查指南。
