A LabVIEW program számos modult tartalmaz, amelyekkel egyszerűbbé válik a folytonos és mintavételes rendszerek irányítási tervezése. A programcsomagban a következő elemek találhatók:
Rendszertervezés (LabVIEW Control Design Module)
Szimulációs modul (LabVIEW Simulation Module)
MathScript Rt modul (LabVIEW MathScript RT Module)
Identifikációs eszköz (LabVIEW System Identification Toolkit)
PID szabályozó és Fuzzy szabályozó tervezése (LabVIEW PID and Fuzzy Logic Toolkit)
Matlab-LabVIEW szimulácós modell kapcsolati eszköz (LabVIEW Simulation Interface Toolkit)
Ebben a programismertetőben a Rendszertervezés (LabVIEW Control Design Module) modullal ismerkedünk meg.
Az A.1. ábra bemutatja a Rendszertervezés és Szimuláció (Control Design & Simulation) palettát a LabVIEW-ban
Ebben az ismertetőben elsősorban a folytonos és mintavételes rendszerek átviteli függvényének és állapottér leírásának elemeit szeretnénk bemutatni.
Ha a felsorolt programcsomagok utasításait szeretné részletesen megismerni, akkor tanulmányozza a programcsomagok ismertető kézikönyvét, amelyet az ni.com/manuals Internet címen talál meg.
Az A.2. ábra a Szabályozó tervezés (Control Design) paletta elemeit mutatja be:
A következő fejezetekben bemutatjuk a Szabályozó tervezés (Control Design) alpalettáiban elhelyezett műveleteket, amelyek segítségével megvalósíthatjuk a modell-definiálást, illetve a modell idő- és frekvencia-tartományban történő szimulációját.
A Szabályozó tervezés (Control Design) alpaletta elemei elsősorban adott időtartamra vonatkozó rendszervizsgálatot tesznek lehetővé. Ez azt jelenti, hogy a paletta elemeivel nem tudunk dinamikus tulajdonságú rendszerelemeket valós időben szimulálni, hanem úgynevezett futási időtartamtól független analízis feladatokat oldhatunk meg. Más szóval úgy is mondhatnánk, hogy az alpaletta elemeivel meg tudjuk tervezni a különböző dinamikus irányítási rendszerek optimális működését, de ezzel a programcsomaggal nem működtethetjük közvetlenül az irányított elemeket.
Amikor megalkotjuk a megfelelő matematikai modellt a szimulált rendszer viselkedésének leírásához, az első lépés, hogy létrehozzuk a dinamikus rendszermodell leírását LabVIEW-ban.
A Rendszertervezés és Szimuláció (Control Design & Simulation) modulban létrehozhatunk különböző modelleket, amelyek átviteli függvény vagy állapottér leírású formában adják meg a vizsgált modell paramétereit.
A Rendszertervezés (Control Design) paletta számos alpalettát tartalmaz, amelyek a modell definiálását segítik - ezek a következők:
Modell létrehozása (Model Construction)
Információ a modellről (Model Information)
Modell konverzió (Model Conversion)
Modell összekapcsolás (Model Interconnection)
Az (A.3. ábra) ábrán a modell definiálásánál leggyakrabban használt alpalettákat mutatjuk be, amelyek a következők:
Ebben az alpalettában hozhatunk létre átviteli függvényeket és állapottér modelleket.
A VI-ok alkalmazásával lineáris rendszermodelleket készíthetünk, és/vagy módosíthatjuk modellek paramétereit. A Modell létrehozása (Model Construction) VI-okat arra is alkalmazhatjuk, hogy elmentsük egy file-ba a modell paramétereit, és/vagy visszaolvassuk őket a file-ból, illetve hogy vizuálisan is megjelenítsük a vizsgált átviteli függvényt valamint az állapottér-paramétereket.
A modell létrehozásához leggyakrabban használt VI-ok
|
CD Construct State-Space Model.vi |
|
|
CD Construct Transfer Function Model.vi |
|
|
CD Construct Special TF Model.vi |
Adott a következő állapottér modell:
|
(A.1) |
Az Állapottér modell létrehozása CD Construct State-Space Model.vi program segítségével állapottér modellt hozhatunk létre a LabVIEW-ban:
Az A, B, C és D mátrixok elemeit megadhatjuk numerikus értékekkel vagy szimbolikus formában ha az (A.5. ábra) ábrán látható ikon alsó kiválasztó menüje segítségével kiválasztjuk a “Numeric” vagy “Symbolic” menüpontot:
Mintapélda: Állapottér modell (State-Space model) létrehozása.
Az Állapottér egyenlet kiírása (CD Draw State-Space Equation.vi) programot arra használjuk, hogy a képernyőn grafikus állapottér alakban láthassuk az egyenleteket.
Mintapélda: SISO/MIMO állapottér modellek létrehozása.
SISO modell (Single Input, Single Output):
SIMO modell (Single Input, Multiple Output):
MISO modell (Multiple Input, Single Output):
MIMO modell (Multiple Input, Multiple Output):
Adott a következő átviteli függvény:
|
(A.2) |
Az Átviteli függvény létrehozása (CD Construct Transfer Function Model.vi) program segítségével átviteli függvény modellt hozhatunk létre a LabVIEW-ban:
Mintapélda: Átviteli függvény (Transfer Function) létrehozása numerikus adatokkal
Az átviteli függvény megadása numerikus adatokkal olyan függvényalakot jelent, amelyben az (A.17. ábra) ábrán szereplő számláló és nevező együtthatók értékei az s indexszel kijelölt hatványkitevőjű értékeivel vannak megszorozva.
Azaz a 0 indexű együttható az s0 értékkel van megszorozva, az 1 indexű értékek s1 hatványával és így tovább, míg az m indexű tag az sm-ik hatványú tagjának együtthatója.
Mintapélda: Átviteli függvény (Transfer Function) létrehozása szimbolikus (képlet) adatokkal.
Az átviteli függvény szimbolikus elemekkel történő leírása esetén az együtthatókra a Matlab rendszerben megszokott leírási módot alkalmazzák, amely különbözik a numerikus adatok bevitelénél alkalmazott indexelési eljárástól.
Ennél az átviteli függvény leírási módnál az s legmagasabb (pozitív) hatványának együtthatóját kell a 0 indexű elembe írnunk, a következő, eggyel kisebb s hatványkitevőjű tag együtthatóját az 1 indexű elembe és így tovább egészen (m-1) indexig, ahová az átviteli függvény legkisebb s együtthatójú értéket kell beírnunk. Ez az átviteli függvény leírási mód a Matlab program átviteli függvény megadási metódusának felel meg.
A két átviteli függvény leírási mód:
Az együtthatók indexei megegyeznek a tároló vektor indexével (Ascending (LabVIEW))
Az együtthatók indexei fordított sorrendben jelennek meg a tároló vektor indexeinél (Descending (Mathscript))
A két átviteli függvény leírási mód közötti átváltás egyszerűen megvalósítható a Vektor elemek sorrendjének megfordítása (Reverse 1D Array.VI) program segítségével - a számláló és a nevező együtthatóinál egyaránt.
A gyakran használt átviteli függvények létrehozására alkalmazhatjuk a Speciális átviteli függvény létrehozása (CD Construct Special TF Model.VI) programot.
Az elsőrendű rendszer átviteli függvénye a következő:
|
(A.3) |
ahol
K |
az erősítési tényező [a kimeneti és a bemeneti jel dimenzióinak hányadosa] |
|
T |
az egytárolós rendszer időállandója [idő dimenzió] |
|
T h |
az egytárolós rendszer késleltetése [idő dimenzió] |
Válasszuk ki a Speciális átviteli függvény létrehozása (CD Construct Special TF Model.VI) program polimorf választó menüjéből a menüpontot, hogy kijelöljük az elsőrendű rendszert!
A másodrendű rendszer átviteli függvénye a következő:
|
(A.4) |
ahol
K |
az erősítési tényező [a kimeneti és a bemeneti jel dimenzióinak hányadosa] |
|
ζ |
a másodrendű rendszer relatív csillapítási tényezője [ ] |
|
ω 0 |
a másodrendű rendszer csillapítatlan rezonancia körfrekvenciája [rad/idő dimenzió] |
Válasszuk ki a Speciális átviteli függvény létrehozása (CD Construct Special TF Model.VI) program polimorf választó menüjéből a menüpontot, hogy kijelöljük a másodrendű rendszert!
Az időbeni késleltető rendszer átviteli függvénye a következő alakú:
|
(A.5) |
ahol
T h |
az egytárolós rendszer késleltetése [idő dimenzió] |
Az időbeni késleltető rendszer átviteli függvényének egy közelítő formulája az ún. Pade approximációs formula, amely a következő alakú:
|
(A.6) |
Ezt az algoritmust alkalmazza az időbeni késleltetést megvalósító rendszer átviteli függvénye megadott n érték esetén.
Válasszuk ki a Speciális átviteli függvény létrehozása (CD Construct Special TF Model.VI) program polimorf választó menüjéből a menüpontot, hogy kijelöljük az időbeni késleltetést megvalósító rendszert!
Ebben az alpalettában információt kapunk az alkalmazott átviteli függvény és/illetve állapottér modell paramétereiről.
A VI-ok alkalmazásával beállíthatjuk és/vagy lekérdezhetjük a lineáris rendszermodellek paramétereit és a rendszermodelljének elnevezését. A modell-információk között szerepelnek a rendszermodell paraméterei - a rendszer-késleltetési időtartamok, a rendszerdimenziók (számláló, nevező fokszámok, rendszermátrix dimenziók), a mintavételezési időtartam valamint a bemenetek, kimenetek és az állapotok elnevezései.
Ebben a alpalettában lehetőségünk van arra, hogy a rendszermodell-leírás egyik formájáról másik leírási alakra transzformáljuk át a rendszermodellt.
A VI-ok alkalmazásával lehetőségünk van arra, hogy átalakítsuk a rendszermodellt az egyik leírási alakról egy másik alakra, időben folytonos leírású modellből mintavételes modellt hozzunk létre.
Ebben a alpalettában található VI-ok segítségével lehetőségünk van a Rendszertervezés modulban létrehozott modelleket átalakítani a Szimulációs modulban alkalmazható modellekké, ezen kívül a visszaalakítást is megvalósíthatjuk.
A modell átalakításhoz leggyakrabban használt VI-ok
|
CD Convert to State-Space Model.vi |
|
|
CD Convert to Transfer Function Model.vi |
|
|
CD Convert Continuous to Discrete.vi |
Ezeket és még néhány VI-t a következőkben ismertetjük.
Mintapélda: Átviteli függvény (Transfer Function) alakból állapottér modell (State Space Model) létrehozása numerikus adatokkal
Mintapélda: Állapottér modell (State Space Model) alakból átviteli függvény (Transfer Function) létrehozása numerikus adatokkal.
Mintapélda: Időben folytonos modell átalakítása mintavételes állapottér függvény alakra adott mintavételi időtartammal
Ebben az alpalettában elhelyezett alprogramokkal lehetőségünk arra van, hogy a létrehozott rendszermodelleket tetszőleges topológiával összekapcsoljuk, és így tetszőleges rendszerstruktúrát hozzunk létre.
A modell összekapcsolás (Model Interconnection) alpaletta VI-jait arra használjuk, hogy a különböző típusú lineáris rendszereket összekapcsoljuk egymással.
A kisméretű alapmodellek összekapcsolásával egy nagy rendszermodellt hozhatunk létre.
A modell összekapcsoláshoz leggyakrabban használt VI-ok
|
CD Parallel.vi |
|
|
CD Series.vi |
|
|
CD Unit Feedback.vi |
Ezeket VI-okat a következőkben ismertetjük.
Mintapélda: Modellek párhuzamos kapcsolása.
Mintapélda: Modellek soros kapcsolása
Mintapélda: Modellek visszacsatolt összekapcsolása.
A dinamikus rendszermodell elkészítése után időtartományban illetve frekvenciatartományban készíthetünk szimulációs futtatásokat.
A Rendszertervezés (Control Design) paletta olyan alpalettákat tartalmaz, amelyek az előkészített modell analízisét segítik, ezek a következők:
Modell időtartománybeli vizsgálata (Time Response)
Modell frekvenciatartománybeli vizsgálata (Frekvency Response)
Modell dinamikus tulajdonságai (Dynamic Characteristic)
Az (A.53. ábra) ábrán a modell időtartománybeli és frekvenciatartománybeli vizsgálatánál leggyakrabban használt alpalettákat láthatjuk, melyek ismertetését a következő alfejeztetek tartalmazzák.
Ebben a alpalettában elhelyezett programokkal tudjuk a korábban definiált dinamikus modellek időtartománybeli válaszfüggvényét meghatározni.
A dinamikus modell időtartománybeli analíziséhez leggyakrabban használt VI-ok:
|
CD Step Response.vi |
|
|
CD Impulse Resonse.vi |
|
|
CD Initial Response.vi |
|
|
CD Linear Simulation.vi |
Az elkészített rendszermodell egységugrás bemenetre adott válaszfüggvényét a CD Step Response.vi program segítségével tudjuk meghatározni.
Bár az egységugrásra adott válaszfüggvénynél az ikon rajza alapján úgy látszik, hogy csak állapottér leírású rendszereket képes fogadni, de ez így nem igaz. Ez az ikon, hasonlóan a továbbiakban bemutatandó programokhoz, úgynevezett polimorf tulajdonságú, azaz a bemenet „felismeri”, hogy milyen alakban leírt modellformát kapcsolunk hozzá, és ennek struktúráját és paramétereit alkalmazza futáskor.
Mintapélda: Egységugrás bemenetre adott válaszfüggvény (időfüggvény) meghatározása:
A blokkdiagramon láthatók az időparaméterek (Time Range), amelyek bemeneti adatként meghatározzák a szimuláció kezdő időpontját (t0), a szimuláció lépésközét (dt), illetve a szimuláció befejezésének időpontját (tf). A clusterben megjelenő negatív (-1) időadatok azt jelentik, hogy ebben az esetben a modell paraméterei alapján a program határozza meg, hogy milyen hosszúságú szimulációs időtartamot igényel az egységugrás bementre adott válaszfüggvény. Ez az érték kb. (5 - 8)*Tmax, ahol Tmax a modell nevezőjében szereplő legnagyobb időállandó. Ebben az esetben a szimulációhoz alkalmazott lépésközt is automatikusan határozza meg a program.
Ha megadott lépésközzel, kezdő és befejezési időponttal szeretnénk meghatározni a kimeneti jelet, akkor ezeket az értékeket beírva a „Time Range” cluster megfelelő elemébe, a program ezekkel a bemeneti értékekkel fut.
Az elkészített rendszermodell egységimpulzus bemenetre adott válaszfüggvényét a CD Impulse Response.vi program segítségével tudjuk meghatározni. (Az egységimpulzus alatt az egységnyi területű impulzus időfüggvényt értjük.)
Mintapélda: Egységimpulzus bemenetre adott válaszfüggvény (időfüggvény) meghatározása.
Az elkészített rendszermodell kezdeti értékkel rendelkező válaszfüggvényét tudjuk a CD Initial Response.vi program segítségével meghatározni.
A bementi jel ennél az időfüggvény számításnál nulla (0) értékű. A futtatással kapott időfüggvény azt határozza meg, hogy adott kezdeti értékek (állapottér modell állapotainak kezdeti értékei) mellett milyen végértékre áll be modell kimeneti jele „végtelen idő” eltelte után. Ezzel a vizsgálattal tudjuk a modell stabilitását meghatározni, megadott kezdeti feltételek esetén.
Mintapélda: A kezdeti értékkel rendelkező rendszer válaszfüggvényének (időfüggvény) meghatározása.
A mintapéldában szereplő rendszer egy nevezőbeli gyökkel rendelkezik, így az állapottér leírásban egy állapota van, amelynek beállíthatjuk a kezdeti értékét.
Az elkészített rendszermodell válaszfüggvényét tudjuk meghatározni tetszőleges bemeneti időfüggvény jellel a CD Linear Simulation.vi program segítségével.
Mintapélda: Tetszőleges bemeneti időfüggvény jellel rendelkező rendszer válaszfüggvényének (időfüggvény) meghatározása.
A tetszőleges bemeneti időfüggvény jellel rendelkező rendszer válaszfüggvényének meghatározása (CD Linear Simulation.vi) program bemeneti adatként egy olyan vektort kér, amely minden egyes számítási időpillanatban megadja a (bemeneti) jel értékét. Ilyen jelet előállíthatunk program segítségével, mint ahogy az a mintapéldában is látható, vagy minden egyes számítási időpillanatbeli értéket manuálisan is meghatározhatunk.
A Négyszögjel (Square Wave) bemenettel rendelkező szimulációs rész 400 bemeneti értéket határoz meg (samples) 0,005Hz frekvenciával. A szimulációs adatokat az időlépés (Delta t) paraméterrel megadott helyeken írjuk ki.
A második modellben szereplő Alapfüggvény Generátor (Basic Function Generator) a jeltípus (Signal type) megadása mellett a jel periódusidejét (Waveform Period (s)) kéri bemeneti adatként, és külön bemenet (sampling info) adja meg, hogy a számítást milyen mintavételezési frekvenciával (Fs) és hány mintavételi pontban (#s) határozzuk meg.
Ebben az alpalettában elhelyezett programokkal tudjuk a korábban definiált dinamikus modellek frekvenciatartománybeli tulajdonságait meghatározni.
A dinamikus rendszermodell frekvenciatartománybeli analíziséhez leggyakrabban használt VI-ok:
|
CD Bode.vi |
|
|
CD Nyquist.vi |
|
|
CD Gain and Phase Margin.vi |
Az elkészített rendszermodell Bode frekvenciafüggvényét a CD Bode.vi program segítségével tudjuk meghatározni.
Mintapélda: Dinamikus rendszer Bode frekvenciafüggvényének meghatározása.
Az elkészített rendszermodell Nyquist frekvenciafüggvényét a CD Nyquist.vi program segítségével tudjuk meghatározni.
Mintapélda: Dinamikus rendszer Nyquist frekvenciafüggvényének meghatározása.
A Nyquist frekvenciafüggvény program bemeneti adataként megadhatjuk a számítás frekvenciahatárait. Alapértelmezésben a kezdeti frekvencia (Initial freqency) és a befejezési frekvencia (Final freqency) értéke negatív érték (-1). Ezek a számértékek nem valós értékek, így ebben az esetben a program automatikusan választ a rendszermodell paraméterei (nevezőbeli gyökei) alapján frekvenciahatárokat. Ebben az esetben a program meghatározza a Nyquist diagram paramétereit –végtelen (-Inf) frekvenciától +végtelen (+Inf) frekvenciáig. Ahogy az ábrán is látható, a kezdeti frekvencia értékét nullára állítva csak a pozitív frekvenciához tartozó frekvenciafüggvényt határozzuk meg.
Az elkészített rendszermodell Bode frekvenciafüggvényének erősítési és fázistartalékát a CD Gain and Phase Margin.vi program segítségével tudjuk meghatározni.
Mintapélda: Dinamikus rendszer Bode frekvenciafüggvényének erősítés és fázistartalék meghatározása.
A mintapéldában egy PID szabályozó és egy egytárolós (PT1) rendszer felnyitott körének Bode diagramját valamint az amplitúdó és fázistartalékát láthatjuk. A amplitúdó és fázistartalék dimenziója fok (°).
A legalsó diagramon a zárt szabályozási kör átviteli és átmeneti függvényét láthatjuk.
Ebben a alpalettában elhelyezett programokkal tudjuk a korábban definiált dinamikus modellek számláló- és nevezőbeli gyökeit meghatározni.
A dinamikus rendszermodell tulajdonságainak meghatározásához leggyakrabban alkalmazott VI-ok
|
CD Pole-Zero Map.vi |
|
|
CD DC Gain.vi |
Az elkészített rendszermodell számlálóban és nevezőben elhelyezkedő gyökhelyeinek meghatározását végzi a CD Pole-Zero Map.vi program:
Mintapélda: A dinamikus rendszermodell számlálóban és nevezőben elhelyezkedő gyökhelyeinek meghatározása.
Az elkészített rendszermodell állandósult állapotban megvalósuló erősítésének értékét határozza meg a CD DC Gain.vi program.
Mintapélda: A dinamikus rendszermodell állandósult állapotban megvalósuló erősítésének értékét meghatározó program.
A mintapéldában egy bemenetű és egy kimenetű folytonos átviteli függvény állandósult állapotbeli erősítésének meghatározását végeztük el. A program az eredményt egy mátrixban adja meg, aminek az oka, hogy több bemenetű és több kimenetű rendszerek esetén is alkalmazható, és ilyenkor minden bemenet és minden kimenet között meghatározza az állandósult erősítés értékeket.