G54 T1 D1 G95 M41
G97 S60 M4
G91 G1 X-300 F1
M30
G54
G90 G95
G96 S200 LIMS=2000
T1 D1
G0 X100 Z2
G1 Z0 F0.2
X-0.4
G0 X100 Z2
N10 G0 X100 Z2 ; Rychloposuv na pozici
STARTPOINT: ; Návěští pro skok
N20 G1 X80 F0.2 ; Pracovní posuv
N30 G0 X100 ; Odjezd
N40 Z-10 ; Posun v Z
N50 GOTO STARTPOINT ; Skok zpět na návěští
N60 M30 ; Konec programu (nikdy se neprovede)
N10 R1=0 ; Počítadlo cyklů
LOOP_START: ; Návěští pro skok
N20 G1 X80 F0.2 ; Pracovní posuv
N30 G0 X100 ; Odjezd
N40 Z-10 ; Posun v Z
N50 R1=R1+1 ; Zvýšení počítadla
N60 IF R1<5 GOTOB LOOP_START ; Skok zpět, pokud R1 < 5
N70 M30 ; Konec programu
TRANS X100 Z50 ; Absolutní posunutí nulového bodu
FOR R1=1 TO 10 ; Začátek cyklu, 10 opakování
G1 X80 F0.2 ; Pracovní posuv
ATRANS X-5 ; Přírůstkové posunutí v X o -5mm
G1 Z-10 ; Posun v Z
ENDFOR ; Konec FOR cyklu
TRANS ; Zrušení všech transformací
M30 ; Konec programu
N10 R1=0 ; Nastavení proměnné
N20 G1 X100 F0.2 ; První řez
N30 IF R1>5 GOTOF ENDPOS ; Skok na konec při splnění podmínky
N40 G1 X90 ; Další řez
N50 R1=R1+1 ; Zvýšení počítadla
N60 GOTO N30 ; Skok zpět na test
ENDPOS: ; Návěští pro konec
N70 G0 X100 Z50 ; Koncová pozice
N80 M30 ; Konec programu
G0 X0 Z0 ; Nájezd do počáteční pozice
R1=$AA_IW[X] ; Uložení aktuální pozice X do R1
MSG("hodnoty osy X "<<R1<<" mm") ; Výpis aktuální hodnoty osy X
WHILE $AA_IW[X] < 100 ; Dokud je skutečná pozice X menší než 100
MSG("pocitadlo "<<R1<<" drazek") ; Výpis počítadla drážek
G1 X=R1 F0.2 ; Lineární pohyb v X
G4 F0.5 ; Krátká prodleva
R1=R1+10 ; Zvýšení počítadla o 10
ENDWHILE ; Konec cyklu
MSG() ; Vypnutí výpisu
G0 X200 Z50 ; Odjezd do bezpečné pozice
M30 ; Konec programu
MSG("Aktualni hodnota: "<<R1) ; Základní výpis proměnné
MSG("Pocet kusu: "<<R2<<" ks") ; Výpis s jednotkami
MSG("Prumer: "<<$AA_IW[X]<<" mm") ; Výpis systémové proměnné
MSG("Poloha Z: "<<R3<<" od nuly") ; Výpis s dodatečným textem
MSG() ; Vypnutí/vymazání zprávy