Obsah

Velocity PID varianta C (v1.0)

Popis

Blok realizuje PID regulátor v tzv. „velocity“ tvaru. Na žádanou hodnotu je aplikována filtrace, takže její skokové změny nezpůsobují skoky v akčním zásahu.

Použití v ST

program test
	var
		pid: lib.mervis.v1_0.VelocityPidC;
	end_var

	pid(Setpoint := ..., Input := ..., Param_Xp_Kp := 30, Param_Ti_Ki := 120, Param_Kind := Dependent);
	hw.AO1 := pid.Output;
end_program

Vstupy

Jméno Datový typ Povolený rozsah Jednotka Retain Nutno připojit Význam
Input real Ne Ano Měřená hodnota
Setpoint real Ne Ano Žádaná hodnota
Enable bool Ne Ne Povolení funkce
Tracking Lib.Mervis.v1_0.PidTrackingType Ne Ne Určuje režim sledování
Tracking_Value real Ne Ne Hodnota, kterou má výstup regulátoru sledovat
Tracking_Threshold real Ne Ne Hodnota pro přepočet vstupní veličiny na velikost akčního zásahu (např. kolik procent na výstupu odpovídá změne vstupní hodnoty o 1 °C)
Tracking_TimeConstant time Ne Ne Časová konstanta sledování (doporučená výchozí hodnota je Ti / 10)
Param_DisabledOutputValue real Ne Ne Hodnota na výstupu pokud je vstup Enable roven false
Param_Kind Lib.Mervis.v1_0.PidParameterKindType Ne Ne Určuje význam parametrů Xp_KP, Ti_KI a Td_KD
Param_Xp_KP real Ne Ne Param_Kind = Dependent ⇒ Šířka pásma regulátoru Xp
Param_Kind = Independent ⇒ Vlivnost P-složky
Param_Ti_KI real Ne Ne Param_Kind = Dependent ⇒ Integrační konstanta Ti
Param_Kind = Independent ⇒ Vlivnost I-složky
Param_Td_KD real Ne Ne Param_Kind = Dependent ⇒ Derivační konstanta Td
Param_Kind = Independent ⇒ Vlivnost D-složky
Param_DirectActing bool Ne Ne Určuje směr působení akčního zásahu na základě regulační odchylky (viz podrobný popis funkce)
Limits_Min real Ne Ne Minimální hodnota výstupu
Limits_Max real Ne Ne Maximální hodnota výstupu
Time_Sample time Ne Ne Vzorkovací frekvence výpočtu, určuje jak často dochází k výpočtu akčního zásahu
Time_Travel time Ne Ne Definuje dobu, za jak dlouho se akční člen přestaví z hodnoty Limits_Min na Limits_Max

Výstupy

Jméno Datový typ Jednotka Význam
Output real Akční zásah
RelativeRateOfChange real
LowerBoundary bool Indikace dosažení spodního limitu akčního zásahu
UpperBoundary bool Indikace dosažení horního limitu akčního zásahu
InvalidParameters bool Indikace neplatného nastavení regulátoru
Tracking_CalculatedThreshold real Přepočtená velikost akčního zásahu pro Tracking_Threshold

Bloky

Jméno Datový typ Význam
Funkční blok neobsahuje žádné interní bloky k použití

Podrobný popis funkce

Kontrola parametrů

Pro správnou funkci je nutné splnit následující podmínky, jejich nesplnění indikuje výstup InvalidParameters

Výpočet akčního zásahu

PID regulátor slouží k řízení lineární soustavy na základě rozdílu žádané hodnoty a skutečné hodnoty, tzv. regulační odchylky (značíme e), výsledkem je akční zásah, který značíme u (v diskrétní podobě je tvar shodný, jen t nahradíme za k).
e(t) = Setpoint - Input

Obecně je diskrétní PID implementován ve formě
u(k) = KP * e + KI * ∑ ei * Δt + KD * (Input(k) - Input(k-1)) / Δt

Tato forma se nazývá „positional form“ a pro použití v PLC je vhodnější ji převést do přírustkového tvaru tedy tzv. „velocity form“, která ve spojité podobě vypadá následovně
du(t) / dt = KP * de(t) / dt + KI * e(t) + KD * d2e(t) / dt2

Pro použití v PLC je nutné ji převést do diskrétní podoby
u(k) = u(k-1) - KP * (Input(k) - Input(k-1)) + KI * e(k) * Δt - KD * (Input(k) - 2 * Input(k-1) - Input(k-2)) / Δt

Toto je již výsledná rovnice pro výpočet akčního zásahu PID regulátoru, v této formě se v P-složce a D-složce nenachází žádaná hodnota, tím je dosaženo potlačení skokových změn akčního zásahu při změnách žádané hodnoty.

Reverse / Direct acting

Hodnota vstupu Param_DirectActing určuje reakci akčního zásahu na regulační odchylku.

Dependent / Independent forma parametrů

Hodnota vstupu Param_Kind určuje význam ladících parametrů PID regulátorů.

Funkce sledování hodnoty

Tento PID regulátor umožňuje provoz v režimu, kdy svým výstupem sleduje hodnotu vstupu Tracking_Value. Chování regulátoru určuje vstup Tracking_Mode

Verze