Fanuc (Pro)

Connecting to Fanuc industrial robots

The Fanuc Interface component allows direct communication between Unity and FANUC industrial robots using the SNPX (Robot Interface / SRTP) protocol. It enables real-time control of robot drives, digital and analog I/O, and access to internal robot variables — supporting use cases like digital twins, simulation, and live operation.

Overview

This interface connects Unity to a FANUC controller over TCP/IP (default port 60008), allowing you to:

  • Read/write digital and analog signals

  • Track drive and axis positions

Requirements

To use the SNPX-based communication, your FANUC controller must support the Robot Interface protocol. This can be configured during workcell creation in ROBOGUIDE.

Enabling SNPX

You must enable one of the following options when setting up your virtual or physical controller:

  • R650 FRA Params:

    • Select "FANUC America Corp." in the Advanced tab of ROBOGUIDE's Workcell Wizard (Step 7)

    • Add option R553 – HMI Device SNPX

  • R651 FRL Params:

    • Select "FANUC Ltd." in the same Advanced tab

    • No additional options required

Also ensure that:

  • TCP port 60008 (Robot IF Server) is open and accessible

  • The controller and Unity application are on the same network or subnet

Inspector Fields

Field
Description

Active

Enables or disables the interface

Is Connected

Shows live connection status with the controller

Address

IP address of the FANUC robot (e.g., 192.168.0.179)

Drives

Assign Unity Drive components to robot axes (supports J1–J9)

Num Inputs / Outputs

Displays how many input/output signals are currently active

Thread Status

Indicates the state of the background communication thread

Connect Button

Triggers the connection process to the controller

Signal Mapping

The Fanuc Interface uses string-based signal names to map FANUC robot I/O into Unity. These names follow a PREFIX + NUMBER format and are parsed automatically on startup.

Example of a configured digital output DO3

Supported Signal Prefixes

Prefix
Direction
Description

DI

Input

Device-level digital inputs

DO

Output

Device-level digital outputs

UI

Input

User-defined digital inputs

UO

Output

User-defined digital outputs

RI

Input

Remote robot digital inputs

RO

Output

Remote robot digital outputs

SDI

Input

Safety digital inputs

SDO

Output

Safety digital outputs

WI

Input

Welding-specific digital inputs

WO

Output

Welding-specific digital outputs

AI

Input

Analog integer inputs (e.g., sensor values)

AO

Output

Analog integer outputs (e.g., analog actuators)

Examples:

  • DO0 – Digital Output 0

  • UI5 – User Input 5

  • AO3 – Analog Output 3

  • WI2 – Welding Input 2

Signals are case-insensitive in Unity but are documented here in uppercase for clarity.

Last updated