AverageTimeCal
AverageTimeCal (FB)
AverageTimeCal (FB)FUNCTION_BLOCK AverageTimeCal
Short description
Averaging of an analog value over four different time periods Averaging: Weighted average (see formula below) Typical application: Temporal averaging of outdoor temperature
Representation

Interfaces
Inputs
rIn
REAL
Analog value input
Outputs
rOutCH0
REAL
Average value period 1
rOutCH1
REAL
Average value period 2
rOutCH2
REAL
Average value period 3
rOutCH3
REAL
Average value period 4
rOutMin
REAL
Minimum value of all measurements
rOutMax
REAL
Maximum value of all measurements
dtLastNewValue
DATE_AND_TIME
Timestamp of the last measurement stored
sErr
STRING
Current error text
Setpoints / parameters
xCalculation
BOOL
TRUE
Enable / disable data recording
xResetOnInput
BOOL
FALSE
Initialization of the measurement storage and the average value outputs with rIn
rInitValue
REAL
10
Initialization value for the measurement storage and the average value outputs at eInitial = eInit2.InitValue.
tInitDelay
TIME
5s
Delay time for measurement storage at eInitial = eInit2.InputValueDelayed.
eInitial
eInit2
eInit2.LastValue
Definition of the type of initialization
wCH3Time
WORD
48
Definition of period 4 in hours
wCH2Time
WORD
36
Definition of period 3 in hours
wCH1Time
WORD
24
Definition of period 2 in hours
wCH0Time
WORD
12
Definition of period 1 in hours
wInterval
WORD
15
Definition of the recording interval in minutes
Function description
General
Averaging The value at the analog value input rIn is recorded recording interval iInterval ( default = 15 minutes ) is captured. To calculate the average of a period X ( X = 0 … 3 ) three factors are now determined for each. Factor 1 - Period X: Total number of measured values to be considered Factor 1 = ( iCHXTime * 60 ) / iInterval Factor 2 - Period X: Factor for the stored average Factor 2 = ( Factor 1 - 1 ) / Factor 1 Factor 3 - Period X: Factor for the current value at the analog value input rIn Factor 3 = 1 - Factor 2 The average of each period is calculated at the recording interval iInterval according to the following formula and transferred to the average value outputs: Average = ( Old average * Factor 2 ) + ( rIn * Factor 3 ) Legend: X = 0 … 3 \
Example
iInterval = 15 minutes, wCH0Time = 12 hours, Old average = 20.0, rIn = 22.0 Factor 1 = 48 Factor 2 = 47 / 48 Factor 3 = 1 / 48 Average = 20.041 \
Average value outputs rOutCHX ( X = 0 … 3 )
At the average value output rOutCHX ( X = 0 … 3 ) the correct arithmetic mean of the corresponding entries in the measurement memory is available for the first time after the duration iCHXTime the average of the recorded input values is available.\
Minimum value output rOutMin
At the minimum value output rOutMin is available for the first time after one recording interval iInterval the absolute minimum value of all recorded input values is available.\
Maximum value output rOutMax
At the maximum value output rOutMax is available for the first time after one recording interval iInterval the absolute maximum value of all recorded input values is available.\
Timestamp dtLastNewValue
At the timestamp output dtLastNewValue is available for the first time after one recording interval iInterval the timestamp of the last storage in the measured value memory is available.\
Error text sErr
At the output for the current error text sErr a descriptive text is available in case of error. If there is no error, an empty string is output.\
Type of initialization eInitial
This setpoint / parameter defines the type of initialization of the measurement memory and the average value outputs. The following options are possible:\
eInit2.InitValue
rInitValue
Configurable initial value
eInit2.InputValue
rIn
Input value
eInit2.InputValueDelayed
rIn
Delayed input value
eInit2.LastValue
Average - measurement memory (measurement memory filled)
Last value
eInit2.LastValue
rIn ( measurement memory empty )
Last value
Enable / disable data recording xCalculation
This setpoint / parameter enables ( = TRUE ) or disables ( = FALSE ) data recording\
Reset of the measurement memory / the average value outputs xResetOnInput
With this setpoint / parameter, the measured value memory / the average value outputs are reset to the value 'rIn' ( = TRUE ).\
CODESYS
InOut:
Input
rIn
REAL
Input Const
xCalculation
BOOL
TRUE
Input Const
xResetOnInput
BOOL
FALSE
Input Const
rInitValue
REAL
10
Input Const
tInitDelay
TIME
TIME#5s0ms
Input Const
eInitial
eInit2
eInit2.LastValue
Input Const
wCH3Time
WORD
48
Input Const
wCH2Time
WORD
36
Input Const
wCH1Time
WORD
24
Input Const
wCH0Time
WORD
12
Input Const
wInterval
WORD
15
Output
rOutCH0
REAL
Output
rOutCH1
REAL
Output
rOutCH2
REAL
Output
rOutCH3
REAL
Output
rOutMin
REAL
Output
rOutMax
REAL
Output
dtLastNewValue
DT
Output
sErr
STRING
Last updated

