AverageTimeCal

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

Name
Data type
Value range
Initial value
Function

rIn

REAL

Analog value input

Outputs

Name
Data type
Value range
Initial value
Function

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

Name
Data type
Value range
Initial value
Function

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

Type
Initialization value
Note

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:

Scope
Name
Type
Initial

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