Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Produktion auf 2 Linien - Umlagerung im Störfall

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:  Produktion auf 2 Linien - Umlagerung im Störfall (1220 mal gelesen)
CoR3
Mitglied


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

Beiträge: 9
Registriert: 24.01.2015

erstellt am: 26. Jan. 2015 12: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, die Produktion, die ich modelliere, teilt sich in zwei Linien auf.
Den Puffern vor der Maschine ist es möglich, Teile in den Puffer der anderen Produktionlinie umzulagern. Dies passiert jeweils im Störungsfall für beide Seiten und funktioniert auch tadelos.(Ausgangssteuerung Puffer)
Nun sollen aber, nachdem der Störungsfall behoben ist, die Teile wieder "einigermaßen" gleichmäßig auf beide Puffer verteilt werden. Dies habe ich versucht über ein repeat until-Anweisung zu modellieren.
Leider hängt sich das Modell mit dieser Anweisung auf. Hat jemand eine Ahnung warum bzw. ein Tipp es besser zu lösen?

is
do
If Drehmaschine.Gestört=true then
@.umlagern(.Modelle.Netzwerk.Drehmaschine1.PufferDM)
Else
@.umlagern(.Modelle.Netzwerk.Drehmaschine.Drehmaschine);
If .Modelle.Netzwerk.Drehmaschine1.Drehmaschine.Gestört=false then
repeat @.umlagern(.Modelle.Netzwerk.Drehmaschine1.PufferDM)
until PufferDM.AnzahlBEs-.Modelle.Netzwerk.Drehmaschine.PufferDM.AnzahlBEs <= 10 Or PufferDM.AnzahlBEs-.Modelle.Netzwerk.Drehmaschine.PufferDM.AnzahlBEs = -10;
end;
end;
end;

PS.:Wäre die Modellierung über eine Parallelstation der richtigere Weg gewesen? 

Mit freundlichen Grüßen.

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: 26. Jan. 2015 12:54    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 CoR3 10 Unities + Antwort hilfreich

hier am Ende ein Semikolon:

repeat @.umlagern(.Modelle.Netzwerk.Drehmaschine1.PufferDM);

Nach dem @.umlagern:
wait(0.001);

Das Umlagern mit einer Schleife auf einen Puffer funktioniert nicht. Plant Simulation braucht wohl etwas Zeit, um die Teile weiterzutakten.

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

CoR3
Mitglied


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

Beiträge: 9
Registriert: 24.01.2015

erstellt am: 26. Jan. 2015 19:28    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,

für den geänderten Quelltext scheint die Methode zu funktionieren, leider hängt sich der Ereignisverwalter auf. Oder habe ich etwas falsch übernommen?

is
do
If Drehmaschine.Gestört=true then
@.umlagern(.Modelle.Netzwerk.Drehmaschine1.PufferDM)
Else
@.umlagern(.Modelle.Netzwerk.Drehmaschine.Drehmaschine);
If .Modelle.Netzwerk.Drehmaschine1.Drehmaschine.Gestört=false then
repeat @.umlagern(.Modelle.Netzwerk.Drehmaschine1.PufferDM);
wait(0.001);
until PufferDM.AnzahlBEs-.Modelle.Netzwerk.Drehmaschine.PufferDM.AnzahlBEs <= 10 Or PufferDM.AnzahlBEs-.Modelle.Netzwerk.Drehmaschine.PufferDM.AnzahlBEs >=-10;
end;
end;
end;

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: 26. Jan. 2015 20: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 Nur für CoR3 10 Unities + Antwort hilfreich

wenn das die Ausgangssteuerung ist, dann wird auch mit @.umlagern jeweils wieder die Steuerung aufgerufen, das führt dann in aller Regel zu Chaos.

Sie könnten in der Ausgangssteuerung einfach die entsprechende Anzahl BEs "durchlassen" (einfache Bedingung).Und den Rest warten lassen.

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