\chapter{Závěr}

Tato diplomová práce se zabývala tvorbou fyzikálních (akauzálních) modelů v~jazyce Modelica a~způsoby, které lze použít k~jejich implementaci do~prostředí \zk{zkLabVIEW} za účelem \zkratkatext{zkHIL} simulace.

Práce je rozdělena do~několika částí. První část se zaměřovala na~jazyk Modelica a~grafický programovací nástroj OpenModelica. Byly zde popsány  rozdíly mezi klasickým (kauzálním) a~fyzikálním (akauzálním) modelováním. V~další části se práce věnovala standardu \zkratkatext{zkFMI} 2.0, který slouží k~výměně simulačních modelů mezi různými vývojovými nástroji ve standardizovaném formátu. Byly zde rozebrány základní parametry a~vlastnosti standardu. Následující kapitola se věnovala popisu vývojového prostředí \zk{zkLabVIEW} a~možnostmi, kterými disponuje platforma \zkratkatext{zkcRIO}. 

Praktická část práce se zabývala vytvořením modelu elektromechanického systému v~prostředí \zkratkatext{zkOMEdit}u, který byl následně použit jako jeden z~nástrojů pro implementaci modelu do~prostředí \zk{zkLabVIEW} RealTime. Tento úsek se věnoval také popisu způsobu, kterým byl model z~\zk{zkOMEdit}oru vyexportován do~formátu \zkratkatext{zkFMU}. Byla rozebrána adresářová struktura modelu včetně popisu vygenerovaného XML souboru. Dále byly ukázány způsoby, kterými lze vygenerovaný model ve formátu \zk{zkFMU} naimportovat do~prostředí \zk{zkLabVIEW} RealTime.

V návaznosti na~původně zamýšlený způsob implementace modelu elektromechanického systému do~prostředí \zk{zkLabVIEW} RealTime pomocí add-onu \textit{LabVIEW support for FMI for Model Exchange} byly částečně vyřešeny problémy spojené s~importem vlastního modelu do~zmíněného prostředí pomocí \textit{FMU Compliancy Checkeru}. Hlavním problémem spojeným s~použitím add-onu byly problémy se zobrazením terminálových svorek na~knihovním bloku naimportovaného modelu v~prostředí \zk{zkLabVIEW}.

Od původně zamýšleného způsobu implementace modelu elektromechanického systému do~prostředí \zk{zkLabVIEW} RealTime pomocí add-onu bylo nakonec upuštěno. Otázka importu modelu elektromechanického systému do~prostředí \zk{zkLabVIEW} RealTime byla úspěšně vyřešena vývojem vlastního programu jazyka C pro platformu cRIO s~operačním systémem NI Linux RealTime. Za tímto účelem byly vygenerované soubory z~nástroje OpenModelica pomocí standardu FMI 2.0 zkompilovány pro vlastní cílovou platformu NI~cRIO~9068. Ve vývojovém prostředí Eclipse studio byl vytvořen algoritmus vytvoření instance FMU, který byl založen na~základě stavového automatu vycházejícího ze standardu FMI 2.0.

Po úspěšném vytvoření a~odsimulování instance FMU v~RealTime procesoru platformy cRIO byl ukázán způsob vytvoření komunikačního kanálu mezi RealTime procesorem a~FPGA čipem, umístěným v~platformě cRIO. Komunikace mezi RealTime procesorem a~FPGA byla vytvořena na~základě C API rozhraní, které pomocí grafického programování v~nástroji LabVIEW vygenerovalo soubory a~funkce jazyka C, které byly následně použity v~programu pro simulaci instance FMU.

Při realizaci praktické části práce nastalo několik problémů, které bylo nutné překonat. Je nutné podotknout, že muselo být od původně zamýšleného řešení importu vlastního modelu FMU do~prostředí LabVIEW RealTime upuštěno, ale i přes to se povedlo splnit zadání diplomové práce v~plném rozsahu. Pro komplexnost vytvořeného řešení by bylo vhodné do~budoucna postup generování FMU, jeho kompilaci pro cílovou platformu cRIO a~také simulaci instance FMU automatizovat tak, aby byla zachována uniplatformita operačního systému.

Nad rámec zadání byl vyhotoven návod vytvoření projektu ve vývojovém studiu Eclipse, který zahrnuje postup vytvoření nového projektu, nastavení projektu, nastavení režimu ladění a vytvoření SSH komunikace mezi projektem a cílovou platformou.