Our machine has no interface — how do we get data out?
Almost every controller gives up something, even one from 1998: counter readings over Modbus, a motor current, a fault number. From those, availability, performance and quality can be calculated without touching the controller — the calculation belongs in a connector next to the machine, not in the machine.
In this factory
In this factory a band saw from 1998 runs on a Modbus connector: 15 registers, polled every second, yielding OEE, tool life and fault plain text. It stands on an equal footing beside four plants with OPC UA.
How the cross-section is built → 15
registers are enough for a complete OEE
Nobody in production believes our OEE figures. Why is that?
Usually the calculation, not the plant: averaged counters, factors added instead of multiplied, a window that swallows start-up phases. A KPI that nobody can recompute is rightly not believed on the shop floor.
In this factory
Here it is calculated per ISO 22400, time-weighted and over a named window — and every number can be traced back to the individual measurement.
See KPIs per unit → We have data but no history. How do we get to a historian?
The usual mistake is overwriting values. A historian only appends: every measured value stays, with its timestamp. Only then can you later ask what the state was three weeks ago — and only then can a model be trained.
In this factory
Here the path runs over Sparkplug B and MQTT into a TimescaleDB: changes only, about 125 values per second, append-only. Time travel brings back any state.
Try time travel → 21.8 million
rows of history, filled continuously
A customer demands an Asset Administration Shell. What does that mean in practice?
An Asset Administration Shell (AAS) is the standardised digital twin of an asset: nameplate, technical data and operating values as submodels, machine-readable and vendor-independent. The effort is not in the format but in the question of which values are reliably available at all.
In this factory
Here each of the 29 units carries its Asset Administration Shell, filled from live operation instead of from a spreadsheet. The explorer shows the submodels the way a counterpart reads them.
See AAS submodels → 29
assets with a populated Asset Administration Shell
We have engineering data from EPLAN or TIA. Does that speed up the integration?
Considerably. The planning data already says which plants and units exist, how they are connected and over which interface they can be reached. AutomationML (IEC 62714) lets you read that in instead of reconstructing it in interviews with maintenance — that is the longest part of an integration.
In this factory
The importer is in the repository and has been checked lossless in both directions: what is exported yields the same plant description again. An open vocabulary table translates foreign roles and property names into our terms; what it does not know is expressly left uninterpreted and appears as a remainder list. Nothing is guessed — a wrong mapping is only noticed once a model has learned on the wrong signal.
What results: the Asset Administration Shell → IEC 62714
AutomationML, read and written
How do we open the OT network for analytics without punching a hole?
By opening only one direction. The edge device publishes outward; nobody gets in from outside. Where write-back is necessary, the set of writable points is defined in advance rather than decided at runtime.
In this factory
A separate VLAN, one port out, no access in — and exactly 21 writable points, each named individually. No model and no automation gets around that.
Data paths in the network diagram → 21
writable points, named explicitly
Our AI pilot isn’t reaching production. What is it failing on?
Rarely the model, almost always trust: nobody can say why it proposed something, whether it worked and who is accountable for it. As long as that stays open, no plant manager will sign off on a release.
In this factory
Here every proposal passes gate, approval, trial run and watchdog — with predicted effect, measured result and a chained entry in the ledger. A model gets no special rights in the process.
See the chain of evidence → We have a model. How does it dock on without us rebuilding everything?
As an adapter on a fixed interface: the model receives an observation and returns a finding — or stays silent, in which case the rule answers. If it fails, that costs one cycle and not the plant. That way machine learning remains a supplement and doesn’t become a dependency.
In this factory
The docking point is in the repository, verified by tests for failure, silence and wrong answers. A trained tool-life model sits in it and predicts the remaining life of a saw blade from motor current.
The docking point and the model → How do we work out what downtime and scrap really cost us?
Separated into diagnosis and commitment. What is tied up in losses follows from the measured values. What part of that is achievable is a second, more cautious calculation — and the assumptions for it belong to controlling, not to the vendor.
In this factory
The loss calculation is open in a YAML file; every assumption is interchangeable, and the share already evidenced comes from measured changes, not from an estimate.
See the calculation →