How to Start Monitoring a FANUC CNC Machine for Free
Most shops want real-time visibility, but the first question is always the same:
“Do I really need to buy expensive software just to see if my machines are running?”
The short answer - no.
If you have a FANUC-controlled CNC, you can start monitoring it today using mostly open-source tools. However, note that FANUC's proprietary FOCAS protocol (required for data access) may involve activation costs if it’s not already enabled on your machine – typically $500–$2,000 via your dealer or FANUC support. This guide provides a reliable, step-by-step path based on verified setups, including open-source adapters that leverage FOCAS over Ethernet.
Step 1 — Check if Your Machine Can Talk
Before installing anything, confirm that your FANUC control can actually share data.
- Put the control in MDI mode.
- Press the SYSTEM hard key, then the right soft key (+) until you see ETHPRM (Ethernet Parameter) or EMBED PORT / ETHER BOARD.
- Press [EMBED PORT] or [ETHER BOARD] to open Ethernet settings.
- Look for an Ethernet port on the panel (models 0i, 30i, 31i, 32i, 35i, etc.).
- In the options or parameter screen, verify:
- Ethernet Board (Option 10 or similar) – enables network communication
- FOCAS2 / FOCAS over Ethernet – provides data access via FANUC’s protocol (check parameter #14882 for the enable bit, or use the dealer diagnostic screen for full option list)
If both are available and active, great – you can pull data directly.
If they’re missing, contact your machine builder, dealer, or FANUC support to activate (expect fees and possibly a code or hardware upgrade).
Without FOCAS, basic monitoring via MTConnect isn’t possible without additional hardware (e.g., Raspberry Pi GPIO or PLC tapping).
Alternatively, consider FANUC MTConnect Server (~$1,000 per machine).
Еhis check prevents wasted hours trying to connect to a locked-down controller or one missing the required options.
Step 2 — Connect the Machine to Your Network
Now, make sure your PC and CNC can talk.
- On the FANUC, open System → ETHPRM or EMBED PORT.
- Assign:
- IP:
192.168.1.10
- Subnet Mask:
255.255.255.0
- Gateway:
192.168.1.1
(if needed)
- For FOCAS, set TCP Port = 8193 (if 0, change and restart).
- Connect your PC to the same network (direct cable or switch).
Test the link:
ping 192.168.1.10
If you get replies – success. If not, check:
- PC firewall
- Cable
- FANUC parameter #1435 (external access enable)
Network connectivity is the foundation. Everything else depends on this link working reliably.
Step 3 — Pull Live Data with MTConnect
Now let’s make the machine talk.
- Download Fanuc-MTConnect-Agent from GitHub:
- https://github.com/TrakHound/Fanuc-MTConnect-Agent/releases
- This open-source Windows service supports FOCAS over Ethernet for FANUC 0iD, 30i/31i/32i families.
- Install it (run installer as Administrator).
- Launch Fanuc-MTConnect-Agent-Configurator.exe.
- Click Add Device
- Choose controller type (e.g., 30i for 31i models)
- Enter your machine IP (e.g.,
192.168.1.10
) - Add details and click Add
The adapter installs as a Windows service – wait for the Started status.
Open a browser and go to:
http://localhost:5000/current
You’ll see XML output like:
<Availability>AVAILABLE</Availability>
<Execution>ACTIVE</Execution>
<SpindleSpeed>3200</SpindleSpeed>
That’s your live FANUC data feed. MTConnect converts FANUC’s internal signals into a standard XML or JSON stream. It’s the cleanest way to access real machine data without writing custom code.
Step 4 — Store the Data with InfluxDB
Real-time visibility is useful, but without history, you can’t analyze or improve. InfluxDB is a free time-series database that stores all your CNC data for trend analysis and OEE metrics.
Install and Configure
- Download and install InfluxDB v2 from influxdata.com.
- Create a bucket (e.g.,
telegraf
) and generate an API token. - Install Telegraf — a lightweight data collector.
Add this to your telegraf.conf
(adjust as needed):
[[inputs.http]]
urls = ["http://localhost:5000/current"]
data_format = "xml"
[[inputs.http.xml]]
metric_selection = "/MTConnectStreams/Streams/DeviceStream"
metric_name = "mtconnect_device"
timestamp = "/MTConnectStreams/Header/@creationTime"
timestamp_format = "unix"
[inputs.http.xml.tags]
device = "string(@name)"
[inputs.http.xml.fields]
availability = "string(ComponentStream/Samples/Availability)"
execution = "string(ComponentStream/Samples/Execution)"
spindle_speed = "number(ComponentStream/Samples/RotaryVelocity)"
[[outputs.influxdb_v2]]
urls = ["http://localhost:8086"]
token = "your_influxdb_token"
organization = "your_org"
bucket = "telegraf"
Then run:
telegraf --config telegraf.conf
Why it matters: this gives you a historical record – cycle times, idle periods, spindle load – everything you need to calculate performance and downtime trends.
Step 5 — Visualize in Grafana
Time to build a dashboard.
- Install Grafana (grafana.com/get) – works on Windows and Linux.
- Add your InfluxDB as a data source (URL
http://localhost:8086
, select Flux query). - Create a new dashboard and panels:
-
Machine State (Running / Idle / Alarm)
from(bucket: "telegraf") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "mtconnect_device" and r._field == "availability")
- Spindle Speed Over Time
- Current Part Program (if captured)
- Cycle Time Trends
Add color thresholds:
- Green = AVAILABLE / ACTIVE
- Yellow = IDLE
- Red = UNAVAILABLE / ALARM
For inspiration, explore Grafana’s public dashboard library – search “CNC” or “MTConnect” templates. Dashboards turn numbers into insights. You can instantly see your machine’s heartbeat, from utilization to cycle deviations.
Step 6 — Get Alerts When Something Breaks
You don’t want to stare at dashboards all day. Grafana’s alerting engine can notify you automatically.
WHEN last() OF query(
FROM(bucket: "telegraf")
|> range(start: -15m)
|> filter(fn: (r) => r._field == "availability"),
5m,
now()
) IS "UNAVAILABLE" FOR 10m
Add notification channels:
- Telegram
- Slack
Now, if your machine stops for 10 minutes or more, you’ll get a message before anyone notices on the floor.
Step 7 — Scale and Automate
Once your first CNC is connected, scaling up is easy.
- Add more machines using the same Fanuc-MTConnect-Agent Configurator
- Update Telegraf with multiple URLs or devices
- Use Node-RED for simple logic (e.g., shift reports or operator alerts)
- Build OEE dashboards in Grafana (e.g.,
Availability = runtime / planned time
) - When ready, move to MDCplus for full-scale analytics, shift tracking, and ERP/MES integration
Everything here uses open protocols. You can start small and grow into a professional, production-level system without redoing anything.
Tools Summary
Component | Purpose | License |
---|---|---|
FANUC FOCAS / MTConnect | Data access | Proprietary (FOCAS activation may cost $500–$2,000); MTConnect open |
Fanuc-MTConnect-Agent | FANUC adapter | Open Source |
InfluxDB | Data storage | Open Source |
Telegraf | Data collector | Open Source |
Grafana | Visualization | Open Source |
End Result
- Real-time visibility into your FANUC CNC
- Historical trends of cycles and downtime
- Automatic alerts for unplanned stops
- 100% local, secure, and free – except potential FANUC activation fees
You don’t need a corporate rollout to start digital transformation.
One laptop, one Ethernet cable, and a few free tools are enough to see what’s really happening on your shop floor.
About MDCplus
Our key features are real-time machine monitoring for swift issue resolution, power consumption tracking to promote sustainability, computerized maintenance management to reduce downtime, and vibration diagnostics for predictive maintenance. MDCplus's solutions are tailored for diverse industries, including aerospace, automotive, precision machining, and heavy industry. By delivering actionable insights and fostering seamless integration, we empower manufacturers to boost Overall Equipment Effectiveness (OEE), reduce operational costs, and achieve sustainable growth along with future planning.
Ready to increase your OEE, get clearer vision of your shop floor, and predict sustainably?