CNC machine shop data collection project

My team and I are currently working on a data collection project within our machine shop. We will have 35 machines all sending data once they’re all online. We’re all very new to a project like this so looking to see if anyone has any guidance for how we should go about some aspects of it.

This project is also tied to us rolling out a new mes system through SIEMENS so there are some layers to it. Currently, this is how we are doing things:

CNC machines (Lathes, horizontal machine centers, vertical machine centers, lasers, press breaks) generate data through MTConnect, OPC-UA, or FANUC Focas2 protocols.

Data is sent to SIEMENS BFC (brown field connectivity) device to interpret and organize the data coming out of the machine.

Data is sent to InfluxDB (V2) to create database

Calculations and interpretations for things like cycle time, part could, overrides, etc. are done in Influx.

Influx data is picked up by another software called Factory Thread in order to bring in data from SIEMENS mes and tie them together

Data is then stored in sql for documentaion, reporting, etc.

Like I said previously, there is a lot of layers to it all so it can get confusing at times. The biggest thing that I’m questioning is when should we actually be doing the data calculations and interpretation? Is it better to do it with the raw data in the BFC using middleware or is our approach the better way to do it? Also, if anyone has any insight to a project like this of things they found helpful, or things to watch out we would appreciate that information.

Thank you!

It’s unfortunately the nature of data systems at times that you end up with a lot of layers. It’s hard to be too targeted with advice without knowing a lot more specifics about your data, what calculations and analysis you’re doing on it, how much value the Siemens platform is providing, whether or not Factory Thread is necessary, etc.

Nothing here sounds horribly off at a first glance, so I’d encourage just asking when and where would be simplest and easiest to do the querying and calculations? You generally want to do it closest to wherever the absolute source of truth of your data is - if InfluxDB is the authoritative place where you have all of your data as fresh as possible, you should do most of your analysis with Flux queries on InfluxDB. If Factory Thread has more information because it’s picking up data from InfluxDB and collating it with other data, I might look at trying to do analysis there - or otherwise finding a way to move Factory Thread data into InfluxDB, too.