TIA Wie Zugriffsfehler systematisch bearbeiten?

Zuviel Werbung?
-> Hier kostenlos registrieren
Der OB122 wird bei JEDER Abfrage vom z.B. PEW128 im OB1 Programm aufgerufen. Also nicht vorher oder sonstwann... Also wenn ich im OB1 Programm 25 mal den PEW128 abfrage, wird der OB122 25 mal aufgerufen...

Also Die Idee mit dem OB122 von weiter oben, müsstest dann ganz am Anfang vom OB1 einmal aufrufen. Aber egal. Wenn die Geschichte aus dem FAQ mit dem GET_DIAG funktioniert, ist doch gut...

Gruß.

Die S7-1500 haben eine Systemdiagnose die immer läuft. Wenn GET_DIAG aufgerufen wird, dann wird immer diese Diagnose abgefragt. Dadurch sind die Daten immer aktuell, es ist kein Anstupsen über mehrere Zyklen erforderlich.
Zeitgleich sind Daten der Systemdiagnose auch im Zustand STOP verfügbar. Dadurch kann z.B. ein Panel während des CPU-STOP bereits fehlende Teilnehmer anzeigen. Im OB100 z.B. kann der Anlauf verhindert werden, was einer erweiterten Funktion von deaktiviertem "Anlauf auch bei unterschieden" entsprechen würde.

Weiß ned ob über diese Seite schon gestolpert wurde:
https://support.industry.siemens.co...ose-mit-s7-1500-und-tia-portal?dti=0&lc=de-CH
 
Ich verwende für sowas die WinCC Comfort / WinCC Advanced integriete System Diagnostics View.
Es funktioniert sehr gut ohne Programmieraufwand.
Man kann bis auf einzelne Module Browsen.
Man kann die CPU Diagnosepuffer anschauen.
Es ist eine von die Vorteile auf ein Siemens + Siemens Lösung zu bleiben.
Einfach das System Diagnostics View von die Controls ziehen und in eine beliebige Fenster droppen und fertig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich verwende für sowas die WinCC Comfort / WinCC Advanced integriete System Diagnostics View.
Es funktioniert sehr gut ohne Programmieraufwand.
Man kann bis auf einzelne Module Browsen.
Man kann die CPU Diagnosepuffer anschauen.
Es ist eine von die Vorteile auf ein Siemens + Siemens Lösung zu bleiben.
Einfach das System Diagnostics View von die Controls ziehen und in eine beliebige Fenster droppen und fertig.

Aber es ist nur ein Viewer der keine Befehle an die CPU automatisiert sendet wenn Module Defekt, gestört, nicht vorhanden sind. Also nur zur Diagnose.
Oder sehe ich das falsch? In ein Bild habe ich die auch schon reingezogen, aber eben nur vom Störmeldebildschirm aus als "Zusatzinfo".
 
Aber es ist nur ein Viewer der keine Befehle an die CPU automatisiert sendet wenn Module Defekt, gestört, nicht vorhanden sind. Also nur zur Diagnose.
Oder sehe ich das falsch? In ein Bild habe ich die auch schon reingezogen, aber eben nur vom Störmeldebildschirm aus als "Zusatzinfo".
Das stimmt.

Um eine Störmeldung auszulösen verwende ich die Fehler-OBs.
In Störmeldetext steht nur "Programmfehler -- sehe System Diagnose", "Modulfehler -- sehe System Diagnose" oder Ä.
 
Das stimmt.

Um eine Störmeldung auszulösen verwende ich die Fehler-OBs.
In Störmeldetext steht nur "Programmfehler -- sehe System Diagnose", "Modulfehler -- sehe System Diagnose" oder Ä.

Okay, also dann doch die Systemdiagnose da die Fehler-OBs nicht im STOP ausgeführt werden (was bei der aktuellen Aufgabenstellung wichtig war).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein OB 122 erkennt z.B. offenbar keine Fehler, die schon bei Neustart vorliegen.
Aber ist das wichtig ?
Wichtiger ist wohl ob es noch Fehler gibts wenn die Maschine fahren soll, also nicht nur bei CPU Neustart.
Meine Erfahrung ist das die Operator immer nach Netz-ein blind die Quitier-Taste betätigt, egal ob es Fehler gibts oder nicht. Nur wenn der Maschine nicht fahren will fängt er an Störmeldungen anzuschauen und näher untersuchen.
 
Ich würde gerne bei einem Fehler an einem lokalen E/A-Modul eine und nur diese Meldung haben: E/A-Modul x gestört. Und das sowohl nach einem Neustart nach Ausfall der Versorgungsspannung, wenn jemand an der SPS war, als auch im laufenden Betrieb.

Im Programm muss ich also die mit diesem Modul verheirateten E/As mit dieser Meldung kombinieren und z.B. entsprechende Fehlermeldungen drahtbruchsicherer Eingänge unterdrücken oder nicht erreicbare Ausgänge vorhersehen.

Diese Anlagen laufen autonom und werden nur sporadisch von Laien bedient. Daher müssen Fehlermeldungen möglichst eindeutig und idiotensicher sein.
 
Ich würde gerne bei einem Fehler an einem lokalen E/A-Modul eine und nur diese Meldung haben: E/A-Modul x gestört. Und das sowohl nach einem Neustart nach Ausfall der Versorgungsspannung, wenn jemand an der SPS war, als auch im laufenden Betrieb.

Im Programm muss ich also die mit diesem Modul verheirateten E/As mit dieser Meldung kombinieren und z.B. entsprechende Fehlermeldungen drahtbruchsicherer Eingänge unterdrücken oder nicht erreicbare Ausgänge vorhersehen.

Diese Anlagen laufen autonom und werden nur sporadisch von Laien bedient. Daher müssen Fehlermeldungen möglichst eindeutig und idiotensicher sein.

Ja, so hatte ich das auch verstanden, ich hab dieses Problem auch manchmal.
Also der Diagnose Baustein muss im OB1 vor dem Meldebaustein aufgerufen werden und darf nicht mehrere Zyklen dauern. Wenn Du einen Zyklus zu spät die Meldung "Karte defekt" bekommst, dann hast alle Drahtbruchsicheren DI-Meldungen schon anstehen.

Mit meiner OB122 Lösung sollte es funktionieren, mit dem Diag-Baustein ja auch, wenn er zyklusgenau arbeitet...

Gruß

PS bei diversen DI-Karten klappt das aber nicht immer, wenn die (externen) 24DC zu den Öffnern ausfallen... In dem Fall hab ich bei 32er Karte schon einen Eingang auf Dauerplus spendiert :)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Grundsätzlich ist das eine Frage der Meldeschauerunterdrückung, bzw. Folgemeldungsunterdrückung...

Das Thema kannst Du bis zum Erbrechen betreiben. Und am Ende macht dann die "Diagnose" mehr als 50% des Programmieraufwandes und mehr als 50% der Programmierfehler aus...

Also ich versuche es nach Möglichkeit zu vermeiden...

Bei den Drahtbruchsicheren Meldungen muss Du dann ja auch die SPS-Logik betrachten.

Z.B. eine Drahtbruchsichere Meldung "Temperatur zu hoch" schaltet ne elektrische Heizung per Software aus. Wenn Du die Meldung jetzt unterdrückst, würde die Heizung bei Ausfall der Karte erstmal weiterlaufen. An der Stelle musst Du überlegen, ob der "sichere Zustand" in dem Fall nicht Heizung aus wäre. D.h. Du musst die Heizung in der Software nicht nur abschalten bei Meldung "Temperatur zu hoch" sondern auch bei Meldung "Karte defekt"

Noch schwieriger wirds bei Analogmessungen, wo jetzt aus dem Messwert dann Grenzen und Meldungen generiert werden. Bei Karte defekt, musst Du jetzt bei allen Verwendungsstellen der Grenzwerte überlegen, was jetzt der "sichere Zustand" wäre...

Also um so mehr man drüber nachdenkt, umso umfangreicher wird das Thema.

Gruß.
 
Grundsätzlich ist das eine Frage der Meldeschauerunterdrückung, bzw. Folgemeldungsunterdrückung...
Das Thema kannst Du bis zum Erbrechen betreiben. Und am Ende macht dann die "Diagnose" mehr als 50% des Programmieraufwandes und mehr als 50% der Programmierfehler aus...
+1

Wenn der Elektriker sich nicht bemühen kann auf das System Diagnose Bild zu schauen und das defekte Modul finden, dann hat er auch nichts zu tun mit die Fehlersuche oder Tausch von Module oder Sokkeln o.Ä.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich will noch etwas zum Thema Wertstatus nachschieben, da ich gerade eine 1500 mit HF-Karten auf der Werkbank habe:

Die Funktion Wertstatus lässt sich offenbar nicht von der Programmierung der Diagnose beeinflussen, sondern fährt immer das ganze Programm. Das bedeutet

bei DI-Karten, dass immer Drahtbruch und Versorgungsspannung berücksichtigt werden. Unabhängig von den roten LEDs und der Diagnose per Get_Diag. Hat man auch Eingänge, deren Geber nicht 30KOhm bei AUS haben, ist die kanalgebunde Auswertung also schnell wertlos. Das gilt umso mehr für ST-Karten, die gleich eine ganze Karte als defekt melden, wenn ein Widerstand fehlt.

bei DA-Karten funktioniert die kanalweise Auswertung des Wertstatus dagegen perfekt, solange man nicht parallel schaltet. (Man kann ja nichts abwählen)

bei AI brauche ich das nicht, die Auswertung von Siemens ist für mich viel zu unspezifisch. Ein Drucksensor ist noch lange nicht defekt, wenn er 3,78mA oder bei einem anderen Modell 2mA bringt, es könnte auch ein nicht erfassenswerter Unterdurck sein, der bei meinen Anlagen schon mal auftreten kann.

Ergebnis: Get_Diag für Eingangskarten und für alle Ausgangskarten, die den Wertstatus nur grupppenweise melden. Da spart man sich die zusätzlichen Adressen und erfährt mit Get_Diag mehr, weil über die Diagnose programmierbar.
 
Zurück
Oben