OEE from PLC signals: what you need and what to watch out for
Automatic OEE is only as good as the signals and rules behind it. Here is what to read from the machine and the traps to avoid.
OEE (overall equipment effectiveness) shows how much good output a machine or line makes compared with what it could make in the time it was meant to run. Reading it automatically from the PLC removes the clipboard, but it also removes the person who used to notice when a number looked wrong. The rules behind the calculation matter.
The formula
- Planned production time = shift time − planned stops (breaks, planned maintenance, and changeovers if you treat them as planned).
- Run time = planned production time − unplanned stops.
- Availability = run time ÷ planned production time.
- Performance = ideal cycle time × total count ÷ run time.
- Quality = good parts ÷ total parts.
- OEE = Availability × Performance × Quality.
A worked example
An 8-hour shift (28,800 s) has a 30-minute planned lunch and a 45-minute breakdown. There is also a 2-minute stop, shorter than the 3-minute minor-stop threshold, so it stays in run time and shows up as lost speed. The ideal cycle is 10 s; the machine counted 2,000 parts, of which 1,940 were good.
| Step | Calculation | Result |
|---|---|---|
| Planned production time | 28,800 − 1,800 | 27,000 s |
| Run time | 27,000 − 2,700 | 24,300 s |
| Availability | 24,300 ÷ 27,000 | 90.0 % |
| Performance | 10 × 2,000 ÷ 24,300 | 82.3 % |
| Quality | 1,940 ÷ 2,000 | 97.0 % |
| OEE | 0.900 × 0.823 × 0.970 | 71.9 % |
The signals you need
- A running state: often a run bit and a fault bit, combined so the machine counts as running only when it is running and not in fault.
- A part counter from the machine.
- Good and reject counts, or the verdicts from an inspection station.
- The ideal cycle time, per part number if it changes.
- The shift calendar and which stops are planned.
- Downtime reasons, usually entered by the operator on a tablet or Andon screen.
Mistakes that make automatic OEE wrong
- Counter resets and roll-overs. PLC counters reset at shift change or wrap around at their maximum. Convert readings into increments, and never subtract a negative jump.
- Treating missing data as running. When the connection drops or a reading is stale, that time is "no data", not production. Counting it as running hides losses.
- Performance over 100 %. It means the ideal cycle time is wrong, not that the line is excellent. Fix the ideal cycle rather than capping the number silently.
- Counting a stop twice. A breakdown during lunch is planned time only. Each second of the shift should belong to exactly one category.
- Mixing quality sources. Use either the machine's good and reject counts or the inspection verdicts for one line, not both.
- Showing 0 % when data is missing. If a part of the calculation is missing, the result is incomplete. That is different from a real zero.
- Undocumented policies. Whether changeovers count as planned, how rework is counted and the minor-stop threshold all change the result. Agree them, write them down, and record any change.
Check it against a hand calculation
Before trusting automatic OEE, calculate a few shifts by hand from the same data and compare. Gorad's own pilot checklist for Line Performance asks for ten shifts within 2 % of a hand calculation on a real line, with every larger difference explained.
Connect safely
Read the PLC, do not write to it. A gateway that only reads tags, and keeps readings when the network drops so they can be sent later, gives you OEE data without any risk to machine control.