S7 300; OB82 Diagnosealarm; Zeitüberlauf

GobotheHero

Level-1
Beiträge
192
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen!

Ich habe folgendes Problem mit einer S7 315-2DP:

Beim Abklemmen eines Kanals einer Analogbaugrupper wird der OB82 ausgelöst.
Wenn ich den Kanal wieder anklemme geht die CPU auf STOP.

Folgende Fehlerpuffer wird angezeigt:

Zeit 1: Baugruppe gestört
Zeit 1 +11Sekunden: Baugruppe OK
Zeit 1 +11,1Sekunden: Zykluszeitüberschreitung
Zeit 1 +11,2Sekunden: STOP durch Zeitfehler (OB nicht geladen oder ... )

Details zum Ereignis 1 +11,2Sekunden:
bla bla bla :lol:
OB Nummer: 82

Code:
na LOL!!!
Sobald ich hier Code reinkopiere sagt mir PHP: Sie müssen Text in ihren Post einfügen ? ! 
HELP ?!

Eigentlich sollte doch sogar im Fehlerfall der OB durchlaufen ?! Oder mache ich da einen generellen Fehler ?? :shock:

Gobo
 
das sieht so aus, als wenn die Zyklusüberwachungszeit zu knapp bemessen ist, um noch den DiagnoseOB abzuarbeiten und während dieser Abarbeitung dadurch eine Zykluszeitüberschreitung auftritt.
Evtl die Ü-Zeit um ein paar ms hochsetzen.
Gruß
raika
 
Hier noch das 1. Netzwerke vom OB82:

Code:
      L     #OB82_EV_CLASS
      L     B#16#39 -Kommendes Ereignis
      <>I   
      SPB   E001
      L     #OB82_MDL_ADDR
      L     384 -Adresse Kanal
      <>I   
      SPB   E001
      S     M    500.0
E001: L     #OB82_EV_CLASS
      L     B#16#38 -Gehendes Ereignis
      <>I   
      SPB   E101
      L     #OB82_MDL_ADDR
      L     384 -Adresse Kanal
      <>I   
      R     M    500.0
E101: TAK
 
Es sind anscheinend noch mehr Sprungmarken im Programm. Schau nochmal genau durch, ob du dich nicht bei einer Marke (oft durch kopieren) verschrieben hast und statt nach unten wieder nach oben springst (zu einer vorhergehenden Marke). Das führt dann zu einer Schleife und Zeitüberschreitung, weil der OB nicht mehr zum Ende kommt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@GobotheHero

Ich weiß zwar nicht, was noch im Programm steht, aber die Moduladresse ist nicht die Kanaladresse. Das trifft nur beim ersten Kanal zu!

Gruß
raika
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Test

OB82_MDL_ADDR Word "Logische Basisadresse der Baugruppe, in der der Fehler aufgetreten ist"

Am Anfang war mir eigentlich auch klar das damit wohl die Baugruppenanfagsadresse gemeint ist.
Ich habe mir die Adresse doch mal anzeigen lassen und siehe da jeder Fehler an verschiedenen Kanälen gab jew. seine eigene Adresse aus (bei mir 400-414 6ES7 331-7PF10-OAB0).
Ich habe die Diagnose dann so aufgebaut das bei kommendem Ereignis über die Adresse erkannt wird welcher Kanal gestört ist. Das hat in der Praxis gut funktioniert. Vielleicht liegt das daran, das ich die Diagnose für jeden Kanal an- und ausschalten kann.
Nun muss ich aber auch die gehenden Ereignisse beachten, da beim Wiedereinschalten der Anlage eine Spannungsversorgung zu träge ist und einen Fehler verursacht. Um kein Ereignis zu verpassen halte ich die Ereignisse in Merkern nach und gebe sie erst nach 10s zur Störumeldung frei. Bis dahin funktioniert alles Reibungslos. Fällt aber während des Betriebes ein Kanal aus wird der Fehler angezeigt. Ist der Kanal wieder OK geht die CPU in STOP.

Die Sprungmarken habe ich kontrolliert ("Gehe zu -> Lokale Verwendung >>")

Hat jemand vielleicht ein Beispiel wie man das macht ?!
 
Zurück
Oben