Produktionsvorschlag mit Auflösung nach TOC
Zusammenfassung
Wir wollen die SMT Maschinen optimal auslasten und anhand der (manuellen) Reihung alles rundherum planen
Nutzen/Ziel
Optimale Auslastung aller, in diesem Falle, SMT Linien
Modul, Maske, Terminal, API-Aufruf, Bericht
Ev. ist dies im Los ein eigener unterer Reiter, Produktionsvorschlag, oder im unteren Reiter offene AGs ein zusätzlicher 4.oberer Reiter
Ausführliche Erklärung
Es geht darum, dass die SMT Maschinen (das kann bei einem Metallverarbeiter aber auch z.B. der Laser sein) optimal ausgelastet werden. Üblicherweise werden die hier durchzuführenden Arbeitsgänge quasi lückenlos aneinander angefügt. Was technologisch die vernünftigste Reihenfolge ist, wird üblicherweise vom Prozessverantwortlichen (dem/der Wissenden) manuell bestimmt. Der Planungshorizont ist üblicherweise eine Woche, in einzelnen Fällen ein Monat. Wichtig ist dazu die Information, wie der Verfügbarkeitsstatus des Materials, ev. eine bestimmten Materialgruppe (in dem Falle des SMT Materials) ist. Es macht keinen Sinn, eine Produktion einzuplanen, wenn das Material dafür nicht da ist. Aber: bei der etwas längerfristigen Planung muss ich auch Lose, genauer deren Arbeitsgänge, berücksichtigen deren Material heute noch nicht da ist, aber bis in 3-4Wochen kommen wird. Es gibt bereits ein erstes Muster mit einem Report, der die weiteren Wünsche aufgezeigt hat. Daher und da die Planung normalerweise "nur" täglich durchgeführt wird, sollte dies eine Berechung ähnlich dem Bestellvorschlag sein. Daher sollte diese Berechnung auch als Automatikjob zur Verfügung stehen.
D.h. es wird davon ausgegangen, dass alle Lose angelegt sind. Sie müssen zumindest im Status Ausgegeben, aber noch nicht in Produktion(?) und auch nicht Teilerledigt(?), sein (auswählbar), da damit sichergestellt ist, dass das Material vollständig ist. Das vollständig kann sich auf Materialgruppen, welche anhand von Artikelklassen definiert werden (nur SMT Material) einschränken.
Für die Vorschlagsberechnung wird ein Dialog gestartet, in den die zu definierenden Kriterien, vor allem Maschinengruppe, abgefragt werden. Diese Kriterien können über Parameter vorbesetzt werden. Wichtig: Es werden immer alle Arbeitsgänge die dem Hauptfilter (Maschinengruppe, bzw. Tätigkeits-Artikelgruppe) entsprechen und deren Lose nicht storniert und nicht vollständig erledigt, sind betrachtet. Ob die Filterung auf in Produktion bzw. Teilerledigt bzw. nur angelegt bei der Berechnung erfolgt, oder beim Arbeiten, muss ob der Menge der Daten noch definiert werden. Wichtig: Die gewählten Parameter müssen, wie im Bestellvorschlag, im Zuletzt erzeugt mit, abgelegt werden. Es sollte auch einen Druck geben, wobei wir als erstes dafür den FLR Druck verwenden wollen.
Das Ergebnis der Berechnung geht IMMER vom Arbeitsgang Beginn des jeweiligen Arbeitsganges aus. D.h. die Reihung, welche auch in der Vorschlagstabelle eingetragen wird, ergibt sich aus den Arbeitsgangbeginnterminen, inkl. der Millisec. Versatz. Doppelte werden so gereiht, dass die kleinere Losnummer zuerst kommt. Siehe unten erneuter Durchlauf.
Nun werden die sich, ausschließlich aus der Reihung ergebenden benötigten Stunden der Reihe nach den verfügbaren Stunden gegenübergestellt. Die verfügbaren Stunden ergeben sich aus dem Maschinenzeitmodell der jeweiligen Maschine in dem auch die Wochentage, Feiertage und der Betriebsurlaub mit berücksichtigt werden müssen. Es kann ein einzelner Arbeitsgang auch mehrere Tage diese eine Maschine in Anspruch nehmen (Dann dauert er halt so lange (über das Wochenende usw.). Wir brauchen auch die Info, dass dieser Arbeitsgang ein Erstlos ist. Denn das bedeutet, dass dieses nur in der Tagschicht (wenn die Spezialisten im Hause sind) gemacht werden kann. Nun sieht der Planende, wo welche Arbeitsgänge laut der Reihung zum Einsatz kommen würde. Die Darstellung ist so, dass er immer, für den gewählten Maschinenfilter, alles sieht, dies aber nach Tagen gruppiert ist und innerhalb des Tages, wenn er mehrere Maschinen angezeigt bekommt, die Maschinen der Reihe nach (laut String-sort) kommen. Er kann nun folgende Dinge ändern, die vorläufig (Simulation) nur in der Vorschlagstabelle gespeichert werden. a.) Die Maschine auf der der Arbeitsgang gemacht wird / werden sollte b.) die Reihung c.) Die Stück- und die Rüstzeit des Arbeitsganges (Hintergrund: Bei geschickter Planung kann man sich durchaus die Rüstzeit sparen und so wesentlich effizienter arbeiten) Meine Vorstellung ist, dass der Planende mit einem Doppelklick auf die Zeile diese Werte in einem Dialog angezeigt bekommt und hier ändern kann. Mit Speichern wird das in die Vorschlagstabelle zurückgeschrieben und durch den Refresh wird die neue Berechnung wann denn nun welcher Arbeitsgang abgearbeitet wird angezeigt. Ob gerade für die Reihung ein Drag & Drop mit Multiselect unterstützt werden sollte, hängt (gerade für den Beginn) vom Programmieraufwand ab. Langfristig werden wir das brauchen, auch um mal die Reihung grob reinzuschütteln.
Damit die darzustellenden Arbeitsgänge eine übersichtliche Zahl bleiben und da der Planungshorizont üblicher Weise nur eine Woche (7Kalendertage) ist, gibt es ein Datumsfilter mit einem Bis, in dem die Sicht der errechneten Arbeitsgänge eingeschränkt wird (Die Vorschlagsberechnung erfolgt immer vom Zeitraum her über alle Lose). Vermutlich brauchen wir für das Datum auch einen Offset, weil ich am Freitag für den Montag planen will. Das wäre dann das Von/Start, das default immer auf heute steht und nur den Start der Datumsberechnung definiert, aber in diesem Sinne kein Filter ist. (Oder man definiert das von und dann die Anzahl Tage die man planen will und die Anzahl der Tage ist default 7 (definierbar = Parameter dafür) Weiters kann
- auf die Maschine gefiltert werden und
- es kann auf das Material Vollständig gefiltert werden und
- auf den Status der Lose die angezeigt werden (hier müssen wir definieren, ob wir das bei der Vorschlagsberechnung schon machen wollen, um deutlich schneller zu werden, da damit die Menge der Daten deutlich reduziert wird).
Wurden nun die gefilterten! Arbeitsgänge alle richtig geplant, kann mit einem Spezialbutton, diese Reihung in die eigentlichen Arbeitsgänge zurückgeschrieben werden. Damit werden:
- die Maschine
- die Stück- und Rüstzeit aktualisiert
- der Arbeitsgangbeginn auf den Wert gesetzt (inkl. MS-Versatz)
- und!! die Vor und nachgelagerten Arbeitsgänge anhand des Firmenzeitmodelles reingerechnet. Wichtig: Der AG-Beginnzeitpunkt des geplanten (SMT-Maschinen) Arbeitsgangs ist fix, wobei es nicht auf die ms darauf ankommt. D.h. man könnte ev. den Los-Beginntermin inkl. Uhrzeit errechnen und dann die Standard Firmenzeitmodellberechnung verwenden. (Dazu muss das Firmenzeitmodell definiert sein und der AG-Versatz auf z.B. eine Stunde oder auch 0,5Std eingestellt sein) (Das kann soweit gehen, dass das Voraussetzung ist, sonst kommt beim Aufruf des Erzeugens eine Fehlermeldung und Abbruch). Damit ergibt sich ein neuer Los-Beginn (der erste Arbeitsgang) der auch durchaus bereits in der Vergangenheit liegen kann und ein neues Los Ende.
Damit ist die Simulation in Echte Daten übertragen. Wenn nun ein neuer Vorschlag gerechnet wird, müssen zuerst die noch offenen (auch auf das Fertig im Arbeitsgang achten, diese werden nicht mehr geplant) bereits geplanten Arbeitsgänge zuerst eingereiht werden. Daran anschließend kommen die noch nicht geplanten Arbeitsgänge (Die Reihung in der los_sollarbeitsplan = null, kommt dann ganz hinten) Damit sehen wir auch die in Produktion befindlichen Arbeitsgänge, die gerade auf der Maschine sind (oder für Morgen geplant sind) und können damit entsprechend umplanen.
Felder die wir in dieser Darstellung, die nur auf einem großen Schirm Sinn macht, aber durchaus von mehreren Clients aus bedient wird (der Planende bekommt drei große Schirme), benötigen sind:
- Reihung
- Maschine
- Stkl-Ident
- Stkl-Bezeichnung
- Los-Nr
- Erstlos
- Losgröße
- Losstatus (Symbol) (bedeutet ev. dass wir in der Darstellung auf den Status filtern können sollten)
- Kunde
- Wochentag (erste 2Buchstaben)
- Datum (das errechnete Datum mit Offset)
- Dauer des jeweiligen Arbeitsganges getrennt in Rüst- und (Gesamt)Stückzeit in Stunden
- (In Tabelle Gesamtzeit in h in der Detailansicht die Daten aufgeteilt)
- Verfügbare Stunden der Maschine für diesen Tag
- ev. Anzeige der Tages Reststunden damit man die Berechnung prüfen kann
- Ident der Tätigkeit
- Bezeichnung der Tätigkeit
- Verfügbarkeit des Materials und oder der Materialgruppe (SMT-Material)
- Abliefertermin aus dem zugeordneten Auftrag mit Prüfung auf das theoretische Los-Ende (inkl. Firmenzeitmodell) -> ev. ein eigener Prüflauf, wenn das je Los zu lange dauern würde (oder das machen wir im Druck)
Ev. sollten wir auch noch überlegen, wie man eine Lücke erzwingen kann. Eventuell dadurch, dass es ein Los Maschinenstillstand gibt, das man dann für diese Dinge reinplant.
Ev. die Trennung der Wochentage in der Darstellung einfach mittels Zebra anhand der Tagesnummer gestalten. Damit sieht man schön die Tagesblöcke.
Auf Properties für die Übersetzung achten
Wegen Datenbankerweiterung. Ev. geht das soweit, dass das eine Zusatzfunktionsberechtigung ist und der Consultant (der das einschaltet) muss eben sicher stellen, dass die Zusatztabelle da ist. Dies solange bis wir eine ordentliche Versionsverwaltung haben.
Fürs Verständnis: Die Planung der TOC Arbeitsgänge ist immer seriell. D.h. ich mache zuerst den 1.Arbeitsgang fertig und erst danach kommt der zweite Arbeitsgang. Keine Überlappung oder ähnliches. Aber: Auch die Vor- und nachgelagerten Arbeitsgänge des Loses werden Seriell mit eingeplant. Hier kann sich für die anderen Arbeitsgänge (z.B. Prüfen, Verpacken) durchaus ergeben, dass es Überlapungen gibt. Hier wird davon ausgegangen, dass ausreichend Menschen und oder Maschinen dafür da sind.
Für die Zukunft: Anstatt auf eine Maschinengruppe zu filtern, kann man auch auf eine Tätigkeitengruppe (=Artikelgruppe mit Tätigkeiten) filtern. Die Logik bleibt die gleiche, die Verfügbarkeiten kommen aber aus dem Personal (Reiter Verfügbarkeit x Zeit anhand Zeitmodell der Person für den jeweiligen Tag) (einzig die Spalte Maschine ist dann leer)
Mögliche Lösung
Gedanklich wird die Funktionalität des Reiters Sort kopiert und da die neue Funktion eingebaut Alternaativ siehe auch Modul Rechnung, unterer Reiter Abrechnungsvorschlag
weitere Forderungen / Wünsche
- in der Arbeitsgangauswahlliste sollte man auch die Info Erst-Los sehen Erst-Los = diese Stückliste wird überhaupt zum ersten Mal gefertigt, es gibt also noch kein produzierendes Los dazu. Es bedeutet, dass hier das Los zu einem anderen Zeitpunkt (Tagschicht) eingeplant werden muss. Ich benötige Menschen mit mehr Wissen.