INTEGRALPLCopen motion icon

Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - Calculates the integral of a signal with respect to time.

The time unit is seconds. The output signal has the units of the input signal multiplied by seconds. The INTEGRAL block samples the input signal at a maximum rate of 1 millisecond.

Inputs

RUN : BOOL    Run command: TRUE=integrate / FALSE=hold
R1 : BOOL     Overriding reset
XIN : REAL    Input signal
X0 : REAL     Initial value
CYCLE : TIME  Sampling period (must not be less than the target cycle timing)

Outputs

Q : DINT      Running mode report: NOT (R1)
XOUT : REAL   Output signal

Remarks

In FFLD language, the input rung is the RUN command. The output rung is the Q report status.

ST Language

(* MyIntg is a declared instance of INTEGRAL function block *)
MyIntg (RUN, R1, XIN, X0, CYCLE);
Q := MyIntg.Q;
XOUT := MyIntg.XOUT;

FBD Language

IntegralFbd.gif (1683 octets)

FFLD Language

IntegralLd.gif (1773 octets)

IL Language:

(* MyIntg is a declared instance of INTEGRAL function block *)
Op1: CAL MyIntg (RUN, R1, XIN, X0, CYCLE)
     FFLD  MyIntg.Q
     ST  Q
     FFLD  MyIntg.XOUT
     ST  XOUT

See also

AVERAGE   DERIVATE   LIM_ALRM   HYSTER   STACKINT