Dnes se blíže podíváme na některé systémové proměnné, editaci tabulek nástrojů a nulových bodů, zjištění stavu modálních funkcí a také, jak vyvolat chybová hlášení. Při složitějším programování je užitečné vědět, v jaké poloze se náš stroj nachází, jaké modální funkce jsou spuštěny, jaké rozměry má nástroj atd. Pokud programujeme vlastní obráběcí cykly, bývá dobrým zvykem vrátit modální funkce do stavu, v jakém byly před spuštěním našeho cyklu či podprogramu.
Například bude-li náš podprogram obsahovat příkazy G90 či G91, změněný stav se přenese i do hlavního programu. Jestliže chci tento možný zdroj chyb eliminovat, musím nejprve načíst do proměnné (např. #103), v jakém stavu se nyní nacházím. G90 a G91 jsou modální funkce skupiny 3 a jejich stav můžu zjistit v systémové proměnné #4003 (#103 = #4003). Pokud platí G90, je v této proměnné uložena hodnota 90. Pokud platí G91, nalezneme v této proměnné hodnotu 91. Před ukončením našeho podprogramu vrátíme původní stav příkazem G{proměnná} (G#103).
Příklad:
O8800 |
|
#103 = #4003 |
Zde si uložíme stav modální funkce skupiny 3 (G90/G91). |
G91 ....... |
Náš původní cyklus. |
.......... |
|
G90 Z2 |
|
G#103 |
Před ukončením našeho cyklu tento stav vrátíme tak, jak byl. |
M99 |
|
Takto lze ošetřit všechny modální stavy a naše programy se stanou bezpečnějšími. Protože ať náš program někdo vyvolal při platné G90/G91, neočekává, že se po vykonání podprogramu tento stav změní. Stejně je třeba přistupovat k transformačním funkcím, jako je zrcadlení os, rotace souřadného systém, změna měřítka a podobně. Z následující tabulky je zřejmé, že proměnné #4001–#4030 jsou určeny k načtení všech modálních funkcí. Dále si můžete všimnout, že tyto proměnné jsou určeny pouze pro čtení (R). Příkaz #4001 = 1 tedy nenastaví G1, ale vyvolá alarm. Stejně jako pokus o čtení ze systémové proměnné určené pouze pro zápis (W). Existují i systémové proměnné (R/W) pro čtení i zápis.
Podobně můžeme zjistit naposledy použitou hodnotu u libovolné adresy. Například si můžeme zjistit poslední T-kód (naposledy volaný nástroj) a tuto hodnotu použít pro délkovou a poloměrovou kompenzaci.
T10 M6 |
V proměnné #4120 je hodnota 10. |
G90 G40 G80 X0 Y0 |
|
G43 H#4120 Z2 |
Zde tuto hodnotu použiji pro adresu H. |
G1 G41 D#4120 X10 Y0 F500 |
Zde tuto hodnotu použiji pro adresu D. |
Takže když změním číslo nástroje, nemusím vyhledávat místa v programu a přepisovat další řádky. Nicméně na strojích s výměnnou rukou je třeba být opatrnější, protože příkazem T10 M6 se nabere nástroj T10 do vřetena, ale příkazem T12 (bez M6) se pouze nachystá nástroj T12 na výměnu. Ve vřeteně je však nástroj jiný. Tuto nepříjemnost můžeme vyřešit například takto:
T10 M6 |
V proměnné #4120 je hodnota 10, nástroj ve vřeteně je T10. |
D#4120 H#4120 |
Zde tuto hodnotu použiji pro adresu H i D. |
T22 |
Nechám nachystat nástroj T22, #4120 je rovna 22. |
G90 G40 G80 X0 Y0 |
|
G43 Z2 |
Tyto funkce použiji bez adresy H a D. |
G1 G41 X10 Y0 F500 |
|
(Celý článek si budete moci přečíst v příštím čísle TT.)