Auswertung Diagnosepuffer

seehund

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

Bei der Inbetriebnahme habe ich mehrere Fehler, die mir im Diagnosepuffer angezeigt werden. Leider kann ich nicht daraus erkennen wo der Fehler ist.
Insgesamt werden 10 Fehler angezeigt, die alle identisch sind.
(nur die Zugriffsadressen sind verschieden):

Ereignis 1 von 10: Ereignis-ID 16#2522
Bereichslängenfehler beim Lesen
Global-DB, Bitzugriff, Zugriffsadresse: 6
Angeforderter OB: Programmierfehler-OB (OB121)
Prioritätsklasse:1
interner Fehler, kommendes Ereignis

Bin über jede Hilfe sehr dankbar...
 
Hi,

der Fehler deutet auf einen fehlenden bzw. zu kurzen DB hin.
Du willst auf einen Bereich zugreifen der nicht existiert.

Gruß Centi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wird der OB 121 auch aktiviert, wenn ich ihn nicht programmiert habe?
Bei meinem Projekt habe ich den OB1, OB 86, OB100 und OB122 programmiert aber nicht den OB121.

Die Anlage besteht aus einer CPU 315-DP als Master und jewals drei
ET200S Module, die als Slave projektiert sind.
Die DI-Module und DO-Module der ET200S besitzen jewals 4 Eingänge, bzw. Ausgänge.
Im OB1 kopiere ich alle Eingänge in einen Datenbaustein und greifen dann im
restlichen Programm auf diesen DB zu.
Die Anweisung lautet wie folgt:

L PED0
T DB17.DBD0
L PED4
T DB17.DBD4

könnte dies der Fehler sein??
 
Grundsätzlich werden die FehlerOB's im Fehlerfall immer aufgerufen.
Wenn er nicht vorhanden ist geht die Kiste in Stop.
In deinem Fall hast du einen Fehler beim Lesen.
In der Anzeige des Diagnosepuffers gibt es einen Button "Details" wenn mich nicht alles täuscht sollte dich dann Step7 an die Fehlerstelle bringen.

mfg
Centi
 
Der Fehler sagt doch an das du auf ein Bit des byte 6 zu greifen willst also bit 6.x und da haut dann bestimmt irgendwas nicht so ganz hin.
Wenn du den OB 121 hinzufügst ist der Fehler zwar immer noch da nur die Kiste geht nicht in Stop ist aber auch keine Lösung
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie schon geschrieben ist ein DB zu kurz / nicht vorhanden.

Wenn dort die Adresse DB17. Byte 6 steht dann:

In der Anweisung T DB17.DBD4
greifst Du auf die Byte 4,5,6,7 zu. Der DB ist wahrscheinlich zu kurz.

Entweder L PEW 4 und T DB17.DBW4 oder den DB 17 um 2 Byte verlängern, und ins AG übertragen.
 
Zurück
Oben