Skip to content

3.1. Standard Function Blocks

Julius Susanto edited this page Jan 9, 2015 · 7 revisions

The following standard function blocks are available in the controllers module of PYPOWER-Dynamics (listed in alphabetical order):

CONST

Constant block:

Output_Signal = CONST(Value)

Sets the Output_Signal to a scalar constant Value.

GAIN

Gain block:

Output_Signal = GAIN(Input_Signal, K)

Multiplies the Input_Signal by a scalar gain coefficient K.

INPUT

Input interface block:

Output_Signal = INPUT(Interface_Signal, Object_ID)

This block interfaces the controller with another element in the system (e.g. a machine, another controller or any object that has signals). The input block sets the Output_Signal to the value of the Interface_Signal of the element with identifier Object_ID.

INT

Integrator block (with gain):

Output_Signal = INT(Input_Signal, K, T)

Integrates the Input_Signal with gain K and time constant T, i.e. yo/yi = K / sT

LAG

First-order lag block (with gain):

Output_Signal = LAG(Input_Signal, K, T)

Low-pass filter / lag for Input_Signal with gain K and lag time constant T, i.e. yo/yi = K / (1 + sT)

LDLAG

Lead-lag block

Output_Signal = LAG(Input_Signal, Ta, Tb)

Lead-lag block for Input_Signal with lead time constant Ta and lag time constant Tb, i.e. yo/yi = (1 + sTa) / (1 + sTb)

LIM

Limiter block:

Output_Signal = LIM(Input_Signal, min_lim, max_lim)

Non-windup limiter that limits Input_Signal to between a minimum value of min_lim and maximum value of max_lim.

MULT

Multiplier block:

Output_Signal = MULT(Input_Signal_1, Input_Signal_2, ... , Input_Signal_n)

Multiplies an arbitrary number of input signals, i.e. yo = yi1 * yi2 * ... * yin. Input signals can be negative to multiply negative inputs, e.g. N3 = MULT(N1,-N2) is equivalent to N3 = N1 * (-N2).

OUTPUT

Output interface block:

Interface_Signal = OUTPUT(Input_Signal, Object_ID)

From a control point of view, this block simply passes through the input signal, i.e. yo = yi. However, it is used as a flag to signal that the Input_Signal is to be interfaced with the Interface_Signal of the element with identifier Object_ID. The element can be a machine, another controller or any object that accepts signals. The Interface_Signal must be a valid signal in the interfaced element.

SUM

Summing junction block:

Output_Signal = SUM(Input_Signal_1, Input_Signal_2, ... , Input_Signal_n)

Sums (or subtracts) an arbitrary number of input signals, i.e. yo = yi1 + yi2 + ... + yin. Input signals can be negative for subtraction, e.g. N3 = SUM(N1,-N2) is equivalent to N3 = N1 - N2.

WOUT

Washout block:

Output_Signal = WOUT(Input_Signal, T)

Washout / lag-differentiator for Input_Signal with lag time constant T, i.e. yo/yi = s / (1 + sT)