LinuxCNC

Z Wikipedie, otevřené encyklopedie
LinuxCNC
Vyvíjeno vC a G-kód
Typ softwarusvobodný software
LicenceGPLv2
Weblinuxcnc.org
Některá data mohou pocházet z datové položky.

LinuxCNC (dříve Enhanced Machine Controller nebo EMC2) je v informatice volně dostupný, open source systém, který umožňuje řídit CNC stroje z libovolného PC. Je vyvíjen dobrovolnými vývojáři na linuxcnc.org. Jedná se o modifikovanou linuxovou distribuci Ubuntu (32bitová), která obsahuje potřebný real-time kernel.

Účel[editovat | editovat zdroj]

LinuxCNC je software pro číslicové řízení strojů jako jsou frézky, soustruhy, plazmové řezačky, střižné a lisovací stroje a roboty. Dokáže řídit až 9 os nebo kloubů (např. sférický robot) CNC stroje použitím G-Code (RS-274NGC). Nabízí několik GUI přizpůsobených specifickému druhu použití.

V současné době funguje téměř výhradně na architektuře x86. Umožňuje použití jak servopohonů, tak i krokových motorů.

Platformy[editovat | editovat zdroj]

Vzhledem k potřebě přesného real time řízení vyžaduje EMC platformu podporující výpočty v reálném čase. Ke své funkci využívá linuxové jádro s real time rozšířeními (RTAI). Politikou EMC2 je tvoření balíčků a nabízení podpory na Ubuntu LTS.

Návrh[editovat | editovat zdroj]

LinuxCNC využívá modelu "čtení, plánování, vykonávání" pro komunikaci s hardwarem. Pro vysvětlení, v první fázi se čte aktuální pozice os, dále se počítá nová cílová pozice a v poslední fázi se výsledek kalkulace zapíše na hardware. Neexistuje žádná vyrovnávací paměť příkazů a není povolené ani externě zahájené čtení nebo zápis.

Tento model se nehodí na všechna rozhraní. Například nevhodnou volbou je USB a RS232. USB má špatné realtime schopnosti a RS232 je příliš pomalé pro řízení motorů. Pro řízení motorů se tedy využívá Ethernet, ISA a paralelní port (v režimu SPP nebo EPP).

LinuxCNC má požadavky na řízení v reálném čase. Interval mezi čtením a zápisem musí být pevný a co nejrychlejší. Typické stroje provádí realtime kalkulace v 1 milisekundovém opakujícím se vlákně. Čtení z a zápis do hardware musí být malou části tohoto intervalu (např. 200 mikrosekund), jinak by se ubíral programům čas na vykonávání jejich činnosti a zároveň by se mohla snížit odezva ovládacích prvků na obrazovce.

Konfigurace[editovat | editovat zdroj]

LinuxCNC používá softwarovou vrstvu nazývanou HAL (Hardware Abstraction Layer).

HAL umožňuje řízení různého hardware, odesílání řídících signálů skrze paralelní nebo sériový port, během ovládání servo nebo krokových motorů, solenoidů a jiných aktuátorů.

LinuxCNC dále obsahuje software programovatelných logických kontrolérů (PLC), který se obvykle používá pro komplexní řízení obráběcích stanic. Software PLC je založen na open source projektu Classicladder and běží v real time prostředí.

Odkazy[editovat | editovat zdroj]

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]

  • (anglicky) Home – Oficiální stránky projektu
  • (česky) CZ fórum – Fórum zabývající se CNC stroji