Real-time simulace

Z Wikipedie, otevřené encyklopedie

Real-time simulace neboli simulace v reálném čase reprodukuje chování fyzického systému spuštěním jeho počítačového modelu stejnou rychlostí jakou "běží" skutečný čas. Jinými slovy, když v real-time simulaci uplyne určité množství času, ve skutečném světě uplyne stejné množství času. Pokud například určitý proces v reálném světě trvá 1 sekundu, simulace tohoto procesu musí trvat také 1 sekundu. Simulace v reálném čase se obvykle používá pro vysokorychlostní simulace, testování ochranné a řídicí techniky v uzavřené smyčce a obecně pro všechny analýzy typu „Co kdyby“. V real-time simulaci přesnost výpočtů závisí nejen na přesném dynamickém znázornění systému, ale také na délce času použitého k získání výsledků.[1][2]

Význam real-time simulace[editovat | editovat zdroj]

Zatímco složitost návrhů nových projektů se neustále zvyšuje, inženýři čelí rostoucímu tlaku na snižování nákladů a času vývoje. Výsledkem je, že testování a ověřování složitých systémů se stalo důležitou součástí procesu návrhu.[2] Real-time simulátory se již desítky let hojně používají při plánování a konstrukci elektrických systémů. Od uspořádání přenosových vedení ve velkých energetických systémech až po optimalizaci motorových pohonů v dopravě hrála simulace rozhodující roli v úspěšném vývoji velkého počtu aplikací. V posledních třech desetiletích byl vývoj simulačních nástrojů řízen rychlým vývojem výpočetních technologií. Jelikož počítačové technologie snížily náklady a zvýšily výkon, zlepšila se schopnost simulačních nástrojů řešit stále složitější problémy za kratší dobu. Kromě toho se také neustále snižují náklady na digitální simulátory, které je zpřístupňují většímu počtu uživatelů pro širší škálu aplikací.[1]

Když uživatel nebo fyzické zařízení interaguje s modelem v reálném čase, tak lze modelu poskytovat vstupy a následně z modelu získat potřebné vstupy/výstupy. Model provedený na simulátoru v reálném čase lze také upravit online, což u skutečného zařízení není možné. Kromě toho lze libovolný parametr modelu číst a průběžně aktualizovat. Například v simulaci elektrárny lze během simulace upravit setrvačnost hřídele turbíny, aby se určil její vliv na stabilitu, což je na skutečné elektrárně nemožné. Navíc se simulátorem v reálném čase je během provádění dostupná jakákoli kvantita modelu. Například v aplikaci větrných turbín je k dispozici točivý moment působící na generátor z převodovky, protože se jedná o modelovanou veličinu. Ve skutečné větrné turbíně je získání přesné hodnoty točivého momentu v reálném čase téměř nemožné kvůli neúnosným nákladům na měřič točivého momentu. Konfigurace online modelu a plná dostupnost dat umožňují dříve nemyslitelné aplikace. Například ověření, zda může řídicí jednotka kompenzovat změny v dynamice zařízení způsobené stárnutím součásti.[1]

Základní kritéria[editovat | editovat zdroj]

Časový krok (Time-step)[editovat | editovat zdroj]

Aby byla simulace v reálném čase platná, musí použitý real-time simulátor vytvářet vnitřní proměnné a výstupy simulace ve stejné době, jako jeho fyzický protějšek. Simulace se provádí v diskrétním čase s konstantním neboli fixním časovým krokem. Čas výpočtu řešení v časovém kroku musí být kratší než daná fixní délka časového kroku. Touto podmínkou je real-time simulátoru umožněno provádět všechny operace nezbytné k tomu, aby byla real-time simulace relevantní, včetně řízení vstupů a výstupů. V daném časovém kroku dojde ke ztrátě jakékoli doby nečinnosti předcházející nebo následující operace simulátoru; na rozdíl od zrychlené simulace, kdy se k výpočtu rovnic v dalším časovém kroku použije doba nečinnosti.[1]

Události časového kroku[editovat | editovat zdroj]

Pro každý časový krok simulátor provádí stejnou řadu úkolů:[1]

  1. Čtení vstupů a generování výstupů
  2. Řešení modelové rovnice
  3. Vyměnění výsledků s jinými simulačními uzly
  4. Čekání na začátek dalšího kroku

Tento postup událostí naznačuje, že stavy jakéhokoli externě připojeného zařízení jsou vzorkovány jednou na začátku každého časového kroku simulace. V důsledku toho jsou stavy simulovaného systému sdělovány externím zařízením pouze jednou za časový krok. Pokud nejsou splněny všechny podmínky časování simulace v reálném čase, dojde k "překročení" a vyskytnou se rozdíly mezi výsledky simulátoru a reakcemi jeho fyzického protějšku.[1]

Překročení (Overrun)[editovat | editovat zdroj]

Pokud všechny operace real-time simulátoru nejsou dosaženy v požadovaném časovém kroku, je simulace v reálném čase považována za chybnou. Tato chyba je nazývána jako „překročení" („overrun"). Na základě těchto základních definic lze vyvodit závěr, že simulátor v reálném čase pracuje správně, pokud jsou rovnice a stavy simulovaného systému vyřešeny přesně s přijatelnou podobností s jeho fyzickým protějškem, aniž by došlo k „překročení" („overrun").[1]

Problém s načasováním událostí[editovat | editovat zdroj]

U nelineárních systémů, jako je například jednoduchý obvod usměrňovače, neexistuje žádná záruka, že ke spínání dojde v diskrétním čase. Kromě toho může během jednoho časového kroku dojít k více událostem a bez řádného zacházení může simulátor znát pouze výsledek poslední události. V poslední době výrobci real-time simulátorů navrhli řešení těchto problémů týkajících se správného načasování a stability.[1]

Řešení problému s načasováním[editovat | editovat zdroj]

Navrhovaná řešení obecně známá jako techniky kompenzace diskrétního času obvykle zahrnují algoritmy časového razítka a interpolace. Nejmodernější simulátory v reálném čase využívají výhod pokročilých vstupně-výstupních karet běžících se vzorkovací frekvencí podstatně rychleji než simulace s fixním krokem. vstupně-výstupní karta získává data rychleji než simulace a může číst změny stavu mezi kroky simulace. Poté na začátku dalšího časového kroku vstupně-výstupní karta nejen předá informace o stavu simulátoru, ale také informace o čase, kdy došlo ke změně stavu. Simulátor pak může případné problémy s chybným načasováním řešit.[1]

Přesnost simulace[editovat | editovat zdroj]

Nejkritičtějším kritériem při provádění digitální simulace v reálném čase je, jak dosáhnout přijatelné přesnosti modelu s dosažitelným časovým krokem simulace. Toto je obzvláště náročný úkol pro simulaci rychle spínané výkonové elektroniky a motorových pohonů. Tyto nelineární systémy potřebují k dosažení přijatelné míry přesnosti velmi malé časové kroky. K ověření simulace a simulačního nástroje musí být provedeno velké množství ověřovacích testů pomocí mnoha různých aplikací, konfigurací, časových kroků a vstupně-výstupních karet.[1]

Druhy real-time simulací[editovat | editovat zdroj]

Hardwarová simulace v uzavřené smyčce (HIL)[editovat | editovat zdroj]

V hardware in the loop (HIL) simulaci jsou části plně digitální simulace v reálném čase nahrazeny skutečnými fyzickými součástmi. Režim HIL simulace probíhá s testovaným zařízením nebo hardwarovým testem připojeným prostřednictvím vstupně-výstupních rozhraní, např. s připojenými filtry, digitálně-analogovými a analogově-digitálními převodníky a signálovými kondicionéry. Omezené řízení simulace v reálném čase lze provádět pomocí uživatelem definovaných řídicích vstupů, například zavírání nebo otevírání spínačů pro připojení nebo odpojení komponent v simulovaném energetickém systému. Pokud systém HIL zahrnuje skutečný hardware řídící jednotky, který interaguje se zbytkem simulovaného systému, nazývá se řídící jednotka hardwaru ve smyčce (CHIL). V této metodě nedochází k žádnému skutečnému přenosu energie a energetický systém je modelován jako virtuální systém uvnitř simulátoru a externí hardware řídící jednotky vyměňuje vstupy a výstupy ovladače se systémem uvnitř simulátoru. Nově navržená/vyvinutá řídící jednotka se obecně testuje pomocí této metody, kdy řídicí jednotka přijímá zpětnovazební signály ze simulátoru a zpracovává je za účelem výroby požadovaných výstupních signálů, které se poté odesílají zpět do systému (uvnitř simulátoru).).[3]

Rychlé prototypování řídicích systémů (RCP)[editovat | editovat zdroj]

V rapid control prototyping (RCP) je jednotka zařízení implementována pomocí simulátoru v reálném čase a je připojena k fyzickému zařízení. RCP nabízí mnoho výhod oproti implementaci skutečného prototypu řídící jednotky. Prototyp řídící jednotky vyvinutý pomocí simulátoru v reálném čase je flexibilnější, implementace je rychlejší a ladění je snazší. Prototyp řídící jednotky lze vyladit za chodu nebo zcela upravit pomocí několika kliknutí myší. RCP umožňuje rychlejší ladění, protože je k dispozici každý stav interní řídící jednotky.[1]

Plně digitální simulace v reálném čase[editovat | editovat zdroj]

Do této kategorie patří například model ve smyčce, software ve smyčce nebo procesor ve smyčce. Plně digitální simulace v reálném čase vyžaduje modelování celého systému (včetně ovládání, ochrany a dalšího příslušenství) uvnitř simulátoru a nezahrnuje externí rozhraní ani vstupy/výstupy. Obecně platí, že plně digitální simulace se často používá k pochopení chování systému za určitých okolností vyplývajících z vnějších nebo vnitřních dynamických vlivů.[3]

Softwarová simulace v uzavřené smyčce (SIL)[editovat | editovat zdroj]

Software in the loop (SIL) představuje třetí logický krok nad rámec kombinace RCP a HIL. Díky dostatečně výkonnému simulátoru lze řídící jednotku i zařízení simulovat v reálném čase ve stejném simulátoru. SIL má oproti RCP a HIL tu výhodu, že zde nejsou použity žádné vstupy a výstupy, protože zachovává integritu signálu. Kromě toho, protože modely regulátoru i závodu fungují na stejném simulátoru, časování s vnějším světem již není kritické; může být pomalejší nebo rychlejší než v reálném čase bez dopadu na platnost výsledků, takže SIL je ideální pro třídu simulace zvanou zrychlená simulace. V zrychleném režimu simulace běží rychleji než v reálném čase, což umožňuje velké množství testů provedených v krátkém období. Z tohoto důvodu je SIL vhodný pro statistické testování, jako jsou simulace Monte-Carlo. SIL může také běžet pomaleji než v reálném čase. V tomto případě, pokud simulátoru v reálném čase chybí výpočetní výkon k dosažení v reálném čase, lze simulaci stále spustit za zlomek reálného času, obvykle rychleji než na stolním počítači.[1]

Procesorová simulace v uzavřené smyčce (PIL)[editovat | editovat zdroj]

Processor in the loop (PIL) je simulace, která umožňuje návrhářům vyhodnotit řídící jednotku běžící ve vyhrazeném procesoru zařízení, které běží v offline simulační platformě. v PIL běží zařízení na digitální platformě a řídicí jednotka běží na počítači prostřednictvím offline simulační platformy, kde je vyžadována komunikace mezi počítačem a digitálním nastavením ačkoli PIL se obvykle používá k vyhodnocení řídící jednotky; nicméně může být užitečné otestovat části složitého systému, kde tyto části mohou být zabudovány do digitální platformy (DSP, programovatelné hradlové pole atd.) a zbytek systému může běžet na offline simulátoru. Důležité u PIL je, že umožňuje ladění řídící jednotky nebo testovaného subsystému za účelem opravy možných chyb ohledně jeho výkonu. Jednou důležitou poznámkou o PIL je, že nemusí běžet v reálném čase, protože model běží v offline simulátoru.[4]

Modelová simulace v uzavřené smyčce (MIL)[editovat | editovat zdroj]

Model in the loop (MIL) testuje logiku řídící jednotky na simulovaném modelu zařízení. Je to simulace, ve které je testovaný vzorek částečně reálný a částečně virtuální. Virtuální část je implementována pomocí počítačové simulace v reálném čase. Toto uspořádání má řadu potenciálních výhod v závislosti na aplikaci. Fyzicky musí být testována pouze klíčová součást s neznámou dynamikou, což snižuje náklady a složitost fyzického testovacího zařízení. Nově navržený systém lze otestovat, i když některé části ještě musí být fyzicky realizovány – místo toho jsou tyto části simulovány. Někdy je fyzicky obtížné replikovat provozní podmínky v laboratoři, např. podmínky prostředí nebo aerodynamické síly, a tak mohou být ovlivněné systémy přesněji reprezentovány počítačovým modelem. Vlastnosti simulovaného systému lze měnit tak, aby představovaly alternativní konfigurace – to je pohodlnější než změna fyzických komponent. Simulace model in the loop (MIL) se liší od simulace hardware in the loop (HIL) v tom, že simulace je součástí mechanického systému, nikoliv řídicí jednotky.[5]

Parametry real-time simulátoru[editovat | editovat zdroj]

Prvním úkolem, kterému čelí specialisté, je výběr simulátoru v reálném čase, který splní jejich potřeby. Schopnosti, velikost a cena simulátoru jsou určeny řadou kritérií.[1]

Prvním kritériem je frekvence nejvyšších okamžitých změn proudu, napětí nebo frekvence, které mají být simulovány, což následně určuje minimální časový krok. Dalším kritériem je složitost nebo velikost simulovaného systému, který spolu s časovým krokem určuje požadovaný výpočetní výkon. Kriticky důležitý je také počet vstupně-výstupních kanálů potřebných k propojení simulátoru s fyzickými řídícími jednotkami nebo jiným hardwarem, což ovlivňuje celkový výkon a náklady simulátoru.[1]

Délka časového kroku[editovat | editovat zdroj]

Mechanické systémy s pomalou dynamikou vyžadují časový krok simulace mezi 1 a 10 milisekundami, podle pravidla, že simulační krok by měl být menší než 5% až 10% nejmenší časové konstanty systému. Pro udržení numerické stability v tuhých systémech může být zapotřebí menší časový krok.[1]

Pokud jsou přítomny třecí jevy, mohou být vyžadovány simulační časové kroky od 100 mikrosekund do 500 mikrosekund U simulátorů EMT (elektromagnetické přechodové jevy) je běžnou praxí použít časový krok simulace 30 až 50 mikrosekund k zajištění přijatelných výsledků pro přechodové jevy až do 2 kHz. Protože větší přesnosti lze dosáhnout s menšími časovými kroky, vyžaduje simulace jevů EMT s frekvenčním obsahem do 10 kHz obvykle časový krok simulace přibližně 10 mikrosekund. Přesná simulace rychle se měnících výkonových elektronických zařízení vyžaduje použití velmi malých časových kroků k řešení systémových rovnic. Výkonové elektronické převaděče s vyšší nosnou frekvencí PWM v rozsahu 10 kHz, jaké se používají v převaděčích s nízkým výkonem, vyžadují časové kroky kratší než 250 nanosekund bez interpolace nebo 10 mikrosekund s technikou interpolace. Střídavé obvody s vyšší rezonanční frekvencí a velmi krátkými linkami, jak se předpokládá v nízkonapěťových distribučních obvodech a napájecích systémech elektrického napájení kolejnice, mohou vyžadovat časové kroky pod 20 mikrosekund.[1]

Testy, které využívají praktické konfigurace a parametry systému, jsou nezbytné k určení minimální velikosti časového kroku a výpočetního výkonu požadovaného k dosažení požadovaného časového kroku. Nejmodernější digitální simulátory v reálném čase mohou vykazovat chvění a režii méně než 1 mikrosekundu, protože umožňují hodnoty časových kroků tak nízké jako 10 mikrosekund, takže pro výpočet modelu je k dispozici spousta zdrojů pro zpracování. To znamená, že časové kroky simulace lze podle potřeby snížit na značně nízkou hodnotu, aby se zvýšila přesnost nebo zabránilo numerické nestabilitě.[1]

Bez ohledu na použitý simulátor je při výběru správného časového kroku třeba zohlednit jak numerický výkon řešiče, tak požadovanou šířku pásma. Standardním přístupem k výběru vhodné fixní velikosti kroku pro modely se zvyšující se složitostí je porovnání časových domén vlnových forem pro opakované běhy s různými velikostmi kroků.[1]

Příklady real-time simulátorů[editovat | editovat zdroj]

Existuje mnoho různých typů real-time simulátorů pro modelování a plánování energetických systémů, od rozsáhlých vysokonapěťových přenosových systémů po nízkonapěťové distribuční sítě nebo dokonce malé řídicí jednotky nebo zařízení nebo pro různé aplikace.[2] V následující tabulce jsou uvedené některé z nich s informacemi o tom jaké operační systémy a simulace podporují a umožňují:

Příklady real-time simulátorů[3]
Real-time simulátor Hostitelský operační systém Cílový operační systém Aplikační software Podporované simulace
RTDS od RTDS Technologies Inc. Windows VxWorks (Real-time operační systém) RSCAD Real-time simulace energetických systémů, výkonové elektroniky, řídicích systémů, testování pomocí simulace HIL
eMEGAsim from OPALRT Technologies Inc. Windows Založený na Linuxu (QNX, RedHat) MATLAB / Simulink, RT-Lab Real-time simulace výkonové elektroniky, energetických systémů, řídicích a automobilových systémů, více doménová simulace, testování a simulace HIL
HYPERSIM Windows Založený na Linuxu Softwarová sada Hypersim Real-time simulace energetických systémů v s výkonovou elektronikou, energetických systémů, řídicí a automobilových systémů, více doménová simulace, testování a simulace HIL
dSPACE Windows QNX ROS (Robotický operační systém) - Používá se hlavně pro řízení v reálném čase a rychlé prototypování pro automobilové, letecké a průmyslové řídicí systémy
VTB Windows Linux - Simulace elektrického systému
xPC Target Windows Optimalizované real-time jádro - Rychlé prototypování, testování aplikací v reálném čase a simulace HIL
rtX from ADI Windows QNX RTOS (Real-time operační systém) AdvantageDE Simulace energetického systému pro avioniku a námořní průmysl, simulace letadel, simulace lodí
Typhoon RTDs Windows Programovatelné hradlové pole - Testování výkonové elektroniky

Příklady uplatnění real-time simulací[editovat | editovat zdroj]

Simulace výkonových elektronických zařízení[editovat | editovat zdroj]

Integrace zařízení obnovitelných zdrojů energie, jako jsou větrné farmy, je jednou z hlavních výzev, jimž dnes čelí elektrotechnici. Vyžaduje hloubkovou analýzu a znalosti mnoha techniků z různých specializovaných oborů. S rostoucí poptávkou v této oblasti existuje potřeba inženýrských studií o dopadu těchto integrací. Přesná simulace rychle se měnících výkonových elektronických zařízení vyžaduje použití velmi malých časových kroků k řešení systémových rovnic. Synchronní generátory, které typicky představují hlavní zdroje generování v sítích, navíc na elektromagnetické přechodové jevy reagují pomalu. Použitím simulace v reálném čase lze celkovou stabilitu a přechodné reakce energetického systému otestovat a opravit včas.[1]

Automobilové aplikace[editovat | editovat zdroj]

Hybridní elektrická vozidla vyráběná společnostmi jako Toyota a Honda se v posledních letech stala ekonomicky životaschopná a široce dostupná. Značný výzkum probíhá také ve vývoji hybridních elektrických vozidel s palivovými články, kde je hlavním zdrojem energie vodík. Úspěšný výzkum a vývoj hybridních elektrických vozidel s palivovými články vyžaduje pro konstrukci a testování nejmodernější technologii. Nedostatek předchozích zkušeností, drahé vybavení a kratší vývojové cykly nutí výzkumníky používat techniky MBD pro vývoj řídicích systémů. Z tohoto důvodu bylo důkladné testování trakčních subsystémů provedeno pomocí simulace HIL. Například simulaci realistického hybridního obvodu elektrického vozidla s palivovými články v reálném čase, skládající se z palivových článků, baterie, měniče DC-DC a motorů s permanentními magnety, s dostatečným počtem vstupů a výstupů pro skutečné ovladače v režimu HIL, lze nyní provést s časovým krokem pod 25 mikrosekund.[1]

Letectví a kosmonautika[editovat | editovat zdroj]

Zatímco většina leteckých a kosmických aplikací nepotřebuje extrémně nízké časové kroky potřebné pro výrobu energie nebo automobilové aplikace, opakovatelnost a přesnost výsledků simulace je z bezpečnostních důvodů extrémně kritická. Výrobci letadel musí splňovat přísné průmyslové standardy. Norma DO-178B vyvinutá americkou Radiotechnickou komisí pro letectví (RTCA) stanovuje směrnice pro kvalitu avionického softwaru a testování v reálných podmínkách. DO-254 je formální standard upravující konstrukci palubního elektronického hardwaru. Podle těchto standardů jsou vyvíjeny a testovány také komplexní řídicí systémy nacházející se na palubách dnešních letadel. Výsledkem je, že letečtí inženýři potřebují technologie pro přesnější testování a simulace, které zajistí dodržování předpisů. Musí také splňovat požadavky trhu na inovativní nové produkty postavené včas, podle specifikací a v rámci rozpočtu.[1]

Vývoj a testování elektrických pohonů[editovat | editovat zdroj]

Kritickým aspektem při nasazování motorových pohonů je včasná detekce vad v procesu návrhu. Čím později v procesu je problém objeven, tím větší jsou náklady na jeho odstranění. Rychlé prototypování motorových ovladačů je metodika, která umožňuje technikovi rychle nasadit řídicí algoritmy a najít případné problémy. To se provádí pomocí RCP připojeného v uzavřené smyčce s fyzickým prototypem pohonu, který má být řízen. Tato metodika naznačuje, že skutečný motorový pohon je k dispozici v RCP. Kromě toho toto nastavení vyžaduje, aby byl ke zkoušenému motorovému pohonu připojen druhý pohon (například stejnosměrný motorový pohon), který emuluje mechanické zatížení. I když se jedná o složité nastavení, ukázalo se jako velmi efektivní při zjišťování problémů dříve v procesu návrhu. V případech, kdy není k dispozici fyzický pohon nebo jsou k dispozici pouze nákladné prototypy, lze během fáze vývoje RCP použít motorový pohon simulovaný HIL. V takových případech jsou dynamometr, skutečný převodník IGBT a motor nahrazeny modelem virtuálního pohonu v reálném čase. Tento přístup má řadu výhod. Například může být testován simulovaný pohon motoru s hraničními podmínkami, které by jinak poškodily skutečný motor. Kromě toho je nastavení zkušebního stavu s regulovanými otáčkami zjednodušeno, protože rychlost virtuální hřídele je nastavena jediným signálem modelu, na rozdíl od použití skutečného zařízení, kde by k ovládání rychlosti hřídele bylo třeba použít druhý pohon.[1]

Robotika a průmyslová automatizace[editovat | editovat zdroj]

Mechatronické systémy, které integrují mechanické a elektronické schopnosti, jsou srdcem robotických a průmyslových automatizačních aplikací. Takové systémy často integrují technologii vysokofrekvenčních pohonů a složité elektrické a výkonové elektronické systémy. Real-time simulace pro návrh a testovací zajišťují vyšší efektivitu systémů nasazených ve velkovýrobě a také pro rychle vznikající aplikace v odvětví robotiky.[1]

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. a b c d e f g h i j k l m n o p q r s t u v w BÉLANGER, Jean; VENNE, Philippe; PAQUIN, Jean-Nicolas. The What, Where and Why of Real-Time Simulation [online]. 2010-01 [cit. 2021-05-21]. Dostupné online. (anglicky) 
  2. a b c ERIC-lab. Real Time Simulation [online]. [cit. 2021-05-20]. Dostupné online. (anglicky) 
  3. a b c STRASSER, Thomas. Real-Time Simulation Technologies for PowerSystems Design, Testing, and Analysis [online]. IEEE Power and Energy Technology Systems Journal, 2015-06-29, rev. 2015-08-10 [cit. 2021-05-25]. Dostupné online. (anglicky) 
  4. MINA, J.; FLORES, Z.; LÓPEZ, E.; CALLEJA, J.-H. Processor-in-the-Loop and Hardware-in-the-Loop Simulation of Electric Systems based in FPGA [online]. Cuernavaca (Mexico): CENIDET Electronics Engineering Department, 2016 [cit. 2021-05-26]. Dostupné online. (anglicky) 
  5. PLUMMER, Andrew R. Model-in-the-Loop Testing [online]. SAGE Publications, 2006-05-01 [cit. 2021-05-27]. Dostupné online. (anglicky)