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

