V minulém informativním příkladu tohoto čtrnáctideníku byl uveřejněn následující úkol (tip k zamyšlení): „Charakterizujte obecný formát bloku a základní strukturu NC programu řídicího systému Heidenhain, tak jako tomu bylo v příkladu Akademie CNC obrábění č. 4 pro řídicí systém Sinumerik (ISO programování).“
Pro úspěšné řešení tohoto úkolu zcela postačila obyčejná tužka a papír. Jednotlivé programové věty (bloky nebo řádky) jsou totiž jako u tzv. ISO programování složeny ze slov, která jsou obráběcím strojem převáděna na impulzy elektrického proudu, nebo dalších výstupních signálů pro aktivaci servomotorů či ostatních zařízení potřebných pro provoz stroje. Struktura a obsah NC programů řídicího systému Heidenhain však vychází z pevně stanovené posloupnosti slov (v některých případech i pevně stanovené posloupnosti celých bloků). První blok v NC programu je u řídicího systému Heidenhain striktně předepsán.
Např.: 0 BEGIN PGM DESKA MM
Poslední blok je rovněž „předepsán“ a musí vyjadřovat konec NC programu.
Např.: 100 END PGM DESKA MM
Slova 0 BEGIN PGM vyjadřují začátek programu (první řádek). Název souboru (NC vytvářeného/editovaného programu) je uveden hned následujícím slovem (zde se program jmenuje DESKA) a toto slovo se musí nacházet i v posledním bloku, který začíná slovy END PGM (pomineme- li číslici udávající číslo bloku). U prvního i posledního bloku jsou dalším slovem vyjádřeny měrné jednotky (milimetry – MM nebo palce - INCH). Každý programový řádek začíná číslicí, která je při psaní NC programu systémem tvořena automaticky a není nutné jí věnovat pozornost. Při psaní programových vět v externím textovém editoru je nutno číslovat po jedné, přičemž číslice 0 bude na prvním řádku (obkročmé číslování – např. 10, 20, 30 – u tohoto jazyka řídicího systému není využíváno).
Jednotlivá slova „NC jazyka – popisného dialogu“ se rovněž dělí na adresnou část a numerickou část. Adresový znak je zpravidla jedno písmeno. Numerická část slova může obsahovat znaménko plus nebo minus, číslice, desetinnou tečku a další číslice. Kladné znaménko se píše a pokud se za desetinnou tečkou objevují jen nuly, není nutné je vypisovat (ani psát desetinnou tečku). Každý blok musí obsahovat veškeré informace nezbytné pro provedení jednoho kroku pracovního postupu. V případě, že některá slova (např. X, Y, Z, A, B, R, F, S, M) zapisovaná pro provedení kroku jsou shodná se slovy v bloku nebo blocích předchozích, není nutné je znovu zapisovat. Nejedná se však o zcela volný formát bloku, jak bylo popsáno u ISO programování řídicího systému Sinumerik. Třeba slovo L pro lineární pohyb (po přímce) nelze vynechat (G0 či G1 vynechat bylo možné).
Obecný formát bloku popisného dialogu (pro lineární interpolaci) má tedy přibližně následující strukturu: ...
Obr.: Editor pro zápis dílensky orientovaného NC programu
L... X... Y... Z... A... B... R... F... M...
Adresa Význam
... číslice
L lineární interpolace
X, Y, Z, A, B informace o dráze
R korekce řezného nástroje
F posuv
M doplňková funkce
dále pak např.:
S otáčky
DL, DR korekční hodnoty řezného nástroje
Některé adresy se v rámci jednoho bloku mohou vyskytovat i vícekrát (např. M3 M8), ale již nyní je zcela patrné, že toto ruční programování CNC strojů a center není bez specializovaného textového editoru „jednoduché“. Pevně stanovená posloupnost slov v mnoha specifických blocích „vyžaduje“ zkušeného programátora.
Např.: 1 BLK FORM 0.1 Z X+0 Y+0 Z-40
definice polotovaru
2 BLK FORM 0.2 X+100 Y+100 Z+1
definice polotovaru
3 TOOL CALL 1 Z S1000 F300 DL+0 DR+0
volání řezného nástroje
4 L X+0 Y+0 Z+20 A+0 B+0 R0 FMAX M8
lineární interpolace
Tento výše charakterizovaný způsob NC programování je zdlouhavý a neobejde se bez chyb způsobených tzv. lidským faktorem i v případech automatické kontroly vepisovaných slov v editoru řídicího systému stroje. O kontrole programů grafickou simulací takto vytvářených NC programů před reálným třískovým obráběním je možno hovořit jako o nutnosti.
V dnešní době je však možno využít tzv. dílensky orientovaného programování, které je u řídicího systému Heidenhain nazýváno smarT.NC. Jedná se o přímé NC programování s grafickou podporou, které je zpravidla realizováno na ovládacím panelu obráběcího stroje, bez nutnosti detailních znalostí výše charakterizované struktury a posloupnosti bloků. Dílensky orientované programování „vždy“ výrazně zjednodušuje programový zápis (obr. vlevo nahoře). I v rušném provozu dílen je tedy možno efektivně programovat obrábění značného množství typů součástí přímo podle technického výkresu, a to navíc bez rozsáhlých znalostí výpočetní techniky. Jak je na obr. rovněž vidět, smarT.NC je založen na principu vyplňování tabulek (obr. vpravo nahoře), obdobně jako je tomu u Sinumeriku a jeho editorů ShopMILL a ShopTURN (viz sekce Příklady úloh CNC programování, která je uveřejněna na http://www.techtydenik.cz).
Článek vznikl za spolupráce Vysokého učení technického v Brně, FSI, ÚST, Odboru technologie obrábění, s firmou Siemens a redakcí Technického týdeníku.
Ing. Aleš Polzer, Ph.D.