How to collect data from your CNC machine

Posted by: Rowan Easter-Robinson


If you need to see what’s costing your business money, you need to know how much your machines are down. There are some manual methods you could use, the simplest being an excel spreadsheet.

You need to log each day:

  1. Total possible hours up (aka “In-Shift” time)
  2. Hours of downtime

Most of the time shops will work 8 hours or 16 hours, depending on if there’s two shifts or one. So that’s the easy part, measuring actual machine downtime is the hard part. This relies on something you’ve probably seen on a CNC control before: manual data input. It’s worth noting the old adage here

garbage in, garbage out

Native data collection

If your manual data input is unreliable then any inference you make on the resulting data might be wrong. Basing real business decisions on bad data could be costly or even catastrophic to your business. There is another way - automatic data collection.

This could be done in-house, there’s many options available to automatically collect data for your machine natively without much special hardware.

Haas Machine Data Collection

If you’ve got a Haas CNC, you can use Haas MDC to measure uptime and downtime.

Haas built before 2016

With a machine built before 2016 you have to connect to the RS-232 parallel port on the machine. This is the grey 25 pin socket on the right hand side of VF1 milling machines, it may be elsewhere on other machines.

You can get an RS-232 to usb converter to directly plug it into your PC. If you don’t want your PC directly next to the machine however, you can add a wifi adapter to your RS-232 port with a Moxa box.

Haas built after 2016

If your Haas was built after 2016, you can directly connect it to your network with an ethernet cable. The default port to collect data from is 5051.

Haas commands

If you’re interested in machine downtime, the code you want to send to the machine is ?Q500, this returns


Where O0001 represents the selected program, IDLE represents the current machine status, and 1 is the number of parts made so far.

There are loads of other codes you can send to the machine to get information such as cycle time. For more information click here

Other machine data collection methods

Each machine control has its own data collection methods, most of these use TCP connections (same as your web browser). For example:

  1. Fanuc - Focas II library for interfacing
  2. Siemens - MyMachines
  3. Mazak - MTConnect

If you’ve got loads of different machine tools with different controls, it takes a lot of work to get everything talking together. Maybe it’s time to try a different approach. TrackMyMachines offers machine data collection for any machine tool, whether it’s new, old, manual or CNC, 5-axis or 3-axis - we can collect data from it.

Best yet - it’s only £20 per machine per month!

Want to improve your productivity?

Only £45/machine/month.

30 day free trial available

Request a demo Buy now
By clicking "buy now" you agree to our terms and conditions