Autor
|
Thema: Mehrere Paletten inkl. BEs mit Methode erzeugen (3744 mal gelesen)
|
Mautaban Mitglied
Beiträge: 44 Registriert: 29.09.2014
|
erstellt am: 01. Okt. 2014 13:08 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute! Bin ein ziemlicher PS Anfänger und hab eine Frage an euch. Ich habe eine Methode die Paletten mit Inhalt erzeugt (siehe Code). Auf den Paletten ist Platz für 6 Teile . Das ganze läuft soweit. Meine Frage: Wie kann ich mehrere von diesen Paletten mit der Methode erzeugen und beladen? Zweck ist es einen Anfangsbestand zu erzeugen zB. 10 Paletten mit jeweils 6 Teilen darauf. Code:
is do --create palette .bes.palette.create(Puffer1); -- create parts while not Puffer1.cont.full loop .bes.TeilA.create(puffer1.cont); end; -- pass the palette puffer1.cont.move;--create palette .bes.palette1.create(Puffer11); -- create parts while not Puffer11.cont.full loop .bes.TeilB.create(puffer11.cont); end; -- pass the palette puffer11.cont.move; end;
Grüße! 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: 01. Okt. 2014 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
Sie müssten die Erzeugung in eine Schleife packen. Create gibt einen Verweis auf die Palette zurück, damit können Sie dann auf die erzeugte palette zugreifen, in etwa so: Code:
is palette : object; i:integer; do for i:=1 to 10 loop --create palette palette:=.bes.palette.create(Puffer1); -- create parts while not palette.full loop .bes.TeilA.create(palette); end; next;
[Diese Nachricht wurde von Bon Simul am 01. Okt. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mautaban Mitglied
Beiträge: 44 Registriert: 29.09.2014
|
erstellt am: 01. Okt. 2014 15:34 <-- editieren / zitieren --> Unities abgeben:
|
R.P. Mitglied
Beiträge: 41 Registriert: 06.10.2014
|
erstellt am: 23. Okt. 2014 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
Hallo, ich versuche momentan auch paletten in meinem Netzwerk zu erzeugen, um danach diese als Batch in einem Arbeitsgang bearbeiten zu lassne. Ich habe folgenden Code gewählt (aus der Literatur von Bangsow), jedoch bricht die simulation ab, wenn die Methode aufgerufen werden soll. Dabei wird ".MUs.pallet.create(p);" rot markiert. Das Netzwerk findet ihr im Anhang. Die Methode habe ich als Ausgangssteuerung in den Puffer p gepackt. Weiß jemand, wie man die Methode zum Laufen bekommt? Vielen Dank. _____________________ is do --create palette .MUs.pallet.create(p); -- create parts while not p.cont.full loop .MUs.part.create(p.cont); end; -- pass the palette p.cont.move; end; ________________________________
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: 23. Okt. 2014 10:53 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
|
R.P. Mitglied
Beiträge: 41 Registriert: 06.10.2014
|
erstellt am: 23. Okt. 2014 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
|
Mautaban Mitglied
Beiträge: 44 Registriert: 29.09.2014
|
erstellt am: 23. Okt. 2014 12:52 <-- editieren / zitieren --> Unities abgeben:
Der Fehler steht noch ein STück weiter unten in dem grauen Rand. Vermutlich sowas wie "unbekannter Bezeichner" dann musst du das BE in der Klassenbibliothek erzeugen.Also BEs in palet umbenennen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.P. Mitglied
Beiträge: 41 Registriert: 06.10.2014
|
erstellt am: 23. Okt. 2014 14:20 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
|
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 23. Okt. 2014 14:26 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
Sie haben die englishe Version der BE-Namen. Sie müssten die deutschen Namen der BEs einsetzen:
Code:
is do --create palette .BEs.Förderhilfsmittel.create(p); -- create parts while not p.cont.full loop .BEs.Fördergut.create(p.cont); end; -- pass the palette p.cont.move; end;
Der Aufruf sollte über einen Generator erfolgen (Abstandssteuerung). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.P. Mitglied
Beiträge: 41 Registriert: 06.10.2014
|
erstellt am: 23. Okt. 2014 15:19 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
Vielen Dank, jetzt läuft es durch. Eine weitere Frage habe ich noch: Wie kann ich die Kapazität der Förderhilfsmittel bestimmen? Es sollen in einem Förderhilfsmittel 1620 BEs geladen werden, da diese in einem Härteprozess auf einmal bearbeitet werden. Weiterhin kann die Maschine auch weniger als 1620 Stück verarbeiten. Dies ist zum Ende der Schicht wichtig, da hier ggf. noch keine 1620 BEs im Puffer vor der Maschine liegen, diese jedoch auch verarbeitet werden sollen. Wie könnte man dieses Problem lösen?
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: 23. Okt. 2014 15:47 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
die Kapa der Förderhilfsmittel bestimmen Sie mit xDim und YDim (am besten nur eines von beiden, setzen Sie z.B. nur xDim und setzen Sie yDim fest auf 1). Eine Möglichkeit ist, Sie markieren das letzte Teil (funktioniert gut, wenn Sie es aus einer Kiste entnehmen oder Sie zählen mit, wenn Sie eine bestimmte Menge an Teilen erzeugen) oder Sie müssen eine Lücke erkennen (wenn alles vor der Maschine leer ist, dann die Bearbeitung starten...). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.P. Mitglied
Beiträge: 41 Registriert: 06.10.2014
|
erstellt am: 24. Okt. 2014 12:27 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
|
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 24. Okt. 2014 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
|
R.P. Mitglied
Beiträge: 41 Registriert: 06.10.2014
|
erstellt am: 27. Okt. 2014 09:26 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
Hallo, wo genau muss denn diese Information in den unten stehenden Quellcode eingefügt werden? Eine weitere Frage ist, ob man die Förderhilfsmittel löschen kann bevor sie die Senke passieren und diese somit nicht in der Auswertungsstatistik auftauchen. Diese benötige ich nur, um eine gleichzeitige Bearbeitung von mehreren Teilen zu simulieren, in der Realität werden die Teile jedoch nicht über Förderhilfsmittel in die Maschinen gebracht. Die gleichzeitige Bearbeitung ist zur Simulation der Energieverbräuche für mich weiterhin sehr wichtig. Vielen Dank im Voraus. ______________________________ is do --create palette .BEs.Förderhilfsmittel.create(p); box.xDim:=30; -- create parts while not p.cont.full loop .BEs.Fördergut.create(p.cont); end; -- pass the palette p.cont.move; end; _____________________ 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: 27. Okt. 2014 10:17 <-- editieren / zitieren --> Unities abgeben: Nur für Mautaban
Sie müssten beim Erzeugen der box den Verweis auf die box speichern, dann können Sie auf die box zugreifen: Code:
is box : object; do --create palette box:= .BEs.Förderhilfsmittel.create(p); box.xDim:=30; -- create parts while not p.cont.full loop .BEs.Fördergut.create(p.cont); end; -- pass the palette p.cont.move; end;
Zum registrieren der einzelnen Teile können Sie die Box ausleeren und dann die Box vernichten (z.B. Ausgangssteuerung Heck des Vorgängers der Senke) Code:
while (@.belegt) loop @.inhalt.umlagern(senke); wait(0.001);--sonst blockiert die Senke end; @.vernichten;
[Diese Nachricht wurde von Bon Simul am 27. Okt. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |