What Data Does MTConnect Provide?
MTConnect can publish hundreds of data items, but a handful do most of the work in machine monitoring. Here is what each one means, what values to expect, and how monitoring software uses it.
When people say a machine "has MTConnect," what they really mean is that an agent publishes some set of data items about it. Which data items — and how well they are mapped — decides how good your monitoring will be.
This guide covers the data items that matter most for CNC monitoring, what values they take, and what monitoring software does with them.
For monitoring, Execution and PartCount do most of the work. Everything else adds context.
The three categories of MTConnect data
| Category | What it holds | Examples |
|---|---|---|
| Event | Discrete states and values | Execution, ControllerMode, Program, PartCount, Availability |
| Sample | Continuously changing measurements | Spindle speed, feed rate, load, position, temperature |
| Condition | Health status | NORMAL, WARNING, FAULT, with alarm codes |
Execution — the heart of machine status
Execution tells you what the program controller is doing. Common values:
| Value | Meaning | Typical monitoring interpretation |
|---|---|---|
| ACTIVE | Program is executing | Running |
| READY | Ready to run, nothing executing | Idle |
| INTERRUPTED | Execution interrupted, for example by the operator | Stopped |
| FEED_HOLD | Motion held, program not finished | Stopped / paused |
| STOPPED | Execution stopped | Stopped |
| OPTIONAL_STOP | Paused at an optional stop (M01) | Stopped, often an inspection point |
| PROGRAM_STOPPED | Paused at a program stop (M00) | Stopped |
| PROGRAM_COMPLETED | Program reached its end | Cycle complete, then idle |
| WAIT | Waiting on an external event | Stopped / waiting |
A minute-by-minute record of Execution is enough to build a machine timeline and calculate utilization and availability. Exact values available depend on your MTConnect version and adapter.
PartCount — production and performance
PartCount reports parts completed. Monitoring uses it for output by hour and shift, cycle time between counts, and the performance part of OEE.
Watch for:
- Counting not enabled — some controls only count when the program triggers it (often at M30 or with a dedicated M-code)
- Multiple parts per cycle — the counter may add one per cycle unless configured otherwise
- Resets — operators resetting counters at shift change; monitoring should track increments, not the absolute value
Program — which job is running
The Program data item reports the active program name or number. It lets monitoring attribute run time, cycles, and stops to specific jobs, so you can see which parts run slower than their best cycle or quoted time.
ControllerMode — automatic or manual
Values include AUTOMATIC, MANUAL, MANUAL_DATA_INPUT (MDI), SEMI_AUTOMATIC, and EDIT. Monitoring uses mode to tell production running from setup and prove-out: time in MANUAL or MDI on a machine with execution active often means setup work rather than production.
Availability — is the agent talking to the machine?
AVAILABLE means the agent has a live connection to the machine's data source. UNAVAILABLE means it does not — the machine may be powered off, or the adapter disconnected. Monitoring uses this to show machines as offline instead of falsely "stopped."
Conditions — alarms and warnings
Condition items report NORMAL, WARNING, FAULT, or UNAVAILABLE, often with the native alarm code and text. They separate genuine down time (faults) from idle waiting, and let you rank recurring alarms by frequency and duration.
Other useful data items
| Data item | Use in monitoring |
|---|---|
| Spindle speed and load | Confirm cutting vs air cutting, tool wear patterns |
| Path feed rate | Motion activity |
| Feed and spindle override | Find programs running with overrides turned down |
| Emergency stop | Distinguish E-stop events |
| Tool number | Attribute events to tools |
| Door state | Spot inspection and manual intervention |
| Program comment / block | Deeper program-level analysis |
Availability of these varies a lot between machines.
Machine status: how monitoring combines data items
Good monitoring software combines several items rather than trusting one:
| Displayed status | Typical logic |
|---|---|
| Offline | Availability UNAVAILABLE or agent not responding |
| Alarm | A Condition in FAULT |
| Running | Execution ACTIVE in automatic mode |
| Idle | Execution READY with no fault |
| Stopped | Execution STOPPED, INTERRUPTED, FEED_HOLD, or a program stop |
FEAI Machine Monitor uses MTConnect data from supported machines to classify running, idle, stopped, alarm, and offline time and build each machine's timeline.
How to see what your machine provides
- Open
http://<ip>:<port>/probein a browser on the shop network. - Look for data items with types like EXECUTION, PART_COUNT, PROGRAM, CONTROLLER_MODE, AVAILABILITY, and condition types.
- Open
/currentto confirm they have real values, not UNAVAILABLE. - Run a cycle and refresh
/currentto watch Execution and PartCount change.
If key items are missing or stuck at UNAVAILABLE, the adapter mapping is usually the cause. See How to Test an MTConnect Connection.
See your own data items turned into a live timeline. Start free — 2 machines.
FAQ
What machine status does MTConnect report?
Mainly through the Execution data item, with values such as ACTIVE, READY, INTERRUPTED, FEED_HOLD, STOPPED, OPTIONAL_STOP, PROGRAM_STOPPED, and PROGRAM_COMPLETED, plus Availability and Condition for connectivity and alarms.
Does MTConnect provide part counts?
It can, through the PartCount data item, if the control and adapter publish it. Some controls only count parts when counting is enabled in the program or settings.
Can MTConnect show alarms?
Yes, through Condition data items that report NORMAL, WARNING, or FAULT, often with the native alarm code and message.
Does every machine publish the same data items?
No. Data items depend on the control, its options, and how the adapter and agent are configured. Always check the probe response for each machine.
How do I see what data my machine provides?
Open http://machine-ip:port/probe in a browser. The response lists every device, component, and data item the agent publishes.
What data does monitoring need at minimum?
Execution state is essential for running versus stopped time. Part count adds production and OEE performance. Program, mode, and conditions add context.