Hallo,
ich schreibe momentan meine Masterarbeit mithilfe von Plant Simulation. Dazu simuliere ich den Materialfluss in einem Unternehmen.
Nun mein Problem:
Ab einem gewissen Zeitpunkt schreiben sich die Transportaufträge falsch. Sprich, es wird nicht der nächste Arbeitsgang (in Subtabelle des Auftrags hinterlegt) abgearbeitet, sondern es wird ein Transportauftrag von Sensor6 zu Sensor6 z.B. generiert. Dies geschieht sodann in einer Endlosschleife, da hierbei die Arbeitsgangnummer immer weiter hochgesetzt wird (irgendwann ist er dann außerhalb der Listendimension, sprich bei Arbeitsgang 6 von 5 oder 10 von 3)
Ich spiele mich damit schon seit fast einer Woche und komme nicht dahinter. Um Hilfe wäre ich sehr dankbar.
Grüße,
Sebastian
Mein Code zum Schreiben des Transportauftrags:
Transportauftragsnr:=Transportauftragsnr+1;
Transportauftragsliste.erzeugeSubliste(Transportauftragsliste.dim+1);
Transportauftragsliste.lesen(Transportauftragsliste.dim).setzeName("Transportauftrag_Nr_" +to_str(Transportauftragsnr));
Transportauftragsliste.lesen(Transportauftragsliste.dim).Spaltenindex:=true;
Transportauftragsliste.lesen(Transportauftragsliste.dim).setzeDatentyp(1,"object");
Transportauftragsliste.lesen(Transportauftragsliste.dim).setzeDatentyp(2,"object");
Transportauftragsliste.lesen(Transportauftragsliste.dim).setzeDatentyp(3,"integer");
Transportauftragsliste.lesen(Transportauftragsliste.dim).setzeDatentyp(4,"object");
Transportauftragsliste.lesen(Transportauftragsliste.dim).setzeDatentyp(5,"integer");
Transportauftragsliste.lesen(Transportauftragsliste.dim).setzeDatentyp(6,"object");
Transportauftragsliste.lesen(Transportauftragsliste.dim)[1,0]:="BE-ID";
Transportauftragsliste.lesen(Transportauftragsliste.dim)[2,0]:="Abholpuffer";
Transportauftragsliste.lesen(Transportauftragsliste.dim)[3,0]:="Abholsensor";
Transportauftragsliste.lesen(Transportauftragsliste.dim)[4,0]:="Zielmaschine";
Transportauftragsliste.lesen(Transportauftragsliste.dim)[5,0]:="Zielsensor";
Transportauftragsliste.lesen(Transportauftragsliste.dim)[6,0]:="Zielpuffer";
--BE-ID
Transportauftragsliste.lesen(Transportauftragsliste.dim)[1,1]:=@; --Abholpuffer
Transportauftragsliste.lesen(Transportauftragsliste.dim)[2,1]:=?;
--Abholpuffer in Sensorliste finden
Sensorliste.ZeigerX:=1;
Sensorliste.ZeigerY:=1;
Sensorliste.finden(?);
--Abholsensor
Transportauftragsliste.lesen(Transportauftragsliste.dim)[3,1]:= Sensorliste[(Sensorliste.ZeigerX-2),Sensorliste.ZeigerY];
--Aktuellen Arbeitsvorgang im Arbeitsplan finden
@.Arbeitsplan.ZeigerX:=1;
@.Arbeitsplan.ZeigerY:=1;
@.Arbeitsplan.finden(@.Arbeitsvorgang);
--Zielmaschine
Transportauftragsliste.lesen(Transportauftragsliste.dim)[4,1]:= @.Arbeitsplan[(@.Arbeitsplan.ZeigerX+1),@.Arbeitsplan.ZeigerY];
--Zielmaschine finden in Sensorliste finden
Sensorliste.ZeigerX:=1;
Sensorliste.ZeigerY:=1;
Sensorliste.finden(Transportauftragsliste.lesen(Transportauftragsliste.dim)[4,1]);
--Zielsensor
Transportauftragsliste.lesen(Transportauftragsliste.dim)[5,1]:= Sensorliste[(Sensorliste.ZeigerX+1),Sensorliste.ZeigerY];
--Zielpuffer
Transportauftragsliste.lesen(Transportauftragsliste.dim)[6,1]:= Sensorliste[(Sensorliste.ZeigerX+2),Sensorliste.ZeigerY];
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP