Getting the data out

[Last time](https://bits-chips.nl/artikel/from-manufacturing-data-to-continuous-process-improvement/), I wrote about my plans to set up a business around using data from factories to improve production and logistics processes. I also described the system needed to realize this idea.
At the bottom, we find the actual production equipment. These are the machines and devices that form the actual physical production line. They’re controlled by PLCs, soft PLCs or industrial controllers. The manufacturing execution system (MES) determines when and how the production line should run. Here, the entire factory process, from material intake up to release of the final product, is controlled on a factory level. On top of the MES, enterprise resource planning (ERP) systems are used to plan production and logistic needs. Depending on the size of the manufacturing company and the industry branch, this is either done per factory or across factories.

On top of all this, I want to put something I identify for now as ERP+, visualized as a layer going across factories. It uses the combination of data from equipment control, the MES and the ERP to allow for analysis and improvement of processes. This can be done by humans, in real-time via mobile apps, or on a planning basis through dashboards. It can also be automated, by connecting to other systems and adding machine learning facilities.
 

Core problem
At the core of my solution is data from the production line. This data is available in the system but not always accessible automatically. Some of it is kept in spreadsheets and notes by operators, some of it is available in logs and databases and quite a bit is only collected when solving specific production issues. This makes it hard to determine where the relevant data is.
One aspect of collecting this data will need to be tackled regardless of that ‘relevant data’: getting it out of the equipment control layer. Depending on the age of a system, and the way data was considered at the time it was built, more or less data will be available in a processable form. In older factories – say before 2005, to set a date – a lot of equipment-level data isn’t available directly because it never leaves the equipment control layer.
What does that mean? On the MES level, production data and material logistics data will be available as they’re collected as part of the production process. Here, we’ll find data about running and past production orders, errors that occurred during production and were corrected, orders that were aborted or cancelled, and also the time needed to execute production orders.
What we often don’t find is the equipment-level information about why things took shorter or longer and why they succeeded or failed. When a problem occurs, some information is sent ‘upwards’ towards the MES and the factory operator, but only just enough to solve the issue, after which the data is discarded or hidden somewhere in a log file.
 
Opening up
So, the first technical challenge is getting the data out and into our ERP+. To open up the data in the factory, we’ll hook up the equipment control layer, the MES and the ERP to what we call an internet gateway, which will bridge the world inside the factory with the outside world. The big challenge there is to connect the equipment control layer. Most PLCs or industrial controllers can be connected to a network. However, some work needs to be done to open them up to the outside world.
A lot of these controllers run software that communicates with the actual hardware using low-level I/O signals and receives commands from the MES. They don’t always keep track of when these signals are set and what their values are. To get access to this data (and later transform it into something useful), we aim to do two things.
First, since MES software is often more open to change or data access, we try to capture the commands from the MES layer – either by using the already existing logging and stored history or by adding the necessary data collection. Worst case, we’ll have to capture the commands on the physical (network or serial) connection to the controller and store them from there. Second, on the PLC itself, we can either add software to notify the MES (or a capture module we put in between) when a signal changes or capture the signal from the actual I/O signal. The latter we try to avoid, as it may affect the actual equipment operation. Adding this functionality in a non-invasive way isn’t easy, but as we’re working on this, the patterns to apply become clear.
 
Next steps
The next step is building the first solution. Currently, we’re drawing up the concept for a first customer, where we’ll have to focus on getting the data out. Subsequently, we’ll put a dashboard on top to allow human analysis and monitoring and define what this customer needs to do after that.