KNIHOVNA FUNKCÍ PRO INTERPRET V PROSTŘEDÍ 

SW je tvořen knihovnou funkcí pro funkční interpret, který byl postaven na systému eLua. Knihovna podporuje snadné ovládání a monitorování chování různých typů motorů. Výhoda tohoto přístupu je využití předpřipraveného skriptovacího nástroje s celou řadou funkcionalit, které jsou běžné spíše u operačních systémů. Další výhoda je snadná přenositelnost navrženého řešení na další hw platformy, které jsou eLua podporovány.

Lua je skriptovací jazyk. Spuštění skriptu v něm probíhá ve dvou fázích. V první fázi je skript z textové podoby převeden do mezikódu (bytekódu) pro virtuální stroj (VM). Tento snadno zpracovatelný kód je potom spuštěn ve virtuálním stroji, který zpracovává instrukce bytekódu. Pro implementaci interpretu a knihovny funkcí byla vybrána varianta eLua, která je uzpůsobena pro běh v embedded systémech. Systém eLua v sobě integruje správce stdio, přičemž umožňuje definovat strukturu adresářů zastupující různá média s různým připojením a systémem souborů. Mimo jednorázového vykonávání skriptů umožňuje eLua také interaktivní mód, kdy je možné se připojit ke konzoli přes sériovou linku nebo TCP/IP protokol. Potom je možné vzdáleně zadávat jednotlivé příkazy a interaktivně psát Lua skripty nebo volat jednotlivé funkce systému. Tento mód je vhodný pro testování implementovaných funkcí, nastavování parametrů a případné servisní zásahy.

Pro zvýšení přehlednosti byly jednotlivé funkce rozčleněny do knihoven, podle jejich účelu použití. Implementované knihovny jsou uvedeny v následujícím seznamu:

* mc (motor controller) – knihovna základních funkcí pro ovládání měniče servomotoru. Funkce umožňují nastavovat a testovat základní parametry měniče, jako je žádaná hodnota rychlosti a polohy, velikosti proudů a napětí a monitorovat a ovlivňovat stav měniče.

* ioc (input/output control) – knihovna základních funkcí pro čtení a zapisování vstupně/výstupních analogových a digitálních linek

* ctrl (control) – knihovna pokročilých funkcí pro realizaci řídicích struktur měniče. Využívá vytvořené přerušovací rutiny, která je periodicky vyvolávána s ohledem na periodu vzorkování samotného měniče. Obsahuje funkce pro automatické nastavení parametrů regulátoru, náběh polohy a otáček po rampě, funkce pro realizaci PID regulátoru a další.

elua1

Interpret a knihovna funkcí v systému eLua byly testován na vývojové desce STM32F4DISCOVERY s mikrokontrolérem STM32F407VG s jádrem ARM Cortex M4F a maximální frekvencí jádra 168 MHz. Řídicí deska byla propojena s Freescale LV power board (33937 driver), motorem TGT2, obecným enkodérem a zdrojem napětí (12-35V).

elua2a

 

Pro informaci o licenci a podmínkách kontaktujte - prof. Ing. Pavel Václavek, Ph.D.