TIA S7-1200 Diagnosepuffer im Anwenderprogramm auslesen

c.wehn

Level-2
Beiträge
609
Reaktionspunkte
47
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

ich würde gerne den Diagnosepuffer im Anwenderprogramm auslesen und die EreignisId wissen.

Prinzipiell würde ich gerne die EreignisId 16#4002 haben (Netzausfall).

Über Get_Diag scheint das nicht zu gehen....

Habt ihr eine Idee?

Grüße
 
Das wüsste ich auch gerne, hatte mal versucht, mittels RD_SINFO die Unterscheidung "Stop-Run" / "Netz Aus-Ein" bei einer 1214 FW4.2 hinzukriegen, leider erfolglos.

Soweit ich das nachvollziehen konnte, wird der Initial_Call für OB1 bzw. OB100 in beiden Fällen "High" und ein anderes relevantes Element dazu hab ich nicht gefunden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kenne die S7-1200 noch nicht so detailliert, habe aber Ideen/Vermutungen:

* Einen Digitalausgang auf einen Digitaleingang verbinden und beim Ausgang einstellen:
[x] Wert 1 bei Wechsel von RUN nach STOP aufschalten

Wenn im OB100 bzw. FirstScan von OB1 der Eingang 0 ist, dann war es Netz-Ein. Wenn der Eingang 1 ist, dann war es nur STOP.
Vielleicht reicht auch nur das Prozessabbild des Ausgangs? Wird das PAA vor dem ersten Scan komplett gelöscht?

* Möglicherweise kann man am Systemzeit-Zähler erkennen, ob es ein Netz-Ein war. Leider ist der bei der S7-1200 sehr schlecht dokumentiert. siehe "RUNTIME: Laufzeitmessung"

* Vielleicht kann man auch am Zählerstand eines schnellen Zählers (HSC) erkennen, ob es Netz-Ein war. Wird der vielleicht nur bei Netz-Ein gelöscht?

Harald
 
Zurück
Oben