发那科(Fanuc)机器人

本节文档概述如何在 RoboDK 中编写程序,并将其传输到发那科(Fanuc)机器人的常用操作。RoboDK 支持 RJ2 以后的所有发那科(Fanuc)机器人控制器,包括 RJ3、R-30iA 和 R-30iB。本文档基于发那科(Fanuc)R-30iA控制器。

Note:我们建议你在发科那(Fanuc)机器人控制器上选择AS上传选项(R507),以便传输离线生成的LS程序文件,避免任何问题,如LS与TP程序比较部分所述

传输机器人程序

在USB 驱动器中加载程序的步骤:

1.首先,将USB 驱动器插件插在示教器上

2.选择:Menu➔File

3.选择:Utilities➔Set device➔USB

4.选择:DIR

5.在USB磁盘中选择TP 或 LS 程序文件(例如BALLBARTEST.TP)          
这将自动把文件保存到控制器的FR 内存中

6.选择FR存储器中的程序并选择LOAD(屏幕按钮)

Robots Fanuc - 图片 1Robots Fanuc - 图片 2

Important:离线编程需要使用ASCII上传选项。这样可以直接将LS文件加载到控制器中。另外,也可以使用发科那(Fanuc)的WinOLPC工具(MakeTP)将LS程序(ASCII文件)从PC编译为TP程序(二进制文件)。

Important:默认情况下,使用RoboDK创建的程序其线速度由寄存器R[10]定义。如果程序中没有设置速度,则必须手动设置。那么这样操作:
选择: DATA➔Type➔Register,R[10]=50(表示速度为50毫米/秒)

启动机器人程序

发那科(Fanuc)机器人控制器上启动机器人程序步骤:

1.选择:FCN(示教器按钮)➔Abort all

2.选择:SELECT(示教器按钮)

3.选择:程序(以 BALLBARTEST 为例)

4.按住:Deadman 开关

5.选择:RESET。所有警报都会消失。

6.选择并按住:示教器的SHIFT 按钮。

7.选择:FWD(示教器按钮)

Robots Fanuc - 图片 3

检索机器人关节

在发那科(Fanuc)示教器上获取机器人关节位置的步骤​

1.选择:POSN(示教器按钮),查看当前机器人位置

2.点击屏幕上的JNT 或按COORD键,切换到关节坐标系模式。

Robots Fanuc - 图片 4Robots Fanuc - 图片 5

获取机器人工具(TCP )参数

发那科(Fanuc)控制器将工具数据存储在寄存器(UTOOL)中。以下是创建或修改工具坐标系(TCP,即UTOOL)的步骤:

1.选择:MENU➔Setup➔Frames

2.通过方向键或触摸屏选择工具编号,按ENTER确认。

3.按需修改X、Y、Z、W、P、R 值。

Note:从RoboDK生成的程序可能根据仿真中的定义自动配置工具坐标系,具体取决于所使用的后处理器和程序生成方式。

Robots Fanuc - 图片 6Robots Fanuc - 图片 7

Robots Fanuc - 图片 8

配置FTP服务器

新版发那科控制器默认启用FTP服务。验证FTP登录信息的路径如下:

1.Setup➔Host Comm

2.选择:FTP

若显示匿名用户(anonymous),可直接无密码连接。

Tip:使用FileZilla等FTP客户端时,默认远程地址需输入 ​​/​​(斜杠),或直接指定目标文件夹路径(如:md),否则控制器无法列出目录。

Robots Fanuc - 图片 9

Robots Fanuc - 图片 10Robots Fanuc - 图片 11

发那科驱动器

你可以在RoboDK 和发那科(Fanuc)机器人控制器之间建立连接,以使用RoboDK从连接的PC自动移动机器人。

这样就可以使用 RoboDK 的运行于机器人选项,进行在线编程和调试。通过以太网(TCP/IP)实现RoboDK与机器人的实时通信,支持在线编程与调试。

机器人驱动程序提供了离线编程的替代方案(生成程序,然后传输到机器人并执行)。使用机器人驱动程序,可以直接在机器人上运行模拟程序(在线编程)。更多信息请参阅机器人驱动器

Important:机器人控制程序运行时会占用并覆盖​UTOOL 1​ 和​UFRAME 1​ 寄存器,以及Registers ​50,51,52​ 和Position Registers 50, 51, 52,建议在运行前做一次备份,避免数据丢失。

Note:这种运行模式需要 FANUC 的软件选项:用户套接字消息(User Socket Messaging)(R636 或 R648,具体取决于控制器型号),PC 接口(PC Interface)(R641)。另外,还需要 Karel 选项(R632)才能运行 PC 文件。作为替代方案,也可以使用 PCDK 选项(使用时请确保选择 FanucPCDK 驱动)。

驱动设置步骤:

1.前往RoboDK客户服务位置下载驱动文件,并传输以下程序到控制器:

a.RDK_S3.PC:这是通过 S3(插座通信端口号 3 - S3)管理通信的主程序,注意选择适配控制器版本的文件夹,如V9。

b.GO_MJ.TP

c.GO_ML.TP

d.GO_MC.TP

e.GO_PROG.TP

在示教器上配置通信参数:

1.选择 Menu-(Next)-System-[TYPE]-Variables.

a.选择:$HOSTS_CFG(按住 shift 键的同时向下选择,这样可以更快地向下滚动)

b.选择:Number 3

c.找到$hosts_cfg[3].$server_port,并设置为2000

2.选择:MENU-Setup

3.选择:[TYPE]-Host comm

4.选择:[SHOW]-Servers

5.选择:S3-Enter

a.协议名称(Protocol Name):SM

b.端口名称(Port Name):P3(或其他可用端口)

c.超时时间(Inactivity Timeout):9999

d.启动状态(Startup state):START

e.当前状态(Current state):通过 [ACTION]-DEFINE 和 [ACTION]-START 设为 ​STARTED。

6.启动程序:RDK_S3

a.在示教器选择程序,按 ​Shift+Reset​ 和 ​Shift+Forward​ 运行。

b.若显示 ​​RUNNING​​ 表示成功;若显示Undefined built-in表示报错,需检查控制器选项是否激活。

Robots Fanuc - 图片 12

Note: 如果你在第 72 行看到 "Undefined built-in"等错误信息,说明你的机器人控制器没有用户套接字信息选项。

7.在 RoboDK 中,提供机器人的 IP,然后选择:连接,以与机器人连接。

Note:若通信失败,重启 RDK_S3 并重新连接。

Note: RoboDK 和发那科(Fanuc)默认使用端口 2000。1.c 节中的端口可以不同,但在 RoboDK 中需要指定相同的端口(机器人连接菜单中的机器人端口选项)。

Important:如果程序未显示正在运行,则表示缺少控制器选项。在这种情况下,你必须联系发那科(Fanuc)以激活用户插座信息选项。

Note:必须选择并运行 RDK_S3 程序,机器人通信才能正常工作。如果 S3 寄存器不能用于机器人驱动器,您可以加载另一个使用另一个 S 寄存器的 PC 文件(如 RDK_S4)。

Note:如果你有一个位置或额外的exes,或者RoboDK 中的默认轴映射不反映真实机器人的轴映射,你可以通过编辑位于 %appdata%\RoboDK-Drivers\ FanucSM.exe.ini 的文件来修改驱动器的映射。其他相关内容,请参阅部分。

驱动高级配置

你可以通过INI文件配置驱动器的其他设置。这样你就可以配置如何映射外部轴。

首次运行驱动程序时,它会生成一个包含配置高级参数(如外部轴映射)标志的文件。该设置文件的位置可在驱动程序日志开头以"Loading settings"开头的行中找到。

Tip:如需多组配置,可复制驱动文件并重命名。

Robots Fanuc - 图片 13

你可以使用任意文本编辑器打开此配置文件,其中列出了RoboDK中使用的各轴与发那科机器人控制器中各轴的对应关系。此外,你还可以启用额外的调试信息打印功能,以及修改要使用的运动组数量。

举例说明:若RoboDK中的第8轴对应机器人控制器的第9轴,你只需将配置文件右侧的数值修改为正确对应值即可。修改后的映射关系可以在启动信息中"Loading settings"提示下方查看。

其中,0-9轴属于第1运动组,10-17轴属于第2运动组。因此,如果你的外部轴位于第二运动组,在配置文件中它对应的就是第10轴。

LS与TP对比

本节将说明发那科LS与TP程序文件的区别,以及如何使用RoboDK自动为发那科机器人编译程序。

TP文件,也成为二进制文件,可以直接在发科那机器人上运行。LS文件​,是ASCII文本格式(由RoboDK等离线编程软件生成),需编译为TP文件后才能执行。那么有这样两种编译方法:

1.方法1:使用机器人ASCII上传功能​。前提条件​是机器人控制器需启用 ​ASCII Upload​ 软件选项。操作步骤,先将LS文件复制到机器人 ​FR磁盘​,在示教器上选择 LOAD,系统会自动将其转换为TP文件。

2.方法2:使用Roboguide中的WinOLPC工具编译程序。在这种情况下,安装有RoboDK的同一台计算机可以使用Fanuc的“maketp.exe”编译器工具自动编译LS程序。此命令需要一个«robot.ini»文件。如果已安装Roboguide并在计算机上保存了工作站(“Work Cell”),则可以使用WinOLPC中的setrobot.exe实用程序生成此文件。

若WinOLPC安装在默认路径(C:\Program Files (x86)\FANUC\WinOLPC\bin),RoboDK会在生成LS文件后 ​自动调用maketp.exe编译为TP文件。

确保使用 setrobot 可执行文件选择了机器人。如果未生成 TP 文件,且已安装 Roboguide WinOLPC,则可能需要执行以下步骤:

1.打开Windows资源管理器,导航至WinOLPC安装文件夹:

C:\Program Files (x86)\FANUC\WinOLPC\bin

2.右键点击setrobot.exe文件,选择“以管理员身份运行”

3.选择机器人工作单元(需要Roboguide工作单元)

Robots Fanuc - 图片 14

或者,也可以从默认文件夹中复制以下文件夹的内容:

C:\Program Files (x86)\FANUC\WinOLPC\bin

到文件夹:

C:\RoboDK\api\Fanuc

Note:最好遵循编译器的版本要求,但并非强制。只要虚拟WorkCell机器人和实际机器人的轴数相同且选项配置一致,编译应该可以顺利进行。一旦你有了robot.ini文件,每次更改机器人时就可以直接使用maketp.exe,而不必每次都运行setrobot.exe。

请按照以下步骤选择与发那科(Fanuc)RJ3 控制器兼容的后处理器:

1.右键点击机器人

2.点击:选择后处理程序

3.选择:Fanuc RJ3

4.生成程序 (F6)

Robots Fanuc - 图片 15

Tip:更多信息请参阅后处理器章节。

如果您没有在默认位置安装Roboguide WinOLPC,并且希望在从RoboDK生成程序时自动获取TP文件,请按照以下步骤操作:

1.在菜单栏选择:程序➔ 添加/编辑后处理器

2.选择:Fanuc RJ3(或你想使用的后处理器)。也可通过文件夹访问所有后处理器:C:/RoboDK/Posts/。此外,请确保你使用的不是编译后处理器。

3.找到变量:PATH_MAKE_TP(第 103 行左右),并输入 maketp 可执行文件所在的路径。

用于发那科(Fanuc)机器人的 RoboDK 后处理器支持使用与转台或线性轴等外轴同步的 6 轴机器人。

Note:有关自定义后处理器的更多信息,请参阅后处理器章节。

更新控制器运动参数

本节介绍在使用RoboDK校准与性能包对机器人进行校准后,如何更新机器人控制器上的运动学参数(DH表)。修改控制器DH参数将影响所有在控制器上手动创建的程序。请保留原始DH参数的副本,以便需要恢复控制器出厂设置时使用。

1.在校准机器人窗口点击按钮:校准参数

Robots Fanuc - 图片 16

2.在校准参数窗口选择按钮:简化几何。

Robots Fanuc - 图片 17

3.运行校准序列,或更新现有序列。

Robots Fanuc - 图片 18

4.读取机器人校准:DH参数。在机器人面板中选择:参数。然后选择导出台面。

Robots Fanuc - 图片 19

Robots Fanuc - 图片 20

5.必须使用精确运动学模型:​标称模型​ 仅用于与控制器默认DH参数对比,不可用于实际校准。

6.采用改进型D-H参数模型(Denavit-Hartenberg Modified):此模型可修正控制器参数,确保运动学计算与真实机械结构一致。

7.示教器上操作:System variables -> $PARAM_GROUP[1]

8.$DH_A(连杆长度)$DH_D(连杆偏移量)

Robots Fanuc - 图片 21

9.Export Robot Kinematics窗口中的 a d 值修改 DH 值修改关节DH参数

Robots Fanuc - 图片 22Robots Fanuc - 图片 23