Wygląda to mniej więcej tak:
1> Wywołanie głównego podprogramu
-2> Wywołanie podprogramu podrzędnego
--3> Podprogram podrzędny wykonujący się "x" razy (w Twoim przypadku 12) w którym jest zaprogramowany dosuw przyrostowy (G91) w kierunku X+
-2> Przejechanie na deklarowaną współrzędną Y (u Ciebie -30)
--4> Podprogram podrzędny wykonujący się "x" razy (w Twoim przypadku 12) w którym jest zaprogramowany dosuw przyrostowy (G91) w kierunku X-
* ilość "-" odpowiada za stopień zagłębienia programu, liczba po "-" to nr. wywołanego programu
Poniżej masz pseudokod którym możesz się posłużyć (napisałem z głowy ale powinien działać):
Kod: Zaznacz cały
%
O0001 (Program główny)
(Tutaj cały wstęp, wczytanie bazy, wybór narzędzia, wczytanie kompensacji itp.)
M98 P2 L... (L - ilość powtórzeń w zależności od potrzeb)
(Odjazd od materiału, zakończenie programu)
M30
%
Kod: Zaznacz cały
%
O0002
M98 P3 L12
G01 G91 Y-30 F...
M98 P4 L12
G01 G91 Y-30 F...
M99
%
Kod: Zaznacz cały
%
O0003
G01 G91 X30 F...
G04 X1000 (przerwa czasowa na 1 sek - wartość przy X podana w ms)
M99
%
Kod: Zaznacz cały
%
O0004
G01 G91 X-30 F...
G04 X1000 (przerwa czasowa na 1 sek - wartość przy X podana w ms)
M99
%