730 likes | 1.66k Views
Programowanie parametryczne CNC SINUMERIK-810T. Dorota Gostołek Justyna Gala Jakub Janczewski Grupa M2-L13. Cel parametryzacji. Parametryzacja programów i podprogramów ułatwia projektowanie operacji dla części podobnych technologicznie oraz pozwala pisać programy w sposób zwięzły
E N D
Programowanie parametryczne CNC SINUMERIK-810T DorotaGostołek Justyna Gala Jakub Janczewski Grupa M2-L13
Cel parametryzacji Parametryzacja programów i podprogramów ułatwia projektowanie operacji dla części podobnych technologicznie oraz pozwala pisać programy w sposób zwięzły i uniwersalny
Parametryzacja programów • W programach sterujących CNC SINUMERIK 810T istnieje możliwość stosowania zmiennych, podobnie jak w językach programowania komputerów • Zmienne w programach nazywane są parametrami
Parametr Na parametrach można: • wykonywać działania matematyczne • wykorzystywać je do tworzenia pętli, skoków i rozgałęzień Parametrem można zastąpić dowolny kod w słowach bloku informacji programu sterującego (z wyjątkiem bloku N i numeru programu %) Parametr składa się z adresu R i maksymalnie trzycyfrowego numeru np. R999
Parametr Zapis i przykładowe działania matematyczne wykonywane na parametrach: • Definiowanie parametru R1=90.4 • Podstawienie R1=R2 • Dodawanie R1=R2+R3 R1=R2+2.1 • Odejmowanie R1=R2-R3 R1=R2-3.5 • Mnożenie R1=R2*R3 R1=2.6*R2 • Dzielenie R1=R2/R3 R1=R2/2 • Pierwiastek kwadratowy @613 R1 R2 (pierwiastek z liczby R2, wynik- R1)
Wykonywanie działań na parametrach • Możliwy jest zapis złożonych wyrażeń algebraicznych (nie można jednak używać nawiasów w tych działaniach) • Działania wykonywane są od strony lewej do prawej, nie jest zachowana konwencja priorytetów działań
Wykonywanie działań na parametrach Przykład: Wyrażenie R1=R2-R3*R4+R5/R6 jest obliczane następująco: 1 krok R1=R2 2 krok R1=R1-R3 3 krok R1=R1*R4 4 krok R1=R1+R5 5 krok R1=R1/R6 Czyli R1 wg zapisu matematycznego wynosi: R1=[(R2-R3)*R4+R5]/R6
Uwaga! Należy pamiętać, że numery parametrów użyte we własnych fragmentach programu nie mogą pokrywać się z numerami parametrów wykorzystywanych w standardowych cyklach obróbkowych (jeżeli takie stosuje się w programie) np. L94 wykorzystuje: 1 2 3 4 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 78 79 80 81 85 86 87 88 89 90 93 99
Spirala Archimedesa 1. Równania parametryczne spirali Archimedesa w płaszczyźnie X-Z r=Cϕ x=rsin ϕ+x0 z=rcos ϕ+z0 gdzie: C- stała ϕ- kąt bieżący r- promień wodzący x- współrzędna x bieżącego punktu y- współrzędna x bieżącego punktu x0- przesunięcie początku spirali w osi x z0- przesunięcie początku spirali w osi z Dzięki temu współrzędne wszystkich punktów toru narzędzia będą miały wartość dodatnią
Spirala Archimedesa 2. Algorytm programu X0=100 =>R1 podstaw wartość 100 pod parametr R1 Z0=100 =>R2 podstaw wartość 100 pod parametr R2 C=0.1 => R3 podstaw wartość 0.1 pod parametr R3 Δϕ=10 =>R4 podstaw wartość 10 pod parametr R4 (zmiana kąta bieżącego) ϕp=0 =>R5 podstaw wartość 0 pod parametr R5 ϕk=360 =>R6 podstaw wartość 360 pod parametr R6 ϕ= ϕp =>R7 ustaw wartość początkową kąta bieżącego (czyli R7=0) N100 WHILE ϕ≤ ϕk początek pętli: DOPÓKI ϕ≤ ϕk wykonuj następne bloki w przeciwnym razie skocz do bloku N200 R=C* ϕoblicz bieżący promień spirali x=r*sin ϕ+x0 oblicz współrzędną X punktu bieżącego z=r*cos ϕ+z0 oblicz współrzędną Z punktu bieżącego Wykonaj ruch narzędzia na obliczone współrzędne ϕ =ϕ+ Δϕpowiększ kąt bieżący Skocz do bloku N100 N200 M30 koniec programu
Spirala Archimedesa 3. Program sterujący %5 N5 G90 S400 M03ustawienie parametrów pracy obrabiarki N15 G54 G71 G95 N20 T1 D1 R1=100 R2=100 R3=0.1 R4=10podstawienie parametrów zadania R5=0 R6=360 R7=R5ustawienie początkowej wartości kąta bieżącego N100 @136 R7 R6 K200pętla WHILE, dopóki R7≤R6 wykonuje pętle R8=R3*R7obliczenia wartości promienia bieżącego @630 R9 R7obliczenie funkcji sinus R9=sinR7 @631 R10 R7obliczenie funkcji cosinus R10=cosR7 R11=R8*R9+R1 obliczenie współrzędnej X punktu bieżącego R12=R8*R10+R2obliczenie współrzędnej Z punktu bieżącego G1 X=R11 Z=R12 F0.3ruch roboczy narzędzia z interpolacją liniową R7=R7+R4powiększenie kąta bieżącego o wartość R4 @100 K-100skok bezwarunkowy- powrót do bloku 100 N200 M30
Hipotrochoid Hipotrochoidjest to krzywa zakreślona przez punkt leżący w stałej odległości od środka koła toczącego się po wewnętrznej stronie nieruchomego okręgu R=200 r=40 h=30 R=200 r=40 h=60 R=200 r=71 h=30
Hipotrochoid 1. Równania parametryczne gdzie: R- promień nieruchomego okręgu r- promień toczącego się koła h- odległość punktu od środka koła o promieniu r x0- przesunięcie środka nieruchomego okręgu w osi X z0- przesunięcie środka nieruchomego okręgu w osi Z ϕ- kąt określający położenie środka koła o promieniu oraz kąt obrotu tego koła x- współrzędna x punktu bieżącego z- współrzędna z punktu bieżącego
Hipotrochoid 2. Algorytm programu X0=220 => R1 Z0=220 => R2 R=200 => R3 r=40 => R4 H=30 => R5 φp=0 => R6 φk=360 => R7 Δφ=10 => R8 φ=φp => R9 N100 WHILE φ <= φk K200 Wykonaj ruch narzędzia na obliczone współrzędne (x, z) φ=φ +Δφ Skocz do bloku N100 N200 M30
Hipotrochoid 3. Program sterujący %123 N10 G90 S400 M03 N20 G54 G71 G95 D1 T1 ustawienie parametrów obrabiarki N30 R1=220 R2=220 podstawienie zadanych parametrów R3=200 R4=40 R5=30 R6=0 R7=360 R8=10 R9=R6 R10=R3-R4 R11=R10/R4 obliczenie R-r oraz (R-r)/r N100 @136 R9 R7 K200 pętla WHILE, dopóki φ <=φK wykonuj pętlę N110 R12=R11*R9/360 R21=R12obliczenie (R-r)φ/r )/360 N120 @622 R21 obliczenie części całkowitej z (R-r)φ/r )/360 N130 R22=R12-R21 obliczenie reszty z dzielenia (R-r)φ/r przez 360 N140 R23=R22*360 obliczenie parametru (R-r)φ/r w zakresie 0-360 N150 @630 R13 R9 obliczenie sin ϕ
Hipotrochoid N160 @630 R14 R23 obliczenie sin (R-r)φ/r N170 @631 R15 R9 obliczenie cos ϕ N180 @631 R16 R23 obliczenie cos (R-r)φ/r R17=R5*R16 R18=R5*R14 obliczenie h*cos((R-r)φ/r oraz h*sin((R-r)φ/r) R19=R10*R15+R17+R2 obliczenie współrzędnej Z R20=R10*R13-R18+R1 obliczenie współrzędnej X G1 X=R20 Z=R19 F0.3 ruch roboczy narzędzia R9=R9+R8 powiększenie kąta ϕ o wartość Δϕ) @100 K-100 koniec pętli, powrót do bloku 100 N200 G53 T1 D0 N210 M30 koniec programu
Epicykloida Epicykloidajest krzywą którą opisuje ustalony punkt okręgu (o promieniu r) toczącego się bez poślizgu na zewnątrz innego, nieruchomego okręgu (o promieniu R). Przykłady epicykloid: Dla stosunku R/r=1 Dla stosunku R/r=2 Dla stosunku R/r=3
Epicykloida 1. Równania parametryczne gdzie: R- promień nieruchomego okręgu r- promień toczącego się koła x0- przesunięcie środka nieruchomego okręgu w osi X z0- przesunięcie środka nieruchomego okręgu w osi Z ϕ- kąt ustalonego punktu okręgu o promieniu r x- współrzędna x punktu bieżącego z- współrzędna z punktu bieżącego
Epicykloida 2. Algorytm programu x0 = 100 → R1 podstawienie 100 pod R1 (x początkowy) y0 = 80 → R2 podstawienie 80 pod R2 (z początkowy) ∆t = 5 → R3 podstawienie 5 pod R3 (przyrost kąta) t0 = 0 → R4 podstawienie 0 pod R4 (wartość początkowa kąta) tk = 360 → R5 podstawienie 360 pod R5 (wartość końcowa kąta) r = 20 → R6 podstawienie 20 pod R6 (promień okręgu toczącego się) R = 40 → R7 podstawienie 40 pod R7 (promień okręgu nieruchomego) t = t0 → R8 podstawienie wartości początkowej kąta N100 While t ≤ tk skocz do N200 Pętla dopóki t ≤ tk w przeciwnym razie skocz do N200 x = (R+r)*cos(t) – r*cos(t) wyliczeniebieżącejwartości x z = (R+r)*sin(t) – r*sin(*t) wyliczeniebieżącejwartości z ruch na x,zruch narzędzia do punktu (x,z) t = t + ∆t przyrost kąta bieżącego Skok do N=100 N200 KONIECkoniec programu
Epicykloida 3. Program sterujący % 22 N10 G90 S400 M03 (parametry pracy obrabiarki) N20 G54 G71 G95 N30 T1 D1 R1=100 R2=80 (parametry zadania) R3=5 R4=0 R5=360 R6=20 R7=40 R8=R4 (początkowa wartość kąta bieżącego) R9=R6+R7 (R+r) N100 @136 R8 R5 K200 (rozpoczęcie pętli) R30=R9/R6 ((R+r)/r) R10=R30*R8 ([(R+r)/r]*t) R11=R10/360 (stosunek [((R+r)/r)*t]/360°) R12=R11 @622 R12 wartość całkowita z [((R+r)/r)*t]/360° R13=R11-R12 reszta z dzielenia [((R+r)/r)*t]/360°
Epicykloida R14=R13*360 kąt t w zakresie do 360° @631 R15 R8 cos t @631 R16 R14 cos ([(R+r)/r]*t) @630 R17 R8 sin t @630 R18 R14 sin ([(R+r)/r]*t) R19=R6*R16 r* ([(R+r)/r]*t) R20=R9*R15 – R19 x R21=R6*R18 r*sin ([(R+r)/r]*t R22=R9*R17 – R21 z G1 X=R20 Z=R22 F=0.3 ruch roboczy narzędzia z interpolacją liniową) R8=R8+R3 przyrost kąta bieżącego @100 K-100 koniec pętli – powrót do N100 N200 G53 T1 D0 N210 M30 koniec programu
Wałek o zarysie sinusoidalnym R1=137 długość sinusoidy R2=66 średnica zewnętrzna R3=60 średnica na której umieszczona jest sinusoida R4=9 liczba „pół okresów” R5=9 współrzędna Z początku sinusoidy R6=155 długość wałka
Wałek o zarysie sinusoidalnym 1. Równanie parametryczne dla Z (R5,R5+R1) (R2-R3)/2-Amplituda sinusoidy (180*R4)/R1- Wyrażenie zamieniające Z-R5 z milimetrów na stopnie
Wałek o zarysie sinusoidalnym 2. Podprogram R1=137 R2=66 R3=60 R4=9 R5=9 R6=155 R8=R1/R4 R10=R8/180 R11=R4*180 R13=R5+R1 R41=0 R12=10 R40=R3/2 N5 R46=R6-R5 R50=R40+R36 R51=R6+5 N15 G1 X=R50 Z=R47 N18 Z=R46 N20 @136 R41 R11 K150 Początek zarysu sinusoidalnego N30 R43=R41/360 N40 @622 R42 N50 R43=R42*360 N60 R44=R41-R43 N70 @630 R30 R44 N80 R31=3*R30+R40 R31=R31+R36 obliczenie współrzędnej x
Wałek o zarysie sinusoidalnym N90 R32=R41*R10+R5 R45=R6-R32 (obliczanie współrzędnej z) N95 @123 R31 R37 K100 („ucięcie” sinusoidy) N99 X=R37 Z=R45 @100 K110 N100 X=R31 Z=R45 N110 R41=R41=R12 N120 @100 K-20 (koniec zarysu sinusoidalnego) N150 G1 G40 Z=R5 N155 X=R37 (wycofanie narzędzia) N160 G0 Z=R47 N165 R36=R36-1 (zwiększanie warstwy skrawnej) N170 M17 (koniec)
Wałek o zarysie sinusoidalnym 3. Program sterujący (główny program) %87 R1=137 R2=66 R3=60 R4=9 R5=9 (definiowanie parametrów) R6=155 R8=R1/R4 R10=R8/180 R11=R4*180 R13=R5+R1 R41=0 R12=10 R40=R3/2 R14=67 R35=R2-R3 R36=R35-1 R37=R14/2+1 N50 G90 S400 M41 M3 N60 G71 G95 F.2 N70 G54 T5 D5 R47=R6+5 N80 G0 X=R37 Z=R47 (dojazd w pobliże materiału) N90 L87 P=R35 (wywołanie podprogramu L87 6 razy) N100 G0 X=150 Z=160 (odjazd od materiału) N110 G53 G40 N120 M30 (koniec [programu)
Wielobok 1. Generowanie n-kąta wieloboku foremnego o zadanej długości promienia koła opisanego
Wielobok 2. Algorytm programu ∆t=360/n tb=0 – t bieżące N100 dopóki t0<tk N200 t:=t+∆t sint=x/r xb=r*sint zb=r*cost G1 x=xbz=zb Powrót do N100 N200
Wielobok 3. Program sterujący N10 G90 S54 G95 T1 D1 M3 N20 G71 N30 R1=100 R2=11 R3=0 R15=360 dane do zadania N40 R4=360/R2 N50 G0 X0 Z=R1 N60 @135 R3 R15 K140 while t0<tk, skocz K140 N70 R3=R3+R4 t=t+∆t N800 @630 R5 R3 sin t N90 @631 R6 R3 cos t N100 R10=R1*R5 xb=r*sin t N110 R11=R1*R6 zb=r*cos t N120 G1 X=R10 Z=R11 F0.3 wykonanie ruchu N130 @100 K-60 N140 G0 X=R1 Z=R1 N200 G53 T1 D0 N300 M30
Obrócona elipsa 1. Równanie parametryczne na elipsę x=a*sin(t)+x0 x=b*cos(t)+z0 Gdzie: a, b- półosie x0- przesunięcie środka elipsy w osi x z0- przesunięcie środka elipsy w osi z t- kąt, 0≤t≤2π
Obrócona elipsa 2. Podstawiane parametry Δt → R1 przyrost kąta tp → R2 kąt początkowy elipsy (0o) tk → R3 kąt końcowy elipsy (360o) x0 → R4 przesunięcie środka elipsy w osi x z0 → R5 przesunięcie środka elipsy w osi z a → R6 półoś x b → R7 półoś z
Obrócona elipsa 3. Podprogram- obrócenie punktu o kąt L10 G90 Układ bezwzględny @614 R25 R8 R9 R26=R8/R25 sinϕA=xA/r @634 R27 R26 ϕA=arcsin(xA/r) R28=R27+R21 ϕB=ϕA+Δϕ @360 R29 R28 R29=sinϕB @631 R30 R28 R30=cosϕB R8=R25*R29 xA’=r*sinϕB R9=R25*R30 zA’=r*cosϕB M17 koniec podprogramu
Obrócona elipsa 4. Podprogram na elipsę L6 G90 Układ bezwzględny R8=0 R9=R6 podstawienie R8=0, R9=a (współrzędne punktu A) R8=R8+R4 R9=R9+R5 przesunięcie środka elipsy w osi x i z G00 X=R8 Z=R9 ruch szybki do punktu rozpoczęcia rysowania elipsy R10=R2 t=tp N100 @135 R10 R3 K200 pętla while dopóki t<tk, w przeciwnym razie skocz do K140 R10=R10+R1 t=t+Δt @630 R11 R10 R11=sin(t) @631 R12 R10 R12=cos(t) R8=R7*R11 R8=b*sin(t) R9=R6*R12 R9=a*cos(t) R8=R8+R4 R9=R9+R5 G1 X=R8 Z=R9 Ruch roboczy narzędzia @100 K-100 N200 M17 koniec podprogramu
Obrócona elipsa 5. Program sterujący na jedną obróconą elipsę %6 N10 G54 G90 G95 S1000 T1 D1 M3 N20 G40 G71 F0.2 parametry pracy obrabiarki N30 R1=5 R2=0 R3=360 dane do zadania N40 R4=300 R5=300 N50 R6=100 R7=40 N60 R20=0 N70 R21=45 N80 L6 P1 wywołanie podprogramu L6 N90 T1 D0 N100 G53 N110 M30 Koniec programu
Obrócona elipsa 6. Program sterujący na zbiór obróconych elips N10 G54 G90 G95 S1000 T1 D1 M3 N20 G40 G71 F0.2 parametry pracy obrabiarki N30 R1=5 R2=0 R3=360 dane do zadania N40 R4=300 R5=300 N50 R6=100 R7=40 N60 R20=0 N70 R21=45 N100 @135 R21 360 K90 pętla whileϕ<360, w przeciwnym razie skocz do N90 N80 L6 P1 wywołanie podprogramu L6 R21=R21+R21 powiększenie kąta ϕ N90 T1 D0 odwołanie narzędzia N100 G53 N110 M30 koniec programu
Krzywe Lissajous 1. Równania parametryczne x=A1sin(pωt+φ1) y=A2sin(pωt+φ2) gdzie: pω, pω- częstość drgań
Krzywe Lissajous 2. Program sterujący N5 G90 S400 M03 (ustawianie parametrów pracy obrabiarki) N15 G54 G71 G94 N20 T1 D1 F300 R1=75 (amplituda a1) R2=50 (amplituda a2) R3=1 (wartość p) R4=3 (wartość q) R5=1 (wartość ω) R6=90 (wartość kąta φ) R7=0 (wartość kąta φ) R8=0 (wartość początkowa parametru t=t)
Krzywe Lissajous R9=360 (wartość końcowa parametru t-t2) R10=0.5 (przyrost parametru Δt) R11=R8 (chwilowa wartość parametru t) R20=360 (parametr pomocniczy) R29=360 (parametr pomocniczy) N50 @136 R11 R9 K400 (wykonuj instrukcje wewnątrz pętli dopóki t<=t2) N60 R12=R3*R5*R11+R6 (obliczenie wartości nawiasu R12=(pωt+φ1)) N70 @125 R12 R20 K100 (jeżeli wartość (pωt+φ1)>=360 skocz do N100) N80 @630 R30 R12 (obliczenie wartości sinus) N90 R16=R30*R1 (mnożenie przez amplitudę R16=A1*sin (pωt+φ1)) N95 @100 K200 (skok do bloku N200) N100 R13=R12/R29 (dzielenie wartości w nawiasie przez 360) N110 @622 R13 (obliczanie części całkowitej) N120 R14=R13*R29 (mnożenie części całkowitej przez 360) N130 R15=R12-R14 (wynik R14 zostaje odjęty od wartości nawiasu R12) N150 @630 R30 R15 (wartość f. sinus ze „zredukowanego” kąta R15) N160 R16=R30*R1 (mnożenie przez amplitudę R16=A1sin(pωt+φ1)) N200 R17=R4*R5*R11+R7 (obliczanie wartości nawiasu R17=(qωt+φ2)) N220 @125 R17 R20 K250 (jeżeli wartość (qωt+φ2)>=360 skocz do N250) N230 @630 R31 R17 (obliczenie wartości funkcji sinus)
Krzywe Lissajous N240 R18=R31*R2 (mnożenie przez amplitudę) N245 @100 K300 (skok do bloku N300) N250 R19=R17/R29 (dzielenie wartości w nawiasie przez 360) N260 @622 R19 (obliczanie części całkowitej) N270 R21 R19*R29 (mnożenie części całkowitej przez 360) N280 R22=R17-R21 (wynik R21 zostaje odjęty od wartości nawaisu R17) N290 @630 R31 R22 (wartość f. sinus ze „zredukowanego” kąta R22) N295 R18=R31*R2 (mnożenia przez amplitudę R18=A2sin (qωt+φ2)) N300 G01 X=R16+90 (ruch na obliczone współrzędne+ przesunięcie) Z=R18+190 N310 R11=R11+R10 (do parametru t zostaje dodany przyrost Δt) N320 @100 K-50 (powrót do bloku N50) N400 M30 (zakończenie programu)
Ruchy chaotyczne X=171*mod(x,177)-2*(x/177) Z=172*mod(z,176)-35*(z/176) Gdzie: Mod(a,b)- funkcja „modulo” Mod(a,b)=a-[„całość z” (a/b)]*b Jeżeli x<0 to x=x+30296 Jeżeli z<0 to x=z+30107
Ruchy chaotyczne 1. Program sterujący N5 G90 S355 M03 (ustawienie parametrów pracy obrabiarki) N10 G54 G71 G94 N20 T1 D1 R1=1 (inicjowanie licznika generowanych punktów) R2=100 (ustalenie liczby generowanych punktów) R40=0 N100 @136 R1 R2 K300 (dopóki R1<=R2 wykonuj instrukcję wewnątrz pętli) R10=R3/177 (początek obliczeń wg wzoru x=…) R13=R10 @622 R10 (obliczanie całości z R10) R11=R10*177 R12=R3-R11 (mod(R3,177)) R14=2*R13
Ruchy chaotyczne R3=171*R12-R14 (generowanie współrzędnej „X”) N140 @135 R3 R40 K150 (jeżeli R3<0 wykonaj instrukcję następną) R3=R3+30269 @100 K-140 (powrót do bloku N140) N150 R14=R3/100 (skalowanie współrzędnej „X”) N170 R21=R20/176 (początek generowania zmiennej „Z”) R22=R21 @622 R21 (obliczanie całości z R21) R23= R21*176 R24-R20-R23 (mod(R2,176)) R25=35*R22 R20=172*R24-R25 (koniec generowanie współrzędnej „Z”) N190 @135 R20 R40 K200 (jeżeli R20<0 wykonaj instrukcję następną) R20=R20+30307 @100 K-190 (powrót do bloku N190) N200 R30=R20/100 (skalowanie współrzędnej „Z”) N240 G1 X=R15 Z=R30 F300 R1=R1+1 @100 K-100 (powrót do bloku N100) N300 M30 (koniec programu)
Generowanie krzywych z interpolacją liniowo kołową 1.Symulacja toru narzędzia wzdłuż paraboli x=z2-5*z+15
Generowanie krzywych z interpolacją liniowo kołową 2.Analiza matematyczna Równanie parametryczne paraboli w płaszczyźnie X-Z x=a*z2+b*z+c gdzie: a,b,c-stałe, z-współrzędna z bieżącego punktu, x- współrzędna x bieżącego punktu.
Generowanie krzywych z interpolacją liniowo kołową 3. Algorytm programu a=1 => R1 podstaw wartość 1 pod parametr R1 b=-5 => R2 podstaw wartość -5 pod parametr R2 c=15 => R3 podstaw wartość 15 pod parametr R3 zp=0 => R4 podstaw wartość 0 pod parametr R4 zk=20 => R5 podstaw wartość 20 pod parametr R5 z=zp => R6 ustaw wartość początkową położenia początkowego(czyli R6=0) Δz=1 => R7 podstaw wartość 1 pod parametr R7(zmiana bieżącej współrzędnej z) N100 WHILE z≤zk K200 początek pętli: Dopóki z≤zk wykonuj następne bloki w przeciwnym razie skocz do bloku N200 oblicza bieżący punkt paraboli wykonaj ruch narzędzia na obliczone współrzędne(Z,X), z=z+Δz powiększ bieżącą współrzędną z skocz do bloku N100 N200 M30 koniec programu
Generowanie krzywych z interpolacją liniowo kołową 4. Program sterujący N5 G90 S400 M03 N15 G54 G71 G95 (ustawienie parametrów pracy obrabiarki) N20 T1 D1 R1=1 R2=-5 R3=15 (podstawienie parametrów ) R4=0 R5=20 R7=1 R6=R4 (z=zp) N100 @136 R6 R5 K200 (pętla WHILE: dopóki R6 ≤ R5 wykonuj pętle) R16=R1*R6*R6 R26=R2*R6 (obliczanie współrzędnej X punktu bieżącego) R8=R16+R26+R3 G1 X=R6 Z=R8 F0.3 (ruch roboczy narzędzia z interpolacją liniową) R6=R6+R7 (powiększanie współrzędnej bieżącej R6 o wartość R7) @100 K-100 (skok bezwarunkowy-powrót do bloku 100) N200 M30 (koniec programu)
Przykładowy wałek 1. Rysunek konstrukcyjny.
Przykładowy wałek 2. Rysunek technologiczny, sparametryzowany. Dane dotyczące gwintu: M36 D=36 D2=33,402 D1=31,670 D3=30,738 P=4-skok gwintu t=2,631-głębokość gwintu
Przykładowy wałek 3. Zależności geometryczne.