Connecting twenty-year-old machines is an engineering problem, not a software problem. A practical sequence for brownfield sites.
Read before you write
The first phase should be strictly read-only: tap signals, mirror PLC registers, add external sensors where no signal exists. Nothing about the control logic changes, so nothing about the risk profile changes either.
This alone usually produces the first honest OEE numbers a plant has ever had, and it exposes which downtime causes are actually dominant rather than which ones are best remembered.
Normalise before you analyse
Every line will have different tag names, units and sampling rates. Establishing a single naming model early — asset, line, signal, unit, quality flag — is what later makes it possible to compare two plants without a translation spreadsheet.
Automate only what operators trust
Closed-loop control and automated quality rejection should follow a period where the system runs in advisory mode and its recommendations are visibly correct. Trust earned in that phase is what makes the later automation stick.
