Jednoduchý PI regulátor s Enable vstupem (v1.1)
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
**Obsolete** - nahrazen blokem 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 |
Adjust | Slouží pro úpravu integrační složky tak, aby byla na výstupu maximální hodnota | |
AdjustToValue | Slouží pro úpravu integrační složky tak, aby byla na výstupu požadovaná hodnota | |
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