Data paths · network and computers

From the control cabinet to the GPU server

Where the cables run, where the data arises, where it is buffered — and at which two places a model computes: at the edge in milliseconds, in the data centre overnight. The paths are labelled with the numbers this plant produces.

Measured values. Continuous operation. The controllers are sampled every 250 ms, the edge device publishes only changes — resulting in about 125 values per second that land in the historian. Everything flows in one direction: upwards.

Intervention. The rare way back: an approved setpoint command goes as a Sparkplug DCMD to the edge device, which writes it to OPC UA. It passes the same firewall in the opposite direction and hits one of 21 writable points. There is no second way there.

Training and delivery. At night the GPU server reads a 14-day window from the historian — as a block, not as a stream. If the new model passes evaluation against held-out data, it goes to the edge device as a signed artefact. If it does not, the old one stays in use.

Forecast. Expansion stage 2. The model at the edge calculates the remaining life of the saw blade from motor current and cut counter and publishes it every 20 s — over the same line as every other value. The point ends in the control loop, in the proposal list. It does not turn off onto the write path.

Click a component

Shop floor · level 0–1OT network · VLAN 10Edge · control cabinetBoundary OT → ITPlant server · middlewareData centre · GPUWrite path · DCMD → OPC UAModel delivery · signed artefactPLC · Line A8 stationsOPC UAPLC · Cell B5 machinesOPC UAPLC · Filling6 unitsOPC UAPCS · Reactors2 vesselsOPC UABand saw ZS-100Built 1998Modbus RTUConverterRS-485 → TCPManaged switchseparate VLAN, no route into the office networkIndustrial PC in the control cabinetfanless · 8 GB · no screen · starts by itself after a power failureOPC UA clientSubscription, 250 ms628 variablesModbus connectorQuery, 1 s15 registersEdge calculationOEE from countersBuffer on disconnectAI inferenceModel, quantised< 50 ms, without networkFirewall · OT/ITone port out, no access inMQTT brokerSparkplug B · birth, death, rebirth2 edge nodes · 27 devicesHistorianTimescaleDB · append-only21.8 million rows · 11 GBAPI and control loopMAPE-K, cycle 20 s · ledgerthe only write pathGPU serverruns at night · never sees the plant, only its historyTrainingWindow: 14 daysfrom the historianEvaluationheld-out windowworse = no deliveryModel registryVersion, quality measureEntry in the ledger628 variables · 250 mschanges only · ~125 values/sMQTT over TLS · one portTraining data · at night, as a block1 sRemaining life · every 20 s
Measured values · upwards Setpoint command · downwards, 21 points Model · training and delivery Forecast · ends in the control loop

What runs on which link

LinkProtocolCycleVolumeDirection
PLC → edgeOPC UA250 ms628 variablesSubscription — the controller reports of its own accord
Band saw → edgeModbus RTU/TCP1 s15 registersQuery — this machine reports nothing on its own
Edge → brokerSparkplug B1 s~125 values/schanges only; on disconnect the edge device buffers
Broker → historianMQTTongoing11 GB / 2 daysappend-only, nothing is overwritten
Historian → GPUSQL, read-onlyat night14-day windowBlock, not a data stream. The GPU server never sees the plant.
Registry → edgesigned artefactrarea few MBonly after passing evaluation; version is recorded in the ledger
Edge → control loop Expansion stage 2Sparkplug B20 s1 value + bandForecast as a finding — it takes the path of every measured value and ends in the proposal list, not at the controller
Control loop → PLCDCMD → OPC UAafter approval21 pointsthe only way downwards — back through the same firewall

Throughput and database size measured on 23 August 2026 on the running plant.

What lies on the forecast link

A network diagram shows cables and keeps quiet about the cargo. On this link a single quantity runs: how much longer the saw blade will last. It is worth the effort because on this machine wear and quality are the same thing — visible only at different times. The current rises as the blade goes dull; the scrap shows it only once the part has already been sawn.

One blade life · band saw ZS-100

calculated from the plant model

Motor current · A12141615,8 A · BladeChangeDue15,3 AScrap · %024now · 300Change due · 3420100200300380Cuts since blade change · tool life 380

Both quantities run linearly with wear in the model — the lines are not drawn simplified but calculated that way. Source: sim/zuschnitt/saege.py and sim/common/machine.py.

Changed too early

15 min

That is how long the saw stands still for a blade change. Plus a blade that would still have lasted. Whoever changes early to be safe pays for that every time — and never sees what they have given away.

Changed too late

3,6 %

Scrap on the worn blade instead of 0,6 % on the fresh one — six times as much. Plus 18 % longer cycle time because the dull blade cuts more slowly. Both accrue before anyone notices.

Today · without a model

342

At 90 % wear the machine reports BladeChangeDue. That is a fixed threshold, not a finding: it knows neither the material nor the order and reports at the same point for every blade.

Between the two costs lies a point, and that is what the model looks for — not the end of the blade. It moves no manipulated variable, it moves an appointment. What the forecast looks like is on Model; what a saved hour is worth is on What it delivers.

Where the computing happens

Inference belongs at the edge, training in the data centre. Whoever puts both in the same place gets either a plant that is blind without a network, or a GPU server in the control cabinet.

At the edge · milliseconds

Inference on the edge device

A fully trained, quantised model. It computes in under 50 ms, needs no GPU and above all no network: if the connection to the plant network drops, the forecast keeps running and the edge device buffers. A plant that loses its assistance during a network outage is not accepted on the shop floor.

In the data centre · hours

Training on the GPU server

Runs at night, on the history — not on the live stream. The server has no connection to the plant and needs none: it reads a 14-day window from the historian and writes an artefact back to the registry.

In between · the gate

Evaluation decides on delivery

A newly trained model is checked against a held-out window. If it is worse than the running one, it is not delivered. The same logic as the trial run in the control loop, one level up.

Never

No model in the write path

Inference at the edge produces findings, not commands. The path to the controller leads for it too through gate, approval, trial run and watchdog — and through the same firewall through which nothing else may come in.

What of it runs in production today

The topology above is the picture for a real plant. In this demo all components run on one computer: eight services and two containers, broker and database on 127.0.0.1. No switch, no firewall, no edge device in the control cabinet. That changes nothing about the paths — the protocols, the directions and the one write path are the same. It does change the numbers: latencies are unrealistically good because nothing goes over a real network.

Component in the diagramTodayIn a plant
PLCs and plantssimulated, but with a real OPC UA serverexisting controllers, unchanged
Serial converternot present — the simulated saw speaks Modbus/TCP directlyDevice server on a DIN rail, RS-485 to Ethernet
Managed switch, VLANnot present — everything on one computerseparate OT network, no route into the office network
Edge devicetwo processes on the same computerfanless industrial PC in the control cabinet
Firewall OT/ITnot presentone port out, no access in
Broker, historian, control looprunning — exactly what this page is served byServer in the plant or in the plant cloud
AI inference, forecast linkExpansion stage 2 · interface existsModel in the control cabinet, finding every 20 s into the proposal list
GPU server, training, registryExpansion stage 2 · planneda computer in the data centre, busy at night

Expansion stage 2 is drawn dashed: AI inference at the edge, training, evaluation and model registry. The docking point for it is built and secured by tests, the model is trained — only operation in the control loop is still outstanding. Everything else in this picture runs and can be checked on these pages.