Smart Manufacturing

OEE vs. TEEP vs. OOE: Welche Kennzahl sollten Sie verwenden?

OEE, OOE und TEEP teilen sich die Faktoren Leistung und Qualität, beziehen sich aber auf unterschiedliche Zeitbasen. Dieser Vergleich rechnet ein Beispiel durch und listet die MQTT-Signale, die jede Kennzahl benötigt.

Illustration zum Vergleich OEE vs. TEEP mit Kalenderzeit, Betriebszeit und geplanter Produktionszeit als verschachtelte Balken und der jeweiligen Kennzahl daneben
Probieren Sie es auf Ihrem eigenen MQTT-Broker ausHolen Sie sich im Free-Tarif einen privaten, verwalteten MQTT-Broker und starten Sie mit fertigen Codebeispielen.
Kostenlos testen Codebeispiele Keine Kreditkarte erforderlich

Die Frage OEE vs. TEEP stellt sich, sobald ein Werk wissen will, ob es mehr Maschinen braucht oder die vorhandenen nur besser nutzen muss. Alle drei hier behandelten Kennzahlen – OEE, OOE und TEEP – verwenden dieselben Faktoren für Leistung und Qualität; unterschiedlich ist nur die Zeit, auf die sie sich beziehen. Dieser Artikel erklärt jede Kennzahl, zeigt an einem einzigen Beispiel, wie weit sie auseinanderliegen können, und listet die MQTT-Signale, die Sie brauchen, um alle drei automatisch zu berechnen.

Die kurze Antwort

  • OEE misst, wie gut Sie die Zeit nutzen, in der Sie produzieren wollten. Nutzen Sie sie, um den Betrieb in der Halle zu verbessern.
  • OOE misst, wie gut Sie die Zeit nutzen, in der der Betrieb geöffnet ist, einschließlich geplanter Stopps innerhalb dieser Zeit. Nutzen Sie sie, wenn Pausen, Besprechungen und geplante Wartung selbst reduziert werden sollen.
  • TEEP misst, wie gut Sie die gesamte verfügbare Zeit nutzen, jede Stunde jedes Tages. Nutzen Sie sie für Kapazitäts- und Investitionsentscheidungen.

Wenn Sie ein Verbesserungsprogramm an einer Linie fahren, ist OEE die richtige tägliche Kennzahl. Wenn jemand kurz davor ist, eine weitere Maschine zu kaufen, schauen Sie zuerst auf TEEP.

Die Zeitbasen im Vergleich

Jede Kennzahl teilt die produktive Zeit durch einen anderen Nenner:

Zeitschicht Was sie umfasst Kennzahl, die sie nutzt
Kalenderzeit Jede Stunde, 24 Stunden am Tag, 7 Tage die Woche TEEP
Betriebszeit Stunden, in denen Werk oder Linie besetzt und geöffnet sind OOE
Geplante Produktionszeit Betriebszeit minus geplante Stopps (Pausen, geplante Wartung, Besprechungen) OEE
Laufzeit Geplante Produktionszeit minus ungeplante Stopps Zähler der Verfügbarkeit
Netto-Laufzeit Laufzeit, bereinigt um Geschwindigkeitsverluste Zähler der Leistung
Voll produktive Zeit Netto-Laufzeit, in der nur Gutteile entstehen Zähler aller drei Kennzahlen

Damit lauten die Formeln:

  • OEE = Voll produktive Zeit / Geplante Produktionszeit
  • OOE = Voll produktive Zeit / Betriebszeit
  • TEEP = Voll produktive Zeit / Kalenderzeit

TEEP lässt sich auch als OEE x Belegungsgrad schreiben, wobei Belegungsgrad (Loading) = Geplante Produktionszeit / Kalenderzeit. Diese Form ist nützlich, weil sie zwei Fragen trennt: Wie gut laufen wir, wenn wir laufen (OEE), und wie stark planen wir die Anlage ein (Belegungsgrad)?

Ein Rechenbeispiel, drei Antworten

Betrachten wir eine Maschine über eine Woche:

  1. Kalenderzeit: 7 Tage x 24 Stunden = 168 Stunden.
  2. Betriebszeit: zwei Schichten à 8 Stunden, fünf Tage pro Woche = 80 Stunden.
  3. Geplante Stopps innerhalb der Betriebszeit: Pausen und Besprechungen von 1 Stunde pro Schicht = 10 Stunden, dazu 4 Stunden geplante Wartung. Insgesamt 14 Stunden.
  4. Geplante Produktionszeit: 80 - 14 = 66 Stunden.
  5. Ungeplante Stopps: 8 Stunden Störungen und Rüstvorgänge. Laufzeit = 58 Stunden.
  6. Leistung: 90 Prozent. Qualität: 97 Prozent.

Voll produktive Zeit = 58 x 0,90 x 0,97 = 50,6 Stunden.

  • OEE = 50,6 / 66 = 76,7 Prozent
  • OOE = 50,6 / 80 = 63,3 Prozent
  • TEEP = 50,6 / 168 = 30,1 Prozent

Dieselbe Maschine, dieselbe Woche, drei sehr unterschiedliche Zahlen. Keine davon ist falsch. OEE sagt, dass die Halle die geplanten Stunden recht gut nutzt. OOE sagt, dass geplante Stopps einen spürbaren Teil der Öffnungszeit kosten. TEEP sagt, dass die Anlage weniger als ein Drittel ihrer Existenzzeit Gutteile produziert – das Werk hat also reichlich versteckte Kapazität, bevor es eine weitere Maschine braucht: Eine dritte Schicht oder Wochenendbetrieb würde weit mehr Ausbringung bringen als jedes Verbesserungsprojekt.

Wann Sie welche Kennzahl verwenden

Nutzen Sie OEE, wenn Sie Verluste reduzieren wollen, die Bedienpersonal, Instandhaltung und Engineering während der Schicht beeinflussen können: Störungen, Rüstvorgänge, Kurzstopps, Geschwindigkeit und Ausschuss. Sie ist die richtige Kennzahl für Shopfloor-Meetings und Linientafeln. Die ausführliche Berechnung finden Sie unter OEE berechnen.

Nutzen Sie OOE, wenn geplante Stopps selbst ein Ziel sind. Beispiele sind versetzte Pausen, damit die Linie weiterläuft, kürzere Schichtübergaben oder das Verlegen geplanter Wartung in betriebsfreie Zeiten. OEE kann diese Gewinne nicht zeigen, weil geplante Stopps aus ihrem Nenner herausfallen.

Nutzen Sie TEEP, wenn es um Kapazität geht: Anlagen kaufen, Schichten ergänzen, auslagern oder einen großen neuen Auftrag annehmen. Eine niedrige TEEP bei ordentlicher OEE bedeutet meist, dass die Planung und nicht die Anlage der Engpass ist.

Typische Fallen:

  1. OEE zwischen Werken mit unterschiedlichen Regeln für geplante Stopps vergleichen. Ein Werk zählt Rüstvorgänge als geplant und meldet eine höhere OEE, ohne besser zu sein. OOE deckt das auf.
  2. TEEP an die Halle berichten. Bedienpersonal kann ungeplante Wochenenden nicht beeinflussen; als Schichtkennzahl wirkt TEEP demotivierend.
  3. Verluste nach „geplant“ verschieben, um die OEE zu verbessern. Steigt die OEE, während die OOE stagniert, prüfen Sie, was umklassifiziert wurde.

Die MQTT-Signale, die jede Kennzahl braucht

Die gute Nachricht: Alle drei Kennzahlen entstehen aus denselben Daten, sofern Stopps korrekt klassifiziert werden. Publizieren Sie pro Maschine:

Signal Beispiel-Topic-Suffix OEE OOE TEEP
Maschinenzustand (RUNNING, DOWN, IDLE, SETUP) /state Ja Ja Ja
Gesamt- und Ausschusszähler /counts Ja Ja Ja
Ideale Taktzeit pro Produkt /config Ja Ja Ja
Kennzeichen für geplanten Stopp mit Grund (Pause, Wartung, Besprechung) /state als PLANNED_STOP oder /reason Ja Ja Ja
Schichtkalender (Betriebsstunden) /schedule Nein Ja Nein
Kennzeichen „nicht eingeplant“ (keine Schicht, keine Aufträge) /state als NOT_SCHEDULED Nein Nein Ja

Entscheidend ist die Klassifizierung der Nicht-Laufzeit. Meldet eine nachts stillstehende Maschine einfach STOPPED, können Sie eine ungeplante Störung nicht von einem unbesetzten Wochenende unterscheiden. Publizieren Sie entweder NOT_SCHEDULED aus einem Schichtkalender-Dienst, oder lassen Sie den Berechnungsdienst den Kalender anwenden. Klare Stillstandsgründe mit einer eigenen Kategorie „Geplant“ machen diese Zuordnung zuverlässig.

In einem Unified Namespace (UNS) hängen diese Suffixe an der ISA-95-Hierarchie Ihres Werks: Unternehmen → Standort → Bereich → Linie → Maschine wird zur Topic-Struktur auf dem Broker, etwa acme/werk-stuttgart/presswerk/linie-1/presse-02/state. So können OEE-, OOE- und TEEP-Dienste dieselben Signale für eine Maschine, eine Linie oder ein ganzes Werk abonnieren. Wie das mit Sparkplug B zusammenspielt, zeigt der Beitrag Sparkplug B und Unified Namespace.

Alle drei Kennzahlen in Python berechnen

Aus den Zustandsdauern eines Zeitraums liefert diese Funktion alle drei Kennzahlen. Sie ist für einen Dienst gedacht, der die Zustands- und Zähler-Topics abonniert, wie im Tutorial zum Echtzeit-OEE-Monitoring.

def time_metrics(durations_s, total_count, reject_count, ideal_cycle_s):
    """durations_s: seconds per state over the period, e.g.
    {"RUNNING": ..., "DOWN": ..., "SETUP": ..., "PLANNED_STOP": ..., "NOT_SCHEDULED": ...}"""
    calendar = sum(durations_s.values())
    operations = calendar - durations_s.get("NOT_SCHEDULED", 0)
    planned = operations - durations_s.get("PLANNED_STOP", 0)
    run = durations_s.get("RUNNING", 0)
    if run <= 0 or total_count <= 0:
        return {"oee": 0.0, "ooe": 0.0, "teep": 0.0, "loading": 0.0}

    performance = min(ideal_cycle_s * total_count / run, 1.0)
    quality = (total_count - reject_count) / total_count
    productive = run * performance * quality
    return {
        "oee": round(productive / planned, 4),
        "ooe": round(productive / operations, 4),
        "teep": round(productive / calendar, 4),
        "loading": round(planned / calendar, 4),
    }


hours = 3600
week = {
    "RUNNING": 58 * hours,
    "DOWN": 5 * hours,
    "SETUP": 3 * hours,
    "PLANNED_STOP": 14 * hours,
    "NOT_SCHEDULED": 88 * hours,
}
# 58 h run, 90 % performance -> ideal output = 58 h * 0.9 at 2 s per part
total = int(58 * hours * 0.9 / 2.0)
reject = round(total * 0.03)
print(time_metrics(week, total, reject, 2.0))

Die Ausgabe reproduziert das Beispiel: OEE etwa 0,767, OOE etwa 0,633, TEEP etwa 0,301 und Belegungsgrad etwa 0,393. Publizieren Sie das Ergebnis als eine retained message pro Maschine und Zeitraum, damit Dashboards jeder Zielgruppe die passende Kennzahl zeigen können.

Um den Datenfluss auszuprobieren, publizieren Sie Testzustände unter Ihrem eigenen Präfix an den Öffentlichen MQTT-Broker unter broker.connectmq.com:

mosquitto_pub -h broker.connectmq.com -p 1883 -i teep-test-w2k8 -r -t "connectmq/demo/w2k8/plant1/line1/press02/state" -m '{"state":"NOT_SCHEDULED","ts":1792200000}'

Die Pipeline betreiben

Die Kennzahlen sind nur so gut wie der Ereignisstrom dahinter, deshalb muss der Broker zuverlässig und privat sein. Ein Schichtkalender-Dienst, der NOT_SCHEDULED publiziert, Gateways, die Zustände und Zähler publizieren, und ein Berechnungsdienst, der Ergebnisse publiziert, können sich als gewöhnliche MQTT-Clients einen ConnectMQ-Broker teilen. ConnectMQ ist ein verwalteter MQTT-Broker, bei dem jedes Gateway und jeder Berechnungsdienst eigene Zugangsdaten über TLS erhält, und als Cloud-MQTT-Broker betrieben erhalten Werks- und Konzernteams eine gemeinsame Quelle für OEE, OOE und TEEP. Der Leitfaden zur Smart Manufacturing erklärt, wie diese Kennzahlen neben Qualitäts-, Energie- und Instandhaltungsdaten in Industrie-4.0-Architekturen ihren Platz finden.

Mit ConnectMQ starten

Legen Sie unter app.connectmq.com einen kostenlosen Serverless-Broker an, ohne Kreditkarte, publizieren Sie klassifizierte Maschinenzustände und Zähler und berechnen Sie OEE, OOE und TEEP aus denselben Live-Daten.

Häufig gestellte Fragen

Ist die TEEP immer niedriger als die OEE?

Ja, höchstens gleich. Die TEEP teilt dieselbe produktive Zeit durch die Kalenderzeit, die nie kürzer ist als die geplante Produktionszeit.

Was ist der Unterschied zwischen OOE und OEE?

Die OOE nutzt die Betriebszeit als Basis, sodass geplante Stopps wie Pausen und geplante Wartung als Verluste zählen. Die OEE schließt sie aus.

Welche Kennzahl gehört auf die Linientafel?

Die OEE mit ihren drei Faktoren. Sie spiegelt Verluste wider, die die Schicht beeinflussen kann; die TEEP gehört in Kapazitäts- und Investitionsbesprechungen.

Brauche ich für die TEEP zusätzliche Sensoren?

Nein. Sie benötigen dieselben Maschinenzustände und Zähler wie für die OEE, plus eine klare NOT_SCHEDULED-Klassifizierung aus einem Schichtkalender.

Verwandte Artikel

Alle Artikel →

Ihr privater MQTT-Broker ist nur wenige Klicks entfernt

Konto anlegen, Broker-Zugangsdaten erhalten und das erste Gerät verbinden — ohne Server, die installiert, gepatcht oder skaliert werden müssen.