Autor
|
Thema: Fehler (924 / mal gelesen)
|
mlslou Mitglied

 Beiträge: 14 Registriert: 25.07.2016
|
erstellt am: 26. Jul. 2016 13:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute, ich habe ein Problem bezüglich der Fördergutweitergabe. Ich habe eine Methode geschrieben, die ein Fördergut an die nächste Einzelstation weitergibt, anhand bestimmter Kriterien (aus einer Tabelle). Die Methode funktioniert auch einwandfrei. Z.B. habe ich die Spalte M1 in der Tabelle und die zugehörige Einzelstation M1 dazu. Falls der aktuelle Wert (läuft Tabelle zeilenweise durch mit zeitlichem Abstand) kleiner ist als ein bestimmter Zahlenwert, wird das Fördergut an M2 weitergegeben, wenn nicht an M3. Dann von M2 nach M4/M5, von M3 nach M6/M7, jeweils mit Überprüfung der Kriterien aus der Tabelle, usw. Jetzt habe ich eine zusätzliche Methode eingebaut, mit der ich mir immer den Mittelwert für die ausgewählten Einzelstationen anhand der Werte aus der Tabelle berechnen kann. Wenn ich jetzt jedoch die Mittelwert-Methode für eine Einzelstation anwenden möchte, z.B. M3, bleibt das Fördergut die ganze Zeit dort und blockiert die nachkommenden Fördergüter, was dann M1 blockiert und dann die Quelle. Ich weiß leider nicht, woran das liegt. Wenn ich die Mittelwertmethode nicht einsetze, funktioniert das Umlagern einwandfrei. Vielleicht weiß einer von euch, was das Problem ist? Vielen Dank im Voraus  Gruß, mlslou Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
  
 Beiträge: 949 Registriert: 29.03.2016
|
erstellt am: 26. Jul. 2016 20:09 <-- editieren / zitieren --> Unities abgeben:          Nur für mlslou
Ich antworte mal ausführlich, um darauf auch mal verweisen zu können: Ein Fehler ist die Abweichung zwischen SOLL- und IST-Verhalten. Um einen Fehler zu beheben sind Haltepunkt und Debugger Lebensnotwendig !!! Es gilt ein Vier-Schritten-Plan: 1.) Fehler erkennen (was ist falsch z.B.: Wert ist nach Berechnen falsch, mögliche Quellen sind: Berechnen oder Setzen), 2.) Fehler abgrenzen (wo kann das Falsch sein z.B.: Wert wird in Methoden XY berechnet und YY gesetzt), 3.) Fehler identifizieren (debugggggggen z.B.: nach SEHR langer Suche war statt + ein * in Methode XY falsch geschrieben) 4.) Fehler beheben (Zeilen-Code/Logik/IDEE/...) Der Vier-Schritten-Plan ist dann erforderlich und solange durchzuführen, bis das IST-Verhalten dem SOLL-Verhalten entspricht. Es ist NICHT von Art des Fehlers abhängig und wird von dem Code-Schreiber selbst durchgeführt!!! Eine Frage an das Forum setzt voraus das dieser Prozess abgeschlossen ist!!! Wenn DU den Fehler aufgefunden hast, wäre es gut, wenn DU den Anderen mitteilen tust, woran es bei dir gelegen hat. Und wenn DU einen aussagekräftigen Titel verwenden tust, könnte jemand mit ähnlichen Problem diese Information auch später auffinden!!! VG nadin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mlslou Mitglied

 Beiträge: 14 Registriert: 25.07.2016
|
erstellt am: 01. Aug. 2016 11:56 <-- editieren / zitieren --> Unities abgeben:         
Hi Nadin, Danke für deine Tipps. Ich bin jetzt mit dem Debugger über den Code. Ich habe eine Methode "umlagern" geschrieben, in der zunächst die Einzelstation in einer Liste gesucht wird. Hier habe ich diesen Code: if (?.Name = Quelle.Name) then @.umlagern(?.nf(1)); elseif(TabelleExcelDaten.finden({1,0}..{*,0}, ?.Name)) then spalteStation := Tabelle.holeSpaltenNummer(?.Name); ...... end; Ich habe jedoch folgendes Problem: Beim ersten mal Beladen des BEs auf eine Einzelstation z.B. auf Montage1 findet er diese Einzelstation in der Tabelle. Beim nächsten Durchgang findet er die Einzelstation dann plötzlich nicht mehr in der Tabelle. Hast du eine Lösung? Gruß, mlslou Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
  
 Beiträge: 949 Registriert: 29.03.2016
|
erstellt am: 01. Aug. 2016 13:01 <-- editieren / zitieren --> Unities abgeben:          Nur für mlslou
Hi, ich tippe mal auf den Zeiger. Beim suchen im Tabellen muss Zeiger zurück gesetzt werden... Info unter: Hilfe--> "Liste mittels Methoden durchsuchen" beheben mit: Hilfe-->"ZeigerY" und "ZeigerX" Grüße nadin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mlslou Mitglied

 Beiträge: 14 Registriert: 25.07.2016
|
erstellt am: 01. Aug. 2016 13:20 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |