V minulém díle jsme si pomocí programu Stepconf vygenerovali základní konfiguraci pro řízení našeho stroje. Vytvořilo nám několik souborů. V dnešním díle si popíšeme trochu více soubory s přídomkem .ini.

 

.INI

Jak už název napovídá, jedná se o soubor inicializační. Původně tento typ souboru přišel z operačního systému Windows, ale byl přenesen i na Linux.

Tento soubor primárně slouží k nastavení vsech možných parametrů, se kterými potom LinuxCNC pracuje.
Je to právě to různé nastaveni rychlostí, zrychlení, velikost pracovní plochy, nastavení uživatelského rozhraní, ale i to, jak se načítají různe logické celky v .hal souborech.

Když si otevřeme soubor moje_masina.ini, vidíme strukturovaný textový dokument.
Hranaté závorky ( [DISPLAY] ) označuji sekce, pod kterými jsou další poddružné parametry.
Takto strukturovaný text je poté snadno parsovatelný programy, který jej využívají.

Zmíním se tu pouze o některých sekcích, pro hlubsi studium pridávám odkaz přímo na stránky dokumentace LinuxCNC.

Pod sekcí [DISPLAY] budou parametry týkající se uživatelského rozhraní.
Například pomoci nasledujiciho parametru si můžeme změnit uživatelské rozhraní z defaultního Axis na gmoccapy

[DISPLAY]
DISPLAY = gmoccapy

V [HAL] sekci si můzeme nastavit, jaké .hal soubory se spustí, a to parametrem HALFILE.

[HAL]
HALFILE = moje_masina.hal
POSTGUI_HALFILE = postgui_call_list.hal

Když jich je tam více, spustí se v pořadí v jakém jsou deklarovány.
Parametrem POSTGUI_HALFILE se také načte .hal soubor, ale az po té, co je načteno uzivatelske rozhrani.
To je proto, když si chcete vytvářet nějaká vlastní tlačítka pro řízení, tak chcete tu logiku napojit až poté co jsou vytvořené uživatelské komponenty.

Další sekce, které jsou potřeba zmínit jsou [AXIS] a [JOINT].
Ve starších verzích LinuxCNC byly ty to části spojené pouze do [AXIS] a rozdělení přišlo od verze 2.8.

  • Když se hovoří o AXIS, jedná se o jeden z devíti stupňů volnosti v Kartézskem souradnem systemu. Například posunutí v ose X nebo rotace kolem osy Z
  • Když se hovoří o JOINT, jedná se o fyzický stupeň volnosti. At uz je to lineární vedeni (pohybový šroub), rotační motor otočného stolu nebo kloub robotického ramene.

U triviální kinematiky jako je klasická 3-osa frezka, můzeme AXIS a JOINT považovat za jednu a tu samou věc, protože je mezi nimi mapování 1:1.
To znamená, že když se motor pro směr X otočí o nějaký úhel, tak osa se posune vždycky o stejnou vzdálenost.

Nicméně u nějakých slozitějších, netriviálních systémů, jako je například roboticka ruká nebo hexapod, se pohyb
skládá z více parametrů a pohyb nemusí být lineárně zavislý na pohybovém elementu. Proto došlo k odlišení těchto dvou částí.

Jen pro ukázku další .ini souboru, kde je vidět rozlišení AXIS a JOINT.
To je pro k dnešnímu článku vše. Příští se podíváme na logiku řízení, tedy na soubory .hal . 
Tím uzavřeme takovou minisérii pro základní nastavení LinuxCNC.