Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  BE's nochmals in vorgelagerte Prozesse einschleusen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  BE's nochmals in vorgelagerte Prozesse einschleusen (968 mal gelesen)
Schippo
Mitglied



Sehen Sie sich das Profil von Schippo an!   Senden Sie eine Private Message an Schippo  Schreiben Sie einen Gästebucheintrag für Schippo

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 20. Sep. 2013 17:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus liebe Plant Simulation Community,

ich hätte da ein Frage bezüglich Attribute während des Simulationslaufs setzen.

Problem  :

Meine Prozesskette besteht aus mehreren Einzelstationen vor denen jeweil Puffer platziert sind. Angenommen meine Kette besteht aus 8 Stationen. Über den Prozess laufen die unterschiedlichsten Teile. Am Ende des achten Prozesses soll ein bestimmtes Teil nochmals durch den zweiten Prozess der Kette laufen. Deshalb, müsste doch nach dem achten Prozess ein Attribut diesem Teil mitgegeben werden, oder etwas ähnliches, welches am zweiten Prozess nochmals abgefragt wird. Beim zweiten Durchlauf des Prozesses soll dann das Teil ausgeschleust werden. Ist dies möglich??

Wäre es möglich gleich am Anfang der Simulation diesem Produkt ein Attribut mitzugeben, welches dann beim zweitmaligen Durchlaufen des Prozesses abgefragt wird?????

Oder wie könnte man das Problem lößen? Erschwerend kommt noch dazu, dass das Teil beim zweiten Durchlauf der Station eine andere Bearbeitungs- und Rüstzeit aufweist, was ich allerdings gerne in die Methode reinschreiben würde, da ich in der der Einzelstation direkt zugewiesenen Rüst- und Bearbeitungszeiten (per Liste), kein gesondertes Attribut anhängen kann....


Wie könnte so ein Programmcode aussehen? Ich bin noch ein Anfänger was SimTalk angehet.

In einem schoneinmal ähnlich erstellten Thema habe ich etwas dazu gelesen nur kann ich es nicht mehr finden..

Über Tipps wäre ich dankbar.

Grüße Schippo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 24. Sep. 2013 08:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Schippo 10 Unities + Antwort hilfreich

Es sollte dafür eigentlich ein zusätzliches benutzerdefiniertes Attribut im Fördergut ausreichen (z.B. Durchlauf, integer, Anfangswert 1). Das können Sie in einer Methode nach Station 8 abfragen und evtl. neu setzen:
Code:

if @.name="xxx" and @.durchlauf=1 then
  @.umlagern(zurück_puffer);--zurück zum zweiten Durchlauf
  @.durchlauf:=@.durchlauf+1;
elseif @.name="xxx" and durchlauf=2 then
  -- nach dem zweiten Durchlauf ausschleusen
  @.umlagern(ausschleus_station);
else
  @.umlagern;
end;

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Schippo
Mitglied



Sehen Sie sich das Profil von Schippo an!   Senden Sie eine Private Message an Schippo  Schreiben Sie einen Gästebucheintrag für Schippo

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 25. Sep. 2013 11:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bon Simul,

vielen Dank für die Antwort. Es hat wunderbar geklappt, nur habe ich leider noch einen wichtigen Punkt außer Acht gelassen.

Es kann durchaus vorkommen, dass zwei identische BE-Typen hintereinander im Puffer vor der Maschine aufeinander treffen, das eine welches vom achten Prozess wieder zum zweiten zurück gekommen ist (mit der oben beschriebenen Methode), sowie eines welches von der Quelle erzeugt wurde und das erste mal "ansteht" vor dem Prozess. Das Problem ist nun, dass das Teil welches das zweite Mal durch den Prozess wandert eine andere Bearbeitungs- und Rüstzeit hat als jenes welches das erste Mal kommt. Man kann ja nun in der dargestellten Methode nun die Rüst-und Bearbeitungszeiten hinzufügen.

is
do
if  @.name="xx" and @.durchlauf=1 then
@.umlagern(Puffer1);--weiterlaufen
@.durchlauf:=@.durchlauf+1;
Einzelstation.BearbeitungsZeit:=7200;
Einzelstation.RüstZeit:=14400;
elseif @.name="xx" and @.durchlauf=2 then  -- (Verlassen des Prozesses beim 2ten Durchlauf)
@.umlagern(Lager);
else
@.umlagern(Puffer1);
end;
end;

Nun ist es so, sind andere Teile zuvor über den Prozess gelaufen funktioniert das auch, nur eben nicht wenn identische Teile hintereinander stehen. Für z.B. das wiederkehrende wird gerüstet und für das dahinter wartende nicht, obwohl dies der Fall sein müsste. Liegt wahrscheinlich daran dass das Rüsten vom BE-Namen abhängig in der Einzelstation hinterlegt ist, oder?

Meine Frage deshalb. Kann ich mit einer Eingangsmethode (wie sollte diese aussehen???? verschiedenes probiert funktioniert nur nicht!) der Maschine erklären, dass wenn diese beiden Teile hintereinander stehen umgerüstet werden muss???? Zur Info, das Teil welches das erste Mal bearbeitet wird zieht seine Bearbeitungs- und Rüstzeit aus einer Liste welche der Maschine hinterlegt ist (PlantSim Tabelle), das wiederkehrende aus einer Methode. Die oben dargestellte Methode hab ich als Ausgangssteuerung dieser Maschine hinterlegt.

Grüße Schippo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 25. Sep. 2013 13:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Schippo 10 Unities + Antwort hilfreich

Das Einfachste ist vielleicht, die Teile für die zweite Runde umzubenennen. Dann können Sie für die Teile der zweiten Runde die Bearbeitungs- und Rüstzeiten auch in der Tabelle hinterlegen.

Code:

@.name:=@.name+"_1";

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Schippo
Mitglied



Sehen Sie sich das Profil von Schippo an!   Senden Sie eine Private Message an Schippo  Schreiben Sie einen Gästebucheintrag für Schippo

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 13. Okt. 2013 21:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bon Simul,

ich hätte nun nochmals eine Frage zum oben dargestellten Code (dritter Beitrag).

Es funktioniert alles soweit, nur ist es nun so, dass über diese Maschine auch noch andere Teile zwei mal drüberlaufen und beim zweiten mal auch woanders hin ausgeschleust werden müssen.

Bekomm ich diese Teile analog zum obern Code noch in die Methode??? Ich habe es versucht, bloss wie soll dies funktionieren?? Ich müsste diese anderen Teile auch in dieser einen Ausgangsmethode wie das erste Abfragen, da sich mein Simulationsmodell vom Aufbau kaum ändern lässt.

Beste Grüße

Schippo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 14. Okt. 2013 09:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Schippo 10 Unities + Antwort hilfreich

In dem Fall müssten Sie mehr elseif- Zweige einfügen:

Code:

if @.name="xx1" and @.durchlauf=1 then
  @.umlagern(zurück_puffer);--zurück zum zweiten Durchlauf
  @.durchlauf:=@.durchlauf+1;
elseif @.name="xx2" and @.durchlauf=1 then
  @.umlagern(zurück_puffer);--zurück zum zweiten Durchlauf
  @.durchlauf:=@.durchlauf+1;


elseif @.name="xx1" and durchlauf=2 then
  -- nach dem zweiten Durchlauf ausschleusen
  @.umlagern(ausschleus_station1);

elseif @.name="xx2" and durchlauf=2 then
  -- nach dem zweiten Durchlauf ausschleusen
  @.umlagern(ausschleus_station2);


else
  @.umlagern;
end;



Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz