Autor
|
Thema: Transportzeiten ohne Wege (2647 mal gelesen)
|
plant1986 Mitglied Student
Beiträge: 3 Registriert: 07.11.2011
|
erstellt am: 07. Nov. 2011 09:50 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin Neuling bei Plant Simulation und habe folgendes Problem: Ich habe für verschiedene Teile (TeilA, TeilB, TeilC) jeweils Arbeitspläne erstellt, sodass die Teile verschiedene Maschinen in unterschiedlicher Reihenfolge durchlaufen (bspw. Teil A durchläuft die Maschinen Quelle -> 1 -> 2 -> 4 -> 3 - > Senke). Nun möchte ich Transportzeiten zwischen den Maschinen mitberücksichtigen, sodass zB ein Transport von Maschine 1 zu 2, 3 Minuten dauert oder halt von Maschine 2 zu 4, 5 Minuten dauert usw. Gibt es eine Möglichkeit eine Transportzeitmatrix oder ähnliches anzulegen, sodass ich OHNE Wege oder Förderstrecken die Transportzeiten in der Simulation mitberücksichtigen kann? Würde mich freuen, wenn ihr mir helfen könnt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
planty Mitglied Dipl.-Ing.
Beiträge: 139 Registriert: 18.09.2006
|
erstellt am: 07. Nov. 2011 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für plant1986
Hi, das selbst zu realisieren ist einfach. Erzeuge eine Tabelle mit der Transportmatrix. Im Zeilen- und Spaltenindex trägst Du Start und Ziel des Transports ein, in der überschneidenden Zelle natürlich die Transportzeit (oder eine Tabelle, wenn verschiedene Teile unterschiedliche Transportzeiten haben). Erzeuge ein Lager dass alle MUs die den Zustand 'im Transport' haben enthalten soll. Erstelle eine Methode mit den Parametern des zu transportierendes MU und dem Transportziel in der das MU auf das Ziel umgelagert wird. In der Ausgangssteuerung ermittelst Du mit 'getRowNo' und 'getColumnNo' die Zelle der Transportzeit und liest diese aus. Dann lagerst Du das MU z.B. mit 'MU.transfer' in das Lager ein. Rufe mit 'ref(umlagernMethode).methcall(transportzeit, MU, Ziel)' zeitverzögert die Umlagermethode auf. Fertig! P. PS: wahrscheinlich möchtest Du Dir die Transportzeit merken um sie von Liegezeiten abzuziehen. PPS: Wenn die Transportzeit einer Verteilung folgen soll wird es komplizierter, Du brauchst dann unter Umständen für jede Start/Ziel/Teil Kombination einen Zufallszahlenstrom.
------------------ Two hours of trial and error can save ten minutes of manual reading! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
plant1986 Mitglied Student
Beiträge: 3 Registriert: 07.11.2011
|
erstellt am: 07. Nov. 2011 12:31 <-- editieren / zitieren --> Unities abgeben:
Hallo, Danke für die schnelle Hilfe! So richtig komme ich dennoch nicht weiter, bisher siehts wie auf den Bildern bei mir aus. Habe jetzt ein vereinfachtes Modell mit Teil Rot und Teil Blau. Diese Verlaufen zwischen Quelle und Senke die Puffer A,B und C mittels Arbeitsplan unterschiedlich. Habe nun eine Transportzeitmatrix erstellt, die alle Möglichen Transportzeiten zwischen den einzelnen Elementen enthält. Wie müsste ich nun meine Ausgangssteuerung verändern um über das Lager "im_transport" die Transportzeiten in der Simulation mitzuberücksichtigen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
planty Mitglied Dipl.-Ing.
Beiträge: 139 Registriert: 18.09.2006
|
erstellt am: 07. Nov. 2011 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für plant1986
Hi, ich denke es steht alles oben. In der Ausgangssteuerung brauchst Du die Transportzeit. Dann lagerst Du den 'If @.umlagern(nächsteStation) then ....' block in eine neue Methode (z.B. 'verzoegertUmlagern') aus und lagerst Dein BE statt auf die nächste Station in das 'Transportlager' um. Danach folgt der 'methAufr/methCall' (schau mal in die Hilfe) für die 'verzoegertUmlagern' Methode. P. ------------------ Two hours of trial and error can save ten minutes of manual reading! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
plant1986 Mitglied Student
Beiträge: 3 Registriert: 07.11.2011
|
erstellt am: 07. Nov. 2011 15:12 <-- editieren / zitieren --> Unities abgeben:
Hallo, also Ich komme nicht wirklich zurecht, bin noch neu beim Programmieren. Ich weiß nicht wie Ich es schaffe, dass in der Methode (Ausgangssteuerung) die richtigen Transportzeiten aus der Tabelle (Transportzeit) ausgewählt werden (bspw. für einen Transport von A nach C). Wenn ich das so versuche wie im Bild gibt es entweder Fehlermeldung oder wenn ich den "if @.umlagern ...then ..." Block einfach auslager als Methode (Umlagern), dass alle BEs einfach ins Lager kommen und dort bleiben. Es würde mir sehr Helfen die Fehler in meiner Ausgangssteuerung aufzuzeigen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
planty Mitglied Dipl.-Ing.
Beiträge: 139 Registriert: 18.09.2006
|
erstellt am: 09. Nov. 2011 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für plant1986
Hi, wenn Du neu bei PS UND beim Programmieren bist, dann ist es vll Zeit, dass Du Dir die Tutorials und die Beispielmodelle anschaust und/oder die Bangsow Bücher. Die Transportzeit holst Du Dir aus der Tabelle, genau wie irgendwas aus dem Arbeitsplan, die von mir vorgeschlagenen getRow/getColumn brauchst Du nicht. Die Station auf die umgelagert werden soll und das BE müssen durch Parameter an die Umlagern-Methode übergeben werden. Wie das geht steht in der Hilfe. In der Umlagern-Methode brauchst Du kein Methcall (erst verstehen, dann benutzen, wie bei allen anderen Sachen auch). P. ------------------ Two hours of trial and error can save ten minutes of manual reading! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |