Bereichslängenfehler beim lesen/schreiben

mitchih

Level-2
Beiträge
806
Reaktionspunkte
32
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe bei einer CPU 317 -2Dp mit Fm357-2 und CP 343-IT
regelmäsig o.g Fehler (nicht zyklisch ca. alle 20s)

In den Detail stzeht Breichslängenfehler beim schreiben, Adresse 32 Global Db Doppelwortzugriff


Wo muss ich diesen Fehler suchen und was bedeutet er?

Gruß
mitchih
 
Du schreibst wahrscheinlich auf eine Adresse die nicht besteht. Normal zeigt er dir an, in welchem Baustein der Fehler auftritt. Es gibt dort unten in der Diagnose einen Button "gehe zu" oder so ähnlich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe bei einer CPU 317 -2Dp mit Fm357-2 und CP 343-IT
regelmäsig o.g Fehler (nicht zyklisch ca. alle 20s)

In den Detail stzeht Breichslängenfehler beim schreiben, Adresse 32 Global Db Doppelwortzugriff


Wo muss ich diesen Fehler suchen und was bedeutet er?


Hallo mitchih,

ein DB existiert nicht oder ist nicht lang genug.

CU

Jürgen

.
 
Du kannst aus der Anzeige heraus zu dem Fehler springen. Kann aber auch passieren, daß er innerhalb eines Standardbausteins z.Bsp. aus der IEC-Bibo auftritt. Ich hatte den Fehler letztens z.Bsp. als ich die IEC-Concat-Funktion mit lauter Strings aus In-Parametern eines FC füttern wollte. Diese IN kamen alle aus unterschiedlichen DB, das ging mal gar nicht gut, Fehlermeldung war wie bei dir, Fehler lag innerhalb concat, toll. Ansonsten siehe die Erklärungen oben, Zugriff auf DB, der nicht vorhanden oder zu kurz.
 
Die Meldung bedeutet, dass der DB zwar vorhanden ist, aber wohl zu kurz. Beim Auftreten diese Fehlers wird der OB122 PROG_ERR aufgerufen. Am schnellsten geht die Fehlersuche normalerweise damit, dass man den OB122 Online löscht. Bei nächsten Auftreten des Fehlers geht die CPU in STOP und trägt die Stelle in den Diagnosepuffer ein. Nun sollte sich aus dem Diagnosepuffer heraus die Stelle anspringen lassen, welche den Fehler auslöst (nicht vom Eintrag "Bereichslängenfehler beim Lesen" von vom Eintrag "STOP durch Programmierfehler (OB nicht geladen)"

Tritt der Fehler bei einem geschützen Baustein auf, hat man noch die Chance, mit Hilfe eines (müsste ich jetzt nachlesen) den Fehler zu unterdrücken. Musste das bei den Ethernet-Routing Bausteinen von SEW machen, da ich definitiv keine Zeit hatte, mich tiefer in den Baustein einzulesen. Einfach vor dem FB die Fehlerunterdrückung aktiveieren, und nach dem FB-Aufruf wieder scharf schalten.

Beispiel, wie man das realisiert, gibts auf Nachfrage.


mfg
Maxl
 
Problem gelöst

Hallo,
danke für die Tipps,
der Fehler lag in der Berechnung des Pointers habe den OB gelöscht und dann hab ichs gefunden
 
Zurück
Oben