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 | 显示与控制器的实时连接状态 |
| Address | FANUC 机器人的 IP 地址(例如 192.168.0.179)。对于同一 PC 上的 ROBOGUIDE 虚拟机器人使用 127.0.0.1 |
| Port | Robot 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 1 | 127.0.0.1 | 60008 |
| Robot 2 | 127.0.0.1 | 60009 |
| Robot 3 | 127.0.0.1 | 60010 |
每个机器人的确切端口列在 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 格式,并在启动时自动解析。

支持的信号前缀
| 前缀 | 方向 | 描述 |
|---|---|---|
DI | 输入 | 设备级数字输入 |
DO | 输出 | 设备级数字输出 |
UI | 输入 | 用户定义数字输入 |
UO | 输出 | 用户定义数字输出 |
RI | 输入 | 远程机器人数字输入 |
RO | 输出 | 远程机器人数字输出 |
SDI | 输入 | 安全数字输入 |
SDO | 输出 | 安全数字输出 |
WI | 输入 | 焊接专用数字输入 |
WO | 输出 | 焊接专用数字输出 |
AI | 输入 | 模拟整数输入(例如传感器值) |
AO | 输出 | 模拟整数输出(例如模拟执行器) |
示例:
DO0– 数字输出 0UI5– 用户输入 5AO3– 模拟输出 3WI2– 焊接输入 2
信号在 Unity 中不区分大小写,但此处以大写形式记录以保持清晰。
另请参阅 (See Also)
- realvirtual.io Fanuc 虚拟调试集成 – 连接 realvirtual.io 到 FANUC 机器人的客户案例