Kaskádní regulátor
Pojmenování funkčního bloku
Lib.Mervis.v2_0.CascadeController
Popis
Blok slouží pro řízení zařízení zapojených do kaskády
Potřebné reference projektu
- Lib.Mervis
Použití v ST
program test var cctrl: lib.mervis.v2_0.CascadeController; end_var cctrl(); end_program
Popis vstupu a výstupu
Vstupy
Jméno
Datový typ
Povolený rozsah
Retain
Nutno poipojit
Význam
FirstStageRequest
usint
0..4
Ano
Ne
Určuje první aktivní zařízení (0 = automaticky, 1..4 = odpovídající zařízení)
StageCountLimit
usint
0..NumberOfStages
Ano
Ne
Maximální počet povolených zažízení v kaskádě (0 = určeno automaticky)
Stage1
Ne
Ano
Sdružené info o prvním zařízení
Stage2
Ne
Ne
Sdružené info o druhém zařízení
Stage3
Ne
Ne
Sdružené info o třetím zařízení
Stage4
Ne
Ne
Sdružené info o čtvrtém zařízení
MeasuredOutput
real
Ne
Ano
Skutečná hodnota regulované veličiny
SetPoint
real
Ne
Ano
Žádaná hodnota regulované veličiny
Enable
bool
Ne
Ano
Povolení provozu
TrackingInput
real
0..100 %
Ne
Ne
Omezení výstupního výkonu v procentech - počítáno jako celkový výkon kaskády. Využitelné pouze v paralelním módu.
NumberOfStages
usint
1..4
Ne
Ne
Instalovaný počet zařízení
LimitForRunTime
time
Ne
Ne
Doba nutná pro automatické vystřídání prvního zařízení v pořadí
LimitForAttach
real
Ne
Ne
Limitni hodnota kritéria pro aktivaci dalšího zařízení
LimitForDettach
real
Ne
Ne
Limitni hodnota kritéria pro deaktivaci posledního zařízení
ChangeOrderStrategy
Ne
Ne
Volba metody pro střídání prvního zařízení
Diff
real
Ne
Ne
Pásmo necitlivosti okolo žádané hodnoty
TrackingSetpointTolerance
real
Ne
Ne
Hranice přepnutí ve sledovacím módu pro žádanou hodnotu. V případě nulové hodnoty je sledování vypnuté. Využitelné pouze v paralelním módu.
TrackingTolerance
real
Ne
Ne
Hranice přepnutí ve sledovacím módu pro sledovanou hodnotu. Využitelné pouze v paralelním módu.
ParallelMode
bool
Ne
Ne
Určuje způsob řízení jednotlivých stupňů
Hodnota | Význam |
False | Poslední aktivní zařízení je řízeno procentuálně, ostatní aktivní jsou zapnuty na 100% |
True | Všechny aktivní zařízení jsou řízeny společně procentuálně (vhodné např. pro kondeznační kotle). |
MinimalRunningCount
usint
0..NumberOfStages
Ne
Ne
Minimální počet aktivních zařízení. Využitelné pouze v paralelním módu.
OnlyFirstStageControllable
bool
Ne
Ne
Určuje, že pouze zařízení #1 má řiditelný výkon. Dochází tedy k přesměrování „necelých“ požadavků na první vstup/výstup
AllowFirstStageOnMinimum
bool
Ne
Ne
Určuje, že pokud je povolený provoz, tak první stupeň jede vždy alespoň na minimální výkon
FullPowerTolerance
real
Ne
Ne
Hranice pro určení minimálního nebo maximálního výkonu.
Výstupy | Jméno | Datový typ | Význam |
Request1 | StageControlType | Sdružený požadavek na první zařízení | |
Request2 | StageControlType | Sdružený požadavek na první zařízení | |
Request3 | StageControlType | Sdružený požadavek na první zařízení | |
Request4 | StageControlType | Sdružený požadavek na první zařízení | |
ActualSetPoint | real | Aktuální žádaná hodnota regulované veličiny | |
ActualFirstStage | usint | Číslo aktualního prvního zařízení | |
ActualNumberOfActive | usint | Aktuální počet aktivních zařízení | |
TrackingCommand | bool | Povolení sledování pro externí regulátor | |
TrackingValue | real | Hodnota sledované veličiny pro externí regulátor | |
RequestedTotalPower | usint | Celkový požadovaný výkon kaskády | |
ActualTotalPower | usint | Aktuální výkon kaskády | |
IntegralValue | real | Aktuální hodnota integrálního kriteria | |
Failure | bool | Sdružená porucha | |
FailurePowerInsufficient | bool | Varování o nedostatečném výkonu | |
AlarmsStatus | AlarmsStatus | Sdružené rozhraní k alarmové funkci |
Bloky | Jméno | Datový typ | Význam |
IC | Lib.Mervis.v1_0.IntegralCriterion | Integrální kritérium pro určování počtu aktivních stupňů |
Podrobný popis funkce
Celý blok je postaven na základě bloku IntegralCriterion a proto je nutné začít pochopením tohoto bloku.
Blok slouží pro určení optimálního počtu aktivních zařízení pro dosažení žádané hodnoty společného výstupu. Základní zapojení je vždy blok kaskádního regulátoru s odpovídajícím počtem výstupních bloků pro daná zařízení. Blok umožňuje řídit kaskádu i pouze s pomocí čidla společného výstupu, nicméně pro zkvalitnění regulace je vhodnější mít čidla i pro jednotlivá zařízení. Kaskádní regulátor určuje, která zařízení budou v provozu a řídí jejich výkon, výstupní bloky zajišťují předání těchto požadavků konkrétnímu zařízení (RequestX → Demand) a ošetření provozních a poruchových stavů. Tyto stavy jsou následně předány zpět do kaskádního regulátoru (State → StageX).
Určování aktivních zařízení se děje na základě integrálních kriterií a na základě hlášení o stavu nejpozději přiřazeného zařízeni (konkrétně jeho aktuálního výkonu). Pro aktivaci dalšího zařízení musí být tedy splněny následující podmínky:
- překročení limitu integrálního kritéria
- naposledy aktivované zařízení musí hlásit aktuální výkon 100%
Přidáním dalšího zařízení se změní požadované výkony pro jednotlivá zařízeni, všem kromě posledního se nastaví požadovaný výkon na 100%, u posledního se provádi regulace podle režimu řízení daného výstupního bloku. Pro deaktivaci platí podmínky opačné, pokud se zařízení deaktivuje, vypne se, přechází regulace na předchozí stupeň s tím, že začíná na 100% výkonu aby nedošlo ke skokové ztrátě dodávaného výkonu a tím k rozkmitání.
Interní postup výpočtu
- Výpočet aktualní hodnoty žádané veličiny na základě Setpoint a MinimalOutput z jednotlivých zařízení, které jsou v následujících stavech
- Start, Preheat, Run, MinRuntime, AfterCooling
- Mapování/Přiřazení vstupů
- Přiřazení výkonu jednotlivým zařízením do pracovních proměnných
- Určení indexu posledního aktivního zařízení
- Pro stavy Ready, Start, Preheat, MinRuntime, AfterCooling, NotRun se Enable nastavuje na true a RequestedPower na nulu
- Pro stav Run se Enable nastavuje na true a RequestedPower dle režimu (buď 100 % nebo výtup PI)
- Pro stav MinStop se Enable nastavuje na false a RequestedPower na nulu
- Pro ostatní stavy je Enable roven false a RequestedPower nulový
- Oprava mapování vstupů (předchozím krok mohlo dojít ke změne)
- Korekce výstupu PI regulátoru (např. při zmenšení počtu aktivních zařízení je nutné přenastavit výstup na maximum)
- Určení počtu aktivních zařízení
- Výpočet ActualNumberOfActive
- Při přidání zařízení v paralelním režimu se výstup PI upravuje na hodnotu 100 - 100 / Počet aktivních zařízení, jinak se výstup nuluje
- Pokud existuje nějaké zaříení ve stavu MinStop nebo MinRuntime nedochází ke zvětšení resp. zmenšení počtu zařízení
- Kontrola provozních hodin a posunutí prvního v pořadí
- Výpočet nového akčního zásahu PI regulátoru - určení výkonu posledního zařízení v závislosti na typu řízení:
- PowerCascadeOutput + PowerStageOutput - výstup PI regulátoru
- StageCascadeOutput + StageStageOutput - fixně 100 %
- Pokud je poslední zařízení v jiném stavu než Run, dojde k resetu PI regulátoru a nastavení výkonu na nulu
- Zpracování alarmů
- Nastavení výstupů