AverageTime (FB)

FUNCTION_BLOCK AverageTime

Kurzbeschreibung

Durchschnittswertbildung eines Analogwertes über vier verschiedene Zeiträume
Mittelwertbildung: Arithmetischer Mittelwert
Typische Anwendung: Zeitliche Mittelung der Außentemperatur

Darstellung

../_images/AverageTime_FB.png

Schnittstellen

Eingänge

Name Datentyp Wertebereich Initialwert Funktion
rIn REAL     Analogwerteingang

Ausgänge

Name Datentyp Wertebereich Initialwert Funktion
rOutCH0 REAL     Durchschnittswert Zeitraum 1
rOutCH1 REAL     Durchschnittswert Zeitraum 2
rOutCH2 REAL     Durchschnittswert Zeitraum 3
rOutCH3 REAL     Durchschnittswert Zeitraum 4
rOutMin REAL     Minimalwert aller Messwerte
rOutMax REAL     Maximalwert aller Messwerte
dtLastNewValue DATE_AND_TIME     Speicherzeitpunkt des letzten Messwertes
sErr STRING     Aktueller Fehlertext

Sollwerte / Parameter

Name Datentyp Wertebereich Initialwert Funktion
xCalculation BOOL   TRUE Freigabe / Sperrung der Datenaufzeichnung
xResetOnInput BOOL   FALSE Initialisierung der Messwertspeicherung und der Durchschnittswertausgänge mit rIn
rInitValue REAL   10 Initialisierungswert für den Messwertespeicher und die Durchschnittswertausgänge bei eInitial = eInit2.InitValue.
tInitDelay TIME   10s Verzögerungszeit für die Messwertspeicherung bei eInitial = eInit2.InputValueDelayed.
eInitial eInit2   eInit2.LastValue Festlegung der Art der Initialisierung
wCH3Time WORD   72 Festlegung des Zeitraums 4
wCH2Time WORD   48 Festlegung des Zeitraums 3
wCH1Time WORD 1 36 Festlegung des Zeitraums 2
wCH0Time WORD   12 Festlegung des Zeitraums 1
rTimeBaseCh0to3 eTime   eTime.Hour Festlegung des Zeiteinheit für die Zeiträume
wInterval WORD   30 Festlegung des Aufzeichnungsintervalls
rTimeBaseInterval eTime   eTime.Minute Festlegung des Zeiteinheit für das Aufzeichnungsintervall

Funktionsbeschreibung

Allgemeines

Messwertespeicher

Der Wert am Analogwerteingang rIn wird Aufzeichnungsintervall in einem Messwertespeicher ( Speichertiefe = 221 Einträge ) abgelegt.
Das Aufzeichnungsintervall wird durch den Zeitwert wInterval und die Zeiteinheit rTimeBaseInterval festgelegt.
Voreinstellung: Aufzeichnungsintervall = 30 Minuten


Zeiträume 0 ... 3 ( X = 0 ... 3 )

Jeder der vier Zeiträume wird durch den jeweiligen Zeitwert wCHXTime und die Zeiteinheit rTimeBaseCh0to3 festgelegt.
Diese Zeiträume werden bei Bedarf auf die maximal mögliche Größe reduziert, falls eine Überschreitung der Speichertiefe droht.
Bei einer Überschreitung wird ein entsprechender Fehlertext am Ausgang sErr erzeugt.

An den Durchschnittswertausgängen stehen erstmals nach den jeweiligen Zeiträumen die korrekten arithmetischen Mittelwerte zur Verfügung.
Voreinstellung: Zeitraum 0 = 12 Stunden, Zeitraum 1 = 36 Stunden, Zeitraum 3 = 48 Stunden, Zeitraum 4 = 72 Stunden

Durchschnittswertausgänge rOutCHX ( X = 0 ... 3 )

Am Durchschnittswertausgang rOutCHX ( X = 0 ... 3 ) steht erstmalig nach der Zeitdauer wCHXTime der korrekte arithmetische Mittelwert der
zugehörigen Einträge im Messwertespeicher zur Verfügung.

Minimalwertausgang rOutMin

Am Minimalwertausgang rOutMin steht erstmalig nach einem Aufzeichnungsintervall der absolute Minimalwert aller Einträge im Messwertespeicher
zur Verfügung.

Maximalwertausgang rOutMax

Am Maximalwertausgang rOutMax steht erstmalig nach einem Aufzeichnungsintervall der absolute Maximalwert aller Einträge im Messwertespeicher
zur Verfügung.

Zeitstempel dtLastNewValue

Am Zeitstempelausgang dtLastNewValue steht erstmalig nach einem Aufzeichnungsintervall der Zeitstempel der letzten Ablage im Messwertespeicher
zur Verfügung.

Fehlertext sErr

Am Ausgang für den aktuellen Fehlertext sErr steht im Fehlerfall ein beschreibender Text zur Verfügung. Bei Fehlerfreiheit wird ein Leerstring ausgegeben.

Art der Initialisierung eInitial

Mit diesem Sollwert / Parameter wird die Art der Initialisierung des Messwertspeichers und der Durchschnittswertausgänge festgelegt. Folgende Optionen sind möglich:
Art Wert der Initialierung Hinweis
eInit2.InitValue rInitValue Einstellbarer Initialwert
eInit2.InputValue rIn Eingangswert
eInit2.InputValueDelayed rIn Verzögerter Eingangswert
eInit2.LastValue Durchschnitt - Messwertespeicher ( Messwertespeicher gefüllt ) Letzter Wert
eInit2.LastValue rIn ( Messwertespeicher leer ) Letzter Wert

Freigabe / Sperrung der Datenaufzeichnung xCalculation

Mit diesem Sollwert / Parameter wird die Datenaufzeichnung freigegeben ( = TRUE ) bzw. gesperrt ( = FALSE )

Rücksetzung des Messwertespeichers / der Durchschnittswertausgänge xResetOnInput

Mit diesem Sollwert / Parameter werden der Meswertespeicher / die Durchschnittswertausgänge auf den Wert ‘rIn’ zurück gesetzt ( = TRUE ).

Visualisierung




Information

Element Autoren Datum Version Anmerkungen
Funktion Adam Bartod 06.2016 1.0 Ursprungsversion
Programmierung Adam Bartod 06.2016 1.0 Ursprungsversion
Test   12.2016 1.0 Ursprungsversion
Dokumentation Jochen Reu 10.2017 1.0 Ursprungsversion

Codesys

InOut:
Scope Name Type Initial Comment
Input rIn REAL   Analogwerteingang
xCalculation BOOL TRUE Freigabe / Sperrung der Datenaufzeichnung
xResetOnInput BOOL FALSE Initialisierung der Messwertspeicherung und der Durchschnittswertausgänge mit rIn
rInitValue REAL 10 Initialisierungswert für den Messwertespeicher und die Durchschnittswertausgänge bei eInit2 = eInit2.InitValue.
tInitDelay TIME TIME#10s0ms Verzögerungszeit für die Messwertspeicherung bei eInit2 = eInit2.InputValueDelayed.
eInitial eInit2 eInit2.LastValue  
wCH3Time WORD 72 Festlegung des Zeitraums 4 in Stunden
wCH2Time WORD 48 Festlegung des Zeitraums 3 in Stunden
wCH1Time WORD 36 Festlegung des Zeitraums 2 in Stunden
wCH0Time WORD 24 Festlegung des Zeitraums 1 in Stunden
eTimeBaseCh0to3 eTime eTime.Hour Zeiteinheit für CH 0 bis 3
wInterval WORD 30 Speicherinterval
eTimeBaseInterval eTime eTime.Minute Zeiteinheit für Speicherinterval
Output rOutCH0 REAL   Durchschnittswert Zeitraum 1
rOutCH1 REAL   Durchschnittswert Zeitraum 2
rOutCH2 REAL   Durchschnittswert Zeitraum 3
rOutCH3 REAL   Durchschnittswert Zeitraum 4
rOutMin REAL   Minimalwert aller Messwerte
rOutMax REAL   Maximalwert aller Messwerte
dtLastNewValue DT   Speicherzeitpunkt des letzten Messwertes
sErr STRING   Aktueller Fehlertext