CNC Data Acquisition: What Your Machine Can and Cannot Tell You
This page explains how CNC data acquisition works, which signals are available on a typical machine, and where the limits sit. It is written for process engineers and shop managers who have to decide what to collect, at what rate, and what to do with it afterward.

What the Controller Already Knows
Every CNC machine already produces a constant stream of internal data. The controller tracks axis position, spindle speed, feed override, tool number, program block, alarms and servo load. Pulling those values out of the control and putting them somewhere else, usually a database or a dashboard, is the whole job. Nothing new is measured. The data exists whether you read it or not.
The first decision is the source. On most controls you can read data through the fieldbus, through a licensed option such as FOCAS for Fanuc or a similar vendor library, or through a hardware tap on the I/O board. Each route gives a different set of values at a different update rate, and the cost difference between them is not small.
Read the manual before you buy anything. A 2011-era mill with a Fanuc 0i control can expose spindle load, tool number and cycle state over Ethernet, but not the drive-level current waveform. That waveform lives on the servo amplifier, and reaching it means extra hardware. Knowing this up front saves a purchase you cannot use.
A second distinction matters just as much. Some values are machine states, such as running, idle, alarm or door open. Others are process values, such as actual feed rate, spindle load and axis following error. States are cheap to collect and tell you whether the machine is cutting. Process values are harder to collect and tell you how well it is cutting.
Three Signal Layers and What Each One Costs
Machine-level signals come from digital I/O: cycle start, spindle on, door interlock, alarm relay. They are binary and slow, usually read once per second or on change. Wiring a small module to the I/O terminals costs little and needs no controller license. The trade-off is that you learn only that the machine is busy, never what it is doing.
Controller-level signals come over the control's own data interface. On a Fanuc that means FOCAS, on a Siemens 840D it may mean OPC UA or a shared memory option, on a Heidenhain it is usually a vendor protocol. This layer gives program number, tool number, actual feed and spindle speed, part count and alarm text. Update rates of 100 ms to 1 s are realistic.
Drive-level signals come from the servo and spindle amplifiers. They carry current, torque, following error and sometimes vibration through an added sensor. This is the layer that supports tool wear detection and chatter diagnosis. Sample rates start around 1 kHz and climb fast. The data volume is large, and most shops do not need it on every machine.
A common mistake is to install the most capable layer everywhere. Start with state data on all machines so you can see utilization. Add controller-level data only on cells where you need per-part traceability. Reserve drive-level and vibration monitoring for the two or three operations where tool failure is expensive.
Protocols: MTConnect, OPC UA and Vendor Libraries
MTConnect is a read-only, XML-based standard built for machine tools. It defines a device model and a dictionary, so a Fanuc lathe and a Mazak mill can report the same tags. The agent runs on a small PC next to the machine and publishes over HTTP. If you are building a shop-wide dashboard that mixes control brands, this is the shortest path.
OPC UA is broader and heavier. It carries typed data, supports write-back, and includes security and information models that suit plant integration. Many newer controls ship with an OPC UA server option. The cost is configuration effort and a license on some platforms. It fits when the machine data has to land in an existing SCADA or MES stack.
Vendor libraries such as FOCAS, MELDAS or Heidenhain's RemoTools give the deepest access with the least abstraction. They are also tied to one brand and often to one control generation. A shop with six different control families will spend real engineering time maintaining six integrations.
Protocol choice follows the target system, not the other way around. If the destination is a lightweight OEE board, MTConnect is enough. If the destination is a validated MES with alarm workflows and historian storage, OPC UA or a direct database path makes more sense. Decide the destination first.
Sampling Rate, Edge Filtering and Data Volume
Sampling rate should match the physical event you want to see. Machine state changes over seconds, so 1 Hz is plenty. Tool wear develops over minutes and hours, so spindle load averaged over 1 s works. Chatter happens at 200 Hz to 2,000 Hz, so you need a fast channel and an accelerometer. Collecting 10 kHz data to count parts wastes storage and network.
Edge filtering keeps the volume sane. Instead of shipping every raw sample to a server, compute the features you care about at the machine: RMS spindle load per program block, peak-to-peak vibration, cycle time, alarm count. Send those summaries, and keep raw waveforms only when a trigger fires.
Storage adds up faster than most people expect. One channel at 10 kHz with 16-bit samples is roughly 20 kB per second, or about 70 MB per hour. Ten machines running two shifts produce several gigabytes a day before compression. Plan retention and archiving before the first drive-level sensor is installed.
Timestamp alignment is the quiet failure mode. If the machine clock, the gateway clock and the database clock drift apart, cycle time and downtime numbers will not reconcile. Use NTP on every device and record time in UTC. This one step prevents most arguments about whose report is correct.
Where the Payoff Is Real and Where It Is Not
The clearest return comes from idle-time visibility. Most shops underestimate how much a spindle sits still waiting for a program, a fixture or an operator. State data for one month usually exposes the real bottleneck. Fixing that bottleneck rarely needs new software, only better scheduling.
Per-part traceability is the second solid case. Recording program number, tool number, offset values and inspection result against a serial number is often a customer requirement in aerospace, medical and automotive work. This is a compliance cost rather than an optimization, but it is a cost you can plan.
Tool wear monitoring pays off only when a broken tool is expensive. On a titanium or Inconel job with a long cycle, catching a worn insert early can save the part and the fixture. On a short aluminium run, the sensor and the integration often cost more than the scrap it prevents.
Dashboards that nobody opens are the usual failure. Data collection without a named owner and a weekly review meeting turns into a server that runs quietly in a corner. Assign someone to read the numbers, and give them the authority to change the schedule when the numbers say so.
Signal Layer Comparison
Pick the lowest layer that answers your question.
| Layer | Typical values | Update rate | Rough cost per machine |
|---|---|---|---|
| Machine I/O | Cycle start, door, alarm relay | On change | Low, no license |
| Controller data | Program, tool, feed, part count | 0.1–1 s | Medium, license or option |
| Drive and sensor | Current, torque, following error | 1–10 kHz | High, hardware and effort |
Which Layer to Start With
If your question is "is the machine cutting or waiting", wire the I/O and stop there. If your question is "which program and tool made this part", add controller-level data on the cells that ship traceable parts. Only go to drive-level sampling when a single tool failure costs more than the sensor package, because that layer brings storage, timestamp and maintenance work with it.
Common Questions
Can we collect data from an older machine with no Ethernet port?
Yes, but usually only at the machine I/O layer. A small module wired to the cycle-start and alarm relays gives you run state and downtime without touching the control.
If you need program number or tool number from a 1990s control, check whether a serial or fieldbus option card is still available. When it is not, hardware current sensing on the spindle is the practical fallback.
Does collecting data void the machine warranty?
Reading data through the vendor's documented interface does not. Opening the cabinet and tapping servo signals can, depending on the builder and the contract.
Ask the machine builder in writing before you add any sensor inside the electrical cabinet. Most allow external current transformers and vibration sensors mounted outside the enclosure.
How accurate is spindle-load-based tool wear detection?
It works well on stable operations with one dominant cutting load, such as roughing a known material with a fixed depth of cut. Expect scatter of roughly 10 to 20 percent in the load signal.
It works poorly on finishing passes and on jobs with variable depth of cut, because the load change from the tool is smaller than the change from the cutting conditions.
What network does the shop floor need?
A separate VLAN for machine data keeps production traffic away from office systems. Bandwidth is rarely the limit; controller-level data is a few kilobytes per second per machine.
The bigger issue is electrical noise and cable routing. Run industrial Ethernet cable away from spindle and servo power cables, and use shielded connectors at the machine end.
How long does a typical integration take?
A single machine publishing state data to a dashboard is usually a one-day job once the hardware is on site. Controller-level integration for one control family takes longer because of licensing and tag mapping.
Mixed-brand shops should plan the work per control family, not per machine. The second Fanuc is far quicker than the first.
Do we need a historian database?
For state and cycle data at 1 Hz, a standard time-series or SQL database handles a few dozen machines without trouble. A dedicated historian becomes useful when you add fast channels.
If you only need daily OEE numbers, aggregate at the edge and store one row per shift. That removes the historian from the project entirely.
Send Us the Drawing and the Control Model
Tell us the control brand and the part you are making. We will tell you which signal layer answers your question before you buy hardware.
12-hour quote100% inspectionNDA on request