TIA S7-1500/ET200SP - Kanaldiagnose im Anwendungsprogramm

fabianfischer

Level-2
Beiträge
55
Reaktionspunkte
38
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

kennt einer von euch einen fertigen Baustein für die SIMATIC 1500, mit welchen man die Diagnosemeldungen eines ET200SP Moduls auslesen kann?

Aktuell benutze ich den Baustein GET_DIAG um die ET200SP Stationen und deren IO Module auf Fehler zu prüfen, jedoch ist es scheinbar mit dem Baustein nicht möglich den eigentlichen Fehlercode z. B. für Kurzschluss auszulesen.

Das man bei den meisten IO Modulen mittlerweile den Wertstatus aktivieren kann um ein Summen Fehler Bit pro Kanal auswerten zu können ist mir bekannt, ich möchte allerdings im Anwendungsprogramm genau wissen welcher Fehler auftritt.

Danke.

Gruß Fabian
 
Hallo Zusammen,

in zwischen bin ich schon einen Schritt weiter gekommen, laut Support bestehen aktuell nur zwei Möglichkeiten an die Diagnosedaten der EA Module aus dem Anwendungsprogramm zu kommen:

1. Zentral über den Baustein RALRM im Zusammenspiel mit dem Fehler OB.
2. Mit der Anweisung RDREC über die Hardware Adresse den entsprechenden Datensatz vom Modul auslesen.

Für meine Aufgabenstellung kommt nur Lösung 2 in Frage, dementsprechend habe ich den Baustein RDREC testweise in ein Programm eingebunden. Allerdings kann ich den INDEX des Diagnose Datensatzes z. B. von einem ET200SP 16 Kanal Digitalausgabemodul nicht finden.

Im entsprechenden Handbuch (Link: https://support.industry.siemens.co..._0_5a_st_manual_de-DE_de-DE.pdf?download=true) habe ich nur den INDEX für den Parameterdatensatz (INDEX 128) gefunden, welchen ich bereits erfolgreich auslesen konnte.

Kann mir einer den INDEX für die Diagnose Daten sagen oder noch besser wo ich ihn erlesen kann?

Die INDEX 0, 1 und 127 habe ich schon probiert aber da bekomme ich den Fehler zurück geworfen, dass die Baugruppe den Datensatz nicht kennt.

Danke.

Gruß Fabian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

nach intensiver Recherche und Unterstützung durch den Technical Support von Siemens habe ich die Lösung gefunden und möchte Sie nachfolgend allen Nutzern präsentieren, da ich selbst im Internet keine Lösung gefunden habe.

Das Netzwerk im Anwendungsprogramm ist relativ simpel. Der Baustein RDREC wird über den Eingang REQ aktiviert, hierbei ist zu beachten, dass der Baustein RDREC über mehrere Zyklen läuft und nur 10 Instanzen gleichzeitig abgearbeitet werden können. Sollten mehr Instanzen genutzt werden sollte man den Baustein über eine Schrittkette aufrufen. Der Eingang ID wird mit der Hardware Adresse des zu diagnostizierende Moduls beschaltet. Das entscheidende ist aber die Beschaltung des Eingang INDEX mit der korrekten Datensatznummer.

1.png

Gemäß dem nachfolgenden Dokument (Seite 5-3) lautet der korrekte INDEX für den Kanal Diagnosedatensatz „800A“.

https://support.industry.siemens.com/cs/de/de/view/19289930

2.png

Die Beschreibung des Diagnosedatensatzes findet man auf Seite 6-6.

3.png

Gemäß der Datensatzbeschreibung kann dem letzten Byte des ausgelesenen Datensatzes der Kanalstatus entnommen werden. Bei Standard Modulen gilt der Wert für alle Kanäle.

4.png

Die Bedeutung des Wertes kann dem Systemhandbuch zum entsprechenden Modul entnommen werden.
Als Beispiel zum ET200SP DQ 16x24VDC/0,5A ST Modul findet man die Beschreibung auf Seite 17 im nachfolgenden Dokument.

https://support.industry.siemens.co...ausgabemodul-dq-16x24vdc05a-st?dti=0&lc=de-DE

5.png

Dementsprechend entspricht der Wert 06 Leitungsbruch, welchen ich provoziert habe.

Zu beachten bleibt noch, dass der Datensatz nur ausgelesen werden kann, wenn ein Fehler ansteht.

Gruß Fabian
 
Wäre wirklich schön, wenn sich Siemens zu einem Baustein entschließen könnte, wie wir ihn für die 300-er kennen (FB126 + WinCCFlex-Bilder). Das war mal wirklich eine gute Sache und ich hoffe, wir bekommen das auch noch für die 1500-er nachgereicht. Selber machen wäre auch noch eine Variante, aber das ist doch zum Schluß recht umfangreich, besonders die Visualisierung.
 
Hallo Fabian,

vielen Dank für deinen Beitrag.
Verrätst du mir, wie du den DB genau aufgebaut hast, in dem das Array (?) record2 zu finden ist? Ist das ein Array of Byte? Wenn ja, wie groß? Kann ich das nicht auch direkt an RDREC hängen?

Viele Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Baustein RDREC wird über den Eingang REQ aktiviert, hierbei ist zu beachten, dass der Baustein RDREC über mehrere Zyklen läuft und nur 10 Instanzen gleichzeitig abgearbeitet werden können. ...

Zu beachten bleibt noch, dass der Datensatz nur ausgelesen werden kann, wenn ein Fehler ansteht.
:unsure:
Bedeutet das, dass man den REQ erst dann erfolgreich aktivieren kann/darf, wenn ein Fehler bereits ansteht
und,
dass der Fehler noch unverändert weiter anstehen muss,
bis der RDEC seine "mehreren Zyklen" abgespult hat??
:unsure:
Und, dass in anderen Fällen der Datensatz bzw. die in ihm enthaltene (Des-)Information "für die Affen" ist?
:unsure:
Gehe ich fehl in der Annahme, dass sich Siemens dazu geäussert hat?
:unsure:
 
Zurück
Oben