一、基础操作界面与模式
1. 操作模式切换
-
手动模式:用于编程、调试和手动操作
-
自动模式 :用于程序自动运行(需满足安全条件)

-

2. 动作模式选择(手动模式下)
-
单轴模式:单独控制每个关节轴(1-6轴)
-
优点:最直观,与坐标系无关
-
用途:调整机器人姿态,避免奇异点
-
-
线性模式:TCP沿直线运动
-
重定位模式:TCP位置不变,只改变工具姿态
点击示教器左上角
进入菜单栏


3. 坐标系选择(线性/重定位模式下)
四个可选坐标系:
-
大地坐标系:机器人安装的基础坐标系
-
基座坐标系:机器人底座中心为原点(多数基本选择)
-
工件坐标系:用户自定义的工作平面
-
工具坐标系:以工具末端为原点

二、三大核心数据设置
1. 工具数据(tooldata)
定义:描述工具(如夹爪、吸盘)的尺寸、重量和姿态
设置步骤:
-
主菜单 → 程序数据 → tooldata → 新建
-
定义工具坐标系(tframe):
-
方法1:四点法(X方向点1-2,Y方向点1-3,原点)
-
方法2:直接输入偏移量
-
-
关联有效载荷(load)
-
设置robhold = TRUE(机器人持有工具)
这是在菜单下点击程序数据后进入到的界面

这是我的项目程序中的几个数据,随便点击进入一个查看数据,进行参考。这里点击tGrip。

参数解释:
-
trans.z = 215.3
-
表示从机器人法兰盘中心 到工具末端(TCP) 的距离是215.3毫米
-
这是工具的实际物理长度
-
-
mass(质量)的值是 1,单位是公斤(kg)
-
与载荷重心的关系
-
工具长度(TCP位置):z = 215.3 mm
-
载荷重心位置:z = 100 mm
-
这意味着:重心在工具法兰盘往末端方向100mm处
-
计算方式:从法兰盘开始算,100mm处是重心,215.3mm处是工具末端
-


关键点:
-
每个工具都需要独立设置
-
工具坐标系原点应在工具末端工作点
2. 工件数据(wobjdata)
定义:描述工作台或工件的坐标系
设置步骤:
-
主菜单 → 程序数据 → wobjdata → 新建
-
定义工件坐标系:
- 三点法:原点、X方向点、Y方向点
-
设置工件坐标系相对于大地坐标系的偏移

关键点:
-
每个工作位置建议设置独立的工件坐标
-
便于程序移植和位置调整
3. 有效载荷(loaddata)
定义:描述工具携带的负载特性
必须设置的参数:
-
mass:负载质量(kg)
-
cog:重心坐标(相对于工具坐标系原点,单位mm)
- cog.x, cog.y, cog.z
-
inertia:惯性矩(可选,复杂负载需要)


重要性:
-
直接影响机器人动力学计算
-
设置错误会导致:
-
过载报警
-
轨迹偏差
-
机械损坏
-
-
即使空载也要设置小质量(如0.1kg)
三、操纵杆控制技巧
1. 基本操作
-
握住操纵杆,按下使能键(Enabling Device)
-
轻微移动操纵杆控制速度和方向
2. 锁定功能
如果操纵杆"斜着走"(有不需要的运动分量):
-
按锁定键(通常在示教器上)
-
选择锁定方向:
-
锁定水平分量(只允许垂直运动)
-
锁定垂直分量(只允许水平运动)
-
锁定旋转分量
-

3. 增量模式
-
小增量:微动模式,移动速度最慢,精度最高
-
中增量:中等速度
-
大增量:常规速度
-
无增量:连续运动

应用场景:
-
精确定位时用小增量
-
快速移动时用大增量 或无增量
四、程序编辑器结构
1. 层级结构
任务(Task)── 模块(Module)
├── 程序(PROC)
├── 功能(FUNC)
└── 中断(TRAP)
2. 程序类型
| 类型 | 特点 | 用途 |
|---|---|---|
| 程序(PROC) | 可执行的主程序 | 动作序列、逻辑控制 |
| 功能(FUNC) | 有返回值 | 计算、转换、判断 |
| 中断(TRAP) | 触发式执行 | 紧急停止、信号响应 |
3. 常用程序数据
| 数据类型 | 用途示例 |
|---|---|
| clock | 计时、计算周期时间 |
| intnum | 中断标识,处理外部中断 |
| loaddata | 有效载荷参数 |
| num | 数值存储、计算 |
| robtarget | 机器人目标位置(含坐标和姿态) |
| speeddata | 运动速度(vmax, fine等) |
| string | 文本信息 |
| tooldata | 工具参数 |
| wobjdata | 工件坐标系 |
4. 存储类型
-
变量(VAR):程序内局部变量,值不保留
-
可变量(PERS):永久存储,程序重启后值保留
-
用于需要修改的目标点位
-
用于程序计数 、状态标志
-
-
常量(CONST):不可更改的固定值
五、运动指令要点
1. 基本指令
MoveJ pHome, vmax, z50, tool1; // 关节运动
MoveL pPick, v500, fine, tool1\WObj:=wobj1; // 直线运动
MoveC p1, p2, v500, z10, tool1; // 圆弧运动
2. 关键参数
-
速度:vmax(最大速度),v500(500mm/s),自定义speeddata
-
区域数据:
-
fine:精确到达
-
z50:区域半径50mm(近似到达)
-
-
工具:必须正确定义载荷
-
工件坐标:\WObj:=wobj1(可选,默认大地坐标系)
3. 常用函数
-
Offs():位置偏移
MoveJ Offs(pPick, 0, 0, 100), vmax, z50, tool1; -
RelTool():相对工具坐标系偏移
-
CalcRobT():计算目标点
六、中断处理(基于仿真经验)
1. 中断设置步骤
-
定义中断数据:
VAR intnum int1; -
连接中断信号:
CONNECT int1 WITH tRoutine; -
启用中断:
ISignalDI di1, 1, int1; -
编写中断程序:
TRAP tRoutine -
在中断程序中处理响应
2. 输入输出监控
-
主菜单 → 输入输出 → 视图
-
可实时查看数字输入/输出(DI/DO)状态
-
可模拟触发信号进行测试
七、编程规范与建议
1. 命名规范
-
变量名:小写字母开头,有含义
- 例如:
pHome(回原点位置),gripOpen(夹爪打开状态)
- 例如:
-
程序名:r开头表示例行程序
- 例如:
rPickPart,rPlacePart
- 例如:
2. 程序结构
MODULE MainModule
! 常量定义
CONST num height:=100;
! 可变量定义(保留值)
PERS robtarget pCurrent;
! 程序数据定义
VAR speeddata slow:=v200;
PROC main()
! 初始化
rInitialize;
WHILE TRUE DO
! 主循环
rPickPart;
rPlacePart;
ENDWHILE
ENDPROC
PROC rInitialize()
! 回原点
MoveJ pHome, vmax, fine, tool0;
ENDPROC
ENDMODULE
3. 安全注意事项
-
运动前:确认工具、载荷、工件坐标设置正确
-
调试时:先低速测试,逐步提高速度
-
自动运行时:确保工作区域安全
-
修改位置后:先单步运行测试
八、快速排错指南
| 问题现象 | 可能原因 | 检查点 |
|---|---|---|
| 机器人不动 | 使能键未按下/模式错误 | 状态栏、使能键 |
| 轨迹偏差 | 工具/工件坐标错误 | tooldata, wobjdata |
| 过载报警 | 有效载荷未设置/错误 | loaddata中的mass和cog |
| 位置不准 | 增量模式设置太小 | 增量模式选择 |
| 程序报错 | 语法错误/变量未定义 | 程序编辑器错误提示 |
九、学习路径建议(基于本人浅薄的经验,仅供参考)
-
第一阶段(基础):
-
掌握单轴/线性/重定位操作
-
学会设置工具、工件、载荷数据
-
理解三种坐标系差异
-
-
第二阶段(编程):
-
学会创建简单运动程序
-
掌握常用程序数据类型
-
理解变量/可变量/常量的区别
-
-
第三阶段(应用):
-
实现完整搬运/装配流程
-
使用中断处理信号
-
优化程序结构和效率
-
以上只是对ABB有一个简单的认识,具体还要实操来进行巩固。
最重要原则 :机器人是精密设备,操作前务必确认工具、载荷、工件坐标设置正确,从低速开始测试,安全第一!