The plant is already generating the data. Nothing is connected to anything.
The PLCs know cycle counts and fault words. The HMI knows what the operator acknowledged. The historian has years of tags, the quality system has measurements, and the ERP knows what was supposed to be built. All bought at different times, from different vendors, never designed to speak to each other. The missing piece is not a platform — it is the connective layer, plus one screen a person wearing gloves at 5:40am will actually use.
on the machines we modernised
after the rebuild
We run it as a Line Data Audit: on a call with your controls or maintenance engineer we map one line — what each machine already emits and over what protocol, where the data stops, what the ERP is told versus what the floor knows, and what it would take to make downtime attributable. You keep a one-page line diagram. No NDA needed to talk in general terms.
Written for plants with good engineers and no software team
Scope
- Discrete and process manufacturers of roughly 50–1,000 people, running one plant or a handful — fabrication, plastics and moulding, food and beverage, building products, specialty chemicals, contract manufacturing.
- Industrial equipment OEMs and machine builders who shipped a machine and discovered it is now a software product: customers expect a dashboard, remote diagnostics, and a service contract that does not need a plane ticket.
- Systems integrators and controls houses who own the PLC and SCADA layer and want a software partner above it rather than a competitor inside it.
Global manufacturers with an internal digital-manufacturing division, a corporate MES standard and an OT architecture team. You have the group this page is offering, and your own standard will beat anything we propose.
What we usually find instead: automation and maintenance engineers who are very good at their jobs, an MES that is a spreadsheet with a macro, and a historian holding years of tags nobody queries.
Industrial buyers do not answer cold email; they meet you at the event, ask two questions about protocols, and decide whether you have stood next to a machine while it was down.
Six things that happen on a real floor
Observed
The interface the crew routes around
The screen asks for a reason code before the line will restart, so the operator picks the second option every time because it is fastest. By Thursday, “Other — see supervisor” is 60% of recorded downtime. Nobody lied; the screen made honesty expensive.
Downtime that lives on a clipboard
Stops get written on a sheet taped to the guard, then typed into a spreadsheet on Friday afternoon from memory. Anything under five minutes never gets written down at all — which is exactly where the losses are. Monday’s Pareto is a chart of what people remembered.
Three generations of equipment, three protocols, one serial cable
The 2021 cell speaks EtherNet/IP and will happily expose an OPC UA server. The 2014 line needs a gateway. The 1998 machine that runs your highest-margin product has an RS-485 port, a manual in a filing cabinet, and a register map somebody wrote in pencil. An honest data layer handles all three.
The MES and the ERP disagree about what you built
The floor system says 4,180 good parts; the ERP confirmation says 4,206. Both are defended by someone. Two weeks later the variance lands in cost accounting as a number nobody can explain, and the standard cost gets adjusted rather than investigated.
Every fault becomes a flight
An OEM ships a machine three time zones away with no telemetry and no remote diagnostics. A fault code a controls engineer could read in ninety seconds becomes a service call, a travel day and a warranty argument — and nobody learns the failure mode across the fleet.
Quality data that arrives after the batch
Measurements are taken, recorded and entered — into a system that produces a report tomorrow. The control chart shows the trend that would have caught the drift, and it shows it to you after the bad batch has shipped.
An operator screen that had accumulated a decade of controls in the order they were added rather than the order an operator needs them — rebuilt around the decisions actually made at the machine, on a system that cannot be paused mid-cut.
One shift, before and after the stops have names
06:00 – 14:00
This is the whole argument in one picture. The grey is downtime the system recorded without a usable cause. Scrub across the shift and it resolves into attributed stops, and the Pareto beside it builds itself. The stops were always there — you just could not name them.
The machine that cannot be paused mid-cut
Delivered work
Tunnel-boring machine control software and operator interface
We modernised the C++ control software and the operator interface for machines that bore tunnels through rock — real-time control of heavy machinery where the operator’s screen is the only thing standing between a judgement call and a physical consequence.
The hard part was threefold: legacy C++ that could not simply be rewritten, real-time constraints that do not forgive a pause, and an HMI that had accumulated a decade of controls in the order they were added rather than the order an operator needs them. The work was staged behind a characterisation harness so the old behaviour could be proven equivalent before anything replaced it.
A team trusted with the control software of a machine that cannot stop mid-cut can be trusted with a packaging line. That is the argument, and it is the reason this case sits at the top of the page.
Four seconds from detection to handoff
Acoustic, RF, EO/IR and radar reduced to validated tracks an operator can act on. The relevance to a plant is direct: reconciling mismatched, differently-timed, differently-trustworthy sensor streams in real time is the same engineering problem as a floor with three generations of equipment and no shared clock.
From a device emitting readings to something someone acts on
Live occupancy sensor data taken the whole distance into an app a person opens and uses — which is the part most plant-floor projects never finish. Sensors that record without anyone deciding are the same failure in a different building.
Bring one line and your controls engineer. You keep the diagram whether or not anything comes of it.
Three protocols and no shared clock is a solved problem.
What we take on, and what it costs in weeks
Engagements
Timelines are the honest ranges and move with scope. The first engagement should be small enough that you could cancel it without calling a meeting.
Legacy control-software modernisation (C++ and real time)
For code that works, that nobody wants to touch, and that is now blocking every improvement. A staged refactor behind a characterisation test harness — never a rewrite.
You get: a running system on the modernised path, with the old behaviour proven equivalent. Legacy modernisation →
Operator HMI that survives a shift
Screens designed around the decisions an operator actually makes, tested with the crew who will use them — in gloves, at shift change, under bad fluorescent light.
You get: a screen the crew stops routing around. UI/UX →
OT-to-IT data layer
Joining PLC, SCADA and historian data to the MES and the ERP — OPC UA where the equipment supports it, MQTT with Sparkplug B where report-by-exception makes sense, and a gateway with a hand-written register map where it does not.
You get: one queryable source of production truth and a documented tag model you own. Integrations →
Downtime and OEE instrumentation people trust
Automatic stop detection from machine state, a reason-code list short enough to be honest, and attribution that survives an argument in the morning meeting.
You get: a Pareto of your actual losses, not your remembered ones. Automation →
Remote monitoring and diagnostics for shipped equipment
For OEMs: fleet telemetry, fault history, and enough context that a controls engineer can diagnose from a desk instead of an airport.
You get: fewer truck rolls, and failure-mode data across every machine you have sold. DevOps & cloud →
Anomaly detection on machine time series
Not “predictive maintenance” as a slogan — a model on your own historian data that flags a drift you would otherwise see three days later, at a false-positive rate the maintenance team will tolerate.
You get: an evaluated model and an honest answer about whether your data supports one. AI integration →
Mobile apps for the floor
React Native or Flutter, built for a rugged device and a gloved hand, and working offline in the corner of the building where the Wi-Fi dies.
You get: the app, on the devices your crew already carries. Mobile development →
LLM work on maintenance and quality documentation
Thirty years of work-order free text, OEM manuals, deviation reports and work instructions turned into something answerable in plain language: what has failed on this asset before, what did we do, what did the manual say.
You get: a queryable record set with the source document behind every answer. AI assistants & RAG →
The LLM work above is document and record work. It never touches control logic, and nothing we build writes to a PLC on a model’s say-so. Safety-rated logic in a safety PLC is not ours to change: we work above the safety layer, agree the boundary in writing before starting, and commission in stages — offline, then read-only alongside production, then live — with your controls engineer signing off. Where a change would touch anything assessed under ISO 13849 or IEC 61508, that is your integrator’s scope, and we say so.
The Line Data Audit is run by an engineer, not a bid team — the same people who would do the work, on the call where you decide whether there is any work to do.
What you are thinking, and the honest answer
Raised on site
Run this yourself first. It does not need us.
Doc DA-12
Downtime attribution: 12 checks before you buy any OEE system
What the shortest visible stop is, how many taps stand between an operator and an honest reason code, which machines can be read at all and over what, who holds the register map for the oldest one, and whether the raw event stream is yours. Each check is something you can run on your own floor this week, with a column to write the vendor’s answer in.
Bring one line. We will map what it already emits.
Line data audit
Thirty minutes with your controls or maintenance engineer on the call. We map one line: what each machine emits and over what protocol, where the data stops, what the ERP is told versus what the floor knows, and what it would actually take to make downtime attributable.
- You keep the one-page line diagram as a PDF
- An engineer on the call, not a sales team
- No NDA needed to talk in general terms