====== PI controller - Cooling ======
{{:en:mervis-ide:35-help:b34.png}}
===== Block name =====
B34_PI_CONTROLLER
===== ST call =====
PROGRAM B34_TEST
VAR
XIN,WIN,COOLING:REAL;
FB: LIB.CORE.V1_0.B34_PI_CONTROLLER;
END_VAR
FB(X:=XIN, W:=WIN, OUT=>COOLING);
END_PROGRAM
===== Library =====
LIB\CORE
===== Version =====
V1.0
===== Description =====
The block is an implementation of a PI controller (with parameters: P-band, Integration constant, Offset, Min and Max values, and output value of an inactive controller).
===== Inputs =====
|Input |Type |Description |Default value|
|W |REAL |Setpoint (usually temperature). |0 |
|X |REAL |Measured value (usually temperature). |0 |
|CONTROLLERTYPE|[[en:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|CONTROLLERTYPE]]|Controller type (cooling/heating). |cooling |
|BP |BOOL |When set to TRUE, the I part is disabled (the controller acts as a P controller)|False |
|ENABLED |BOOL |Controller enable (FALSE = controller is deactivated). |True |
|XP |REAL |Proportional band |30 |
|OFF |REAL |Offset, added to the setpoint W. |0 |
|TI |REAL |Integration constant |120 |
|MIN |REAL |Minimum output value OUT (usually 0). |0 |
|MAX |REAL |Maximum output value OUT (usually 100). |100 |
|DISVAL |REAL |Value of the OUT output when the controller is deactivated (ENABLED=FALSE). |0 |
===== Outputs =====
|Output |Type|Description |
|OUT |REAL|Output signal (mostly valve or damper, 0 to 100%).|
|PFACTOR|REAL|P-part of the output signal |
|IFACTOR|REAL|I-part of the output signal |
===== Function =====
There is a control deviation at the controller input, E=(W+OFF)-X. The controller output OUT is given by the relation OUT=-100/Xp*(E+1/Ti*∫e)+MIN, where XP is the proportional band. The integration part (I-part) is calculated as follows: When OUT=0 at t=0 and the inputs are W+OFF=0, X=1, then the I-part rises to OUT=100 at t=Ti, see figure below. The I-part is limited to 0...100 before it is added to the P-part. The resulting value is finally limited by MIN and MAX, see figure at [[en:mervis-ide:35-help:035-software_basic:060-libraries:020-basic-analogue-boxes:010-controllers:005-direct-acting-cooling:010-b32_p_controller|block B32]]. The I-part helps to achieve the exact control value.
The BP input sets the I-part to 0, if set to true.
The ENABLED parameter switches the controller off (ENABLED=FALSE, controller disabled, and OUT=DISVAL). If Xp<0 then Xp=0, see below. If MAX