Classifying machine breakdown and downtime causes in OmniMES
English translation of a contributor’s story. Read the Polish original →
OmniMES is our own MES system for production execution and monitoring factory machines. Operators report breakdowns and downtime in short notes. Cause codes are sometimes inaccurate or missing, reducing the quality of OEE data and analysis, while urgent failures wait longer than they should for a response.
Basal’s role: from the operator’s note and machine data — a JSON state containing signals and the ticket text — basal:
1. assigns a downtime cause from the plant’s code list;
2. assesses urgency;
3. decides whether to call maintenance immediately, accounting for both downtime cost and the cost of an unnecessary call-out.
At high confidence, the cause code is entered automatically. At low confidence, the operator receives two or three suggestions. We describe categories in the request, without training the model, so every factory can have its own vocabulary of causes.
Why basal: the system runs at customer plants, often on an internal network without cloud access, so the model must run locally. Operators’ notes are in Polish, and automation needs calibrated confidence and a fast response.
Status: planned deployment. The first step will be validation on historical downtime reports with actual cause codes, using the same script with which we compared basal and jev.