Efektívny vývoj a testovanie mechatronických systémov

Vývoj mechatronických systémov vyžaduje mnoho hodín strávených ich testovaním, ktoré musí aj napriek čoraz zložitejším technológiám zostať efektívne a bezpečné. Metodológia Model-based design urýchľuje vývoj systému pomocou krokov testovania už v skorých fázach vývojového procesu.

Koľko stojí chyba?

Na dnešnom trhu je náročné uspieť s novou technológiou a to aj napriek tomu, že vďaka vysokým výpočtovým výkonom a sofistikovaným dizajnérskym nástrojom nebolo vytváranie nových produktov nikdy jednoduchšie. Organizácia v akomkoľvek priemyselnom odvetí sa musí čo najrýchlejšie adaptovať na technologické zmeny a zároveň na sprísnené bezpečnostné požiadavky, regulácie na ochranu životného prostredia, ale aj čeliť výzvam organizačným, administratívnym, kultúrnym. Vývoj sa odohráva medzi geograficky rozptýlenými tímami, v korporatívnej štruktúre, medzi rôznymi oddeleniami.

Ako tomu môže čeliť úspešná firma? Znížením výkonnosti svojho produktu, odstránením niektorých funkcií, zapojením väčšieho počtu inžinierov? Alebo pomocou metódy, ktorá pomôže efektívne vyvinúť, implementovať a presadiť na trhu jej produkt? Práve takou metódou je Model-based design.

Základný postup vývoja má niekoľko logicky nevyhnutných krokov. Prvým je definícia požiadaviek. Nasleduje analýza a dizajn, ďalej implementácia systému a posledným krokom je testovanie. Až v testovacej fáze tradičného postupu vývoja sa dozvedáme, či systém správne funguje. Oprava chyby objavená v poslednej fáze je pre spoločnosť veľmi nákladná a to najmä vtedy, ak chyba vznikla už vo fáze vytvárania požiadaviek. Metodológia Model-based design pomáha nájsť chybu už v prvých krokoch vývoja a tak skrátiť iterácie opráv a znížiť cenu celého vývojového procesu.

Model-based design

Model-based design je Computer Aided Engineering riešenie. Kľúčovým prvkom je blokový diagram, ktorý matematicky popisuje správanie systému a umožňuje kombinovať komponenty mechanické, elektrické, ovládacie a softvérové. Model nie je len grafickým znázornením dizajnu, ale slúži ako spustiteľná špecifikácia. Umožňuje použiť dynamickú simuláciu a sledovať jeho správanie v rôznych podmienkach. Simulácia umožňuje pochopiť celkový systém už v prvých fázach vývoja, vyskúšať alternatívy návrhu, prevádzať štúdie a what-if analýzy s veľkou škálou nastavení, a tým predísť prípadnému poškodeniu pri testovaní na reálnom systéme.

Skutočnosť, že je model vizuálny, ľahko pochopiteľný a spustiteľný odstraňuje nejednoznačnosť pri interpretácii textových požiadaviek. Zároveň je vypracovaný tak, aby zahŕňal všetky prvky konštrukčných a prevádzkových podmienok v jednom prostredí. Vďaka tomu, že máme spustiteľný opis systému, ktorého správanie je možné simulovať, dostávame sa k prvej testovacej fáze už vo fáze dizajnu. Už v tejto fáze môžeme odhaliť chyby a tým predísť drahej oprave pri odhalení chyby až pri konečnej integrácii.

Kľúčom je model

Model ja matematický opis systému, ktorý poskytuje inžinierom pohľadom na správanie systému. Inžinieri sa môžu prostredníctvom simulácie dokonca dozvedieť viac ako z reálneho systému, keďže počas simulácie môžu získať podrobnosti o veličinách ako sú sila, krútiaci moment, prúd a iné hodnoty, ktoré môže byť náročné merať na reálnom hardvéri.

Model v prostredí SIMULINK

Model v prostredí SIMULINK

Budovanie modelu má niekoľko krokov, pričom je dôležité nájsť kompromis medzi detailnosťou modelu a jeho veľkosťou tak aby model dostatočne reprezentoval realitu ale zároveň nebol príliš výpočtovo náročný. Priemyselným štandardom pre modelovanie systémov je prostredie MATLAB a Simulink. Okrem vytvárania blokových diagramov je možné použiť aj diagramy schematické (prostredie SimScape) alebo stavový diagram (prostredie Stateflow).

To však nie je všetko a využitie modelu pokračuje aj v ďalších fázach vývoja. Namiesto manuálneho písania kódu je možné kód automaticky generovať priamo z modelu aj s prenesenými informáciami o implementácii požiadaviek. Podľa typu nasadenia vygenerovaného kódu sú vykonávané testy Software-in-the-loop (SIL), Processor-in-the-loop (PIL), Rapid control prototyping (RCP) alebo Hardware-in-the-loop (HIL). Kód je možné generovať pre rôzne platformy, C/C++, HLD pre FPGA alebo pre PLC, či jednoduchšie systémy ako sú Arduino alebo LEGO Mindstorms.

Takto vygenerovaný kód môžeme ďalej odsimulovať/o­testovať priamo na počítači kde je v uzavretej slučke spojený model zariadenia s vygenerovaným kódom riadenia a umožňuje sledovať ako sa systém správa a či spĺňa požiadavky (Software-in-the-loop testovanie). V móde PIL (Processor-in-the-loop) je už vygenerovaný algoritmus nahraný na riadiaci hardvér. Ten je v podobe univerzálnej vývojovej dosky s procesorom, ktorý bude v budúcnosti riadiť reálne technologické zariadenie. Rapid Control Prototyping predstavuje ďalší krok testovania. Ide o proces kalibrovania riadiacich algoritmov na prototypovom hardvéri keď ešte nie je k dispozícii riadiaca jednotka. Takýto hardvér obsahuje real-time operačný systém a umožňuje k svojim vstupom a výstupom pripojiť reálne zariadenie. Môžeme teda overiť funkčnosť riadiaceho algoritmu s reálnym zariadením. Príkladom hardvéru, ktorý môže byť použitý pre rapid control prototyping sú platformy od dSPACE ako MicroLabBox alebo MicroAutoBox.

Hardware-in-the-loop

Hardware-in-the-loop patrí medzi posledné kroky vývojového cyklu a samotného testovania systému. Riadiaci algoritmus je nasadený na reálnu riadiacu jednotku so skutočnými rozhraniami, ktoré budú použité pri riadení reálneho systému. Reálny systém nie je k riadiacej jednotke pripojený, ale simulovaný na real-time platforme a to takým spôsobom, že riadiaca jednotka „si myslí“, že riadi systém reálny.

Produktová rada dSPACE SCALEXIO ponúka flexibilné a modulárne systémy, pre hardware-in-the-loop a rapid control prototyping projekty v oblastiach ako automobilový priemysel, automatizácia, letecký priemysel, medicína, doprava alebo výskum. Výkonná real-time technológia a komplexná podpora komunikačných zberníc sú ideálnym riešením pre dnešné aplikácie a aplikácie budúcnosti. Ponúka široký reťazec nástrojov pre vývoj a testovanie ADAS systémov, autonómneho riadenie, elektromobility a ďalších aplikácií.

Pre riešenie rôznorodých projektových požiadaviek, sú systémy dostupné v rôznych prevedeniach. Programujú sa prostredníctvom automaticky generovaného kódu z vývojového prostredia MATLAB a Simulink. Spoločným základom pre všetky typy zostáv je procesorový hardvér.

SCALEXIO Processing Unit postavená na priemyselnom počítači, ktorý môže byť použitý so SCALEXIO Rack Systémom alebo ako samostatná jednotka. Je vhodný pre aplikácie vyžadujúce vysoký výkon. Ponúka Ethernet a I/O rozhranie. Veľké a komplexné modely môžu byť rozdelené na niekoľko jadier procesora.

SCALEXIO LabBox je ideálny systém pre rapid control prototyping, testovanie funkcií, využitie v testovacích zostavách a ako základný systém pre konfigurovanie HIL testovania. Jeho kompaktná veľkosť umožňuje inžinierom prácu priamo za ich pracovným stolom a stále majú možnosť využitia 18 slotov pre SCALEXIO I/O karty, ktoré môžu jednoducho vymeniť alebo doplniť pre prispôsobenie požiadavkám aplikácie.

SCALEXIO LabBox

SCALEXIO LabBox

Keďže mnoho projektov má svoje špecifické požiadavky, poskytuje dSPACE individuálny inžiniersky servis, ktorý umožní najefektívnejšie testovanie vyvíjaného systému. Systém obslúži komplikované testy celej siete riadiacich jednotiek, elektronických záťaží a kompletných virtuálnych vozidiel.

SCALEXIO ponúka tri typy I/O kariet pre všetky typy zostáv. Všetky typy SCALEXIO I/O hardvéru majú spoločné nasledujúce vlastnosti:

Prostredníctvom SCALEXIO I/O kariet získava užívateľ veľké množstvo I/O kanálov vopred určeného typu na karte s malými rozmermi. Karty sa ľahko inštalujú do systému a pripojenie je umožnené prostredníctvom Sub-D konektorov. Karty MultiCompact obsahujú Failure Insertion Unit (FIU) umožňujúcu simulovanie elektrických porúch (napr. skrat, pretrhnutie kanálu) a veľké množstvo kanálov vyhradeného typu. HighFlex karty nesú univerzálne vstupné/výstupné kanály, ktorým je možné ľubovoľne priradzovať ich typy. Samozrejmosťou je podpora zberníc. Každý jednotlivý kanál je zároveň galvanicky izolovaný. Umožňujú simulovanie elektrických porúch a zároveň pripojenie skutočných záťaží.

Konfiguračný a implementačný softvér

ConfigurationDesk je intuitívny implementačný nástroj pre grafickú konfiguráciu SCALEXIO hardvéru, ktorý poskytuje skvelú transparentnosť celého projektu. Pomocou ConfigurationDesk môže užívateľ prepojiť svoj model správania (napr. model auta a jeho okolia) vytvorený v prostredí MATLAB/Simulin­k/Simulink Coder so vstupnými a výstupnými funkciami SCALEXIO kariet. Zároveň umožňuje ovládanie celého procesu generovania real-time kódu, definovanie externých zariadení (napr. ECU) vrátane vlastností ich signálov (opis elektrických vlastností, nastavenie simulácie porúch a nastavenie záťaží).

Jana Sárená (HUMUSOFT), 14.1.2019