Kleines Meldesystem mit DB

Flux

Level-1
Beiträge
314
Reaktionspunkte
11
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

derzeit suche ich nach der elegantesten Lösung für folgendes Problem:

Wenn bestimmte Fehler (logisch verknüpft) auftreten, soll eine entsprechende Meldung (z.B. DB1.DBX 0.0) in einem DB1 gesetzt werden, um dann von WinCC/WinCCflexible visualisiert und archiviert zu werden.

Mit einem Sammelquittier-Taster sollen alle Meldungen quittiert werden können, jedoch nur, wenn die Fehler behoben wurden.

erster Versuch:
Code:
//Meldung1
U #Sammelquitt
FP M 0.0
R DB1.DBX 0.0

U #Fehler1
S DB1.DBX 0.0

//Meldung2
U #Sammelquitt
FP M 0.0
R DB1.DBX 0.1

U #Fehler2
S DB1.DBX 0.1

//Meldung3
... bis Meldung128

Funktioniert die aktuelle Variante vor jedes R den FP-Befehl mit dem selben FM (M 0.0) zu schreiben?
Oder müsste ich vor der Meldungsbehandlung einen Impulsmerker bestimmen ?
Code:
//Flankenauswertung des Sammelquittier-Tasters
U #Sammelquitt
FP M 0.0 //Flankenmerker
= M 0.1 //Impulsmerker

//Meldung1
U M 0.1
R DB1.DBX 0.0

U #Fehler1
S DB1.DBX 0.0

//Meldung2
U M 0.1
R ...
...

Oder wäre es auch möglich bei Tasterflanke ALLE Meldungen (4 Doppelwörter) mit 0 zu beschreiben, aber sofort wieder mit 1, falls der entsprechende Fehler weiterhin besteht (setzdominant (wie oben in den Beispielen)).

Code:
//Wenn Flanke..
U #Sammelquitt
FP M 0.0

//..dann DB1 abnullen
L 0
T DB1.DBD 0
T DB1.DBD 4
T DB1.DBD 8
T DB1.DBD 12

Problem: L und T werden VKE-unabhängig ausgeführt. Wie mach ich das am besten?

MfG
Flux
 
Hallo,

da die SPS zyklisch arbeitet und jeden Befehl der Reihe nach bearbeitet, wir die Anwendung im 1.Versuch nur bei der ersten Bearbeitung funktionieren. Alles andere danach sind Mehrfach-Zuweisungen.

Im 2.Versuch: das ist ok; ein Flankenmerker einmal gebildet (und vor der Abfrage) und kann dann hinterher beliebig verwendet werden.

Eleganter ist das natürlich das Beschreiben des Datenbereiches mit 0.
Dazu gibt es den Move-Befehl, oder in AWL die Sprunganweisung.

(weitere Hilfen: Befehlsübersicht, Befehlsliste)

LG, jb
 
Zurück
Oben