Již v kapitole č. 45 tohoto volně strukturovaného seriálu byly naznačeny
dvě základní hřídelové součásti. Postupně byly rozebrány některé možnosti
jejich výroby a dnes se k nim opět vrátíme.
Velmi mnoho technologů začínajících s programováním řídicího systému Sinumerik, verze určené pro CNC soustružnické stroje a centra, řeší problematiku implementace funkce CYCLE95 a využívání podprogramů. Dosavadní výklad uvedený v předchozích kapitolách vysvětlil samotný cyklus CYCLE95 a bylo naznačeno, že díky práci s podprogramy je možno cíleným strukturováním rozptýlit jeden hlavní program do mnoha různých podprogramů, které budou obsahovat vždy jen data určitých technologických celků (např.: jeden podprogram - jeden technologický prvek typu speciální a často se opakující kapsa). Nyní však bude problematika NC programování ukázána zcela z opačného pohledu. Je-li např. nutno důsledně archivovat veškeré zakázky, je
zvláště vhodné, aby každá zakázka byla tvořena jen jedním hlavním programem (jedním jediným souborem). Níže naznačené zadání tedy formuluje poměrně jednoduchý úkol, který bude rovnou i zodpovězen.
Formulace zadání zní: „Modifikujte NC program uvedený v minulém čísle tohoto seriálu tak, aby hlavní NC program (soubor s koncovkou *.mpf) i podprogramy (soubory s koncovkou *.spf) byly sloučeny v jeden jediný soubor s koncovkou *.mpf.“
Řešení zadání: hlavní program s podprogramy (jeden soubor: akademie48.mpf)
N10 MSG("Oboustranne osazen hridel upnuta celnim unasecem")
N20 G90 G54 G71 G95 DIAMON ;základní nastavení pro obrábění
;********************HRUBOVANI*******************
...
N70 CYCLE95("prava_strana_zacatek:prava_strana_konec",2,0.1,1,0,0.3,0,0.1,1,0,0,1)
...
N120 CYCLE95("leva_strana_zacatek:leva_strana_konec",2,0.1,1,0,0.3,0,0.1,1,0,0,1)
;********************DOKONCOVANI*******************
...
N170 CYCLE95("prava_strana_zacatek:prava_strana_konec",2,0.1,1,0,0.3,0,0.1,5,0,0,1)
...
N220 CYCLE95("leva_strana_zacatek:leva_strana_konec",2,0.1,1,0,0.3,0,0.1,5,0,0,1)
N230 G0 X140 Z10 M5 M9 ;rychlé polohování a stop otáček i chlazení
N240 M30 ;ukončení hlavního programu
;********************PODPROGRAMY*******************
prava_strana_zacatek: ;cíl skoku pro cyklus CYCLE95
MSG("Kontura pro hrubovani i dokoncovani prave strany hridele")
G18 G90 DIAMON ;*GP*
...
X66 ;*GP*
prava_strana_konec: ;zakončení sekce pro cyklus CYCLE95
leva_strana_zacatek: ;cíl skoku pro cyklus CYCLE95
MSG("Kontura pro hrubovani i dokoncovani leve strany hridele")
G18 G90 DIAMON ;*GP*
...
X60 ;*GP*
leva_strana_konec: ;zakončení sekce (pozn.: sekce nebývá zakončena funkcí M17)
Výše uvedené řádky NC programu tedy je možno umístit do jediného souboru, přesto, že se cyklus CYCLE95 běžně odvolává na podprogram (jiný soubor). I v obdobných případech, kdy se běžně odvoláváme na jiný samostatný soubor (podprogram) je však možno programový zápis poměrně jednoduše modifikovat:
Například běžné volání podprogramu je názvem souboru (viz akademie 41). V případě, že se tedy podprogram jmenuje dira.spf, píše se v hlavním programu jen slovo dira do samostatného bloku. Nově je však možno upozornit na zápis gotof dira, čímž se zahájí vyhledávání tzv. návěští dira: (vyhledávání probíhá v tomto stejném souboru), za kterým lze psát jednotlivé bloky, jež by jinak byly součástí zmiňovaného podprogramu. Zakončení této sekvence bloků však oproti
podprogramu, kde se píše funkce M17, musí být např. blokem gotob dira_konec. Tímto blokem bude zahájeno opět hledání návěští s názvem dira_konec: (pozn.: Pozor! Každé návěští obsahuje dvojtečku, čímž se takový blok liší od volání podprogramu), které zpravidla bývá za primárním skokem, tedy bezprostředně za blokem s názvem goto dira.
Zestručnělý zápis takového NC programu je:
... ;běžné programové řádky
gotof dira ;skok na návěští místo do podprogramu (pozn.: toto návěští se
hledá směrem ke konci NC programu)
dira_ konec: ;návěští (pozn.: slova jednotlivých návěští jsou libovolná)
... ;běžné programové řádky
M30 ;konec NC programu(nejedná se však o poslední blok souboru)
dira: ;návěští (pozn.: návěští nemusí být za funkcí M30)
... ;běžné programové řádky
gotob dira_ konec ;skok na návěští hledané směrem k začátku NC programu
Vysvětlení jednotlivých funkcí:
goto - programový skok/vyhledávání v celém NC programu
gotof - programový skok/vyhledávání směrem ke konci NC programu
gotob - programový skok/vyhledávání směrem k začátku NC programu
slovo: - slovo určující cíl skoku (pozn.: min. 2 znaky a max. 32 znaků;
použitelná jsou písmena, číslice, znak podtržení, ale první dva znaky
musí být vždy písmena nebo podtržítko)
Více se již do dnešního článku nevejde. Díky možnostem získat software SinuTrain (simulátor pro řídicí systém Sinumerik) zcela zdarma však lze nabídnout individuální praktický trénink popsané problematiky. Na internetových stránkách
http://www.cnc4you.siemens.com je aktuálně možno stáhnout SinuTrain 6.3 Ed.4, k dispozici je i SinuTrain 7.5 Ed. 2 a nově i SinuTrain Operate 2.6 SP1, který má licenci dokonce na 60 dní.
Ing. Aleš Polzer, Ph.D.
Článek vznikl za spolupráce ÚST, FSI, VUT v Brně, s firmou Siemens a redakcí Technického týdeníku