Menu
Closing the OT/IT Gap: How Machine Data Should Flow From PLC to ERP

Closing the OT/IT Gap: How Machine Data Should Flow From PLC to ERP

The OT/IT gap is a semantic problem, not a network one. A reference architecture for how PLC data should flow through an operational data layer into the ERP.
Closing the OT/IT Gap: How Machine Data Should Flow From PLC to ERP
Closing the OT/IT Gap: how machine data should flow from PLC to ERP

Key takeaways

  • The OT/IT gap is not a network problem. The cables are usually fine. The gap is a semantic problem: the PLC and the ERP describe the same event with different vocabularies and different time precision, so neither system can act on the other's data.
  • Closing the gap means inserting one layer between them, an operational data layer, that normalises the event vocabulary, owns the asset hierarchy, and timestamps everything to a single clock.
  • The biggest source of cost overruns in OT/IT projects is going directly from the PLC to the ERP. That path forces every event into a financial-system-shaped record and loses the resolution that makes OEE and CMMS useful.
  • A practical reference architecture: PLC → operational layer (OEE + CMMS with shared asset hierarchy) → ERP. The operational layer holds the high-resolution data; the ERP gets the rolled-up daily picture.

What the gap actually is

Most factory floors have plenty of data. PLCs publish tag values on a sub-second cycle. SCADA aggregates and visualises them. ERPs receive production counts and consumption. Where things break down is between those layers: a stop on the line generates a tag transition at the PLC, becomes a "downtime event" in SCADA, gets summarised as "lost production" in the ERP, and none of those three representations agree on what the event was, when it started, or which asset it belongs to.

The result is that nobody can answer simple operational questions cleanly. "How much downtime did asset L3-PKG-02 cause yesterday?" has three different answers depending on which system you ask. The OEE tool, the CMMS and the ERP each have their own definitions, and bridging them by hand is what eats the maintenance manager's mornings.

Why going PLC → ERP directly fails

The common temptation, especially in projects sold as "Industry 4.0 integration," is to pipe PLC data into the ERP. It looks like a simple integration. It almost always fails for three reasons.

1. Event granularity mismatch

PLCs emit thousands of tag transitions per minute. ERPs are designed to receive a few hundred records per day per plant. Pumping raw PLC data into an ERP either drowns the database or forces aggressive aggregation at the edge, and that aggregation is what destroys the resolution OEE and CMMS need.

2. Asset hierarchy mismatch

The PLC knows tags. The ERP knows cost centres. Neither knows the asset hierarchy in the way maintenance does (line → station → asset → component). Without an explicit hierarchy in between, you cannot answer "which asset caused this stop" from ERP records.

3. Time precision mismatch

PLC events are millisecond-precise. ERP events are usually day-precise. A stop that started at 14:03:22 and ended at 14:08:45 becomes "5 minutes of downtime on June 27" by the time the ERP sees it. That precision loss is the reason most ERP-based OEE reports are useless.

The operational data layer

The fix is to insert one layer between the PLC/SCADA tier and the ERP. The layer has four jobs.

1. Normalise the event vocabulary

Every event, start, stop, reject, changeover, gets the same name in the same form everywhere. This is where the loss-class taxonomy from the article on manufacturing KPIs lives in practice. Without it, downstream analytics never stabilise.

2. Own the asset hierarchy

The operational layer is the single source of truth for "what is an asset." Lines, stations, assets and components are defined here, mapped to PLC tags on one side and ERP cost centres on the other. When maintenance creates a work order, it points at an asset in this hierarchy, not at a tag and not at a cost centre.

3. Anchor time to a single clock

Every event the layer stores is timestamped to one clock, usually UTC at the millisecond level, regardless of which PLC, SCADA system or operator interface produced it. Time-zone and drift issues are killed at ingest, not in dashboards.

4. Roll up to ERP on a schedule

The ERP gets the rolled-up, financially-shaped picture: shift production, scrap, downtime by reason, on a daily or shift cadence. The high-resolution detail stays in the operational layer where OEE, CMMS and root-cause analysis need it. See the related piece on root cause analysis for why that detail is the part that drives improvement.

What this looks like in practice

A typical mid-market reference architecture:

  • PLC / SCADA tier, existing OT stack. No replacement needed. Provides raw tag streams.
  • Edge connector, a small service per plant that subscribes to PLC tags, debounces noise, and pushes events to the operational layer.
  • Operational data layer (OEE + CMMS), normalised event store, asset hierarchy, loss taxonomy, work orders, preventive schedule, OEE calculation. This is where the plant's operational truth lives.
  • Integration to ERP, scheduled jobs that emit aggregated production, scrap and downtime records into the ERP at the granularity the ERP wants.
  • Analytics / BI, pulls from the operational layer (high resolution) or the ERP (financial cuts), depending on the question.

The reason the operational layer needs to host both OEE and CMMS is that the asset hierarchy is shared. If OEE lives in one tool with its own hierarchy and the CMMS lives in another tool with a different hierarchy, the layer's whole point, one source of truth, is lost. A unified work-order management system sitting on the same data as the OEE engine avoids that drift by default.

Sequencing the project

The mistake plants make is starting with the ERP integration because it feels like the "real" deliverable. The right sequence is the opposite.

  1. Phase 1 (weeks 1-4): Pick three lines. Stand up the operational layer with the asset hierarchy defined for those lines. Connect the PLCs via an edge connector. Verify the event vocabulary normalises cleanly.
  2. Phase 2 (weeks 5-8): Add the CMMS work-order flow on top of the same asset hierarchy. Wire the OEE-event-to-work-order rules per the preventive maintenance schedule.
  3. Phase 3 (weeks 9-12): Only now build the ERP roll-up. By this point the operational layer is stable, the data definitions are mature, and the ERP integration becomes a routine batch job rather than a moving target.

Starting with the ERP integration first guarantees rework, because the operational definitions are still in flux and every ERP record needs to be re-emitted as those definitions stabilise.

How Fabrico fits

The operational data layer described above is exactly what Fabrico is: a single platform that hosts the asset hierarchy, the OEE event stream and the CMMS work orders against the same database, with edge connectors for the PLC side and scheduled exports for the ERP side. The reason we ship as a unified product rather than two separate ones is that the OT/IT gap collapses when OEE and CMMS share a hierarchy, and stays open when they do not. To see how it would look against your own line data, book a demo.

Frequently asked questions

Do we need to replace our PLCs or SCADA?

No. The operational data layer sits on top of the existing OT stack via an edge connector. The PLC/SCADA tier keeps doing what it does; the new layer just adds a normalised view above it.

Why not just push PLC data into a data lake and query from there?

A data lake without an operational data layer holds high-resolution tag data with no event semantics. You can build dashboards over it, but you cannot drive work orders, OEE calculations or root-cause analysis without first reconstructing the event vocabulary and asset hierarchy, which is exactly what the operational layer does. Skipping it just defers the problem.

Where does MES fit?

If a plant already has an MES, the MES often holds part of the operational data layer's job, particularly the event vocabulary. The architecture works the same way: the MES feeds the operational data layer (or is the operational data layer, if it covers OEE and CMMS), which then rolls up to the ERP.

How is the asset hierarchy maintained?

By the plant team that knows the assets, not by IT. The operational layer needs to make the hierarchy editable by maintenance and production engineers without a developer in the loop, or it drifts out of date within a quarter.

What's the single highest-risk piece to get wrong?

The event vocabulary. If the loss classes are not stable across lines, every analytic and every rule downstream is unreliable. Spend more time than feels reasonable on the taxonomy in week one.

Latest from our blog

Define Your Reliability Roadmap
Validate Your Potential ROI: Book a Live Demo
Define Your Reliability Roadmap
By clicking the Accept button, you are giving your consent to the use of cookies when accessing this website and utilizing our services. To learn more about how cookies are used and managed, please refer to our Privacy Policy and Cookies Declaration