Jednoduchý PI regulátor s Enable vstupem (v1.0)

Lib.Mervis.v1_0.SimplePiControllerWithEn

Pomocný blok sloužící pro realizaci jednoduchého PI regulátoru doplněného o Enable.

  • Lib.Mervis
program test
    var
        pi: lib.mervis.v1_0.SimplePiControllerWithEn := (Xp := ..., Ti := ..., Min := ..., Max := ...);
    end_var

    pi(Input := ..., SetPoint := ..., Enable := ..., Output => ...);
end_program
Vstupy JménoDatový typRetainNutno připojit Význam
Input real Ne Ano Skutečná hodnota
SetPointreal Ne Ano Žádaná hodnota
Enable bool Ne Ne Povolení funkce, pokud je false je na výstupu hodnota 0
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ýstupyJménoDatový typVý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
AdjustToValueSlouží 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

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

  • 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
  • © Energocentrum Plus, s.r.o. 2017 - 2024