====== Jednoduchý PI regulátor s Enable vstupem (v1.1) ====== {{:cs:mervis-ide:35-help:simplepicontrollerwithen.png}} ==== Celé jméno ==== Lib.Mervis.v1_1.SimplePiControllerWithEn ===== Popis ===== Pomocný blok sloužící pro realizaci jednoduchého PI regulátoru doplněného o //Enable//. ==== Potřebné reference projektu ==== * Lib.Mervis ===== Omezení použití bloku ===== [[..:..:generic_usagelimits.htm|**Obsolete**]] - nahrazen blokem [[..:simplepicontrollerwithen_v1.2.htm|SimplePiControllerWithEn v1.2]] ===== Použití v ST ===== program test var pi: lib.mervis.v1_1.SimplePiControllerWithEn := (Xp := ..., Ti := ..., Min := ..., Max := ...); end_var pi(Input := ..., SetPoint := ..., Enable := ..., Output => ...); end_program ===== Popis vstupů a výstupů ===== |Vstupy |Jméno|Datový typ|Retain|Nutno připojit |Význam| |Input |real |Ne |Ano |Skutečná hodnota | | |SetPoint|real |Ne |Ano |Žádaná hodnota | | |Enable |bool |Ne |Ne |Povolení funkce, pokud je //false// je na výstupu hodnota 0| | |Min |real |Ne |Ne |Omezení minimální hodnoty výstupu | | |Max |real |Ne |Ne |Omezení maximální hodnoty výstupu | | |Xp |real |Ne |Ne |Šířka pásma | | |Ti |real |Ne |Ne |Integrační konstanta | | |Výstupy|Jméno|Datový typ|Význam| |Output |real |Výstup | | |Metody bloku |Jméno |Význam| |[[..:simplepicontrollerwithen_adjust.htm|Adjust]] |Slouží pro úpravu integrační složky tak, aby byla na výstupu maximální hodnota | | |[[..:simplepicontrollerwithen_adjusttovalue.htm|AdjustToValue]]|Slouží pro úpravu integrační složky tak, aby byla na výstupu požadovaná hodnota| | |[[..:simplepicontrollerwithen_restart.htm|Restart]] |Slouží pro vynulování interních hodnot a restartu výpočtu | | ===== Podrobný popis funkce ===== Funkční blok realizuje PI regulátor. Pro výpočet výstupu jsou použité následující vzorce: * Regulační odchylka\\ **e = SetPoint - Input** * Integrační složka (každý scan cyklus)\\ **IPart = IPart + (Max - Min) / (Xp * Ti) * e * ΔT** * Výstup\\ **Output = (Max - Min) / Xp * e + IPart** Regulátor obsahuje algoritmy pro omezení velikosti integrační složky v případě dosažení saturace - **Anti-windup** ==== Poznámky k použití ==== * Pro použití při řízení **ohřevu** se regulátor zapojuje následovně * SetPoint = Žádaná hodnota * Input = Měřená hodnota * Pro použití při řízení **chlazení** se regulátor zapojuje následovně * SetPoint = Měřená hodnota * Input = Žádaná hodnota * ! Regulátor na základě své definice a implementaci anti-windup **neumožňuje pracovat v režimu "bez nuly"**, tzn. kdy v rozsahu //Min//..//Max// není obsažena nulová hodnota - toto je také indikováno pomocí výstupu //InvalidParameters// ===== Verze ===== {{indexmenu>..005-simplepicontrollerwithen#2}}