Aktuální vydání

celé číslo

08

2021

Digitální transformace a konvergence provozních, informačních a inženýrských systémů

Výzkum, vývoj a vzdělávání v automatizaci

celé číslo

Vývoj systémů metodou Model Based Design v prostředí Simulink

Metoda Model Based Design (MBD) umožňuje rychle a efektivně navrhovat rozmanité dynamické systémy. S použitím MBD lze navrhovat např. řídicí systémy, systémy pro zpracování signálu a obrazu i komunikační systémy.

Středem návrhového procesu je při použití metody MBD model příslušného systému v prostředí Simulink, což je grafická nadstavba výpočetního a vývojového nástroje Matlab určená k modelování a simulaci dynamických systémů. Nástroj Simulink je založen na intuitivním prostředí blokových schémat a umožňuje simulovat a analyzovat široké spektrum inženýrských systémů a úloh (obecným vlastnostem nástroje Simulink je věnován samostatný článek v časopisu Automa č. 5/2013).

Metoda MBD využívá model v prostředí Simulink ve všech fázích vývoje od definování požadavků na finální zařízení, přes návrh dynamického systému po jeho implementaci na cílovou platformu a ověřování prototypu. Model systému je během vývoje průběžně zpřesňován a jeho kvalita je ověřována při simulacích. Pakliže úloha vyžaduje zavedení výsledného systému na určitou softwarovou či hardwarovou platformu, metoda MBD nabízí automatické generování kódu z modelu v Simulinku, a to včetně kódu pro systémy pracující v pevné řádové čárce nebo systémy reálného času (real-time system). Automatické generování kódu nejen zásadně zkracuje vývojový cyklus, ale také odstraňuje obvyklé a časté chyby vznikající při manuálním psaní programů.

Přednosti metody Model Based Design

Hlavními přednostmi metody MBD jsou v zásadě tyto:

  • jedno vývojové prostředí pro všechny skupiny vývojářů a všechny fáze vývoje aplikačního programu či prototypu zařízení,
  • rychlá reakce na změny požadavků na strukturu a parametry vyvíjeného systému,
  • možnost průběžného ověřování, oprav chyb a optimalizace modelu systému během celého vývojového cyklu,
  • automatické generování kódu pro cílovou platformu,
  • snadný vývoj testovacích procedur,
  • automatické generování dokumentace,
  • možnost využití výsledků pro příští projekty.

Generování kódu

Jedním z hlavních nástrojů návrhové metody MBD Design je rychlý a efektivní překlad algoritmů vytvořených s použitím nástroje Matlab a modelů navržených v prostředí Simulink do zdrojového textu v jazyce C nebo C++. Zdrojový text je univerzální, přenositelný, bohatě komentovaný, nezávislý na platformě a především optimalizovaný co do rychlosti provádění programu. To činí z generátorů kódu mocný nástroj pro napojení výpočetního prostředí Matlab/Simulink na veličiny reálného světa. Vygenerovaný kód lze následně přeložit do spustitelného tvaru s určením různé hardwarové platformy, ať již pro ladění prototypů běžících v reálném čase nebo k přímému vývoji kódu pro cílové mikroprocesory a systémy pro zpracování signálu (DSP).

Automatické generování kódu lze využít i při navrhování programovatelných hradlových polí (FPGA) při použití generátorů kódu Verilog a VHDL. Generovaný kód HDL je univerzální a nezávislý na cílovém hardwaru.

Nejnovější variantou je generování strukturovaného textu podle normy IEC 61131-3 určeného k použití v programovatelných automatech (Programmable Logic Controller – PLC).

Rapid Prototyping a HIL

Prostředí Simulink propojují s okolním světem nástroje pro rychlou tvorbu prototypů, tzv. Rapid Prototyping, a simulace typu HIL (Hardware-In-the-Loop), umožňující téměř bez znalosti problematiky hardwaru okamžitý přístup k vnějším analogovým a digitálním signálům. Uživatel může experimentovat na vnějších signálech přímo z modelu v Simulinku, který je spuštěn v reálném čase. To je ideální postup při zpracování signálu, navrhování řídicích systémů a podobných úlohách. Mezi podporované periferie patří měřicí karty většiny světových i domácích výrobců. Modely mohou být spouštěny přímo na PC v prostředí Microsoft Windows, na samostatných počítačích kompatibilních s PC nebo na simulátorech jiných výrobců pracujících v reálném čase (např. systémy od firmy dSpace).

Propojení s výukovým hardwarem

Novinkou prostředí Simulink je vestavěná podpora umožňující navrhovat, spouštět a ověřovat modely na výukovém hardwaru. Mezi podporované platformy patří Arduino®, Lego® Mindstroms® NXT, Raspberry Pi, PandaBoard a BeagleBoard.

Verifikace, validace a ověřování

Nástroje pro verifikaci, validaci a ověřování pomáhají odhalit nedostatky v návrhu nebo identifikovat nekompletní testy již v časných fázích vývojového procesu. Umožňují také automaticky generovat testovací sekvence a kontroly podle modelovacích standardů. Samostatnou kapitolou je možnost ověřit správnost zdrojového kódu v jazycích C, C++ nebo Ada formálními metodami.

Metoda Model Based Design v praxi

Společnost SAIC Motor vyvinula nový hybridní pohon pro sedan Roewe 750, který kombinuje přeplňovaný benzinový čtyřválec s obsahem 1,8 l s elektromotorem (obr. 3). Vůz dosáhl 20% snížení spotřeby paliva a emisí oproti konvenční variantě se samotným spalovacím motorem. „Mozkem“ hybridního pohonu, zodpovědným za dosaženou efektivitu provozu, je komplexní řídicí logika umístěná v jednotce HCU (Hybrid Control Unit), která koordinuje elektrický i spalovací motor. Řídicí jednotka byla vyvíjena při použití metody Model Based Design v programovém prostředí Matlab/Simulink, kdy bylo 98 % řídicího kódu generováno automaticky. 

(Humusoft s. r. o.)

Obr. 1. Schéma vývoje při použití metody Model Based Design

Obr. 2. Princip metody Model Based Design

Obr. 3. Hybridní sedan Roewe 750 využívá řídicí jednotku vyvinutou s použitím metody Model Based Design