Fanuc (Pro)

⚠️

请注意,此接口仅包含在 realvirtual.io Professional 中

Fanuc 接口 组件使用 SNPX (Robot Interface / SRTP) 协议实现 Unity 与 FANUC 工业机器人之间的直接通信。它支持机器人驱动器、数字和模拟 I/O 的实时控制,以及访问机器人内部变量——支持数字孪生、仿真和实时操作等用例。

✅

FANUC 连接得益于 UnderAutomation。阅读他们关于 realvirtual.io FANUC 虚拟调试集成的客户案例。

概述 (Overview)

此接口通过 TCP/IP(默认端口 60008)将 Unity 连接到 FANUC 控制器,允许您:

  • 读写数字和模拟信号
  • 跟踪驱动器和轴位置

要求 (Requirements)

要使用基于 SNPX 的通信,您的 FANUC 控制器必须支持 Robot Interface 协议。这可以在 ROBOGUIDE 的工作单元创建过程中配置。

启用 SNPX

在设置虚拟或物理控制器时,您必须启用以下选项之一:

  • R650 FRA 参数:
    • 在 ROBOGUIDE 的工作单元向导(第 7 步)的 Advanced 选项卡中选择 "FANUC America Corp."
    • 添加选项 R553 – HMI Device SNPX
  • R651 FRL 参数:
    • 在同一 Advanced 选项卡中选择 "FANUC Ltd."
    • 不需要额外选项

还需确保:

  • TCP 端口 60008(Robot IF Server)已开放且可访问
  • 控制器和 Unity 应用程序在同一网络或子网中

检视器字段 (Inspector Fields)

字段描述
Active启用或禁用接口
Is Connected显示与控制器的实时连接状态
AddressFANUC 机器人的 IP 地址(例如 192.168.0.179)。对于同一 PC 上的 ROBOGUIDE 虚拟机器人使用 127.0.0.1
PortRobot IF (SNPX) 服务器的 TCP 端口。默认 60008。在 ROBOGUIDE 多机器人单元中,每个虚拟机器人使用递增端口(机器人 1 = 60008,机器人 2 = 60009,…)
Drives将 Unity Drive 组件分配给机器人轴(支持 J1–J9)
Num Inputs / Outputs显示当前活动的输入/输出信号数量
Thread Status指示后台通信线程的状态
Connect Button触发到控制器的连接过程

多机器人 (Multiple Robots)(ROBOGUIDE 多机器人单元)

一台 PC 上的具有多个机器人的 ROBOGUIDE 工作单元共享单个 IP 地址——每个虚拟机器人获得自己的 递增 Robot IF 端口。要模拟这样的单元,为每个机器人添加一个 Fanuc 接口并相应地设置 Port:

机器人地址端口
Robot 1127.0.0.160008
Robot 2127.0.0.160009
Robot 3127.0.0.160010

每个机器人的确切端口列在 ROBOGUIDE 工作单元对应 robot_1、robot_2、… 子文件夹中的 services.txt 文件中。将每个机器人的轴 Drive 组件分配到其自己接口的 Drives 列表中,并确保在每个虚拟控制器上启用了 SNPX (R553 / R651)。

因为 ROBOGUIDE 和 Unity 在同一 PC 上运行,所有通信通过 localhost 进行——不需要网络适配器、DHCP 或子网配置。示教器上显示的 192.168.x.x 地址是 ROBOGUIDE 内部的,不需要与物理适配器匹配。

信号映射 (Signal Mapping)

Fanuc 接口 使用基于字符串的信号名称将 FANUC 机器人 I/O 映射到 Unity 中。这些名称遵循 PREFIX + NUMBER 格式,并在启动时自动解析。

已配置数字输出 DO3 的示例

支持的信号前缀

前缀方向描述
DI输入设备级数字输入
DO输出设备级数字输出
UI输入用户定义数字输入
UO输出用户定义数字输出
RI输入远程机器人数字输入
RO输出远程机器人数字输出
SDI输入安全数字输入
SDO输出安全数字输出
WI输入焊接专用数字输入
WO输出焊接专用数字输出
AI输入模拟整数输入(例如传感器值)
AO输出模拟整数输出(例如模拟执行器)

示例:

  • DO0 – 数字输出 0
  • UI5 – 用户输入 5
  • AO3 – 模拟输出 3
  • WI2 – 焊接输入 2

信号在 Unity 中不区分大小写,但此处以大写形式记录以保持清晰。

另请参阅 (See Also)