andes.core.block.PIDController#
- class andes.core.block.PIDController(u, kp, ki, kd, Td, name, ref=0.0, x0=0.0, tex_name=None, info=None)[source]#
Proportional Integral Derivative Controller.
┌────────────────────┐ │ ki skd │ u -> │kp + ─── + ─────── │ -> y │ s 1 + sTd │ └────────────────────┘The controller takes an error signal as the input. It takes an optional
refsignal, which will be subtracted from the input.The name is suggessted to be specified the same as the instance name.
This block assembles a
PIControllerand aWashout.- Parameters:
- uBaseVar
The input variable instance
- kpBaseParam
The proportional gain parameter instance
- kiBaseParam
The integral gain parameter instance
- kdBaseParam
The derivative gain parameter instance
- TdBaseParam
The derivative time constant parameter instance
- x0BaseParam
The initial value of the integrator
Methods
define()Define equations for the PID Controller.
enforce_tex_name(fields)Enforce tex_name is not None
export()Method for exporting instances defined in this class in a dictionary.
f_numeric(**kwargs)Function call to update differential equation values.
g_numeric(**kwargs)Function call to update algebraic equation values.
j_numeric(**kwargs)Per-iteration numerical Jacobian update.
j_reset()Helper function to clear the lists holding the numerical Jacobians.
j_setup()One-time Jacobian sparsity pattern and constant value setup.
Attributes
class_nameReturn the class name.