====== PID regulátor - Chlazení ======
{{:cs:mervis-ide:35-help:b36.png}}
===== Název bloku =====
B36_PID_CONTROLLER
===== Volání v ST =====
PROGRAM B36_TEST
VAR
XIN,WIN,COOLING:REAL;
FB: LIB.CORE.V1_0.B36_PID_CONTROLLER;
END_VAR
FB(X:=XIN, W:=WIN, OUT=>COOLING);
END_PROGRAM
===== Knihovna =====
LIB\CORE
===== Verze =====
V1.0
===== Popis =====
Blok implementuje PID regulátor (s parametry: pásmo proporcionality, integrační časová konstanta, derivační časová konstanta, offset, min/max hodnoty a možnosti nastavit hodnotu pro vypnutý regulátor).
===== Vstupy =====
|Vstup |Typ |Význam |Výchozí hodnota|
|W |REAL |Žádaná hodnota (obvykle teplota) |0 |
|X |REAL |Řízená hodnota (obvykle teplota) |0 |
|CONTROLLERTYPE|[[cs:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|CONTROLLERTYPE]]|Typ regulátoru (topení/chlazení) |chlazení |
|BP |BOOL |Když se nastaví na hodnotu TRUE, chová se jako P regulátor |False |
|ENABLED |BOOL |Povolení činnosti (FALSE vypne regulátor) |True |
|XP |REAL |Pásmo proporcionality |30 |
|OFF |REAL |Offset, přidávaný k žádané hodnotě W |0 |
|TI |REAL |Integrační časová konstanta [s] |120 |
|TD |REAL |Derivační časová konstanta [s] |1 |
|MIN |REAL |Minimální hodnota výstupu OUT (obvykle 0) |0 |
|MAX |REAL |Maximální hodnota výstupu OUT (obvykle 100) |100 |
|DISVAL |REAL |Hodnota pro výstup OUT při vypnutí regulátoru (ENABLED=FALSE)|0 |
===== Výstupy =====
|Výstup |Typ |Význam |
|OUT |REAL|Výstupní signál (obvykle ventil, otevření 0 až 100 %)|
|PFACTOR|REAL|Složka P výstupního signálu |
|IFACTOR|REAL|Složka I výstupního signálu |
|DFACTOR|REAL|Složka D výstupního signálu |
===== Funkce =====
Na vstupu regulátoru je odchylka E=(W+OFF)-X. Výstup regulátoru OUT je dán OUT=-100/Xp*(E+1/Ti*∫e+Td*e')+MIN, kde první část je proporcionální složka (P-složka, popsaná v předchozí části), druhá část je integrační časová složka (I-složka) a třetí část je derivační časová složka (D-složka). Výstupní hodnota je nakonec omezena mezemi MIN a MAX, viz obrázek v návodu k [[cs:mervis-ide:35-help:035-software_basic:060-libraries:020-basic-analogue-boxes:010-controllers:005-direct-acting-cooling:010-b32_p_controller|bloku B32]].
Pojďme vysvětlit funkci D-složky pomocí obrázku níže. Pro zjednodušení budeme považovat Ti=0, kdy se nastaví I-složka na nulu. Když W+OFF=0 a vstup X roste z 0 na 1 v čase t=Td, pak D-složka má konstantní hodnotu rovnu 100 a P-složka roste na hodnotu 100/Xp.
Blok má vstup BP, který, když je true, nastaví I-složku a D-složku na 0.
Blok má také vstup ENABLED, který umožňuje vypnutí regulátoru. Když ENABLED=TRUE, pak je regulátor vypnutý a OUT=DISVAL.
Funkce v případě špatného nastavení: pokud Xp<= 0, pak je OUT=MAX. Pro x>=W+OFF a pro X