TIA Wie Zugriffsfehler systematisch bearbeiten?

Ludewig

Level-3
Beiträge
1.056
Reaktionspunkte
224
Zuviel Werbung?
-> Hier kostenlos registrieren
Ausgangspunkt: Eine Eingangs"karte" einer ET200 mit CPU 1510 ist nach 5 Monaten herausgesprungen, weil sie bei der Montage nicht richtig eingerastet wurde.

Ziel: Ich möchte jetzt zyklisch systematisch alle E/A-Baugruppen auf Fehler abfragen und bei Bedarf Fehlermeldungen, Ersatzwerte etc. bilden.

Frage: Welcher Weg ist der systematischste Zugang zu Baugruppenfehlern? Ein OB 122 erkennt z.B. offenbar keine Fehler, die schon bei Neustart vorliegen.
Gibt es Systemvariablen, die man auswerten kann? Siemens ist hier ja erheblich komplexer als andere Hersteller. Wie machen das andere?

Hinweise: Die 1500 geht im Gegensatz zu anderen Modellen bei so etwas nicht in STOP!
 
. Wie machen das andere?

also bei schneider tm3 ... gibts ein diagnosebyte das ich auswerte ...
und z.b. so belegt ist :

Beschreibung des Eingangsdiagnosebytes
In dieser Tabelle wird das Diagnosebyte IBStatusIWx beschrieben:
Byte-Wert Beschreibung
0 Normal
1 Nicht definiert
2 Nicht definiert
3 Konfigurationsfehler
4 Fehler bzgl. externer Spannungsversorgung
5 Verdrahtungsfehler (Obergrenze überschritten)
6 Verdrahtungsfehler (Untergrenze unterschritten)
7 Allgemeiner Hardwarefehler
8...255 Nicht definiert


ich werte die bits aus und kann entsprechend reagieren ....
ich hatte bisher einen sensorausfall (20mA unterschritten) und einen "wackelkontakt" bei einer karte (allgemeiner hardwarefehler)
und hat immer geklappt :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ausgangspunkt: Eine Eingangs"karte" einer ET200 mit CPU 1510 ist nach 5 Monaten herausgesprungen, weil sie bei der Montage nicht richtig eingerastet wurde.

Ziel: Ich möchte jetzt zyklisch systematisch alle E/A-Baugruppen auf Fehler abfragen und bei Bedarf Fehlermeldungen, Ersatzwerte etc. bilden.

Frage: Welcher Weg ist der systematischste Zugang zu Baugruppenfehlern? Ein OB 122 erkennt z.B. offenbar keine Fehler, die schon bei Neustart vorliegen.
Gibt es Systemvariablen, die man auswerten kann? Siemens ist hier ja erheblich komplexer als andere Hersteller. Wie machen das andere?

Hinweise: Die 1500 geht im Gegensatz zu anderen Modellen bei so etwas nicht in STOP!

oha... schwieriges Thema...

also der OB122 wird immer dann aufgerufen, wenn irgendwo im Programm die Peripherie abgefragt wird, dann aber nicht erreichbar ist. Also z.B. L PEW128. Wenn die Karte, wo das PEW128 drauf liegt nicht erreichbar ist, wird der OB122 aufgerufen, jedes Mal...

Was genau ist denn Euer Problem? Diagnosemöglichkeiten gibts zig verschiedene mit mehr oder weniger Aufwand...

Wenn Ihr pro Karte ne Meldung braucht, dann wirds aufwändig. Wenn Du aber nur wissen willst, ob irgendwo etwas nicht stimmt, kannst Du ja die rote LED der CPU abfragen.

Wenn Du nen Siemens-Panel hast, könntest auch die Systemmeldungen aktivieren...

Oder einfach im OB122 nen Meldebit setzen. Das ist dann true wenn irgendwo im Programm ein E oder A nicht erreichbar war. Wobei ich mir da jetzt nicht sicher bin, ob der OB122 auch bei Zugriffen auf das Prozessabbild aufgerufen wird (also U E0.0 L EW128 ) oder nur beim Zugriff auf Peripherieadressen (also L PEW128 usw.)

Gruß.
 
Ziel: Ich möchte jetzt zyklisch systematisch alle E/A-Baugruppen auf Fehler abfragen und bei Bedarf Fehlermeldungen, Ersatzwerte etc. bilden.

Grundsätzlich könne ich mir das so vorstellen:

1. Im OB122 nen Merker setzen (z.B. M122.0)

Code:
SET
= M122.0

2. nen Diagnosebaustein schreiben und am Anfang vom OB1 aufrufen

Code:
CLR
= M122.0
L PEB0 // erste Ardresse von Karte 1
U M122.0
S M200.1 // Fehler Karte 1

CLR
= M122.0
L PEB1 // erste Ardresse von Karte 2
U M122.0
S M200.2 // Fehler Karte 2

usw...

3. testen, bei welchen Problemen das funktioniert und bei welchen nicht...

Gruß.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei sowas muss nicht gebastelt werden:
https://support.industry.siemens.co...m-anwenderprogramm-mit-s7-1500?dti=0&lc=de-WW

So mach ich das und wenn entsprechend gestört ist, wird ein Ersatzwert (meistens einfrieren des aktuellen Wertes) beschrieben oder Abschaltung durchgeführt, je nachdem.

OK, hört sich interessant an.

Hast Du die Bausteine produktiv im Einsatz?
Machen die irgendwelche Sorgen?
Funtkioniert das auch für ET200S ET200M diverse Fremdgeräte (z.B. Danfos FU über PB oder PN-IO...)
Wie groß sind die Bausteine nd wieviel Zykluszeit verbraten die?

Danke.
 
Ausgangspunkt: Eine Eingangs"karte" einer ET200 mit CPU 1510 ist nach 5 Monaten herausgesprungen, weil sie bei der Montage nicht richtig eingerastet wurde.

Das ist aber nicht die Schuld des Monteurs, sondern von Siemens. Viele der ET200SP Module rasten nicht ein wenn man sie normal einsetzt. Die muss man leicht schräg von unten einsetzen und dann mit Gewalt draufdrücken, dass die Lasche auch einrastet. Für mich ist das ein Fehler in der Produktion und definitiv so nicht in Ordnung und industrie-tauglich.
 
Das ist aber nicht die Schuld des Monteurs, sondern von Siemens. Viele der ET200SP Module rasten nicht ein wenn man sie normal einsetzt. Die muss man leicht schräg von unten einsetzen und dann mit Gewalt draufdrücken, dass die Lasche auch einrastet. Für mich ist das ein Fehler in der Produktion und definitiv so nicht in Ordnung und industrie-tauglich.

Zusätzlich diverse verbogene Pins, weil das eben nicht für normale Monteurshände gemacht ist :ROFLMAO:

und das macht richtig Spaß beim Suchen, da dabei nicht nur das eine Modul ausfällt, sondern die ganze ET rot ist...

Achja, und diverse defekte Sockel, weil gemand versucht hat, ne Ader mit Aderendhülse wieder herauszubekommen :ROFLMAO:

aber OT.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
OK, hört sich interessant an.

Hast Du die Bausteine produktiv im Einsatz?
Machen die irgendwelche Sorgen?
Funtkioniert das auch für ET200S ET200M diverse Fremdgeräte (z.B. Danfos FU über PB oder PN-IO...)
Wie groß sind die Bausteine nd wieviel Zykluszeit verbraten die?

Danke.
Es hängt davon ab was man für Informationen benötigt und wieviele Geräte vorhanden sind, halt "was will ich wissen?".
Zykluszeit bei einer 1500er habe ich für diese Bausteine nie gemessen, Speicher war bisher auch immer irrelevant. Ein Teil der Diagnose ist auch die bereits vorhandene Systemdiagnose aller S7-1500-CPUs, das ist nur eine Abfrage aus dem internen Speicher.

Alle Anleitungen hierzu sind bei Siemens mit ellenlangen Beispielen vorhanden, 80% davon benötigt man nicht. Die meisten programmiert man einmal und legt sie in der Bibliothek ab. Danach nur noch Copy+Paste der Bausteine und die Meldezeile anpassen.
Probleme habe ich keine mit den Bausteinen, sie laufen alle sehr zuverlässig.

Geräte bei uns sind meistens ET200-Stationen, Schneider ATV und einige IFM-Komponenten, alles PN-IO.
Diese werden mit DeviceStates überwacht, da ich hier pro Zustand (vorhanden, konfiguriert, gestört) alle Geräte im System mit einer Zeile abfragen kann.
Nur wenige Anlagen von uns liefern mehr Informationen (Preisabhängig), aber auch hier sind bisher keine Probleme aufgetreten.
 
Geräte bei uns sind meistens ET200-Stationen, Schneider ATV und einige IFM-Komponenten, alles PN-IO.
Diese werden mit DeviceStates überwacht, da ich hier pro Zustand (vorhanden, konfiguriert, gestört) alle Geräte im System mit einer Zeile abfragen kann.
Nur wenige Anlagen von uns liefern mehr Informationen (Preisabhängig), aber auch hier sind bisher keine Probleme aufgetreten.

ja, DeviceStates ist wirklich so einer der wenigen Vorteile vom TIA :ROFLMAO: liefert ja aber nur Informationen zur PB oder PN-IO Kopfstation, nicht zu den einzelnen Modulen.

Deshalb die Frage, ob die Bauusteine aus diesem FAQ auch für ET200M bzw. ET200S modulspizifische Informationen liefern, im FAQ ist da nur ET200MP nund ET200SP erwähnt...

Glaub ich schau mir die mal an ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen!

Es war nicht zu erwarten, dass es so einfach wie in #2 bei Schneider oder vor 20 Jahren bei Möller ist.

Ich verfolge jetzt den Weg aus #5, konkret den Befehl GET_DIAG, der allerdings für jedes Modul getrennt aufgerufen werden muss.

Den Befehl LED kannte ich noch gar nicht, er hilft aber auch nicht, denn die von mir gestern getesteten Module melden brav W#16#8092 zurück. (= keine Ahnung, was Du von mir willst).
Nebenbei, warum ist der Ausgang ein Int, wenn der Fehlercode in der Doku ein Hex-Wert ist?
 
Zuletzt bearbeitet:
Habe gerade eine Liste aus der Doku "Diagnose" durchgeschaut. Dort sind einige Anweisungen als asynchron gekennzeichnet. GET_DIAG ist nicht dabei.

Entscheidend für meine Anwendung ist aber eher, dass durch das Programm auch Fehler erkannt und gemeldet werden, die schon vor dem Anlauf bestanden. Das kann ein OB 122 z.B. nicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also bei sehr vielen ET200SP Baugruppen ab Ausbaustufe "ST" kann man den Wertestatus aktivieren. Das entspräche dann mehr oder weniger der Variante "Möller".
Das sind dann n Bytes zusätzliche Eingangsdaten, wobei jedes Bit mit 1 dann aussagt, dass die Baugruppe iO ist.
 
@ MSB
Danke für den Hinweis. In meiner Konfiguration gilt das offenbar nur für die Analogbaugruppen. 16DI und 16DO als ST können das offenbar nicht. Totzdem ein guter Hinweis.
Wenn ich mich so durch die Konfiguratiosnmöglichkeiten dieser Karten durchnage, frage ich mich manchmal, wie Ihr da den Überblick behaltet, bei all den Möglichkeiten.
 
@ MSB
Danke für den Hinweis. In meiner Konfiguration gilt das offenbar nur für die Analogbaugruppen. 16DI und 16DO als ST können das offenbar nicht. Totzdem ein guter Hinweis.
Wenn ich mich so durch die Konfiguratiosnmöglichkeiten dieser Karten durchnage, frage ich mich manchmal, wie Ihr da den Überblick behaltet, bei all den Möglichkeiten.
Version 1.0 hatte das scheinbar noch nicht, Version 1.1 dann schon. Grundsätzlich wäre auch ein FW-Update der Karte möglich (aber da man das für jede Karte einzeln machen müsste, zeitlich mitunter nicht ganz ohne ...).

P.S. Zum Überblick: Sehr viel geben die Powerpoints her, die immer mit jedem neuen Major-Release von TIA präsentiert werden, und vieles entdeckt man auch eher zufällig, in TIA oder auch beim Drüberstolpern im Handbuch.
 
Entscheidend für meine Anwendung ist aber eher, dass durch das Programm auch Fehler erkannt und gemeldet werden, die schon vor dem Anlauf bestanden. Das kann ein OB 122 z.B. nicht.

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ß.
 
Zuletzt bearbeitet:
Also bei sehr vielen ET200SP Baugruppen ab Ausbaustufe "ST" kann man den Wertestatus aktivieren. Das entspräche dann mehr oder weniger der Variante "Möller".
Das sind dann n Bytes zusätzliche Eingangsdaten, wobei jedes Bit mit 1 dann aussagt, dass die Baugruppe iO ist.

Ja, dann erklär dem EPLANER gleich mal, warum er den Plan umzeichnen muss, bzw. warum er das mit den Adressen jetzt überhaupt nicht mehr rafft...

Ich hab die Erklärungsnot schon immer bei den ET200MP Analogbaugruppen, die jetzt auf einmal 9 Adressen benötigen...

Sonst wär das sicher ne schöne Sache...

Gruß.
 
Zurück
Oben