Autor
|
Thema: Produktionsplan/Permutationen (3467 mal gelesen)
|
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 20. Feb. 2014 18:42 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, das Ganze nimmt langsam Gestalt an In meiner Simulation betrachte ich 6 Bauteile, wobei bei 2 Bauteilen klar ist das sie direkt hintereinander gefertigt werden. Also bleiben für die Betrachtung noch 5 BT übrig. Aus diesen 5 BT ergeben sich 120 Permutationen. Diese würde ich gerne alle simulieren und dann statistisch auswerten. Das Problem an der Sache ist, dass ich Tabellen mit Untertabellen habe, wie z.B. Attribute, Arbeitsschritte/-pläne. Ich habe den Produktionsplan in Excel kopiert und mit Hilfe eines Makros alle Permutationen erzeugt. Diese würde ich dann gerne in die Simulation überführen und simulieren. Das Problem sind dabei die Untertabellen, da diese ja beim Transfer zu Excel verloren gehen. Gibt es da eine Lösung? Kann ich diese Untertabellen irgendwo ablegen/erzeugen, sodass sie im Produktionsplan nur über ihren Namen aufgerufen werden und nicht fester Bestandteil des Produktionsplanes sind? Ich hoffe das mein Problem halbwegs verständlich ist. Gruß und einen schönen Abend Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 21. Feb. 2014 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
|
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 21. Feb. 2014 10:38 <-- editieren / zitieren --> Unities abgeben:
Absolut korrekt. Ich steuere die Produktionsreihenfolge über folgende Tabelle, die in der Senke hinterlegt ist. (Tabelle ist nicht so schön, ist so gewachsen. Müsste mal probieren welche Spalten ich nicht mehr benötige) Die Subtabelle Attribute habe ich mittlerweile eliminiert und direkt den BEs in der Bibiliothek zugewiesen. Die Subtabelle Arbeitsschritte versuche ich jetzt auch überflüssig zu machen. Im Rahmen meines präventiven Rüstens habe ich eine Init Methode geschrieben (wie Sie wahrscheinlich gesehen haben), die für jede Station im Produktionsplan schaut was das erste Teile für diese Maschine ist und dann das Rüsten einleitet. Diese Methode hat die Subtabelle Arbeitsschritte verwendet. Versuche gerade die Methode so umzuschreiben, dass sie sich den TeileTyp im Produktionsplan holt, dann in der Extra Tabelle "Arbeitsplan" (da kommen die Arbeitsschritte ursprünglich her)schaut ob dieses Teil auf der Maschine gefertigt wird und ansonsten nach dem nächsten Teil schaut. Wie bereits erwähnt werde ich die Seitenteile zu einem Teil zusammenfassen und eben die doppelte Menge fertigen. Kleinteile sind zu vernachlässigen. Ich weiss nicht ob das wirklich geschickt ist was ich da mache, oder ob es eig viel einfacher geht. [Diese Nachricht wurde von Leibchen am 21. Feb. 2014 editiert.] [Diese Nachricht wurde von Leibchen am 21. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 21. Feb. 2014 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
Sie sollten die Erzeugungstabelle der Quelle und die Tabelle mit den Arbeitsplänen trennen. Sie können dazu Ihre Tabelle kopieren, die Arbeitsplan-Tabelle sollte dann in der Spalte 0 die Namen der Teile enthalten und in der Spalte 1 die Subtabellen mit den Arbeitsplänen. Sie können dann die BE-Namen als Zeilen-Adresse verwenden. Dann bleibt die Erzeugungstabelle unabhängig und Sie können die Permutationen unabhängig von den Arbeitsplänen einspielen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 21. Feb. 2014 12:23 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank!! So habe ich es jetzt auch gemacht. Musste dann nur nochmal die Methode fürs Rüsten umschreiben, aber das funktioniert jetzt soweit auch. Wenn ich alle 120 Programme simuliere. Habe ich da eine Möglichkeit das iwie ein Stück weit automatisch zu machen, oder muss ich das alles händisch machen?
[Diese Nachricht wurde von Leibchen am 21. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 21. Feb. 2014 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
Das ist normalerweise Aufgabe des Experimentmanagers. Dort können Sie die Experimente definieren. Sie könnten z.B. in der init-Methode abhängig von einer Variable die Varianten in die Tabelle der Quelle kopieren oder die Tabellenangabe in der Quelle neu setzen. Der Experimentverwalter führt dann automatisch die Experimente durch und stellt die Ergebnisse zur Verfügung. --> siehe Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 21. Feb. 2014 20:26 <-- editieren / zitieren --> Unities abgeben:
Okay, die Theorie habe ich soweit verstanden. Aber wie kann ich diese anfängliche Deklaration halbwegs sinnvoll gestalten? Würde für mich als "Laie" jetzt erstmal bedeuten ich muss 120 Variablen deklarieren, die jeweils iwie eine Liste mit den 5 Zeilen der jeweiligen Permutation tragen. Falls ich gerade auf dem Schlauch stehe bitte ich um Entschuldigung und bedanke mich herzlich für die Geduld und Unterstützung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 22. Feb. 2014 11:39 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
|
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 22. Feb. 2014 13:31 <-- editieren / zitieren --> Unities abgeben:
|
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 22. Feb. 2014 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
Sie könnten es auch mit Subtabellen lösen, wie beim Arbeitsplan. Aus den Untertabellen könnten Sie dann die Reihenfolgen in die Erzeugungstabelle der Quelle kopieren. Das lässt sich gut über eine Variable steuern und die können die Variable im Experimentverwalter als Eingangsdaten benutzen... [Diese Nachricht wurde von Bon Simul am 22. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 28. Feb. 2014 10:45 <-- editieren / zitieren --> Unities abgeben:
Hallihallo, wollte mich einfach mal wieder melden. Habe es noch nicht umgesetzt, da ich in den letzten Tagen ausschließlich Literaturarbeit betrieben habe. Werde das Ganze die nächsten Tage angehen Bis hierhin auf jedenfall DANKE!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 14. Apr. 2014 13:31 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, nachdem ich den theoretischen Teil meiner Arbeit nun vollständig abgeschlossen habe muss ich mich mit dem Thema nun ernstlich befassen. Ich habe im Moment ehrlich gesagt noch nicht den Durchblick wie ich das ganze Thema mit den 120 Permutationen mit Hilfe des Experimenteverwalters sauber durchschleusen kann. Wäre sehr dankbar wenn mir da nochmal helfend unter die Arme gegriffen werden kann. Habe hier auch noch nicht viel vorausgedacht sodass ich für alles offen bin. Habe bisher nur die Permutationen in Excel erstellt und nun solls losgehen.... Die Hilfe von PM ist da leider sehr dünn Dankeschön!! Möchte noch paar Zeilen hinzufügen Ich möchte die Experimente durchführen und die Gesamtdurchlaufzeit/Simulationszeit, mittlere Durchlaufzeit und den Zeitanteil der Blockade einer Maschine statistisch auswerten. Um das Bsp Simulationszeit mal anzugehen... - Setze ich dann bei "ausgabewerte definieren" = root.Ereignisverwalter.zeit - Habe dann eine Variable definiert, die ich dann bei "Eingabewerte definieren" hinterlege. - Bei Experimente definieren müsste ich der Variable dann sagen von Wert 1 bis 120 (Mehrstufiges Experiment 1 bis 120, Schrittweite 1) - und dann müsste ich eine Methode schreiben, die der Quelle die 120 Produktionspläne vorgibt. Hinter das Ganze mach ich mal ein grooooooßes ? [Diese Nachricht wurde von Leibchen am 14. Apr. 2014 editiert.] [Diese Nachricht wurde von Leibchen am 14. Apr. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 14. Apr. 2014 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
Sie müssen im Ereignisverwalter ein Ende angeben, somit ist bei ereignisverwalter.zeit für jedes Experiment der Wert gleich. Wenn Sie die "reale" Simulationsdauer ermitteln wollen, dann müssen Sie aus sysDate die Dauer des Simulationslaufes berechnen. Das mit dem mehrstufigen Experiment klingt schon einmal ganz gut... je Ergebnis eine Zeile in den Ausgabewerten definieren (evtl. in EndSim berechnen) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 15. Apr. 2014 12:31 <-- editieren / zitieren --> Unities abgeben:
Oooookay... Habe ich noch nicht ganz verstanden Aktuell habe ich es so gemacht, dass das Produktionsprogramm abgearbeitet wird und wenn das letzte Element in der Senke gelöscht wurde die Auswertung kommt. Also gebe ich die Zeit nicht vor. (Nur damit ich Sie richtig verstehe) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 15. Apr. 2014 12:54 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
|
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 15. Apr. 2014 17:20 <-- editieren / zitieren --> Unities abgeben:
Wie sollte ich die Methode auslösen lassen, die das jeweilige Produktionsprogramm in Abhängigkeit der Laufvariable aus Subtabellen rüberkopiert? Gibt es da ein Attribut des Experimenteverwalters das ich nutzen kann oder eine andere Lösung? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 15. Apr. 2014 21:23 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
|
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 16. Apr. 2014 09:53 <-- editieren / zitieren --> Unities abgeben:
Super, vielen Dank. Dann war mein Gedanke doch richtig. War mir nur nicht sicher ob die Init-Methode über den Experimente-Manager immer aufgerufen wird oder ich da was Eigenes gebraucht hätte. [Diese Nachricht wurde von Leibchen am 16. Apr. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 16. Apr. 2014 13:46 <-- editieren / zitieren --> Unities abgeben:
Welchen elementaren Fehler mache ich bei dem Ganzen? Ich habe eine Tabelle namens Permutationen. Die Tabelle enthält in Spalte 1 Subtabellen. Ich möchte jetzt gerne in Abhängigkeit der Permutationsvariable (1-120) in die Subtabelle gehen, Spalten 1-3 kopieren und dann in die bestehende Tabelle namens Test einfügen. Eine andere Möglichkeit wäre der Quelle einfach die Subtabelle als Erzeugnistabelle zuzuweisen. Ob und wie das funktioniert weiss ich natürlich nicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 16. Apr. 2014 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
|
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 22. Apr. 2014 13:55 <-- editieren / zitieren --> Unities abgeben:
|
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 22. Apr. 2014 16:57 <-- editieren / zitieren --> Unities abgeben:
Das nächste kleine Problem tut sich auf Auf der einen Maschine werden 2 von 5 Produkten aus meinem Produktionsplan gefertigt. Der Rest geht an der Maschine vorbei. Jetzt habe ich (siehe Screenshot) die Ausgangssteuerung geschrieben, sodass sobald alle Teile des Typ X oder Y gefertigt worden sind, umgehend auf das andere umgerüstet wird, weil der zeitliche Aufwand hier enorm ist. Ich möchte sobald der Umrüstvorgang ausgelöst wird den Eingang für die Dauer das Rüstvorganges sperrt, da es sonst passiert das einer der Werker ein Teil auflegt und da er dann auch schon das 2te Teil holt das ganze Modell abbricht... Dachte da an eine While loop Schleife, aber iwie will es nicht so Recht -.- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 22. Apr. 2014 17:07 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
zwei Sachen fallen mir gleich auf: istGerüstetFür: nur den Namen übergeben (ohne den Punkt) rüstenFür: die BE-Klasse aus der Klassenbibliothek übergeben (z.B. .BEs.Deckel ohne die Anführungszeichen. Wenn Sie es wirklich mit einer Schleife regeln wollen, dann warten Sie jeweils etwas in der Schleife (z.B. eine Sekunde wait(1) ; Sie können aber auf das Ende des Rüstens warten: waituntil maschine.rüstet=false prio 1;
[Diese Nachricht wurde von Bon Simul am 22. Apr. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leibchen Mitglied Student
Beiträge: 29 Registriert: 07.02.2014
|
erstellt am: 24. Apr. 2014 16:40 <-- editieren / zitieren --> Unities abgeben:
Habe es über verschiedene Umwege jetzt gelöst. Wusste nicht genau wo ich das Waituntil hätte einbauen sollen. Habe jetzt mit dem Experimenteverwalter bissel gespielt und dabei stellt sich mir die Frage ob man die Ergebnisse irgendwie sortieren lassen kann. Habe die Ergebnistabelle mal nach Excel kopiert um dann zu sortieren, aber Werte wie die Simulationszeit kann er nicht sortieren weil er wohl mit den ":" nicht zurechtkommt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 24. Apr. 2014 16:55 <-- editieren / zitieren --> Unities abgeben: Nur für Leibchen
In der Tabelle Ergebnisse können Sie über das Kontext-Menü sortieren. Sie können auch den Inhalt der Tabelle über die Zwischenablage in eine andere Plant Simulation Tabelle kopieren und dort dann sortieren (wenn Sie die Datentypen richtig eingestellt haben). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |