OEE for food manufacturing is often implemented on a false assumption: that a ready-made, standardized fault-code table exists to apply like a compliance checklist. The truth is the opposite — there is no unified, cross-vendor OEE fault-code standard for the food industry. Sepasoft MES reads a raw PLC state integer and maps it into a user-defined "Equipment State Class." AVEVA MES uses "Utilization Reasons" dynamically mapped per asset, with unconfigured codes falling back to "Unknown Reason." Other edge platforms map raw alarms into a three-tier classification tree through manually configured tables specific to each machine type.
This isn't a technology gap — it reflects the reality that ISO 22002/FSSC 22000 standards are revised periodically, so vendors deliberately keep their databases as flexible relational tables rather than hard-coding against a specific clause. The direct consequence: assigning specific fault codes to machine states is always plant-engineering work done at implementation time — there's no "correct" pre-built table to copy from elsewhere.
What OEE is and why Six Big Losses still holds up after 35+ years
The Six Big Losses framework (Nakajima, TPM, 1988) remains the standard classification foundation for OEE in food manufacturing: Equipment Failures/Breakdowns and Setup and Adjustments fall under Availability; Idling and Minor Stoppages plus Reduced Speed fall under Performance; Process Defects and Reduced Yield/Startup Rejects fall under Quality. What sets the food industry apart isn't the OEE formula itself — still Availability × Performance × Quality — but the specific loss types unique to food lines that carry food-safety meaning, not just pure performance meaning.
OEE for food manufacturing: the industry-specific fault codes that need correct classification
CIP/Sanitation Changeover and Allergen Changeover — same Setup group, different risk level
CIP (Clean-in-Place) and manual sanitation following T.A.C.T. parameters (Time-Action-Chemical-Temperature) fall under Setup and Adjustments in the Six Big Losses framework — planned downtime for a SKU change or routine cleaning. But Allergen Changeover — when a line switches from an allergen-containing product to one without — despite the same OEE category, requires a validated cleaning sequence with a swab-test confirmation before line clearance. If the OEE system lumps both types of downtime into a single "Setup" code, the operations team loses the ability to distinguish ordinary changeover time from time mandated for a food-safety validation step.
Metal-Detector/X-Ray Reject and False Reject — two phenomena that need clear separation
When a metal detector or X-ray unit rejects genuine physical contaminants (metal, glass, bone fragments) during stable running, that's Process Defects — under Quality. But when a clean product is rejected in error due to a product effect (moisture, salt content, acidity creating a false signal) or environmental noise (EMI, vibration), that's a False Reject — functionally closer to Idling and Minor Stoppages (under Performance), though many plants still misclassify it under Quality. Misclassifying these two makes the Quality metric look worse than reality when the real issue is sensor calibration.
Blocked and Starved State — classification depends on stoppage length
Blocked state (a downstream machine stops, preventing the current machine from discharging product) and Starved state (an upstream machine fails to supply enough product) have no fixed classification rule — if the stop is short, it falls under Minor Stoppages (Performance); if it lasts long enough to halt the whole line, it falls under Equipment Failure (Availability). This is a point the source research explicitly confirms: the time threshold for shifting from one category to the other is each plant's own convention, not a fixed industry standard — and it must be set once and applied consistently, not left to drift across lines within the same plant.
The engineer's lens: why "there's no unified standard" is useful information, not an obstacle
Many technical teams waste time searching for a "standard food-industry OEE fault-code table" to apply as-is — and end up frustrated when they can't find one. Understanding this reality correctly saves time spent searching in the wrong direction: instead of looking for a ready-made standard, the real work is choosing a vendor-neutral reference framework as the foundation (PackML/ISA-TR88.00.02 for the machine-state model, ISA-95/IEC 62264 for the MES/CMMS boundary, ISO 22400 for the KPI formulas), then building a specific fault-code table matching the plant's real equipment — with one non-negotiable condition: the convention must stay consistent across every line, not left to each line to invent its own rules.
PackML defines 17 machine states (Stopped, Starting, Idle, Suspended, Execute, Holding, Held, Completing, Completed, Resetting, Clearing, Aborting, Aborted, Stopping...) plus 4 operating modes (Production, Maintenance, Manual, Change Over) — this is OMAC's official standard, not any single vendor's initiative. In Europe, the Weihenstephan Standards (WS Pack, from TU München) go further still: contractually mandatory when buying equipment from Krones or KHS, with pre-defined KPI calculations and standardized downtime classification.
Illustrative scenario: standardizing fault codes across lines
This is an illustrative scenario for a common type of problem in the industry, not a specific case from any named plant: a plant runs three independent packaging lines, each with a shift lead defining fault codes by habit — Line A calls a backpressure state "Blocked," Line B calls the same phenomenon "Downstream Full," Line C doesn't separate it at all and lumps it into "Other." When rolling up a plant-wide OEE report, these three naming conventions can't be compared side by side, making it impossible to identify which line has the most severe blocking problem — until a shared fault-code convention is mandated across all three lines.
Reference table: fault code — Six Big Losses group — OEE component — convention to lock down
| Fault code/state | Six Big Losses group | OEE component | Plant convention to lock down |
|---|---|---|---|
| CIP/Sanitation Changeover | Setup and Adjustments | Availability | Separate from Allergen Changeover despite same group |
| Allergen Changeover | Setup and Adjustments | Availability | Must require a swab-validation step, no shared code |
| Metal-Detector/X-Ray Reject | Process Defects | Quality | Only count genuine contaminant removal, exclude false rejects |
| Metal-Detector/X-Ray False Reject | Idling/Minor Stoppages (site-dependent) | Performance (or Quality) | Decide once, apply consistently across every line |
| Blocked State | Minor Stoppages or Equipment Failure | Performance or Availability | Set a clear time threshold for reclassification |
| Starved State | Minor Stoppages or Equipment Failure | Performance or Availability | Same threshold as Blocked State |
Conclusion
"The problem isn't that a food-industry OEE fault-code standard hasn't been found yet — the problem is that it doesn't exist, and accepting that early saves months of looking for something that isn't there."
Four things worth doing this week if you're running or evaluating an OEE system at a food plant:
- Check whether Allergen Changeover is currently lumped into the same code as ordinary CIP/Sanitation Changeover.
- Confirm whether metal-detector/X-ray False Rejects are separated from genuine rejects, or are skewing your Quality metric.
- Lock down, once, the time threshold separating a Minor Stoppage from an Equipment Failure for Blocked/Starved states, applied to every line.
- Compare the current fault-code tables across your lines — if three lines use three different names for the same phenomenon, that's what needs standardizing before a plant-wide OEE rollup means anything.