Hallo Forum,
ich habe für ein Lager ein Regalbediengerät mit Hilfe einer Einzelstation nachgebildet, da für mich nur die Zeiten relevant sind. Über einen Generator wird eine Methode aufgerufen, die 2Tische (Einzelstationen) mit BEs aus dem Lager versorgen soll. Einen Ausschnitt der Methode habe ich unten angeführt für den Fall, dass beide Tische leer sind. Dabei sind:
-Auftragsliste: Tabelle mit erstellten Aufträgen
-Tabelle RBG_Standort[2,1],[3,1]:aktueller Standort RBG (wird in BestFahrzeit zur Ermittlung der Zeiten benötigt)  
-RBG_Standort[2,3],[3,3],[2,4],[3,4]: Standorte der Tische
Leider wird nur das 1.BE umgelagert. Dies lässt sich umgehen indem das 2.BE über eine 2.Einzelstation umgelagert wird(d.h.über ein RBG2), was 
jedoch keine sehr elegante Lösung ist. Ich vermute deshalb der Fehler besteht darin, dass die Methode zu einem Zeitpunkt abläuft, und ein Einzelplatz zu diesem Zeitpunkt nur einmal belegt werden kann. Das 2.Problem ist, dass die Zeiten für das RBG zwar ermittelt, aber 
nicht abgearbeitet werden.(Zeit auf dem Ereignisverwalter bleibt unverändert) Was habe ich bei der Erstellung der Methode prinzipiell  
falsch gemacht?  
Gruß Björn
is
	x1pos,x2pos,y1pos,y2pos:integer;
	Pal1, Pal2 :string;
do
	Pal1:= Auftragsliste[2,1];
	Pal2:= Auftragsliste[3,1];
	if current.tisch1.belegt=false and current.tisch2.belegt=false
	then 
	for x1pos:=1 to regal.xdim loop
			for y1pos:=1 to regal.ydim loop
			   if Regal[x1pos, y1pos].inhalt.name=Pal1 then
				   RBG_Standort[2,7]:=x1pos;
				   RBG_Standort[3,7]:=y1pos;
				   exitloop 2;
			   else exitloop;
			   end;
			next;
	next;
	for x2pos:=1 to regal.xdim loop
			for y2pos:=1 to regal.ydim loop
			   if Regal[x2pos, y2pos].inhalt.name=Pal2 then
				   RBG_Standort[2,8]:=x2pos;
				   RBG_Standort[3,8]:=y2pos;
				   exitloop 2;
			   else exitloop;
			   end;
			next;
	next;
	RBG.Ruestzeit:=BestFahrzeit(x1pos,y1pos);
	RBG_Standort[2,1]:=RBG_Standort[2,7];
	RBG_Standort[3,1]:=RBG_Standort[3,7];
	Regal[x1pos, y1pos].inhalt.umlagern(RBG);
	RBG.Bearbeitungszeit:=BestFahrzeit(RBG_Standort[2,3],RBG_Standort[3,3])+2*Uebergabezeit;
	RBG_Standort[2,1]:=RBG_Standort[2,3];
	RBG_Standort[3,1]:=RBG_Standort[3,3];
	RBG.inhalt.umlagern(Tisch1);
	RBG.Ruestzeit:=BestFahrzeit(x2pos,y2pos);
	RBG_Standort[2,1]:=RBG_Standort[2,8];
	RBG_Standort[3,1]:=RBG_Standort[3,8];
	Regal[x2pos, y2pos].inhalt.umsetzen(RBG);
	Regal.Inhaltsliste(Inhaltsliste);
	RBG.Bearbeitungszeit:=BestFahrzeit(RBG_Standort[2,4],RBG_Standort[3,4])+2*Uebergabezeit;
	RBG_Standort[2,1]:=RBG_Standort[2,4];
	RBG_Standort[3,1]:=RBG_Standort[3,4];
	RBG.inhalt.umlagern(Tisch2);
	RBG.Erholzeit:=BestFahrzeit(0,1);
	RBG_Standort[2,1]:=RBG_Standort[2,5];
	RBG_Standort[3,1]:=RBG_Standort[3,5];
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP