Netzausfallsicheres Abspeichern eines Zählerwertes (L_TbCount)

Frage:
Kann der Zählerausgang des Funktionsblocks L_TbCount netzausfallsicher abgespeichert werden?

Antwort:
Ja. Um den Ausgang des Zählerbausteins L_TbCount output netzausfallsicher abzuspeichern, müssen die folgenden Schritte durchgeführt werden:

1. Legen Sie eine RETAIN-Variable vom Datentyp DINT an (im Beispiel unten ist das die Variable dnRetainStartValue). Fügen Sie diese Variable zweimal in die FB-Verschaltung ein, einmal mit einem Eingangsfähnchen und einmal mit einem Ausgangsfähnchen.
2. Schreiben Sie den Zählerausgang auf die RETAIN-Variable (L_TbCount.dnActualCount => dnRetainStartValue).
3. Verbinden Sie die RETAIN-Variable außerdem auf den Startwert-Eingang des Zählerbausteins (dnRetainStartValue => L_TbCount.dnStartValue).
4. Fügen Sie einen Funktionsblock L_TbTransition ein und rufen Sie diesen ganz am Anfang der Abarbeitungsreihenfolge auf (Platz 1 in der Abarbeitungstabelle). Wählen Sie die positive Flankenauswertung. Die Impulsdauer muss auf 1[ms] gesetzt werden. Den Eingang des Flankenauswerters verbinden Sie mit einem statischen TRUE-Pegel (bTRUE_b => L_TbTransition.bIn). Der Funktionsblock L_TbTransition gibt auf diese Weise einen TRUE-Pegel nur während des ersten Taskdurchlaufs aus.
Wird das Setzen des Zählers auf einen Startwert auch anwenderseitig benötigt, kann die FB-Verschaltung wie folgt erweitert werden (Das Laden des Zählers von Seiten des Anwenders erfolgt in diesem Beispiel über die Variablen bLoadStartValue_b und dnLoadValue):

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/200907306/0/
Kontaktformular