We all love a yellow robot. If you’re running FANUC robots with R-30iB Plus controllers and you want cloud-based monitoring without installing any hardware on-site, this guide walks you through how to connect them to RoboVigil using the controller’s built-in OPC-UA server.
No additional FANUC options to buy. No edge devices. No gateway boxes. Just a network connection and a few minutes on the teach pendant.
What You Need
On the FANUC side:
- An R-30iB Plus controller (or R-30iB Mate Plus) with the “Standard Setting FRL Params” option R651 installed. If your robot was supplied as a European or UK specification machine, R651 is installed as standard — there is no additional cost. North American spec robots (R650) require the separate “HMI Device” option R553.
- Software version 7DF1 series P19 or later. The OPC-UA server function is not available on earlier firmware versions. You can check your version on the teach pendant under MENU → STATUS → Version ID.
- The robot connected to your factory network via the CD38A or CD38B RJ45 Ethernet port on the controller. The CD38C port is not supported for OPC-UA.
On the RoboVigil side:
- A RoboVigil subscription for the machine – first month is free.
- The factory’s existing internet router configured with a WireGuard VPN tunnel to the RoboVigil cloud platform. RoboVigil is software-only — it uses your existing network infrastructure, so there is nothing to install on-premises. Simply download the VPN config file directly from the Factory Configuration page in the app (via factory management in menu) and paste it into your router’s admin.
How the Connection Works
The FANUC R-30iB Plus runs a built-in OPC-UA server as part of its HMI Device Communication function. This server exposes robot data — registers, I/O, position data, alarms, program status, and system information — to any OPC-UA client that can reach it over Ethernet.
RoboVigil connects to this OPC-UA server through a secure WireGuard VPN tunnel from your factory router to the RoboVigil cloud. From the robot’s perspective, it’s simply an OPC-UA client reading data on the local network. From your perspective, the data appears in your RoboVigil dashboard without any additional hardware or software installed at the factory.
The OPC-UA endpoint URL follows this format:
opc.tcp://<robot IP address>:4880/FANUC/NanoUaServer
For example, if your robot’s IP address is 192.168.1.100:
opc.tcp://192.168.1.100:4880/FANUC/NanoUaServer
Step 1: Confirm TCP/IP Is Configured on the Controller
The robot needs a valid IP address on your factory network. If it’s already networked (for example, for FTP backup or iRVision), this is likely already done.
If not, TCP/IP configuration is covered in FANUC’s Ethernet Function Operator’s Manual (B-82974EN), section 2.4 “Setting Up TCP/IP”. You’ll need to set an IP address, subnet mask, and — if crossing subnets — a default gateway, via the teach pendant under MENU → SETUP → Host Comm.
Step 2: Check Which Data Is Exposed
By default, the FANUC OPC-UA server exposes data through a Modbus-based data model. The OPC-UA node structure is:
Root
└── Objects
└── Modbus
├── DiscreteInput (Boolean — read only)
├── Coils (Boolean — read/write)
├── InputRegisters (UInt16 — read only)
├── HoldingRegisters (Int16 — read/write)
└── Command (String[])
Out of the box, the default Holding Register assignment maps addresses 1–10000 directly to robot registers R[1] through R[10000] as 16-bit signed integers.
The Discrete Input and Coils tables give direct access to digital I/O, robot I/O, UOP signals, SOP signals, and flags without any additional configuration.
Step 3: Configure the Data You Want to Monitor
For machine monitoring, the most valuable data often goes beyond the defaults. FANUC exposes a set of special system variables through the Holding Register assignment mechanism ($SNPX_ASG) that are particularly useful for RoboVigil:
| System Variable | What It Provides |
|---|---|
| $RBTIF.SERIAL_NUM | Robot serial number |
| $RBTIF.SOFT_VERSION | Controller software version |
| $RBTIF.ROBOT_ID_GRP1 | Robot model identifier |
| $RBTIF.OVERRIDE | Current speed override (1–100%) |
| $RBTIF.STIME_PWR_TOT1 | Total controller power-on time (minutes) |
| $RBTIF.STIME_SRV_TOT1 | Total servo-on time (minutes) |
| $RBTIF.STIME_RUN_TOT1 | Total program running time (minutes) |
| $RBTIF.STIME_WIT_TOT1 | Total program waiting time (minutes) |
| $RBTIF.CURRENT11–19 | Per-axis motor current (amps) |
You can also assign alarm history, program execution status (including the running program name and line number), position registers, and current position data.
These assignments are configured via the $SNPX_ASG system variables on the teach pendant. For example, to expose the robot serial number at Holding Register address 101:
$SNPX_ASG[2].$ADDRESS = 101
$SNPX_ASG[2].$SIZE = 40
$SNPX_ASG[2].$VAR_NAME = ‘$RBTIF.SERIAL_NUM’
$SNPX_ASG[2].$MULTIPLY = 1
Alternatively, if your controller is running firmware 7DF1 P19 or later, you can use the dynamic assignment feature — writing CLRASG and SETASG commands to the Command node via OPC-UA itself, without touching the teach pendant at all.
Step 4: Connect RoboVigil
Once the robot’s OPC-UA server is accessible over your network and the WireGuard VPN tunnel is active, you use RoboVigil’s Machine Discovery wizard to find and connect the robot.
First, configure the network scan parameters — select your VPN gateway, enter your factory network range (e.g. 192.168.1.0/24), and run the discovery. RoboVigil scans the network and lists any OPC-UA enabled machines it finds, including your FANUC controller.
Select the FANUC robot from the discovered machines to trigger a deep discovery scan. This maps the controller’s complete OPC-UA address space — all the Modbus nodes, Holding Registers, I/O tables, and any $SNPX_ASG assignments you’ve configured. For a standard FANUC setup, the default scan (up to 5,000 nodes) is more than sufficient.
Once deep discovery is complete, RoboVigil’s AI automatically classifies the machine type, manufacturer, and individual data tags — identifying what each variable represents (status, cycle count, alarm status, program name, etc.) and assigning appropriate display names and units without manual input. You review the classification results and approve them, and the robot goes live on your monitoring dashboard.
Limitations to Be Aware Of
A few practical constraints from the FANUC side:
- Maximum 10 simultaneous OPC-UA clients. RoboVigil uses one connection, so this is unlikely to be a problem unless you have multiple other systems also connecting via OPC-UA.
- Subscription polling rates scale per item. The minimum monitoring interval is 100ms for the first item, increasing by 100ms per additional item (200ms for the second, 300ms for the third, and so on). With 50 monitored items you’re looking at a 5-second cycle for the last item. For machine monitoring this is typically more than adequate.
- Maximum 2 subscriptions per connection, 50 monitored items per subscription. This gives you up to 100 monitored data points per connection — again, plenty for monitoring purposes.
- Ethernet port restriction. Only the CD38A and CD38B ports support OPC-UA. If you’re already using CD38A for another purpose, use CD38B.
- Not for safety-critical data. FANUC’s own documentation is clear on this: the HMI Device Communication function must not be used to transfer safety data. RoboVigil is a monitoring platform, not a safety system, so this is not a concern — but it’s worth noting.
What You End Up With
Once connected, RoboVigil gives you cloud-based visibility of your FANUC robot’s operational state: whether it’s running, paused, or faulted; what program it’s executing; cumulative run hours and servo hours; active alarms; I/O status; and — if you assign the axis current variables — motor loading data that can feed predictive maintenance analysis.
All of this from a standard feature that’s already built into your controller, connected through your existing factory network, with no hardware to install.
Further Reading
The full technical detail for the FANUC OPC-UA server and HMI Device Communication function can be found in Chapter 55 of the FANUC R-30iB Plus Basic Operator’s Manual (Optional Function), document number B-83284EN-2/08. This covers the complete Modbus data model, Holding Register assignment configuration, OPC-UA node structure, and the dynamic assignment command interface. If you’re configuring the $SNPX_ASG variables or need the full address mapping tables, that’s your primary reference. The manual is available from your FANUC supplier or local FANUC subsidiary.
RoboVigil is a cloud-based industrial machine monitoring platform from Hagen Automation Ltd. For more information or to connect your FANUC robots, get in touch at hello@robovigil.com.
