FIWR – Frekvenční identifikace s rekonstruktorem

Symbol blokuPotřebná licence: ADVANCED
Qt SVG Document Exported by REXYGEN Studio pv pv1 pv2 pv3 pv4 TUNE HLD BRK mv TBSY w xre xim phase epv IDE iIDE cp thd pmpRef mxData FIWR

Popis funkce
Blok FIWR realizuje identifikační experiment frekvenční charakteristiky procesu. Soustava je buzena harmonickým signálem se stejnosměrnou složkou ubias, amplitudou uampb a frekvencí ω postupně probíhající interval wb, wf;wb < wf. Pokud je povolena adaptivní změna amplitudy (adaptive_amp = on), pak budicí signál nabývá takových hodnot, aby se amplituda výstupu blížila hodnotě dy_max/2. Rychlost změny (rozmítání) frekvence je dána stavem cp (pokud není adaptivní - viz dále, zadává se do parametru bloku cpb), který udává:

  • v logaritmickém režimu (mode = 1) relativní zmenšení počáteční periody Tb = 2π wb budicí sinusovky za čas Tb, tedy:
    cp = wb ω(Tb) = wb wbeγTb = eγTb .

  • v lineárním režimu (mode = 2) přírůstek frekvence za jednotku času.

Hodnota parametru cp se obvykle pohybuje v intervalu 0,7;1) v logaritmickém režimu. Pro lineární režim je potřeba parametr volit vzhledem k zadanému frekvenčnímu rozsahu a požadované změně frekvence. Pokud je povolena adaptivní změna rychlosti rozmítání (adaptive_cp = on), pak dojde k přepočítání parametru cp v závislosti na „chybné“ poloze bodu frekvenční charakteristiky před jeho konvergencí při každém plánovaném zastavení rozmítání (daným vektorem StopVal). Aktuální hodnota parametru cp je kopírována na výstup cp, jeho počáteční hodnotu cpb lze zvolit. Minimální a maximální hodnota parametru cp cp_min a cp_max se bere v potaz pouze v režimu adaptive_cp = on, jinak se na výstup cp kopíruje hodnota cpb. V kombinovaném režimu (mode = 3) je cpb rychlost rozmítání v logaritmických úsecích a lineární úseky včetně rychlostí rozmítání jsou definovány maticí WL. Tato matice může být definována:

  • 1: Explicitně: [wb1 wf1 cp1, wb2 wf2 cp2, ..., wbN wfN cpN], kde velikost matice je [1x3N].
  • 2: Alternativně: [wb1 wb2 ... wbN; wf1 wf2 ... wfN; cp1 cp2 cpN], kde velikost matice je [3xN].

    wbi je začátek i-tého lineárního intervalu, wfi je konec i-tého lineárního intervalu a cpi je přírůstek frekvence.

Amplituda buzení je v adaptivním módu měněna rovněž plynulým rozmítáním. Poměr parametru rychlosti rozmítání amplitudy ku rychlosti rozmítání frekvence je dán samostatným parametrem cp_ratio. Rozmítání amplitudy probíhá vždy logaritmicky a poměr se vztahuje ke skutečné (pro mode = 1) nebo teoretické (pro mode = 2) logaritmické rychlosti rozmítání frekvence cp. Ideální je rozmítat amplitudu rychleji než frekvenci - cp_ratio < 1, čímž je zajištěna dostatečně rychlá úprava budicí amplitudy pro případné rezonance. Doporučená hodnota je cp_ratio 0,5;1).

Identifikace systému se spouští nastavením vstupu TUNE = on. Po uplynutí rmi vteřin (předpokládaná doba trvání přechodového děje) startuje výpočet aktuálního bodu frekvenční charakteristiky. Jeho reálná a imaginární část se průběžně kopíruje na výstupy xre a xim. Fázové zpoždění na dané frekvenci se kopíruje na výstup phase. Během procesu identifikace se rozmítání zastaví pokaždé, kdy jsou dosaženy požadované zastavovací body určené v závislosti na parametru stopBy: stopBy = 1 fázovým zpožděním deg, nebo stopBy = 2 frekvencí rads. Doba zastavení souvisí s hodnotami parametrů q_crit 0,001;100 a np. q_crit udává prahovou hodnotu relativní změny středních hodnot odhadů dvou po sobě jdoucích okének pro opětovný start rozmítání. Čím menší parametr q_crit je, tím přesněji bude bod frekvenční charakteristiky určen, a doba zastavení rozmítání bude delší. Pro kratší vyhodnocovací okénko dané počtem vteřin np (obvykle se volí shodně s rmi) bude doba zastavení rozmítání kratší. Je možné zvolit maximální počet vyhodnocovacích okének cmi, přičemž běžná hodnota je cmi = 10. Vstupem HLD = on je možné ručně zastavit rozmítání frekvence, opětovné nastavení HLD = off vede k jeho pokračování. V případě potřeby je možné identifikační proces předčasně ukončit vstupem BRK = on. V takovém případě zůstanou na výstupu mxData poslední okamžité hodnoty, na výstupu pmpRef všechny přesně změřené body a systém je stále buzen stejnosměrnou složkou ubias. Ostatní výstupy jsou nastaveny na hodnotu 0.

Během vlastní identifikace je výstup TBSY = 1. Po skončení je nastaven na 0. Při bezchybném experimentu je výstup IDE = off. Jestliže identifikace skončí chybou, pak je IDE = on a číslo na výstupu iIDE specifikuje příslušnou chybu.

Vektor StopVal je možné vložit:

  • 1: Explicitně: [ϕ1,ϕ2,...,ϕM], velikost vektoru je [1xM].
  • 2: Alternativně: [0,0,ϕstart,ϕstep,ϕend], kde ϕstart je počáteční fáze, ϕstep je krok mezi fázemi a ϕend je konečná fáze. Velikost vektoru je [1x5].

    Pro oba zápisy platí, že vektor fází (pro stopBy = 1) musí obsahovat klesající posloupnost a vektor frekvencí (pro stopBy = 2) musí obsahovat rostoucí posloupnost.

Parametr nmax udává maximální počet prvků vektoru StopVal, které je možné vložit. Současně se jedná o maximální šířku matice pmpRef, tedy maximální počet přesně změřených bodů, které lze uchovat.

Procesní signál pv je rekonstruován pomocí zabudovaného identického rekonstruktoru stavu, který předpokládá na výstupu stejnou frekvenci, jakou má budicí signál. Aby bylo možné odfiltrovat drobné nelineární projevy, mohou být rekonstruovány i vyšší harmonické složky s násobností f2-f4. V platnost se vždy berou první nenulové násobky. Speciální případ nastává pro dodatečné použití parametru f5, pak jsou násobky vždy fixně dané (f2=2, f3=3, f4=4, f5=5) bez ohledu na jejich zadané hodnoty. Pro čistě lineární systém mohou v důsledku rekonstrukce neexistujících vyšších harmonických složek některé stavy rekonstruktoru divergovat, pak je zapotřebí nastavit f2=0. Rychlost rekonstruktoru lze ladit pozorováním rekonstruované procesní veličiny epv prostřednictvím parametru alpha, který udává relativní polohu pólů rekonstruktoru.

V rámci jednoho experimentu lze identifikovat naráz až 5 signálů v případě systému s jedním vstupem a více výstupy. Experiment je řízen podle hlavního signálu pv, a v adaptivním režimu amplitudy buzení jsou kontrolovány všechny maximálně přípustné hodnoty odezev dané polem dy_max. V případě, že délka pole není dostatečná pro nsig zvolených signálů ke zpracování, je na všechny nedefinované pozice použita poslední hodnota pole. Jestliže mají všechny signály stejné omezení, stačí tedy zadat pouze jednu hodnotu.

Kód chyby iIDE:

101 ... vzorkovací frekvence je příliš nízká
102 ... saturace výstupu během identifikace
103 ... překročena velikost inicializovaných polí
104 ... procesní veličina mimo povolený rozsah
10 ... varování - vzorkovací frekvence je příliš nízká
11 ... varování - cpb nevyhovuje nastaveným limitům
12 ... varování - rozmítání obnoveno kvůli dosažení max. času
13 ... varování - není možné uložit další přesně změřené body
z důvodu vyčerpání inicializované paměti

Tento blok propaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.

Vstup

pv

Řízená veličina

Double (F64)

TUNE

Zahájení ladicího experimentu

Bool

HLD

Pozastavení

Bool

BRK

Ukončení ladicího experimentu

Bool

Parametr

wb

Počáteční frekvence [rad/s]   0.0 1.0

Double (F64)

wf

Koncová frekvence [rad/s]   0.0 10.0

Double (F64)

cpb

Počáteční rychlost rozmítání   0.0  1.0 0.92

Double (F64)

alpha

Relativní poloha pólů rekonstruktoru   0.0 2.0

Double (F64)

mode

Režim rozmítání  1

Long (I32)

1 ....

logaritmické

2 ....

lineární

3 ....

kombinované

adaptive_cp

Variabilní rychlosti rozmítání  on

Bool

adaptive_amp

Variabilní amplituda buzení  on

Bool

nsig

Počet vstupních signálů   1  5 1

Long (I32)

np

Okno pro detekci konvergence [s]   0.0 3.0

Double (F64)

q_crit

Práh pro vyhodnocení konvergence [%]   0.001  100.0 5.0

Double (F64)

cp_min

Nejmenší rychlost rozmítání   0.0  1.0 0.8

Double (F64)

cp_max

Největší rychlost rozmítání   0.0  1.0 0.99

Double (F64)

cp_ratio

Poměr mezi rychlostí změny frekvence a amplitudy   0.0  1.0 0.8

Double (F64)

uampb

Počáteční amplituda budicího signálu   0.0 1.0

Double (F64)

uamp_max

Nejvyšší amplituda budicího signálu   0.0 5.0

Double (F64)

ubias

Stejnosměrná složka budicího signálu

Double (F64)

hilim

Největší přípustná hodnota budícího signálu  10.0

Double (F64)

lolim

Nejnižší přípustná hodnota budícího signálu  -10.0

Double (F64)

cmi

Maximální počet oken pro detekci konvergence (pro každou frekvenci)   1 10

Long (I32)

rmi

Čekaní na odeznění přechodového děje na startu [s]   0.0 10.0

Double (F64)

f2..f5

Řád (číslo) další odhadované harmonické   2  1000 2

Long (I32)

nmax

Rezervovaná paměť pro pole   10  10000000 40

Long (I32)

stopBy

Ukončení rozmítání při  10

Long (I32)

1 ....

Fáze [deg]

2 ....

Frekvence [rad/s]

StopVal

Body pro zastavení rozmítání (přesné měření)  [-30 -90 -150]

Double (F64)

WL

Matice lineárních úseků (jen v kombinovaném režimu)  [2.2

Double (F64)

dy_max

Maximální přípustná amplituda měřených sgnálů (pv)  [2.2

Double (F64)

Výstup

mv

Akční zásah regulátoru (manipulated variable)

Double (F64)

TBSY

Příznak probíhajícího ladicího experimentu

Bool

off ..

identifikace neprobíhá

on ...

běží identifikační experiment

w

Aktuální frekvence [rad/s]

Double (F64)

xre

Reálná složka frekvenční charakteristiky

Double (F64)

xim

Imaginární složka frekvenční charakteristiky

Double (F64)

phase

Fáze frekvenční charakteristiky [stupně]

Double (F64)

epv

Odhad procesní veličiny

Double (F64)

IDE

Příznak chyby

Bool

iIDE

Kód chyby

Long (I32)

cp

Aktuální rychlost rozmítání

Double (F64)

thd

Celkové harmonické zkreslení

Double (F64)

pmpRef

Přesně změřené body frekvenční charakteristiky (w im re)  [2.2

Double (F64)

mxData

Průběžně odhadovaný přenos (všechny signály)  [2.2

Double (F64)

2025 © REX Controls s.r.o., www.rexygen.com