Cancel
Showing results for 
Search instead for 
Did you mean: 

Puffer umlagern

Experimenter
Experimenter

Hallo,

Ich würde bitte Hilfe beim umlagern von BE's aus einem Puffer benötigen.

 

Problemstellung:

Quelle-Puffer-Einzelstation-Puffer-Einzelstation1-Senke

 

Der Puffer soll erst umlagern wenn sich kein BE auf der Einzelstation1 befindet.

 

Meine Ausgangssteuerung am Puffer sieht so aus:

 

is
do
    if Einzelstation1.leer = true then
        Puffer.Inhalt.umlagern(Einzelstation);
    else waituntil Einzelstation.leer prio 1;
    end;
end;

 

Problem dabei ist nun, dass alle BE's im ersten Puffer stehen bleiben.

 

Vielen im Voraus für jede Hilfe

6 REPLIES

Re: Puffer umlagern

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo,

 

mit dem folgenden Code sollte es funktionieren

 

is
do
    if Einzelstation1.leer = true then
          Puffer.Inhalt.umlagern(Einzelstation);
    else 
           waituntil Einzelstation1.leer prio 1;
           Puffer.Inhalt.umlagern(Einzelstation);
    end;
end;
Kind regards,

Igor
------------------------------------------------------------------------------------------------------
Did you like the answer? Then click the Thumbs Up button.
Did the answer solve your problem? Then accept the answer as solution


Re: Puffer umlagern

Experimenter
Experimenter
Hallo,

Vielen Dank für die schnelle Antwort!

Nun laufen die BE's durch die Kette, jedoch gibt es eine Randbedingung die noch nicht erfüllt ist.
Es kommt vor das BE's gleichzeitig an beiden Stationen bearbeitet werden.
Und die Randbedingung ist: Wenn "Einzelstation1" belegt ist darf "Einzelstation" nicht belegt sein.
Wie könnte ich das umsetzen?

kind regards

Re: Puffer umlagern

Valued Contributor
Valued Contributor

Dann würde ich zuerst dafür sorgen, dass Einzelstation frei wird,
indem ich von dort zuerst umlagere oder alles vor Einzelstation1 anhalte. 

Dann kannst du sicher sein, dass Einzelstation1 erst belegt wird, wenn die andere Einzelstation frei ist.
Du kannst vielleicht dem Prozess, der Teile aus Einzelstation zieht, eine höhere Priorität einräumen
oder eben in der Ausgangssteuernung des Puffers vor der Einzelstation1 die Bedingung einfügen
"If Einzelstation.leer = true then ...() umlagern"

Re: Puffer umlagern

Experimenter
Experimenter
Danke für deine Antwort. Bin leider noch nicht auf einen grünen Zweig gekommen...
Hab auch überlegt bei " EInzelstation" eine Eingangssteuerung zu machen mit:

is
do
if Einzelstation1.belegt = true then
Einzelstation.Pause := true;
end;
end;

ändert leider auch nichts.

Re: Puffer umlagern

Valued Contributor
Valued Contributor

ich glaub, da musst du das Model hochladen; damit man sich das in Ruhe anschauen kann.
Aber leider habe ich eine ganz alte Version von Plant Simulation und kann alles über Version 11 nicht öffnen...

MfG

Re: Puffer umlagern

Experimenter
Experimenter

Model sieht genauso aus wie in der angehängten png Datei. Wobei 2 Methoden vorhanden sind (In png Datei nur 1 dargestellt).

 

Ausgangssteuerung bei "Puffer"

 

is
do
    if Einzelstation1.leer = true then
          Puffer.Inhalt.umlagern(Einzelstation);
    else 
           waituntil Einzelstation1.leer prio 1;
           Puffer.Inhalt.umlagern(Einzelstation);
    end;
end;

 

Eingangssteuerung "Einzelstation":

 

is
do
if Einzelstation1.belegt = true then
Einzelstation.Pause := true;
end;
end;

 

Habe die Version 14 und kann leider keine frühere Version erstellen.

 

Mfg