Fanuc (Pro)
Connecting to Fanuc industrial robots
Last updated
Connecting to Fanuc industrial robots
Last updated
Please note that this interface is only included in realvirtual.io Professional
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.
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
To use the SNPX-based communication, your FANUC controller must support the Robot Interface protocol. This can be configured during workcell creation in ROBOGUIDE.
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
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
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.
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.