Beitragsliste anzeigen
STEP 7 (TIA Portal) -- Informationen zu Vorgängerversionen -- Fehlermeldungen analysieren
Wie geht man vor, wenn von der S7-1200 CPU Zeitfehler erkannt wurden?
Wie geht man vor, wenn von der S7-1200 Fehler bei der Bausteinausführung erkannt wurden?
Warum wird bei einem Notebook oder beim Field PG M3 der integrierte Kartenleser von STEP 7 Basic V10.5 SP2 nicht erkannt?
Wie kann in STEP 7 Basic V10.5 mit der lokalen Fehlerbehandlung das Auftreten von Fehlern innerhalb eines Bausteins abgefragt werden?
Warum erscheint nach jedem Neustart die Fehlermeldung "Siemens.Automation.ObjektFrame.FileStorage.Preloader.exe Fehler in Anwendung"?
Warum erscheint die Fehlermeldung "Die Datei konnte nicht geöffnet werden" beim Versuch, die SIMATIC Hilfe oder die Dokumentation zu öffnen?
Wie geht man vor, wenn von der S7-1200 Fehler bei der Bausteinausführung erkannt wurden?
Bestellnummer:

Beschreibung
Bei einem Fehler in der Bausteinausführung reagiert die CPU standardmäßig mit einer Eintragung des Fehlers in den Diagnosepuffer und der Umschaltung in den STOP-Modus.

Dieses Verhalten der CPU können Sie beeinflussen, indem Sie in dem zu überwachenden Programmbaustein eine oder mehrere "GetError"- oder "GetErrorID"-Operationen setzen. Daraufhin schaltet die CPU nicht mehr in den STOP-Modus um und registriert keinen Fehler im Diagnosepuffer. Stattdessen werden die Fehler nun innerhalb des Bausteins verarbeitet. Die Fehlerinformation wird am Ausgang der "GetError"- oder "GetErrorID"-Operation gemeldet.

"GetError"
Die Opertation "GetError" zeigt an, dass bei der Bausteinausführung ein Fehler aufgetreten ist und verwendet dazu eine vorgegebene Fehlerdatenstruktur des folgenden Datentyps: "ErrorStruct" mit ausführlicher Fehlerinformation.
Mit der "GetError"-Operation kann auch eine Meldung über den Fehlerstatus an den aufrufenden Baustein weitergeleitet werden. Dazu muss die Operation im letzten Netzwerk des aufgerufenen Bausteins platziert werden.

"GetError"
Die Operation "GetErrorID" zeigt an, dass bei der Bausteinausführung ein Fehler aufgetreten ist und liefert die ID (Identifikationscode) des Fehlers. Eine Liste mit allen Fehlercodes finden Sie in der Online-Hilfe zu STEP 7 Basic unter dem Stichwort "GetErrorID".

Hinweis
Beim Erstellen eines neuen Projekts ist noch keine "GetError"- oder "GetErrorID"-Operation vorhanden.

Auswertung eines Blockausführungsfehlers mit der Operation "GetError"
Informationen über das Blockausführungsereignis werden in einer Variablen vom Systemdatentyp "ErrorStruct" gespeichert.
 
Nr.

Auswerten eines Blockausführungsfehlers mit der Operation "GetError"

1 "GetError"-Operation hinzufügen
  • Wählen Sie das Verzeichnis "Erweiterte Anweisungen" > "Programmsteuerung" > "GetError".
  • Ziehen Sie eine "GetError"-Operation per Drag&Drop in das letzte Netzwerk des zu überwachenden OBs.
  • Klicken Sie auf die Schaltfläche "OK".

Weitere Einzelheiten können Sie aus dem Bild unten ersehen.

2 Auslesen der "ERROR" Ausgabeinformation aus der "GetError"-Operation
Die lokale Fehlerinformation kann in einer globalen Variablen wie folgt gespeichert werden:
  • Erstellen Sie die lokale Variable "error_local" vom Datentyp "ErrorStruct".
  • Speichern Sie den Wert des Ausgangs "Error" in der lokalen Variablen "error_local".
  • Wählen Sie im Verzeichnis "Anweisungen" die Befehle "Verschieben" > "Move".
  • Ziehen Sie eine "MOVE"-Anweisung per Drag&Drop in das Netzwerk mit der "GetError"-Operation.
  • Verbinden Sie den ENO-Konkakt der "GetError"-Operation mit dem EN-Kontakt der "MOVE"-Anweisung.
  • Erstellen Sie im Datenbaustein "data_block" die globale Variable "gl_error" vom Datentyp "ErrorStruct".
  • Verschieben Sie die Variable "GetError" in die Variable `"data_block".gl_error´.
 
Bild 01
 3 Auswerten der Ausgabeinformation "ERROR" aus der Operation "GetError"
Am Fehlerausgang "ERROR" können nur Variablen vom Systemdatentyp "ErrorStruct" definiert werden. Der Systemdatentyp "ErrorStruct" definiert die genaue Struktur zur Speicherung der Fehlerinformation. Mit zusätzlichen Operationen können Sie diese Struktur auswerten und eine geeignete Reaktion programmieren.

Die Variable "ErrorStruct" enthält die folgenden Informationen:

  • Den Typ des Bausteins, in dem der Fehler aufgetreten ist (z.B. ´"data_block".gl_error.block_type´)
  • Die Nummer des Bausteins, in dem der Fehler aufgetreten ist (z.B. ´"data_block".gl_error.code_block_number´).

Siehe Einzelheiten im folgenden Bild. In der Online-Hilfe zu STEP 7 Basic finden Sie unter dem Stichwort "GetError" eine detaillierte Auflistung der Inhalte des Datentyps "ErrorStruct".


Bild 02

Tabelle 01

Vom Freigabeausgang "ENO" angezeigte Fehlerbedingungen
Der "ENO"-Ausgang der "GetError"- oder "GetErrorID"-Operationen wird nur gesetzt, wenn die folgenden Bedingungen erfüllt sind:

  • Der Eingang EN ist aktiviert.
  • Es liegt eine Fehlerinformation an.

Falls eine dieser Bedingungen nicht gilt, so hat die "GetError"-Operation keine Auswirkung auf die weitere Programmausführung.

Wenn EN = WAHR und "GetError" oder "GetErrorID" ausgeführt wird, dann gilt:

  • ENO = WAHR gibt an, dass während der Ausführung eines Codebausteins ein Fehler aufgetreten ist und Fehlerdaten vorliegen
  • ENO = FALSCH gibt an, dass während der Ausführung eines Codebausteins kein Fehler aufgetreten ist

Sie können die Logik des Fehlerverarbeitungsprogramms mit dem ENO-Ausgang verknüpfen, der nach dem Auftreten eines Fehlers aktiviert wird. Bei einem Fehler werden die Fehlerdaten im Ausgangsparameter gespeichert, auf den Ihr Programm zugreifen kann. Mit "GetError" und "GetErrorID" können Fehlerinformationen des aktuell ausgeführten Bausteins (des aufgerufenen Bausteins) an einen aufrufenden Baustein gesendet werden. Platzieren Sie die Operation im letzten Netzwerk des aufgerufenen Bausteinprogramms, um den endgültigen Ausführungsstatus des aufgerufenen Bausteins zu melden

Online-Diagnose mit STEP 7 Basic
Falls Sie keine "GetError"-Operation verwenden, aber über STEP 7 Basic auch online auf Ihre S7-1200 zugreifen können, so steht Ihnen die Funktion "Online & Diagnose" zur Verfügung:

  • Stellen Sie eine Online-Verbindung zu Ihrer S7-1200 her.
  • Markieren Sie in der Projektnavigation den Eintrag "Online & Diagnose".
  • Markieren Sie im Bereich "Online-Zugänge" den Eintrag "Diagnosepuffer".
  • Wählen Sie in der Tabelle "Ereignisse" ein Fehlerereignis bei der Ausführung eines Programmbausteins.
  • Unterhalb der "Ereignisse"-Tabelle werden Details zum gewählten Ereignis angezeigt. Hier können Sie auch die Nummer des betroffenen OB und die Ereignis-ID des Fehlers ersehen.

 
Bild 03

Hinweis
"Kommendes Ereignis" weist auf den Anfang eines Ereignisses hin.
"Ausgehendes Ereignis" weist auf das Ende eines Ereignisses hin.

Anwendungsfall
Wenn kein direkt addressierter Kontakt (z.B. "IW120:P") verfügbar ist, können Sie mit der "GetError"-Operation Folgendes erreichen:

  • Verhindern, dass die CPU in den STOP-Moduls wechselt
  • Eine Fehlermeldung absetzen
  • Einen Ersatzwert für den fehlenden Kontakt einsetzen

Voraussetzungen

  • S7-1200
  • Ethernet-Kabel
  • PG / PC
  • STEP 7 Basic V10.5

 Beitrags-ID:42908460   Datum:2010-05-21 
Dieser Artikel...hat mir geholfenhat mir nicht geholfen                                 
mySupport
My Documentation Manager 
Newsletter 
CAx-Download-Manager 
Support Request
Zu diesem Beitrag
Drucken
PDF erstellen 
Beitrag versenden
QuickLinks
Kompatibilitäts-Tool 
Hilfe
Online Hilfe
Guided Tour