PID regulátor - Topení
B37_REVERSE_PID_CONTROLLER
PROGRAM B37_TEST
VAR
XIN,WIN,COOLING:REAL;
FB: LIB.CORE.V1_0.B37_REVERSE_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 y je dán out=-100/Xp×(e+1/Ti×∫e+ Td×e')+MIN, kde první část je proporcionální složka (P-složka, je popsána v bloku B33), druhá část je integrační časová složka (I-složka, je popsána v bloku B35) a třetí část je derivační časová složka (D-složka). Výstup regulátoru je omezen hranicemi MIN a MAX, viz obrázek v 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.
Parametr enable umožňuje vypnout regulátor. Když enable=true, pak je regulátor vypnutý a out=disval.
Funkce v případě špatného nastavení:
Když Xp<= 0, pak out=MAX pro x>= w+Off a out=MIN pro x< w+Off. Všimněte si, že I-složka a D-složka jsou v tomto případě 0. Když Ti<= 0, I-složka je považována za rovnu 0. Když Td<= 0, D-složka je považována za rovnu 0. Když MAX<MIN, pak out=MAX (menší hodnota z obou).