CNC Machine Monitoring: Complete Guide for All Brands (2026)
CNC machine monitoring turns your shop floor data into decisions. Every machine already generates the information you need - cycle times, spindle states, alarm codes, idle periods. Monitoring software captures that data automatically, in real time, and makes it visible to everyone who needs it.
This guide covers how machine monitoring works, which protocols your machines already support, and how to start - including free setups for every major CNC brand.
Why it matters: Shops that monitor machines in real time reduce unplanned downtime by 15–27% on average. The machines you already own are generating this data - monitoring software just makes it visible.
What does CNC machine monitoring actually do?
A machine monitoring system connects to your CNC controllers and reads their internal state continuously. Every few seconds it captures: is the machine running a program, sitting idle, waiting for an operator, or stopped on an alarm? It logs this data with timestamps, calculates OEE metrics automatically, and makes everything visible on a dashboard - live and historically.
What data monitoring captures
| Data type | What it tells you | How it's used |
|---|---|---|
| Machine state | Run / Idle / Alarm / Setup / Offline | OEE availability component; downtime analysis |
| Cycle time | Actual time per part vs planned time | Performance component; bottleneck detection |
| Part count | Parts produced per shift / day | Production tracking; shift comparison |
| Alarm codes | Which alarms fired, how often, on which machines | Maintenance prioritisation; recurring fault detection |
| Spindle load / feed rate | How hard the machine is working | Tool wear detection; crash prevention |
| Program name | Which NC program is active | Job tracking; program performance analysis |
Monitoring vs SCADA vs MES - what's the difference
Machine monitoring focuses on what machines are doing: utilisation, downtime, OEE, alarms. It answers "why did we lose 2 hours on machine 5 yesterday?"
SCADA monitors and controls industrial processes - temperatures, pressures, flow rates, PLC logic. It answers "is the coolant system within spec?"
MES manages production orders: what to make, in what sequence, with which resources. It answers "will this order ship on time?"
Most machine shops start with monitoring and expand from there. See: free MES systems → and free SCADA platforms →
How CNC machines communicate - protocols explained
Before choosing a monitoring solution, you need to know which protocol your machines support. This determines how data gets out of the controller and into your monitoring system - and whether you need additional hardware.
MTConnect - the open standard
MTConnect is a royalty-free standard specifically designed for CNC machine data. Think of it as an HTTP for machine tools: the machine runs an MTConnect agent (software), the monitoring system polls it over the network, and gets back structured XML data. Most modern Fanuc, Haas, Mazak, and DMG Mori machines support MTConnect either natively or via a free adapter.
Best for: Shops with modern CNC machines (post-2010) from major brands. No additional hardware in most cases.
OPC-UA - the industrial internet standard
OPC-UA (Unified Architecture) is the broader industrial connectivity standard supported by Siemens Sinumerik, Heidenhain, and many PLCs. It's more powerful than MTConnect - supports two-way communication and complex data structures - but requires more configuration. Siemens machines from the Sinumerik 840D SL and 828D era support OPC-UA natively.
Best for: European machine builders, Siemens-controlled machines, PLC integration.
Focas / HSSB - Fanuc native protocol
Focas (Fanuc Open CNC API Specifications) is Fanuc's proprietary data interface. It gives deeper access to machine internals than MTConnect - servo loads, parameter values, tool compensation data. Requires a network connection to the CNC and a Focas library. Used by MDCPlus and other professional monitoring tools for high-fidelity Fanuc data.
Modbus TCP / RTU - legacy machines
Modbus is the fallback for older machines and PLCs that don't support modern protocols. It requires knowing which registers hold the data you want (machine state, spindle speed, etc.) - typically from the machine's PLC documentation. Works on virtually any machine with a network port or serial connection.
Best for: Legacy machines, custom integrations, machines without native CNC protocols.
Monitoring by brand - setup guides and protocols
Fanuc CNC monitoring
Fanuc controls (0i, 30i, 31i, 32i, 35i) support both MTConnect (via free Fanuc MTConnect adapter) and native Focas protocol over Ethernet. Focas gives deeper data access - servo loads, tool life counters, individual alarm history - making it the preferred connection method for professional monitoring.
| Control series | Protocol | Network requirement |
|---|---|---|
| Fanuc 0i-F, 30i-B, 31i-B | Focas 2 + MTConnect | Ethernet (standard on new machines) |
| Fanuc 0i-D, 30i-A | Focas 2 | PCMCIA Ethernet card or built-in |
| Fanuc 0i-C and older | Modbus or serial adapter | Requires hardware adapter |
Full Fanuc monitoring setup guide - step by step →
Haas CNC monitoring
Haas machines with Next Generation Control (NGC) support MTConnect natively via the Q-Code interface over Ethernet. Classic Haas controls use Q-Codes directly. Both approaches are free and require no additional hardware on network-connected machines.
| Control type | Protocol | Notes |
|---|---|---|
| NGC (2016+) | MTConnect native | Enable in Settings → Network |
| Classic control | Q-Code over Ethernet | Same data, different query format |
| Pre-2010 machines | Serial / Modbus | May require adapter |
Full Haas monitoring setup guide →
Mazak CNC monitoring
Mazak Smooth controls support MTConnect via the Mazak Smooth Monitor application. Older Mazak Fusion / Matrix controls use a Mazak-specific API. Mazak was one of the early adopters of MTConnect and the integration is mature on machines from 2012 onwards.
Full Mazak monitoring setup guide →
Siemens Sinumerik monitoring
Siemens Sinumerik 828D and 840D SL support OPC-UA natively (from SW4.7+). The OPC-UA server on the CNC exposes machine state, axis data, alarm list, and program information. Older Sinumerik controls use the DDE Server or OPC DA interface.
Full Siemens Sinumerik monitoring setup guide →
DMG Mori CNC monitoring
DMG Mori machines support MTConnect and OPC-UA depending on which controller is fitted (Fanuc or Siemens). The CELOS interface on newer machines adds a REST API layer. DMG Mori also provides the free CELOS PC application which exposes machine data over the network.
Full DMG Mori monitoring setup guide →
Heidenhain TNC monitoring
Heidenhain TNC 620, 640, and 7 series support the DNC interface over Ethernet for data extraction. The LSV2 protocol gives access to machine state, program status, and tool data. Newer TNC 7 controls add OPC-UA support.
Full Heidenhain monitoring setup guide →
Okuma OSP monitoring
Okuma OSP-P300/P500 controls support MTConnect via the free Okuma MTConnect Adapter downloadable from Okuma's developer portal. The adapter runs on the machine's built-in PC and exposes standard MTConnect data streams.
Full Okuma monitoring setup guide →
Mitsubishi CNC monitoring
Mitsubishi M700, M800, and E80 series support the Mitsubishi CNC open API (similar to Focas for Fanuc) over Ethernet. MTConnect adapters exist for Mitsubishi controls as well. The M8 series adds OPC-UA support natively.
Full Mitsubishi CNC monitoring setup guide →
Brother CNC monitoring
Brother Speedio tapping and machining centers use a Fanuc-compatible control with Brother-specific extensions. MTConnect adapters for Fanuc work with Brother controls. The Brother CNC-P72A controller (used in newer Speedio models) adds direct Ethernet data access.
Full Brother CNC monitoring setup guide →
Makino CNC monitoring
Makino Pro 5 and Pro 6 controls (Fanuc-based) support MTConnect and Focas connectivity. Makino also provides the Makino MAS-A5 interface for machine data access. Connectivity options are identical to Fanuc for most data types.
Full Makino CNC monitoring setup guide →
How to start monitoring your CNC machines - 5-step process
Step 1: establish network connectivity
Most machines from 2010 onwards have an Ethernet port on the controller. Connect it to your shop network. If you have older machines with no network port, a Modbus RTU-to-TCP gateway (available from $50–$200) bridges the gap. Verify connectivity by pinging the controller's IP address from a laptop on the same network.
Step 2: identify your protocol
Check the control model against the brand table above. If you're unsure, look at the control panel label - the model number tells you which generation of software it runs and therefore which protocols are available. When in doubt, try MTConnect first - it's the most universally supported.
Step 3: connect one machine as a pilot
Don't try to connect all machines at once. Pick one machine - ideally your busiest or most problematic - and get it producing data. This lets you learn the protocol, verify the data quality, and build a business case before scaling.
Step 4: configure your dashboards
Once data is flowing, set up your core views: machine status (live), OEE by shift, downtime by reason code. Start with these three - they answer the questions that matter most in the first month of monitoring. Add more metrics as your team gets comfortable with the data.
Step 5: roll out to remaining machines
With the pilot working, replicating to additional machines is fast - typically 15–30 minutes per machine once you know the process. Machines of the same model and control version use identical configuration.
See also: tracking machine downtime in Excel before going fully digital → and how Andon systems reduce downtime →
What to monitor - the metrics that matter
OEE - the master metric
OEE (Overall Equipment Effectiveness) combines Availability, Performance, and Quality into a single number. World-class is 85%. Most shops start at 40–60% without knowing it. Monitoring calculates OEE automatically from machine data - no manual calculation needed. See: OEE benchmarks by industry →
Downtime by reason
Raw downtime hours are useful. Downtime broken down by reason is actionable. The top 3 downtime reasons in most shops account for 60–70% of total lost time - fix those three and you've transformed your utilisation. See: Pareto analysis for machine downtime →
Alarm frequency
A machine that alarms twice a month has a problem. A machine that alarms twice a day has an urgent problem. Monitoring logs every alarm code with timestamp, giving you the data to distinguish random faults from degrading components. Cross-reference with: CNC error codes complete guide →
MDCPlus machine monitoring - how it connects
MDCPlus connects to CNC machines via Focas (Fanuc), OPC-UA (Siemens, Heidenhain), MTConnect (Haas, Mazak, Okuma, DMG Mori), and Modbus for legacy equipment. No additional hardware is required in most configurations - the software runs on a standard Windows server or industrial PC on your network.
Setup typically takes one day for a 10–20 machine shop. The pilot machine is usually live within 2 hours. Average results from MDCPlus deployments: 15–27% improvement in machine utilisation, ROI within 3–5 months.
- Start free monitoring →
- Request a guided demo →
- Komax Belgium case study: +20% utilisation →
- Hyundai partnership success story →
Frequently asked questions about CNC machine monitoring
Do I need additional hardware to monitor my CNC machines?
For most machines from 2010 onwards - no. If the machine has an Ethernet port and supports MTConnect, OPC-UA, or Focas, you need only a software agent running on a PC on the same network. Older machines without network connectivity require a Modbus gateway or protocol converter, typically costing $50–$200 per machine.
What is the difference between MTConnect and OPC-UA for machine monitoring?
MTConnect is a read-only standard designed specifically for machine tools - simple to set up, widely supported by US and Japanese CNC brands. OPC-UA is a bidirectional industrial communication standard - more complex, more powerful, preferred by European builders (Siemens, Heidenhain). Both produce equivalent machine monitoring data for OEE and downtime purposes.
Can I monitor legacy CNC machines from the 1990s and 2000s?
Yes, though it requires more effort. Machines without network ports can be connected via serial-to-Ethernet adapters and Modbus. The available data is more limited than modern protocols - typically machine state and spindle on/off rather than full alarm history and program data. For OEE calculation, even basic on/off state data is enough to calculate availability.
How long does it take to see ROI from machine monitoring?
Most shops see measurable impact within the first month - typically finding 10–20% of shift time being lost to idle or undocumented stops that weren't visible before. Converting that visibility into action (changing shift handover procedures, addressing recurring alarms, improving scheduling) typically delivers ROI within 3–6 months.
Can I start monitoring for free?
Yes. Each brand has a free starting point: Haas Q-Code interface is free and requires no extra software. Fanuc MTConnect adapter is free from the MTConnect Institute. Siemens OPC-UA server is built into Sinumerik from SW4.7. MDCPlus offers a free trial with full functionality. See the brand-specific guides above for step-by-step free setup instructions.
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?