wago 750-8213 Breakpoint e!cockpit

FBAT

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin derzeit bei einer Fehlersuche und versuche vergeblich einen Breakpoint zu setzen. Sobald ich diesen aktivieren oder umschalten möchte, bekomme ich die Fehlermeldung "Breakpoiint konnte auf dem Zielgerät nicht gesetzt werden".
Was mache ich falsch?

PS: Das doppel-i in Breakpoint steht tatsächlich so in der Fehlermeldung :ROFLMAO:
 
ich bin derzeit bei einer Fehlersuche und versuche vergeblich einen Breakpoint zu setzen. (...) Was mache ich falsch?
Ich würde sagen: Die grundsätzliche Art wie Du in einer SPS Fehler suchen willst. Bei SPS arbeitet man in der Regel nicht mit Breakpoints, weil man damit leicht Maschinen/Anlagen beschädigen kann. Speichere an "verdächtigen" Stellen Zwischenergebnisse und Testwerte testweise ab (oder logge sie mit) und analysiere die mitgeschriebenen Werte.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

auch dieses Programm habe ich nicht selbst geschrieben. Die Funktionsweise der Anlage kenne ich aber. Die Runtime bereits des Öfteren in Stopp gegangen, aufgrund von Speicherbereichsverletzungen. Eine Stelle konnte ich schon lokalisieren. Mit Checkbounds wollte ich nun weitere ausfindig machen. Hier macht es nur einen Sinn, wenn ich bei den impliziten Checks auch Haltepunkte setzen kann.
Wenn die Steuerung dann wieder mal in Stopp geht, nimmt diese Applikation keinen schaden.

Da ich sonst vermehrt mit TwinCAT arbeite, war die Vorgehensweise dort jedenfalls oft sehr schnell zielführend.
 
Keiner eine Idee, was ich falsch mache?
Fehlermeldung_Breakpoint.jpg

Vom Wago-Support kommt leider auch keine weitere Reaktion...
 
Vom Prinzip machst du es richtig. Auch wenn die Vorgehensweise wahrscheinlich nicht zielführend ist, da von der Funktion kein Arrayname zurückgegeben wird und somit die Quelle nicht identifiziert werden kann.
Es gibt die Möglichkeit vom Hersteller der Steuerung diese Funktion zu deaktivieren und durch eigene Prüfungen zu ersetzen.
Welche Steuerung nutzt du?

Checkbounds.jpg

Zusatz: Hab gerade gesehen die Steuerung steht in der Überschrift

Nachtrag: hab es gerade auf einem 8216 getestet und funktioniert wie erwartet:)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke, holgermaik, dass du es auch ausprobiert hast.

Irgendwie werde ich wohl mit der Wago nicht warm.

Zur Zielführung:
Wenn der Haltepunkt greift, weiß ich schon mal, dass es Programmierfehler im Projekt gibt. In diesem Fall ein falscher Array-Index. Da ich aus vergangenen Projekten die Erfahrung gemacht habe, dass u.A. Speicherbereichsverletzungen sehr kostenintensive Folgen haben können (und das nicht immer nur Materiell), wollte ich den Fehler in diesem Projekt auch schon einmal vorbeugen. Jedenfalls, wenn der Haltpunkt die Steuerung gestoppt hat, kann ich doch anhand der Aufrufliste auch schon ausmachen, wo Checkbounds den Index korrigiert hat.
Bislang funktionierte diese Vorgehensweise immer zielführend bei mir.
 
Ich weiß nicht, ob es sowas auch bei WAGO e!Cockpit gibt, aber bei Rexroth IndraWorks ML (basiert wie e!Cockpit auch auf Codesys) kann man sich nach einem Absturz anzeigen lassen welche Befehle als letztes ausgeführt wurden, dadurch könntest Du herausfinden wo es gescheppert hatte. Ich kann gerade nicht nachsehen wie die Funktion heißt.
 
Nur mal als Idee:
mal probiert, das Projekt zu bereinigen, neu zu übersetzen und neu zu laden? Spontan würde ich sagen, daß er den Code nicht kennt und Du auf der Steuerung alten Code ohne diese Funktion betreibst...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

kurze Rückmeldung:
In einem neu erstellten Test-Programm konnte ich Haltepunkte auf der gleichen CPU setzen.
Nach dem ich Große Teile im original Programm kommentierte, war konnte ich auch Haltepunkte setzen. Schlussendlich war ein Datenlogger der Schuldige. Ich tippe auf eine zu hohe Auslastung der CPU.
Der Wago Support konnte diesen "Fehler" auch reproduzieren und es ist in der Entwicklungsabteilung gelandet.

Vielen Dank für eure Unterstützung.
 
Ich weiß nicht, ob es sowas auch bei WAGO e!Cockpit gibt, aber bei Rexroth IndraWorks ML (basiert wie e!Cockpit auch auf Codesys) kann man sich nach einem Absturz anzeigen lassen welche Befehle als letztes ausgeführt wurden, dadurch könntest Du herausfinden wo es gescheppert hatte. Ich kann gerade nicht nachsehen wie die Funktion heißt.


Genau das hatte ich vor. Ich bin leider nicht soweit gekommen, dass ich es scheppern lassen konnte (Haltepunkte setzen) um in der Aufrufliste nachzusehen, wo der Fehler ist.
 
Zurück
Oben