cancel
Showing results for 
Search instead for 
Did you mean: 

Variable Bearbeitungszeit / Bearbeitungszeit abhängig vom Zustand einer anderen Einzelstation

Experimenter
Experimenter

Hallo liebe Community,

 

ich bräuchte eure Hilfe bei der Festlegung einer Bearbeitungszeit.

Die Bearbeitungszeit des sich gerade in einer Einzelstation befindenden BEs soll so lange sein, bis ein bestimmter Zustand in einer anderen Einzelstation eintritt.

 

Ich habe versucht das mit einer Formel zu realisieren. Diese liefert entweder einen bestimmten Wert zurück, wenn der Zustand bereits wahr ist.

Ist der Zustand noch nicht wahr, soll gewartet werden, bis der Zustand erreicht ist, sodass dann ein bestimmter Wert + die gewartete Zeit als Bearbeitungszeit zurückgelierfert wird (siehe auskommentierter Code)

 

Ich hoffe jemand versteht mein Problem und kann mir weiterhelfen oder einen alternativen Lösungsvorschlag machen.

 

Besten Dank und ein schönes Wochenende

 

Tobias

 

2 REPLIES

Betreff: Variable Bearbeitungszeit / Bearbeitungszeit abhängig vom Zustand einer anderen Einzelstati

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo TobiSim,

 

mit outIn(999999) können Sie das Out-Event eines BEs zeitlich verzögern.

Sobald an der zweiten Station das Ereignis eintritt, welches dazu führt, dass das BE auf der ersten Station austreten soll, können Sie dann das BE mit einem move-Befehl austreten lassen.

 

Ich hoffe ich konnte Ihnen helfen.

 

Mit freundlichen Grüßen

 

GG

Betreff: Variable Bearbeitungszeit / Bearbeitungszeit abhängig vom Zustand einer anderen Einzelstati

Experimenter
Experimenter

Vielen Dank! Diese Lösung ist doch einfacher als gedacht.

Meine Einzelstation hat jetzt eine sehr lange Bearbeitungszeit und mit .move wird das BE von der Einzelstation entfernt sobald die Bedingung erfüllt ist.

Jetzt muss ich es nur noch irgendwie schaffen, die ganzen Bedingungen zu formulieren

 

Btw. kann ich zwei for....next Schleifen hintereinander in einer Methode verwenden?

	if @.Wunsch1 = "-" and @.Wunsch2 = "Spezial_Burger" then
		AnzahlBestellungen_Spezial := AnzahlBestellungen_Spezial + @.AnzahlSpezial;
		for k:=1 to @.AnzahlSpezial loop
			.Modelle.BurgerRestaurant.GrillBereich.SpezialBestellung;
		next
		   for i:=1 to @.AnzahlSpezial loop
			   if .Modelle.BurgerRestaurant.GrillBereich.Entnahmestation.belegt = True then
						   .Modelle.BurgerRestaurant.GrillBereich.Entnahmestation.Inhalt.vernichten;
						   AnzahlErledigteBestellungen_Spezial := AnzahlErledigteBestellungen_Spezial + 1;
			   else if .Modelle.BurgerRestaurant.GrillBereich.Einzelstation.belegt = False then
				   repeat
					   wait 1;
				   	until .Modelle.BurgerRestaurant.GrillBereich.Entnahmestation.belegt = True
			  		end;
				   .Modelle.BurgerRestaurant.GrillBereich.Entnahmestation.Inhalt.vernichten;
				 	AnzahlErledigteBestellungen_Spezial := AnzahlErledigteBestellungen_Spezial + 1;
			   end;
		   next
	end;

 

Besten Dank nochmal