Cancel
Showing results for 
Search instead for 
Did you mean: 

Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Creator
Creator

Hallo,

 

ich habe seit gestern das Problem, dass sich Plant Simulation bei mir seltsam verhält. Das von mir erstellte Logistikmodell hat in der Woche zuvor noch perfekt funktioniert. Als ich diesen Montag eine Tabelle verändert habe, hat eine Methode im besonderen angefangen sich nicht wie zuvor zu verhalten. Soweit klingt alles wie ein Programmierfehler meinerseits aber seit diesem Zeitpunkt funktionieren auch die vorherigen Modellversionen, welche letzte Woche noch funktioniert haben und welche ich seither nicht verändert habe, nicht mehr.

 

Die Methode, welche nicht mehr funktioniert durchsucht ein eine Tabelle nach dem Lagerplatz eines bestimmten Teils. Da die Methode 100 Zeilen hat stelle ich hier nur den relevanten Teil dar:

 

--nach Teil in Lager suchen
Bestand.setzeZeiger(1,1);
Bestand.finden(teil);
if Bestand.finden(teil)=false then
Print "Fehler: " + aktuelles_datum + " Auszulagernder " + teil + " nicht in Lager " +current.name + " vorhanden";
elseif Bestand.finden(teil)=true then
--Koordinaten aus Tabelle lesen
x:=Bestand["X", Bestand.zeigerY];
y:=Bestand["Y", Bestand.zeigerY];
--umlagern auf Pickingplatz
lager[x,y].inhalt.umlagern(Pickingplatz);
--Löschen in der Palette in der Tabelle Bestand:
Bestand.entferneZeile(Bestand.ZeigerY);
wait 1;
Pickingplatz.inhalt.inhalt.umlagern(Warenausgang);
else
print "Fehler1 in " +current.name;
end;

 

In meiner Konsole taucht häufig "Fehler1" auf, was ja eigentlich unmöglich sein dürfte, oder?

 

Kann mir jemand weiterhelfen? Oder hat jemand Erfahrungen mit einem ähnlichen Problem? Wie kann es sein, dass jetzt auch meine alten, unveränderten Modellversionen nicht mehr funktionieren?

 

Vielen Dank für eure Hilfe, ich bin hier am verzweifeln.

 

Liebe Grüße Sascha

 

11 REPLIES

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo Sascha,

 

ein typischer Fehler ist, den Befehl 'finden' der Tabelle im Debugger als Ausdruck eingetragen zu haben.

 

Damit wird jedes Mal wenn der Debugger die Ausdrücke aktualisiert der finden-Befehl ausgeführt und damit ZeigerX und ZeigerY der Tabelle verändert.

 

Könnten Sie dies bitte überprüfen?

 

Viele Grüße,

Ralf

Regards,

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

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Creator
Creator

Hallo Ralf,

 

Danke für Ihre schnelle Antwort.

 

Ich bin mir leider nicht ganz im Klaren was Sie meinen. Können Sie mir bittte sagen wie ich dies überprüfen kann?

 

LG Sascha

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo Sascha,

 

wenn Sie den Methodendebugger öffnen, haben Sie unten den Reiter Ausdrücke.

 

Bitte überprüfen Sie, ob sie hier einen Ausdruck eingetragen haben, welcher die Methode 'finden' der Tabelle benutzt.

 

Viele Grüße,

Ralf

Regards,

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

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Creator
Creator

Hallo Ralf,

 

Unter dem Reiter Ausdrücke befinden sich im Debugger der betroffenen Methode keine Einträge. Somit liegt es wohl leider nicht daran.

 

Ich finde es sehr seltsam, dass nicht nur mein aktuelles Modell von dem Fehler betroffen ist, sondern auch Vorgängerversionen, welche definitiv zuvor funktioniert haben und seither nicht verändert wurden.

 

Woran könnte es noch liegen?

 

LG Sascha

 

Hier ist noch der gesamte Text der Methode, falls das was hilft bei der Fehlersuche (wobei dies eine bereits veränderte Version der Methode ist, von der ich nicht 100 Prozent weiß, ob sie auch so funktioniert hätte)

 

is
aktuelles_datum:string;
teil:string; --Produziertes Teil
anzahlWAs:integer;
x:integer;
y:integer;
Palette_voll:boolean;
Paletteninhalt:string;
Motorenanzahl:integer;

do
--definiere aktuelles Datum aus Ereignisverwalter (Format datetime) als Format String:
aktuelles_datum:= datetime_to_str(ereignisverwalter.absZeit);
--kürze String (um Format datetime in date umzuwandeln)
aktuelles_datum:= copy(aktuelles_datum,0,11);

--Suche nach aktuellem Datum in der Liste Warenausgang_für_Auftrag.
--setze Zeiger auf Startposition
Warenausgänge_Für_Auftrag.setzeZeiger("Datum",1);
--Suche mit Whileschleife nach Datum
while Warenausgänge_für_Auftrag.finden(aktuelles_datum)=true loop
--setze Variablen
teil:="Motor" + Warenausgänge_für_Auftrag["Name",Warenausgänge_Für_Auftrag.ZeigerY];
anzahlWAs:= Warenausgänge_Für_Auftrag["Anzahl",Warenausgänge_Für_Auftrag.ZeigerY];
if anzahlWas <0 then
--Anzahl der Warenausgänge *-1 um positive Zahl zu erhalten
anzahlWAs:=warenausgänge_Für_Auftrag["Anzahl",warenausgänge_Für_Auftrag.ZeigerY]*(-1);
end;
for local i := 1 to AnzahlWAs loop
--wenn Bereits gefüllte Palette auf Pickingplatz liegt
if Pickingplatz.belegt AND Pickingplatz.inhalt.belegt then
Pickingplatz.inhalt.inhalt.umlagern(Warenausgang);
--wenn bereits leere Palette auf Pickingplatz liegt
elseif Pickingplatz.belegt AND NOT Pickingplatz.inhalt.belegt then
Pickingplatz.inhalt.vernichten;
end;
wait 1;
--wenn noch keine Palette auf Pickingplatz liegt
if Pickingplatz.belegt=false then
--nach Teil in Lager suchen
Bestand.setzeZeiger(1,1);
Bestand.finden(teil);
if Bestand.finden(teil)=false then
Print "Fehler: " + aktuelles_datum + " Auszulagernder " + teil + " nicht in Lager " +current.name + " vorhanden";
elseif Bestand.finden(teil)=true then
--Koordinaten aus Tabelle lesen
x:=Bestand["X", Bestand.zeigerY];
y:=Bestand["Y", Bestand.zeigerY];
--umlagern auf Pickingplatz
lager[x,y].inhalt.umlagern(Pickingplatz);
--Löschen in der Palette in der Tabelle Bestand:
Bestand.entferneZeile(Bestand.ZeigerY);
wait 1;
if Pickingplatz.inhalt.belegt then
Pickingplatz.inhalt.inhalt.umlagern(Warenausgang);
end;
else
print "Fehler1 in " +current.name;
end;
end;
next;
--leere Paletten vernichten
if Pickingplatz.belegt AND NOT Pickingplatz.inhalt.belegt then
Pickingplatz.inhalt.vernichten;
--angebrochene Paletten wieder in Lager einlagern
elseif Pickingplatz.belegt then
--setze Variablen:
palette_voll:=false;
Paletteninhalt:=teil;
Motorenanzahl:=Pickingplatz.inhalt.anzahlBEs;
--freien Platz suchen
--ruft die das benutzerdefinierte Attribut des Lagers Methode holeFreienPlatz auf
lager.holeFreienPlatz(x,y);
--Palette wieder einlagern
Pickingplatz.inhalt.umlagern(lager.pe(x,y));
--registriert Einlagerung in der Bestandsliste
bestand.schreibeZeile(1,bestand.yDim+1,teil,x,y,Paletteninhalt,Motorenanzahl,Palette_voll);
end;
end;
end;

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo Sascha,

 

das Einzige was mir in der Methode auffällt, ist der mehrfache Aufruf von 'finden' in der if-Bedingung.

 

Hier wird jedes Mal ab der letzen Zeigerposition weitergesucht.

Ich glaube nicht dass das beabsichtigt ist.

 

Viele Grüße

Ralf

Regards,

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

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Creator
Creator

Hallo Ralf,

 

heißt das, dass zum Beispiel durch den Aufruf als Bedingung bereits die Zeiger zum nächsten Eintrag springen?

 

Also zum Beispiel bei:

if Bestand.finden(teil)=false then
Print "Fehler ";

end;

 

LG Sascha

 

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Creator
Creator

Ich habe jetzt den mehrfachen Aufruf der Methode finden ersetzt. Das Programm funktioniert aber leider noch immer nicht....

 

Woran kann es liegen, dass auch die vorherigen, ehemals funktionierenden Modellversionen nicht mehr funktionieren?

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Siemens Phenom Siemens Phenom
Siemens Phenom

Ohne Zugriff auf das Modell lässt sich hier leider nicht viel sagen.

Der einzige Weg ist herauszufinden wo das Modell nicht wie erwartet funktioniert.

 

Letzendlich muss es irgendeine Änderung gegeben haben wenn es mal funktioniert hat und nun nicht mehr funktioniert.

Regards,

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

Re: Plant Simulation verhält sich plötzlich seltsam, bitte um Hilfe

Creator
Creator

Hallo Ralf,

 

Gibt es die Möglichkeit, dass ich Ihnen mein Modell schicke, Sie die Simulation kurz durchlaufen lassen und mir dann einen Screenshot der Konsoleneinträge zuschicken?

 

Damit könnte ich rausfinden, ob das Problem an meinem Computersystem liegt oder ob mein Modell das Problem ist. 

 

Das würde mir wirklich sehr weiterhelfen.

 

LG Sascha