
Key takeaways
Short answer: PLCs control machines in real time. SCADA shows operators what the PLCs are doing and lets them intervene. MES manages production orders and tracks what is being made across the plant. They are layers of a stack: PLC at the bottom, SCADA in the middle, MES on top. An OEE platform reads from PLC or SCADA to compute Availability, Performance, and Quality. See also MES vs CMMS.
A PLC is the embedded computer that runs a piece of equipment. It reads sensors, runs logic ladders, and drives outputs at millisecond cadence. Allen-Bradley (Rockwell), Siemens S7, Mitsubishi, Schneider Modicon — these are the usual names.
The PLC owns physical control. If a temperature exceeds a setpoint, the PLC closes a valve. If a part jams, the PLC stops a motor. No human is in the loop at PLC speed.
SCADA aggregates PLC data into screens that humans can read. A SCADA system polls PLCs across the plant, shows operators a HMI of every line, lets them issue commands (start, stop, change setpoint), and logs alarms.
SCADA does not control equipment directly — it sends commands to PLCs which execute them. SCADA is the layer where humans interact with the process.
Common names: Ignition, Wonderware (now AVEVA), Siemens WinCC, Rockwell FactoryTalk View.
MES sits above SCADA and operates at a different cadence. MES manages the production order: it receives the order from ERP, dispatches operations to lines, gathers actuals from SCADA or directly from PLC, enforces electronic work instructions, and reports back.
MES does not poll PLCs at SCADA cadence. It cares about production-order-level events: order started, batch completed, units recorded, scrap counted. Common names: Werum PAS-X, Rockwell PharmaSuite, Siemens Opcenter.
Three trends are blurring the stack:
The function each layer performs is still distinct; the implementation is increasingly decoupled.
OEE platforms cross the stack. They read PLC signals (run state, cycle count) either directly via OPC UA / MQTT or via SCADA tags. They surface Availability, Performance, Quality at SCADA cadence (seconds to minutes). They can hand off to MES via REST or push data to ERP for reconciliation.
For plants without MES, an OEE platform is often the closest thing to a real-time production-monitoring layer. For plants with MES, the OEE platform either feeds MES with high-resolution signals or runs alongside MES as a dedicated analytics surface.
1. Treating SCADA as MES. SCADA visualizes; MES manages orders. A SCADA HMI cannot tell you what to produce next or close the production-order loop with ERP.
2. Treating MES as OEE software. MES can compute OEE but most do it on aggregated, lower-resolution data. A dedicated OEE platform usually catches more loss because it reads at finer cadence.
3. Buying a SCADA system to solve an MES problem. SCADA upgrades will not fix order management, traceability, or genealogy — those are MES functions.
A practical small-to-mid manufacturer in 2026:
Fabrico's OEE module connects to PLCs and SCADA tags, runs in the cloud, and integrates back to ERP — covering the high-leverage middle of the stack without requiring an MES rollout.
See how Fabrico captures this automatically — explore OEE for manufacturing or book a demo.
Technically yes, especially with modern IIoT gateways. But you lose the supervisory HMI that operators use. Most plants keep SCADA for the HMI even if data flow bypasses it.
OPC UA is a communication protocol used between PLCs, SCADA, and higher-level systems. SCADA software typically supports OPC UA as a data-source option.
Ignition is mostly SCADA with optional MES-style modules. For many SMB plants it covers SCADA + light MES.
An architectural pattern where all systems publish to a single broker (usually MQTT). Replaces the rigid PLC → SCADA → MES hierarchy with a pub/sub bus.
ERP sits above MES, planning at the business level. ERP issues production orders to MES and receives back actuals.