====== 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