andes.core.block.PIDAWHardLimit#
- class andes.core.block.PIDAWHardLimit(u, kp, ki, kd, Td, aw_lower, aw_upper, lower, upper, name, no_lower=False, no_upper=False, ref=0.0, x0=0.0, tex_name=None, info=None)[source]#
PID controller with anti-windup limiter on the integrator and hard limit on the output.
upper /¯¯¯¯¯¯ ┌────────────────────┐ │ ki skd │ u -> │kp + ─── + ─────── │ -> y │ s 1 + sTd │ └────────────────────┘ ______/ lowerThe controller takes an error signal as the input.
Limits
lowerandupperare on the final output, andaw_loweraw_upperare on the integrator.The name is suggessted to be specified the same as the instance name.
- 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
- __init__(u, kp, ki, kd, Td, aw_lower, aw_upper, lower, upper, name, no_lower=False, no_upper=False, ref=0.0, x0=0.0, tex_name=None, info=None)[source]#
Methods
define()Define equations for the PI 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.