MES-Daten für Kapazitätsplanung nutzen: Auslastung steuern
Wie mittelständische Fertigungsbetriebe MES-Daten in Echtzeit in die Kapazitätsplanung einspeisen, Engpässe vermeiden und Durchlaufzeiten senken.
Von Learoy Eichholz
Das Problem: Planung auf Basis veralteter Zahlen
Viele mittelständische Fertigungsbetriebe kennen die Situation: Die Kapazitätsplanung arbeitet mit Tabellen, die einmal pro Woche manuell befüllt werden. Wenn am Mittwoch eine Maschine ausfällt oder ein Großauftrag hereinkommt, bleibt die Planungstabelle unverändert. Die Folge sind Engpässe, die erst erkannt werden, wenn der Liefertermin bereits gefährdet ist, oder Leerlauf, der zu spät für eine Umplanung auffällt.
MES-Systeme erfassen Maschinenzustände, Auftragsstatus und Taktzeiten in Echtzeit. Diese Daten bleiben jedoch oft im MES isoliert oder landen in manuellen Excel-Exporten. Die eigentliche Kapazitätsplanung läuft parallel in einem ERP oder in separaten Planungstools, ohne direkten Zugriff auf aktuelle Produktionsdaten.
Eine automatisierte Pipeline, die MES-Daten kontinuierlich auswertet und in die Kapazitätsplanung einspeist, schließt diese Lücke. Sie ermöglicht es, Auslastung, Durchlaufzeiten und Engpässe auf Basis aktueller Ist-Werte zu steuern, statt auf Schätzungen oder Wochenberichte zu warten.
Was MES-Daten für Kapazitätsplanung liefern
Ein MES (Manufacturing Execution System) erfasst typischerweise folgende Informationen:
- Maschinenzustände: Laufend, Stillstand, Rüsten, Störung. Diese Zustände werden mit Zeitstempel protokolliert.
- Auftragsstatus: Gestartet, in Bearbeitung, abgeschlossen, pausiert. Jeder Status wird einem Auftrag und einer Maschine zugeordnet.
- Taktzeiten und Stückzahlen: Geplante und tatsächliche Taktzeit, produzierte Menge, Ausschuss.
- Rüstzeiten: Beginn und Ende von Umrüstvorgängen, oft manuell oder sensorgestützt erfasst.
Für die Kapazitätsplanung sind vor allem die aktuellen und prognostizierten Maschinenbelegungen relevant. Eine Pipeline extrahiert diese Daten über die MES-Schnittstelle, berechnet daraus verfügbare Kapazitäten pro Maschine oder Arbeitsplatzgruppe und stellt sie dem Planungssystem zur Verfügung.
Pipeline-Architektur: Vom MES zur Planungstabelle
Die Pipeline besteht typischerweise aus vier Schritten:
- Datenextraktion: Anbindung des MES über REST-API, OPC UA oder Datenbankabfrage. Viele MES-Systeme bieten RESTful APIs, die Maschinenzustände und Auftragsdaten im JSON-Format liefern. OPC UA wird häufig eingesetzt, wenn Echtzeit-Maschinendaten direkt von SPS oder Edge-Gateways abgerufen werden sollen.
- Transformation: Berechnung der verfügbaren Kapazität pro Zeitfenster. Beispielsweise wird aus den Maschinenzuständen der letzten Schicht die Nettolaufzeit ermittelt, indem Stillstands- und Rüstzeiten abgezogen werden. Daraus ergibt sich die tatsächliche Produktionszeit.
- Aggregation: Gruppierung nach Maschine, Arbeitsplatzgruppe oder Schicht. Die Pipeline aggregiert die Daten auf die Granularität, die das Planungssystem benötigt, etwa stündliche oder schichtweise Kapazitäten.
- Übergabe: Schreiben der Kapazitätsdaten in das ERP, ein APS-System (Advanced Planning and Scheduling) oder eine zentrale Planungsdatenbank. Je nach Zielplattform erfolgt die Übergabe per API-Call, CSV-Import oder direktem Datenbankschreibzugriff.
Workflow-Plattformen wie n8n oder Make können diese Schritte orchestrieren. n8n bietet HTTP-Request-Nodes für API-Calls, Function-Nodes für Berechnungen in JavaScript und Database-Nodes für PostgreSQL oder MySQL. Für rechenintensive Transformationen kann ein dedizierter Python-Microservice sinnvoll sein, der von der Workflow-Plattform aufgerufen wird.
Konkrete Umsetzung: Kapazität pro Schicht berechnen
Ein typisches Szenario ist die Berechnung der verfügbaren Kapazität je Maschine und Schicht. Das MES liefert dazu Maschinenzustände als Zeitreihe. Die Pipeline ruft alle fünf Minuten die aktuellen Zustände ab, summiert die Laufzeiten pro Schicht und schreibt das Ergebnis in eine Planungstabelle.
Schritt 1: Daten abrufen
Ein HTTP-Request-Node in n8n ruft die Maschinenzustände ab:
GET https://mes.beispiel.de/api/v1/machine-states?from=2026-10-15T06:00:00&to=2026-10-15T14:00:00
Die Antwort enthält eine Liste von Zustandswechseln mit Zeitstempel, Maschinen-ID und Zustand.
Schritt 2: Laufzeiten berechnen
Ein Function-Node in JavaScript iteriert über die Zustände, summiert die Dauer aller “Laufend”-Phasen pro Maschine und zieht Stillstands- und Rüstzeiten ab. Das Ergebnis ist die Nettolaufzeit in Minuten.
Schritt 3: In Planungstabelle schreiben
Ein PostgreSQL-Node schreibt die berechneten Werte in eine Tabelle, die das ERP oder APS-System liest:
INSERT INTO kapazitaetsplan (maschine_id, schicht, nettolaufzeit_min, datum)
VALUES ('M-101', 'Früh', 420, '2026-10-15')
ON CONFLICT (maschine_id, schicht, datum) DO UPDATE SET nettolaufzeit_min = EXCLUDED.nettolaufzeit_min;
Das ERP greift auf diese Tabelle zu und zeigt die aktuelle Auslastung in der Planungsmaske an.
Engpässe erkennen und priorisieren
Neben der reinen Kapazität ist die frühzeitige Erkennung von Engpässen entscheidend. Die Pipeline kann laufende Aufträge mit der verbleibenden Kapazität vergleichen. Wenn die Summe der geplanten Bearbeitungszeiten die verfügbare Kapazität einer Maschine übersteigt, wird ein Engpass erkannt.
Eine einfache Regel:
- Hole alle offenen Aufträge, die einer Maschine zugeordnet sind.
- Summiere die noch verbleibende Bearbeitungszeit je Auftrag.
- Vergleiche diese Summe mit der verfügbaren Kapazität bis zum frühesten Liefertermin.
Übersteigt die Summe die Kapazität, erzeugt die Pipeline eine Warnung. Diese kann per E-Mail an den Fertigungsleiter gehen oder als Flag in der Planungsmaske erscheinen. So bleibt Zeit, Aufträge umzuplanen oder Überstunden einzuplanen.
Rechenbeispiel: Auslastung einer Maschine über eine Woche
Angenommen, eine Drehmaschine M-101 hat folgende Kapazität:
- Schichtmodell: zwei Schichten zu je acht Stunden, also 16 Stunden pro Tag.
- Verfügbarkeit: Die Pipeline ermittelt aus den MES-Daten eine durchschnittliche Nettolaufzeit von 14 Stunden pro Tag (zwei Stunden Rüsten und Stillstand abgezogen).
- Offene Aufträge: fünf Aufträge mit je 18 Stunden verbleibender Bearbeitungszeit, insgesamt 90 Stunden.
Bei 14 Stunden Nettolaufzeit pro Tag dauert die Abarbeitung 6,4 Tage. Liegt der früheste Liefertermin in fünf Tagen, entsteht ein Engpass von 1,4 Tagen.
Die Pipeline meldet diesen Engpass an das Planungssystem. Der Fertigungsleiter kann nun einen Auftrag verschieben, Überstunden anordnen oder eine zweite Maschine einplanen. Ohne automatisierte Auswertung würde der Engpass erst bei der wöchentlichen Planungsbesprechung auffallen, wenn Liefertermine bereits in Gefahr sind.
Was in der Praxis scheitert
Viele Pilotprojekte zur Kapazitätsplanung mit MES-Daten scheitern an drei Punkten:
1. Unklare Zuordnung von Aufträgen zu Maschinen
Wenn das MES Aufträge nicht eindeutig einer Maschine zuordnet oder Auftragsnummern zwischen MES und ERP nicht synchronisiert sind, kann die Pipeline Kapazität und Bedarf nicht korrekt verknüpfen. Eine Stammdatenpflege, die sicherstellt, dass Auftragsnummern und Maschinen-IDs in beiden Systemen identisch sind, ist Voraussetzung.
2. Fehlende Granularität bei Rüstzeiten
Rüstzeiten werden oft pauschal geschätzt statt gemessen. Wenn das MES Rüstvorgänge nicht separat erfasst, rechnet die Pipeline mit falschen Kapazitäten. Hier hilft eine manuelle Erfassung über Terminals oder Tablets, die Rüstbeginn und Rüstende buchen.
3. Keine Rückkopplung ins ERP
Die Pipeline berechnet korrekte Kapazitäten, aber das ERP oder APS-System kann die Daten nicht importieren. Häufig fehlt eine standardisierte Schnittstelle. In diesem Fall ist ein CSV-Export mit nachgelagertem Import-Job eine pragmatische Lösung, auch wenn er nicht in Echtzeit arbeitet.
Durchlaufzeiten senken durch dynamische Planung
Eine Kapazitätsplanung, die auf aktuellen MES-Daten basiert, ermöglicht es, Aufträge dynamisch umzuplanen. Wenn eine Maschine früher fertig wird als geplant, kann die Pipeline den nächsten Auftrag automatisch freigeben. Das senkt die Durchlaufzeit, weil Wartezeiten zwischen Aufträgen verkürzt werden.
Eine einfache Logik:
- Wenn ein Auftrag den Status “Abgeschlossen” erhält, prüfe, ob die Maschine frei ist.
- Hole den nächsten Auftrag aus der Warteschlange, der für diese Maschine vorgesehen ist.
- Sende eine Freigabe an das MES oder an ein Terminal in der Fertigung.
Diese Logik kann in wenigen Workflow-Nodes abgebildet werden. Sie ersetzt manuelle Rücksprachen zwischen Schichtleiter und Planung und reduziert Stillstandszeiten.
Integration mit APS-Systemen
Viele mittelständische Betriebe setzen neben ERP und MES ein APS-System für die Feinplanung ein. APS-Systeme optimieren die Auftragsreihenfolge unter Berücksichtigung von Kapazitäten, Lieferterminen und Rüstzeiten. Eine Pipeline, die MES-Daten liefert, verbessert die Planungsqualität, weil das APS-System auf Ist-Werte statt auf geschätzte Kapazitäten zugreift.
Die Anbindung erfolgt typischerweise über eine Datenbankschnittstelle oder eine REST-API. Viele APS-Systeme bieten einen Import-Endpunkt, der Kapazitätsdaten im JSON- oder XML-Format entgegennimmt. Die Pipeline schreibt die Daten in diesem Format und triggert den Import-Job des APS-Systems.
Hosting und Betrieb der Pipeline
Eine Kapazitätsplanungs-Pipeline läuft kontinuierlich, typischerweise auf einem lokalen Server oder in einer EU-Cloud. n8n kann als Docker-Container auf einem Linux-Server betrieben werden. Für einen Betrieb mit zehn Maschinen und stündlicher Aktualisierung ist ein Server mit vier CPU-Kernen und acht Gigabyte RAM ausreichend.
Die Pipeline sollte überwacht werden. n8n bietet ein integriertes Execution-Log, das fehlgeschlagene Workflow-Läufe protokolliert. Für größere Installationen kann ein externes Monitoring-Tool wie Prometheus und Grafana sinnvoll sein, das Metriken zur Ausführungszeit und Fehlerrate sammelt.
Backups der Workflow-Definitionen sollten täglich erfolgen. n8n speichert Workflows in einer SQLite- oder PostgreSQL-Datenbank. Ein nächtlicher Datenbank-Dump, der auf einem separaten Backup-Server abgelegt wird, sichert den Stand der Konfiguration.
Datenschutz und Zugriffskontrolle
MES-Daten enthalten in der Regel keine personenbezogenen Daten, solange keine Mitarbeiterzuordnung zu einzelnen Maschinenbelegungen erfolgt. Wenn das MES jedoch Bediener-IDs oder Schichtleiter protokolliert, gelten die Vorgaben der DSGVO. In diesem Fall sollte die Pipeline nur aggregierte Kapazitätsdaten ohne Personenbezug weitergeben.
Zugriff auf die Pipeline sollte rollenbasiert erfolgen. n8n bietet ab Version 1.0 ein Rechte-Management, das Workflows nach Benutzergruppen trennt. Für den Zugriff auf das MES sollte ein Service-Account mit Leserechten eingerichtet werden, der nur auf die benötigten Endpunkte zugreifen darf.
Nächster Schritt: Datenfluss dokumentieren
Bevor die Pipeline produktiv geht, sollte der Datenfluss dokumentiert werden. Ein Datenfluss-Diagramm zeigt, welche Systeme Daten liefern, welche Transformationen erfolgen und wohin die Ergebnisse geschrieben werden. Diese Dokumentation ist nicht nur für Wartung und Fehlersuche hilfreich, sondern auch für DSGVO-Nachweise erforderlich, wenn personenbezogene Daten verarbeitet werden.
Wenn Sie MES-Daten für die Kapazitätsplanung nutzen möchten und Unterstützung bei Architektur, Schnittstellen oder Betrieb benötigen, sprechen Sie uns an.
Sprechen Sie mit uns
Sie möchten das in Ihrem Betrieb umsetzen? Wir bauen die passende Maschine mit Ihnen.
Telefon: 040 468 967 680
E-Mail: info@whitefox-automations.com
Oder über unser Kontaktformular.
Wenn Sie das praktisch umsetzen wollen
Auch interessant
- 3. Sept. 2026 8 Min. Lesezeit
MES-Integration: Produktionsdaten nahtlos in Ihre Pipeline
Weiterlesen - 21. Okt. 2026 8 Min. Lesezeit
Produktionskapazität planen: MES-Daten in Echtzeit nutzen
Weiterlesen - 3. Okt. 2026 7 Min. Lesezeit
Produktionsplanung mit KI: Bedarfsprognose statt Bauchgefühl
Weiterlesen