环境准备
在开始之前,确保已配置好虚拟机环境。这是运行控制器仿真或进行离线编程的基础。
基础操作与标定
拖动模式限制
拖动锁定功能用于限制机器人在手动模式下的自由度。将各轴自由度设为 0 即可实现完全自由拖动,便于示教点位。

工具坐标标定
对末端安装的工具进行标定是精准作业的前提。推荐使用 6 点法,相比 4 点法能同时标定位置与姿态。操作时拖动机器人以不同姿态多次前往同一个目标点。

工件坐标系
建立工件坐标系可简化路径规划。支持多种定义方式,例如通过原点、X 轴及 Z 轴三点确定,或通过原点、X 轴及 XY 正平面确定。

运动控制功能
码垛与轨迹
系统内置矩阵运动功能,适用于码垛等重复性场景。对于特殊轨迹如螺旋线,需提前标定起点,随后进行轨迹绘制。

圆弧运动
执行圆弧指令前,先 PTP 移动到起点。圆弧运动需指定中间点和终点,语法如下:
while 1 do
PTP(C1, 100, -1, 0)
ARC(C2, 0, 0, 0, 0, 0, 0, 0, C3, 0, 0, 0, 0, 0, 0, 0, 100, -1)
end
注意:实际运行时需确保中间点不在直线上,否则可能报错。
轨迹复现
支持记录轨迹并代码复现。逻辑上先移动至轨迹起点,再调用复现指令执行记录的路径。
Lua 脚本开发
变量管理
系统支持 Lua 变量声明与查询。变量分为普通变量和掉电保持的系统变量,后者在重启后仍能保留数值。
m = 0
n = "test"
RegisterVar("number", "m")
RegisterVar("string", "n")
Socket 通信
机器人可作为 TCP 客户端或服务端与其他设备交互。
作为客户端: 需要打开连接、发送字符串、读取响应并关闭。注意阻塞与非阻塞模式的区别,非阻塞模式下最大等待时长需合理设置。
ip = "192.168.58.2"
port = 8888
tcp = 0
while 1 do
if tcp == 0 then
tcp = SocketOpen(ip, port, "socket_0")
elseif tcp == 1 then
SocketSendString("hello,this is fa tcp!", "socket_0", 0)
res = SocketReadString("socket_0", 0)
if #res == 0 then
SocketClose("socket_0")
else
RegisterVar("string", "res")
end
end
WaitMs(1000)
end
作为服务端: 监听端口并接受连接。接收数据后根据返回值判断发送是否成功,若失败则关闭通道。
port = 8888
clientID = 0
SocketServerListen(port)
while 1 do
if clientID == 0 then
clientID = SocketServerAccept()
elseif type(clientID) == "number" then
if clientID > 0 then
RegisterVar("number", "clientID")
res = SocketServerSendString("hello world", clientID, 0)
if res == 0 then
SocketServerClose(clientID)
clientID = 0
else
str = SocketServerReadString(clientID, 0)
if #str == 0 then
SocketServerClose(clientID)
else
RegisterVar("string", "str")
end
end
end
end
end
外部控制
支持外部主程序控制机器人回原点及运行状态。通过 IO 信号触发特定动作,实现产线联动。
系统设置与维护
版本与备份
定期查看软件版本号,必要时进行快速备份、复制或应用机器人数据,防止意外丢失。

安全参数
- 碰撞等级:设定力阈值,超过时执行停止策略。
- 软限位:限制关节活动范围,防止机械干涉。
- 末端负载:准确输入负载参数,优化动力学计算。
- 摩擦力补偿:调整拖动模式下的阻力感知。

安装方式
根据现场实际情况选择机器人安装方式(如地面、倒挂等),影响重力补偿计算。
扩展功能与接口
焊机功能集成
配置焊机与机器人的 IO 口及功能,自动映射 IO 状态。编写示教程序时,可通过 AO 口输出焊机电流或电压,实现焊接工艺闭环。

常用指令
掌握 Mode、Pause、Wait、Call 等基础指令。例如 Mode(1) 可在代码结尾强制进入手动模式,方便调试。
状态查询与后台运行
利用 GetActualToolFlangePose() 获取当前工具位姿,或使用 GetActualJointPosDegree() 获取关节角度。配置后台程序可实现上电自动运行,提升效率。



