CounterMonitoring
CounterMonitoring (FB)
CounterMonitoring (FB)FUNCTION_BLOCK CounterMonitoring
Kurzbeschreibung
Überwachung eines Zählerstandes und Erzeugung einer Störmeldung Typische Anwendung: Überwachung eines Wasserzählers auf Überschreitung eines Maximalverbrauchs während eines Überwachungs-Intervalls
Darstellung

Schnittstellen
Eingänge
xEn
BOOL
FALSE
Freigabe / Sperrung der Zähler-Überwachung (TRUE = Freigabe)
rCounterValue
REAL
0.0
Aktueller absoluter Zählerstand (z.B. Zähler für die Wassermenge)
xResetAlarm
BOOL
FALSE
Rücksetzung des Ausgangs ‘xAlarm’ (bei jeder ansteigenden Flanke)
Ausgänge
xAlarm
BOOL
FALSE
Störmeldung - Zählerüberwachung (FALSE = Aus, TRUE = Ein)
tMonIntervall
TIME
Zeitdauer eines Überwachungs-Intervalls
tRemainIntervall
TIME
Restzeit im Überwachungs-Intervall
rConsumMax
REAL
Maximaler Verbrauch im Überwachungsintervall
rConsumIntervall
REAL
Aktueller Verbrauch im Überwachungsintervall
rConsumRemain
REAL
Verbleibender Verbrauch im Überwachungsintervall vor der Auslösung des Alarms
Sollwerte / Parameter
udiMonIntervall
UDINT
24
Zeitdauer eines Überwachungs-Intervalls (0 … 4294967295)
tMinIntervall
TIME
T#0s
Absolute minimale Zeitdauer eines Überwachungs-Intervalls
tMaxIntervall
TIME
T#7D
Absolute maximale Zeitdauer eines Überwachungs-Intervalls
eScaleIntervall
eTime
eTime.Hour
Skalierung der Zeitdauer ‘udiMonIntervall’
rConsumLimit
REAL
10.0
Grenzwert für den Verbrauch im Überwachungs-Intervall
Funktionsbeschreibung
Allgemeines
Dieser Funktionsbaustein dient zur Überwachung eines Medien-Verbrauchs (Wasser, Strom, etc.) (Eingang ‘rCounterValue’) während des einstellbaren Überwachungs-Intervalls ‘tMonIntervall’. Überschreitet der Verbrauch den Maximalwert für das Überwachungs-Intervall ‘rConsumLimit’, so wird ein Alarm (‘xAlarm’ = TRUE) ausgelöst. Er kann durch eine ansteigende Flanke am Eingang ‘xResetAlarm’ zurück gesetzt werden.
Überwachung
Das zyklische Überwachungs-Intervall startet, falls alle folgenden Bedingungen gleichzeitig erfüllt sind:
‘xEn’ = TRUE
‘rConsumLimit’ > 0.0
‘tMonIntervall’ >= T#60s
Das zyklische Überwachungs-Intervall wird beendet, falls mindestens eine dieser Bedingungen nicht mehr erfüllt ist. Zu Beginn jedes Überwachungs-Intervalls wird der aktuelle Zählerstand ‘rCounterValue’ als Startwert gespeichert. Während des Überwachungs-Intervalls wird permanent die Differenz zwischen dem aktuellen Zählerstand und dem Startwert berechnet (rConsumIntervall). Der Ausgang xAlarm wird immer dann aktiviert (= TRUE), falls diese Differenz den Grenzwert rConsumLimit überschreitet. Der Ausgang xAlarm wird durch jede ansteigende Flanke am Eingang ‘xResetAlarm’ zurück gesetzt (= FALSE). Die Festlegung der Zeitdauer ‘tMonIntervall’ erfolgt durch die Sollwerte ‘udiMonIntervall’ (Absoluter Zahlenwert) in Kombination mit ‘eScaleIntervall’ (Skalierung) unter Berücksichtigung von ‘tMinIntervall’ (absoluter Minimalwert) und ‘tMaxIntervall’ (Absoluter Maximalwert).
Anzeigen
Es stehen folgenden Ausgänge zur Anzeige des aktuellen Betriebszustands zur Verfügung:
xAlarm Störmeldung - Zählerüberwachung (FALSE = Aus, TRUE = Ein)
tMonIntervall Zeitdauer eines Überwachungs-Intervalls
tRemainIntervall Verbleibende Rest-Zeit im Überwachungs-Intervall
rConsumMax Maximaler Verbrauch im Überwachungsintervall (identisch mit rConsumLimit)
rConsumIntervall Aktueller Verbrauch im Überwachungsintervall (es werden nur Verbräuche >= 0.0 angezeigt)
rConsumRemain Verbleibender Verbrauch im Überwachungsintervall vor der Auslösung des Alarms (es werden nur Verbräuche >= 0.0 angezeigt)
Sperrung des Bausteins (xEn = FALSE)
Dies Ausgänge nehmen folgende, fixe Zustände ein:
xAlarm FALSE
tMonIntervall T#0s
tRemainIntervall T#0s
rConsumMax 0.0
rConsumIntervall 0.0
rConsumRemain 0.0
CODESYS
InOut:
Input
xEn
BOOL
TRUE
Input
rCounterValue
REAL
0.0
Input
xResetAlarm
BOOL
FALSE
Input Const
rConsumLimit
REAL
10.0
Input Const
eScaleIntervall
eTime
eTime.Hour
Input Const
tMaxIntervall
TIME
TIME#10080m0s0ms
Input Const
tMinIntervall
TIME
TIME#0ms
Input Const
udiMonIntervall
UDINT
24
Output
xAlarm
BOOL
Output
tMonIntervall
TIME
Output
tRemainIntervall
TIME
Output
rConsumMax
REAL
Output
rConsumIntervall
REAL
Output
rConsumRemain
REAL
Zuletzt aktualisiert

