Fertigung
Produktionsplanung über Linien, Maschinen und Schichten
Ein Produktionsplan ist eine Folge von Arbeitsgängen, die um dieselben Maschinen konkurrieren, von Wartung unterbrochen und von den Schichten begrenzt, die ein Werk tatsächlich besetzt. SuperScheduler gibt der Planung eine Zeitleiste, um diese Folge zu sehen und anzupassen; die beste Folge zu finden, bleibt Aufgabe Ihrer Planungslogik.
Der Plan ist eine Kette, keine Liste
Ein Fertigungsauftrag bleibt selten auf einer Maschine. Teile werden zugeschnitten, dann bearbeitet, dann endbearbeitet und geprüft, und jeder Schritt wartet auf den vorherigen. Verschiebt die Planung einen Arbeitsgang, ist alles Nachgelagerte betroffen, und die Frage lautet nicht nur „Ist diese Maschine frei?“, sondern auch „Hält das noch Arbeitsplan und Liefertermin ein?“
Auch die Kapazität ist ungleich verteilt. Eine Linie läuft werktags vielleicht in drei Schichten und samstags in einer, eine Presse steht Donnerstagvormittag für eine geplante Wartung still, und der Wechsel von einer Produktfamilie zur nächsten kostet Rüstzeit. Ein Eilauftrag, der am Montag eingeschoben wird, verdrängt Arbeit, die anderen Kunden zugesagt war.
Die Planung muss Kette, Lücken und Belastung zugleich sehen – in einem Detailgrad, der von Stunden in der laufenden Schicht bis zu Wochen am Planungshorizont reicht.
Was die Planung in jeder Schicht entscheidet
- 01
Wo ein Eilauftrag hineinpasst
Wer dringende Arbeit einschiebt, entscheidet, welche Aufträge sich verspäten. Dafür müssen die nachgelagerten Arbeitsgänge und Liefertermine von allem sichtbar sein, was sich verschieben würde.
- 02
Die Reihenfolge einhalten
Ein Arbeitsgang darf nicht beginnen, bevor sein Vorgänger fertig ist, zuzüglich etwaiger Abkühl-, Aushärte- oder Transportzeit. Einen Schritt vorzuziehen, ist nur zulässig, wenn die Kette es erlaubt.
- 03
Um die Wartung herum planen
Geplante Wartung, Kalibrierung und Ausfälle nehmen eine Maschine für ein bestimmtes Zeitfenster aus dem Plan. Die Arbeit wandert auf eine gleichartige Maschine oder wartet.
- 04
Bündeln, um Umrüstungen zu sparen
Ähnliche Produkte nacheinander zu fertigen, spart Rüstzeit, kann aber andere Aufträge verzögern. Die Planung wägt Rüstkosten gegen Verspätung ab, und die Zeitleiste sollte beides sichtbar machen.
- 05
Die Belastung zwischen Schichten ausgleichen
Eine überlastete Nachtschicht neben einem ungenutzten Nachmittag ist in beide Richtungen ein Problem. Es Wochen im Voraus zu erkennen, ist leichter, als es am Tag selbst zu bemerken.
Die Fertigung abbilden
Planen Sie Arbeitsgänge, nicht Aufträge, und machen Sie die Auftragsnummer zu dem Feld, das sie zusammenhält.
- Ressourcen
- Bauen Sie einen Baum aus Werk, Linie und Maschine oder Arbeitsplatz, mit treePreventParentUsage, damit Linien als Überschriften dienen und Arbeitsgänge nur auf Maschinen landen. Spalten im Zeilenkopf können die Kennung des Arbeitsplatzes und seine Nennkapazität zeigen.
- Ereignisse
- Jeder Arbeitsgang ist ein Ereignis auf einer Maschine, mit Auftragsnummer, Produkt und Menge als eigenen Feldern. FinishToStart-Verknüpfungen verbinden aufeinanderfolgende Arbeitsgänge desselben Auftrags, und durationBarMode „PercentComplete“ mit dem Feld complete zeigt den Fortschritt, den die Fertigung zurückmeldet.
- Zeitskala
- Eine cellDuration von 480 Minuten ergibt drei Achtstundenschichten ab Mitternacht; für Schichten, die um 06:00 wechseln, bildet die Skala „Manual“ mit explizit definierten Zellen die tatsächlichen Grenzen des Werks ab. Ergänzen Sie eine Zoomstufe in Stunden für die laufende Schicht und eine in Wochen für den Planungshorizont.
- Regeln
- Kennzeichnen Sie Wartungsfenster als deaktivierte Zellen, damit sich keine Arbeitsgänge darin ablegen lassen. Prüfen Sie die Reihenfolge in onEventMoving, verschieben oder markieren Sie die Nachfolger nach dem Übernehmen und fassen Sie diese Änderungen zu einem Eintrag im Verlauf zusammen, damit ein einziges Rückgängig die Folge wiederherstellt. Füttern Sie die Minimap mit den gebuchten Stunden im Verhältnis zur Kapazität je Zeitabschnitt.
Zeitleiste und Planungssystem im Vergleich
- Hierarchische Zeilen für Werke, Linien und Maschinen
- Abhängigkeiten als Verknüpfungen zwischen Arbeitsgängen, die beim Verschieben an ihren Ereignissen haften bleiben
- Schraffierte Wartungsfenster, die das Ablegen verweigern, und Fortschrittsbalken nach Fertigstellungsgrad
- Ein Minimap-Streifen, der die von Ihnen berechnete Belastungsreihe zeichnet, mit Warn- und Gefahrenfarben
- Rückgängig und Wiederholen, mit mehreren Änderungen in einem Eintrag
- Arbeitspläne, Fertigungsaufträge, Schichtkalender und Rüstdaten aus Ihrem ERP oder MES
- Automatische Terminierung, Planung gegen begrenzte Kapazität oder Optimierung: Die Bibliothek legt keine Reihenfolge fest
- Der Umgang mit Vorgängern: ablehnen, warnen oder nachziehen
- Rückmeldungen aus der Fertigung, die Fortschritt und Istzeiten aktualisieren
- Persistenz, Berechtigungen und Konfliktbehandlung zwischen mehreren Planern
Funktionierende Beispiele
Wo Zeitleisten in der Fertigung scheitern
Erwarten, dass Verknüpfungen Nachfolger verschieben
Verknüpfungen werden aus Ihren Daten gezeichnet und folgen den Ereignissen, die sie verbinden, planen aber nichts um. Rutscht ein Vorgänger nach hinten, entscheidet Ihr Code, ob und um wie viel sich die Nachfolger mitbewegen.
Ein Balken pro Auftrag
Wer einen ganzen Auftrag als ein einziges Ereignis zeichnet, verbirgt, welche Maschine wann belegt ist. Konflikte, Wartungsfenster und Belastung ergeben nur pro Arbeitsgang Sinn.
Schichtzellen, die nicht zum Werk passen
An Mitternacht ausgerichtete Zellen sehen ordentlich aus, setzen einen Schichtwechsel um 06:00 aber an die falsche Stelle. Nutzen Sie explizit definierte Zellen, wenn Schichten nicht um Mitternacht beginnen.
Belastung an der Zahl der Ereignisse messen
Zehn kurze Arbeitsgänge und ein langer sind nicht dieselbe Belastung. Berechnen Sie für jeden Zeitabschnitt die gebuchten Stunden im Verhältnis zur Schichtkapazität und übergeben Sie diese Reihe an die Minimap.
Fragen
Kann SuperScheduler Fertigungsaufträge automatisch einplanen?
Nein. SuperScheduler legt keine Reihenfolge fest, optimiert nicht und gleicht keine Belastung aus. Er zeigt den Plan, den Ihre Anwendung oder Ihr Solver erzeugt, lässt die Planung ihn von Hand anpassen und meldet jede Änderung über Handler, damit Ihr System sie prüfen und neu berechnen kann.
Wie zeige ich Abhängigkeiten zwischen Arbeitsgängen in der Fertigung?
Übergeben Sie links, deren Felder from und to Ereignis-IDs sind. FinishToStart ist der Standardtyp; StartToStart, FinishToFinish und StartToFinish sind ebenfalls verfügbar. Verknüpfungen werden in den Daten definiert oder über die links-API des Controls hinzugefügt; mit der Maus zeichnen lassen sie sich nicht.
Wie sperre ich eine Maschine während einer geplanten Wartung?
Setzen Sie in onBeforeCellRender args.cell.properties.disabled für die Zellen dieser Maschine und dieses Zeitfensters auf true. Deaktivierte Zellen sind schraffiert und verweigern das Ablegen und Bereichsauswahlen. Setzen Sie cellsDisabled an der Ressource, um eine Maschine ganz aus dem Plan zu nehmen.
Kann die Zeitleiste Schichten statt Stunden zeigen?
Ja. Nutzen Sie scale „CellDuration“ mit 480-Minuten-Zellen für drei Schichten ab Mitternacht oder scale „Manual“ mit einem timeline-Array für Grenzen wie 06:00, 14:00 und 22:00. Eine Zoomstufe mit Stundenzellen hält die Details nur einen Schritt entfernt.
Die Forge-Demo ausprobieren
Forge, ein fiktives Werk, verschiebt einen Auftrag um ein Wartungsfenster herum, sodass Sie die Folge seiner verknüpften Arbeitsgänge und die berechnete Belastung verfolgen können. Alle Daten sind synthetisch.
Funktionierende Beispiele