-
Notifications
You must be signed in to change notification settings - Fork 31
3.1. Standard Function Blocks
The following standard function blocks are available in the controllers module of PYPOWER-Dynamics (listed in alphabetical order):
Constant block:
Output_Signal = CONST(Value)
Sets the Output_Signal to a scalar constant Value.
Gain block:
Output_Signal = GAIN(Input_Signal, K)
Multiplies the Input_Signal by a scalar gain coefficient K.
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.
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
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)
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)
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.
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 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.
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.
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)