modelPID_Control2

Proportional controller: y = yb + Kc*e

Extends from Modelica.Blocks.Interfaces.SVcontrol (Single-Variable continuous controller).

Parameters

TypeNameDefaultDescription
BooleandirectActingtrue=false reverse acting
Realk1Error gain
Realyb0Output bias
Realk_s1Scaling factor for setpoint: set = k_s*u_s
Realk_m1Scaling factor for measurment: meas = k_m*u_m
SI.TimeTi1Time Constant (Ti>0 required)
SI.TimeTd0.1Time Constant of Derivative block
BooleanderMeastrue=true for derivative on measured value to avoid kick else error
RealNd10The higher Nd, the more ideal the derivative block
SI.TimeunitTime1
RealKck*(if directActing then +1 else -1)
Initialization
Modelica.Blocks.Types.InitinitTypeModelica.Blocks.Types.Init.NoInitType of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)
Realxi_start0Initial or guess value of integral state
Realxd_start0Initial or guess value of derivative state
Realy_start0Initial value of output

Connectors

TypeNameDefaultDescription
RealInputu_s (from SVcontrol)Connector of setpoint input signal
RealInputu_m (from SVcontrol)Connector of measurement input signal
RealOutputy (from SVcontrol)Connector of actuator output signal

Components

TypeNameDefaultDescription
Modelica.Blocks.Math.GainPProportional part of PID controller
Modelica.Blocks.Math.Gaingain_u_s
Modelica.Blocks.Math.Gaingain_u_m
Modelica.Blocks.Math.Sumadd
Modelica.Blocks.Sources.Constantnull_bias
Modelica.Blocks.Math.Adderror
Modelica.Blocks.Continuous.IntegratorIIntegral part of PID controller
Modelica.Blocks.Continuous.DerivativeDDerivative part of PID controller