CounterMonitoring

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

Name
Datentyp
Wertebereich
Initialwert
Funktion

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

Name
Datentyp
Wertebereich
Initialwert
Funktion

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

Name
Datentyp
Wertebereich
Initialwert
Funktion

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: \

  1. ‘xEn’ = TRUE\

  2. ‘rConsumLimit’ > 0.0\

  3. ‘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: \

  1. xAlarm Störmeldung - Zählerüberwachung (FALSE = Aus, TRUE = Ein)\

  2. tMonIntervall Zeitdauer eines Überwachungs-Intervalls\

  3. tRemainIntervall Verbleibende Rest-Zeit im Überwachungs-Intervall\

  4. rConsumMax Maximaler Verbrauch im Überwachungsintervall ( identisch mit ‘rConsumLimit’ )\

  5. rConsumIntervall Aktueller Verbrauch im Überwachungsintervall ( es werden nur Verbräuche >= 0.0 angezeigt )\

  6. 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: \

  1. xAlarm FALSE\

  2. tMonIntervall T#0s\

  3. tRemainIntervall T#0s\

  4. rConsumMax 0.0\

  5. rConsumIntervall 0.0\

  6. rConsumRemain 0.0\

CODESYS

InOut:

Scope
Name
Type
Initial

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