Aktuální vydání

celé číslo

08

2019

MSV 2019 v Brně

celé číslo

Využití simulačních experimentů v automatizaci

Simulace: ano, nebo ne? Obě odpovědi mají své obhájce i odpůrce

Jsou obory, kdy je simulace považována za samozřejmost. Uvažuje někdo o tom, zda jsou simulační experimenty potřebné při kon­strukci letadel? Obecně je simulace bez dis­kuse na místě tam, kde je s provozem zařízení spojeno velké riziko materiálních ztrát, zraně­ní či usmrcení osob. Efektivní simulační ná­stroje ale mohou vést také k velkým úsporám nákladů na vývoj strojů a zařízení. Simulace umožňuje zařízení testo­vat i v podmínkách, které jsou v reál­ném světě obtížně dosažitelné, ať už proto, že je to příliš nákladné, nebo nebezpečné, a umožňuje tak zvýšit bezpečnost a spolehlivost zařízení.
 
Odpůrci simulací ale mají také mnoho argumentů. Simulace vyža­duje značné zkušenosti. Model ne­respektující všechny podstatné vlivy a fyzikální omezení, nevhodně prove­dený simulační experiment se špatně interpretovanými výsledky, to jsou jen zbytečně vynaložené náklady.
 
Úspěšná simulace musí mít kon­cepční, specifikační a implementační fázi – žádnou z nich není možné vy­nechat. Mnohdy se lze setkat s tím, že zvláště potřeba stanovení správné koncepce simula­ce, tj. cílů simulačních experimentů a poža­dované přesnosti, je podceňována. To může vést k výběru nevhodných nástrojů a metod simulace. Jiné nástroje jsou vhodné pro simu­laci toků materiálu a jiné např. pro simulaci průběhu výrobních procesů.
 

Simulace v automatizaci

Matlab a Simulink od firmy Mathworks jsou nástroje, které není třeba dlouze před­stavovat. Jsou velmi vhodné k modelování a simulaci dynamického chování fyzikálních systémů. Představují i vhodné prostředí pro návrh regulace. Matlab a Simulink nabízejí mnoho možností, jak simulačními experimen­ty otestovat kvalitu a robustnost navržených regulačních algoritmů.
 
Jak efektivně převést řešení vytvořené v prostředí Matlab/Simulink do reálného svě­ta? Klíčovým problémem je vytvoření zdro­jových programů a jejich kompilace pro cí­lovou platformu. Obecný nástroj generující zdrojový program v prostředí Matlab/Simu­link je Real Time Workshop (Mathworks). Jenže obecný nástroj nerespektuje specifika řídicí techniky. Proto společnost B&R vyvi­nula rozšiřující nástroj Automation Studio Target for Simulink, který umožňuje efektivní přenos řešení z prostředí Matlab/Simulink do prostředí Automation Studio, tedy do jednot­ného vývojového prostředí určeného pro pro­gramování všech automatizačních prostředků od firmy B&R.
 
V současné době je na trhu již druhá verze Automation Studio Target for Simulink, ná­stroje, který umožňuje vývojovým pracovní­kům, aby se soustředili na problémy spoje­né s navrhovaným zařízením a nemuseli se starat o kompatibilitu výsledků simulačních experimentů s návrhovým prostředím řídicí­ho systému.
 

Automation Studio Target for Simulink

Jak Automation Studio Target for Simu­link pracuje? Model vytvořený v Simulin­ku se skládá z bloků a vazeb. Každý blok má předepsané chování, které lze převést do zdrojového kódu. Specifické bloky použité v Simulinku řídí činnost generátoru zdrojo­vého kódu, zvláště správné zobrazení množi­ny proměnných použitých v modelu na mno­žinu proměnných reálného řídicího systému. Generátor zdrojového kódu zajistí také syn­takticky a chronologicky správné sestavení celého zdrojového programu. Kompilátor se nakonec postará o správnou deklaraci všech použitých softwarových komponent (kniho­ven) a navázání datových bodů ve zdrojovém programu. Na základě automaticky vygene­rovaného zdrojového programu potom Au­tomation Studio vytvoří spustitelný program pro vybraný cílový systém. Tím je cesta od modelu k reálnému řešení zdárně ukončena.
 
Když se hovoří o automaticky generova­ném kódu, většina lidí mlčky předpokládá, že výsledkem bude nepřehledný, objemný a neefektivní zdrojový program. Ovšem vestavěný nástroj Embedded Coder, součást Real Time Workshopu, generuje strukturovaný program, který na cílové platformě pracuje efektiv­ně, bez nepřiměřených požadavků na výkon.
 
Hotový program je kompatibilní se všemi ostatními součástmi řídicího systému. Všech­ny možnosti programování známé u klasic­kých PLC jsou zachovány. Proměnné z mo­delu mohou být použity jako fyzické vstupy reálné soustavy stejně jako vstupy pro vizu­alizaci. Je-li to požadováno, mohou být pa­rametry a proměnné měněny podle receptur nebo instrukcí z vyšší úrovně řízení.
 
V prostředí Matlab/Simulink se pro zobra­zení hodnot proměnných při simulaci použí­vá nástroj Workspace; v prostředí Automation Studio je mu rovnocenný nástroj Watch-Win­dow. Pro efektivní práci na vývoji programu je neocenitelná výhoda, že uživatel nemu­sí opouštět prostředí, v němž právě pracuje, a může výsledky simulace sledovat v libo­volném z nich.
 
K dispozici je také ladicí nástroj Source Code Debugger. Otevřený zdrojový kód je možné detailně zkoumat, popř. i ladit, i když to většinou není nutné.
 

Přínosy využití simulačních experimentů

Detailní a správný model, vhodný simu­lační experiment a automaticky vygenero­vaný zdrojový program pro cílovou platfor­mu řídicího systému, to jsou nástroje, které umožňují testovat navržené řídicí a regulač­ní algoritmy a řídicí techniku bez nákladů na realizaci fyzikálních modelů a prototypů. Chyby návrhu a slepé uličky vývoje jsou od­haleny ve srovnání s jinými metodami mno­hem dříve. Značnou část práce s uváděním řídicího systému do provozu lze přesunout do kanceláře a není nutné ji vykonávat v pro­vozních podmínkách. Simulace podstatně omezí možnost vzniku neočekávaných udá­lostí při uvádění řídicího systému do provo­zu, i když zcela vyloučit je nemůže – přece jen se pracuje s matematickým modelem, který se reálnému světu jen s určitou přes­ností přibližuje.
 
Přesto dobře navržený model a simulač­ní experimenty výrazně zkracují a zlevňují vývoj zařízení. Při řízení procesů je možné matematický model použít pro anticipující systémy, které obsahují matematický model sebe sama a podle simulačních experimentů získávají informace o možných budoucích stavech – simulace je v tomto případě vir­tuálním „oknem do budoucnosti“. Uplatně­ní anticipujících systémů je výhodné zvláště pro soustavy s velkým dopravním zpožděním.
 
Zkrácení doby vývoje šetří čas konstruk­térů a vývojových inženýrů a umožňuje jim, aby se více věnovali své základní úloze: vy­mýšlení nových nápadů a inovací.
(Podle: Enhuber, F.: Cost-effective and intelligent software models. Automotion, 09/2007. Překlad a úprava redakce.)
 
Obr. 1. Integrace prostředí Matlab/Simulink a Auto­mation Studio významně usnadňuje přenos výsledků simulačních experimentů do praxe