PID regulátor - Chlazení
B36_PID_CONTROLLER
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
LIB\CORE
V1.0
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).
Vstup | Typ | Význam | Výchozí hodnota |
---|---|---|---|
W | REAL | Žádaná hodnota (obvykle teplota) | 0 |
X | REAL | Řízená hodnota (obvykle teplota) | 0 |
CONTROLLERTYPE | 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ý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 |
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 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<W+OFF je OUT=MIN. Všimněte si, že I-složka je v tomto případě 0 . Když Ti<= 0, pak I-složka je nastavena na 0. Když MAX<MIN, pak je OUT=MAX (menší hodnota z obou).
Jednoduchá PID regulace s použitím analogového časového programu TPG s požadovanou hodnotou.