Obsah

Rozšířený PI regulátor

Celé jméno

Lib.Mervis.v1_0.AdvancedPiController

Potřebné reference projektu

Popis

Pomocný blok sloužící pro realizaci PI regulátoru s možností sledování akční veličiny.

Použití v ST

program test
    var
        pi: lib.mervis.v1_0.AdvancedPiController := (Xp := ..., Ti := ..., Min := ..., Max := ...);
    end_var

    pi(Input := ..., SetPoint := ..., Enable := ..., TrackingEnable := ..., TrackingValue := ..., Output => ...);
end_program

Vstupy

JménoDatový typPovolený rozsahRetainNutno 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
TrackingEnable bool   Ne Ne Povolení funkce sledování hodnoty TrackingValue
TrackingValue real   Ne Ne Sledovaná hodnota
Min real ⇐ 0 Ne Ne Omezení minimální hodnoty výstupu
Max real >= 0 Ne Ne Omezení maximální hodnoty výstupu
Xp real > 0 Ne Ne Šířka pásma
Ti real > 0 Ne Ne Integrační konstanta
TrackingDontIncludePPartbool   Ne Ne Určuje způsob výpočtu nového akčního zásahu v režimu sledování - popis viz níže
TrackingThreshold real   Ne Ne Hodnota pro přepočtení vstupní veličiny na velikost akčního zásahu (např. tedy kolik procent výstupu odpovídá jednomu stupni celsia)

Výstupy

JménoDatový typ Význam
Output real Výstup
TrackingCalculatedThresholdreal Hodnota pro přepočtení vstupní veličiny na velikost akčního zásahu (např. tedy kolik procent výstupu odpovídá jednomu stupni celsia)
InvalidParameters bool Indikace neplatného nastavení regulátoru (Xp, Ti, Min nebo Max mimo povolený rozsah)

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

Podrobný popis funkce

Funkční blok realizuje PI regulátor s možností režimu sledování akční veličiny získané např. jiným regulátorem. Pro výpočet výstupu jsou použité následující vzorce:

e = SetPoint - Input

PPart = (Max - Min) / Xp * e

IPart = IPart + (Max - Min) / (Xp * Ti) * e * ΔT

Output = PPart + IPart

Regulátor obsahuje algoritmy pro omezení velikosti integrační složky v případě dosažení saturace - Anti-windup

Režim sledování

Pokud je vstup TrackingEnable nastaven na hodnotu true, dochází ke změně chování regulátoru. V každém výpočetním cyklu se použije hodnota TrackingValue jako výchozí pro výpočet nového akčního zásahu. Způsob použití se liší podle nastavení parametru TrackingDontIncludePPart, pokud má hodnotu

Následně dojde k výpočtu nového akčního zásahu (tedy započtení aktuální P-složky), který se nastaví na výstup Output. Pro snažší použití s blokem TrackingPiSelector slouží vstup TrackingThreshold a výstup TrackingCalculatedThreshold, pomocí kterých se určují hystereze pro výběr regulátoru, jehož výstup se použije.

Poznámky k použití