AVERAGE / AVERAGEL

Function Block - Calculates the average of signal samples.

Inputs

RUN : BOOL  Enabling command
XIN : REAL  Input signal (*)
N   : DINT  Number of samples stored for average calculation - Cannot exceed 128

Outputs

XOUT : REAL Average of the stored samples (*)

(*) AVERAGEL has LREAL arguments

Remarks

The average is calculated according to the number of stored samples, that can be less that N when the block is enabled. In LD language, the input rung is the RUN command. The output rung keeps the state of the input rung.

The "N" input is take into account only when the RUN input is FALSE.

ST Language

(* MyAve is a declared instance of AVERAGE function block *)
MyAve (RUN, XIN, N);
XOUT := MyAve.XOUT;

FBD Language

AverageFbd.gif (1455 octets)

LD Language

(* ENO has the same state as RUN *)
AverageLd.gif (1581 octets)

IL Language:

(* MyAve is a declared instance of AVERAGE function block *)
Op1: CAL MyAve (RUN, XIN, N)
     LD 
MyAve.XOUT
     ST  XOUT

See also

INTEGRAL   DERIVATE   LIM_ALRM   HYSTER   STACKINT