G10 L2 P1 X0.0 Y0.0 Z0.0 (Top)
G10 L2 P1 X0.0 Y0.0 Z0.0 (Top)
Hej, har lite funderingar på hur det igentligen skall gå till när man fräser ut nåt med en CNC maskin.
Jag använder mig av Mach3 & Edgecam.
- Först ritar jag upp min del
- Generar ett gäng operationer (profiling, roughing etc)
- Simulering (kör fanuc3x som "virtuell maskin").
- Och till sist genera NC kodfil.
T.ex kan jag få ut nåt som ser ut såhär. (profil operation dubbla Z-pass).
N1 G21 G90 G40
N2 G10 P1 Z0.0 R1.0 T00
N3 G10 L2 P1 X0.0 Y0.0 Z0.0 (Top)
N4 (DEFINE OPERATION : PROFILING OPERATION)
N5 G28 G91 Z0
N6 G28 X0 Y0
N7 G90
O8 T00 (USER DEFINED)
N9 G54 M06
N10 T00 M01
N11 S2000 M3 M41 M9
N12 G0 X-1.857 Y3.025
N13 G43 Z4.8 H00 M7
N14 Z3.8 F40.0
N15 G1 Z-1.2 F15.0
N16 G17 G2 I1.857 J-3.025 F50.0
N17 G1 Z-1.7 F15.0
N18 G2 I1.857 J-3.025 F50.0
N19 G0 Z4.8 F40.0
Mycket av det här förstår jag mig inte på. (kan grundläggande G-kod, såsom G0, G1, G2 osv) men har dålig koll på det här med offset (G10?) och L1, P1? Använder mig heller inte uttav 'home' på något sätt utan brukar bara ta bort all jag inte förstår från ovan, då kvarstår:
N1 G0 x0 y0 z20
N4 (DEFINE OPERATION : PROFILING OPERATION)
N12 G0 X-1.857 Y3.025
N13 G43 Z4.8 H00 M7
N14 Z3.8 F40.0
N15 G1 Z-1.2 F15.0
N16 G17 G2 I1.857 J-3.025 F50.0
N17 G1 Z-1.7 F15.0
N18 G2 I1.857 J-3.025 F50.0
N19 G0 Z4.8 F40.0
Vilket funkar att köra ifall man först joggar till den punkt på den bit man tänker fräsa som matchar X0Y0Z0 i Edgecam (brukar göra mina delar så att det är i centrum & toppen av mitt stock).
Det jag grunnar är väl igentligen, vet nån någon bra länk där man kan på nybörjar nivå lära sig om offsets & sådant (P1, L2). Verkar dyka upp lite här o där tycker jag fast i olika sammanhang.
Jag förstår att ifall man home'ar maskinen så resettas alla axlar till '0' (ifall man installerat switchar o dylikt)? När man gjort det, hur vet man sedan vart på XY bordet det man tänker fräsa befinner sig?. Offset till "fräsoffret" beror ju på hur man monterat / vilka underlägg man har osv (brukar köra med en träskiva för att skydda maskinen).
Jag använder mig av Mach3 & Edgecam.
- Först ritar jag upp min del
- Generar ett gäng operationer (profiling, roughing etc)
- Simulering (kör fanuc3x som "virtuell maskin").
- Och till sist genera NC kodfil.
T.ex kan jag få ut nåt som ser ut såhär. (profil operation dubbla Z-pass).
N1 G21 G90 G40
N2 G10 P1 Z0.0 R1.0 T00
N3 G10 L2 P1 X0.0 Y0.0 Z0.0 (Top)
N4 (DEFINE OPERATION : PROFILING OPERATION)
N5 G28 G91 Z0
N6 G28 X0 Y0
N7 G90
O8 T00 (USER DEFINED)
N9 G54 M06
N10 T00 M01
N11 S2000 M3 M41 M9
N12 G0 X-1.857 Y3.025
N13 G43 Z4.8 H00 M7
N14 Z3.8 F40.0
N15 G1 Z-1.2 F15.0
N16 G17 G2 I1.857 J-3.025 F50.0
N17 G1 Z-1.7 F15.0
N18 G2 I1.857 J-3.025 F50.0
N19 G0 Z4.8 F40.0
Mycket av det här förstår jag mig inte på. (kan grundläggande G-kod, såsom G0, G1, G2 osv) men har dålig koll på det här med offset (G10?) och L1, P1? Använder mig heller inte uttav 'home' på något sätt utan brukar bara ta bort all jag inte förstår från ovan, då kvarstår:
N1 G0 x0 y0 z20
N4 (DEFINE OPERATION : PROFILING OPERATION)
N12 G0 X-1.857 Y3.025
N13 G43 Z4.8 H00 M7
N14 Z3.8 F40.0
N15 G1 Z-1.2 F15.0
N16 G17 G2 I1.857 J-3.025 F50.0
N17 G1 Z-1.7 F15.0
N18 G2 I1.857 J-3.025 F50.0
N19 G0 Z4.8 F40.0
Vilket funkar att köra ifall man först joggar till den punkt på den bit man tänker fräsa som matchar X0Y0Z0 i Edgecam (brukar göra mina delar så att det är i centrum & toppen av mitt stock).
Det jag grunnar är väl igentligen, vet nån någon bra länk där man kan på nybörjar nivå lära sig om offsets & sådant (P1, L2). Verkar dyka upp lite här o där tycker jag fast i olika sammanhang.
Jag förstår att ifall man home'ar maskinen så resettas alla axlar till '0' (ifall man installerat switchar o dylikt)? När man gjort det, hur vet man sedan vart på XY bordet det man tänker fräsa befinner sig?. Offset till "fräsoffret" beror ju på hur man monterat / vilka underlägg man har osv (brukar köra med en träskiva för att skydda maskinen).
Nu har jag tappat väldigt mycket av min kunskap inom G-kådning under åren...
...men det skär i mitt hjärta när du choppar så i programmet
Men det klart... det skall passa ens egna förutsättningar och behov... för att inte tala om tålamod...
Lite länkar:
http://en.wikipedia.org/wiki/G-code
http://www.linuxcnc.org/handbook/gcode/g-code.html
http://xdobs.com/cnc/gcode-introduction.html
http://www.solsylva.com/cnc/subroutine.html
Bara att börja läsa på...
Det går att göra en del coola grejer... som att kombinera de här färdiga funktionerna...
Kommer ihåg en gång i skolan när jag kombinerade den cirkulära hålborrningen med en "pocket"-fräsning...
vilket ledde till att det blev som en urtavla till en klocka...
Med rektangulära spår 10mm långa in mot mitten...
och då var spånbrytningsrutinen med också för den första själva "nerborrningen"
Aaah... Det var tider det... sen blev läraren sur på mig för han inte fattade hur jag gjort det...
Samma visa när jag exprimenterade med plockroboten... fick den att börja "palletera" upp färdiga bitar i cirkulära och rektangulära "tårtor"...
...då blev han sur igen... -"Näe... nu hänger jag inte med... sluta med det där..."
Detta är dock 100år sen... känns det som... tyvärr blev jag aldrig något inom den branchen...
...men det skär i mitt hjärta när du choppar så i programmet

Men det klart... det skall passa ens egna förutsättningar och behov... för att inte tala om tålamod...
Lite länkar:
http://en.wikipedia.org/wiki/G-code
http://www.linuxcnc.org/handbook/gcode/g-code.html
http://xdobs.com/cnc/gcode-introduction.html
http://www.solsylva.com/cnc/subroutine.html
Bara att börja läsa på...
Det går att göra en del coola grejer... som att kombinera de här färdiga funktionerna...
Kommer ihåg en gång i skolan när jag kombinerade den cirkulära hålborrningen med en "pocket"-fräsning...
vilket ledde till att det blev som en urtavla till en klocka...
Med rektangulära spår 10mm långa in mot mitten...
och då var spånbrytningsrutinen med också för den första själva "nerborrningen"
Aaah... Det var tider det... sen blev läraren sur på mig för han inte fattade hur jag gjort det...
Samma visa när jag exprimenterade med plockroboten... fick den att börja "palletera" upp färdiga bitar i cirkulära och rektangulära "tårtor"...
...då blev han sur igen... -"Näe... nu hänger jag inte med... sluta med det där..."
Detta är dock 100år sen... känns det som... tyvärr blev jag aldrig något inom den branchen...

G10 betyder programmering av parameterdata. Inmatning av någon form av data i systemet.
L2 betyder att du vill mata in data i något nollpunktsregister.
P1 anger att det är nollpunktsförflyttning nummer 1, alltså G54 i Fanuc-världen, som du vill sätta.
X0.0 Y0.0 Z0.0 är avståndet från maskinreferensen.
Resultatet av N3 G10 L2 P1 X0.0 Y0.0 Z0.0 är alltså samma som när du manuellt knappar in X0 Y0 och Z0 på position 1 i ditt nollpunktsregister (läs G54)
Vad raden innan gör vet jag inte på rak arm, men det har säkert med verktygslängder att göra.
Hajjaru?
Annars får du fråga igen.
L2 betyder att du vill mata in data i något nollpunktsregister.
P1 anger att det är nollpunktsförflyttning nummer 1, alltså G54 i Fanuc-världen, som du vill sätta.
X0.0 Y0.0 Z0.0 är avståndet från maskinreferensen.
Resultatet av N3 G10 L2 P1 X0.0 Y0.0 Z0.0 är alltså samma som när du manuellt knappar in X0 Y0 och Z0 på position 1 i ditt nollpunktsregister (läs G54)
Vad raden innan gör vet jag inte på rak arm, men det har säkert med verktygslängder att göra.
Hajjaru?
Annars får du fråga igen.
Jag blev lite nyfiken och kollade manualen angående G10 P1 Z0.0 R1.0 T00
G10 Sätt data.
P1 Offset number. I detta fall ändras tool wear-kolumnen i registret.
Z0.0 Z-värde (verktygslängd)
R1.0 Verktygsradie.
T00 har förmodligen inte med raden att göra annat än att ropa fram eller växla in verktyg #0 i spindeln/revolvern.
G10 Sätt data.
P1 Offset number. I detta fall ändras tool wear-kolumnen i registret.
Z0.0 Z-värde (verktygslängd)
R1.0 Verktygsradie.
T00 har förmodligen inte med raden att göra annat än att ropa fram eller växla in verktyg #0 i spindeln/revolvern.
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Jag har inte användt Mach 3, men eftersom att detta är styrsystemet borde det
ingå full dokumentation på G-koden med definitioner och de tillägg och begränsningar som gäller för just detta systemet. Sen får du välja en lämplig postprocessor ("Generic 3 axis" eller något liknande är nog en bra början) i EdgeCAM som spottar ut kod som Mach 3 fullt kan svälja. Att sen göra små anpassningar i postprocessorn är ganska lätt med EdgeCAM:s Code Wizard.
Postprocessor till Mach 2
ingå full dokumentation på G-koden med definitioner och de tillägg och begränsningar som gäller för just detta systemet. Sen får du välja en lämplig postprocessor ("Generic 3 axis" eller något liknande är nog en bra början) i EdgeCAM som spottar ut kod som Mach 3 fullt kan svälja. Att sen göra små anpassningar i postprocessorn är ganska lätt med EdgeCAM:s Code Wizard.
Postprocessor till Mach 2
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Code Wizard är ett verktyg för att skräddarsy postprecessorer som följer med EdgeCAM. Lägg ut kod som Mach 2 processorn genererar så vi får se
skillnanden mot Fanuc.
Noxin: Varför är Fanuc så glada för att man ska sätta nollor genom koden? Jag
ser mest merarbete och risker med detta men inga speciella fördelar.
skillnanden mot Fanuc.
Noxin: Varför är Fanuc så glada för att man ska sätta nollor genom koden? Jag
ser mest merarbete och risker med detta men inga speciella fördelar.
Här är lite kod utspottad av Mach2 postprocessorn som länkades ovan. Dock verkar det inte som om det funkar så bra (med mach3, har inte kört mach2...). T.ex får man felmeddelandet om R i j k words all missing for arcLine (N037), vilket verkar vettigt (saknas info...)
N001 G21 G90
N002 (MSG,"Top")
N003 (MSG,HOLE OPERATION)
N004 M9
N005 G90
N006 G90
N007 T00
N008 (MSG,"USER DEFINED")
N009 M06
N010 T00
N011 S8000 M3
N012 M8
N013
N014 G0 X0.0 Y0.0
N015 G43 H00 M8
N016 G81 G98 R1.0 I-3.3 F10.0
N017 X3.5
N018 X-5.5
N019 G80
N020 (MSG,DEFINE OPERATION : PROFILING OPERATION)
N021 M9
N022 T00
N023 (MSG,"USER DEFINED")
N024 M06
N025 T00
N026 G90 S8000 M3
N027 M8
N028
N029 G0 X-1.857 Y3.025
N030 G43 H00 M8
N031 Z3.8 F40.0
N032 G1 Z-1.2 F15.0
N033 G17
N034 G2 X-1.857 Y3.025 J-3.025 I1.857 F50.0
N035 G1 Z-1.7 F15.0
N036 G17
N037 G2 X-1.857 Y3.025 F50.0
N038 G0 Z4.8 F40.0
Och här är samma grej fast med fanuc3x.mcp
N1 G21 G90 G40
N2 G10 P1 Z0.0 R0.5 T00
N3 G10 P2 Z0.0 R1.0 T00
N4 G10 L2 P1 X0.0 Y0.0 Z0.0 (Top)
N5 (HOLE OPERATION)
N6 G28 G91 Z0
N7 G28 X0 Y0
N8 G90
O9 T00 (USER DEFINED)
N10 G54 M06
N11 T00 M01
N12 S2000 M3 M41 M9
N13 G0 X0.0 Y0.0
N14 G43 Z5.0 H00 M7
N15 G98 G81 Z-3.3 R1.0 F10.0
N16 X3.5
N17 X-5.5
N18 G80
N19 (DEFINE OPERATION : PROFILING OPERATION)
O20 T00 (USER DEFINED)
N21 G54 M06
N22 T00 M01
N23 S2000 M3 M41 M9
N24 G0 X-1.857 Y3.025
N25 G43 Z4.8 H00 M7
N26 Z3.8 F40.0
N27 G1 Z-1.2 F15.0
N28 G17 G2 I1.857 J-3.025 F50.0
N29 G1 Z-1.7 F15.0
N30 G2 I1.857 J-3.025 F50.0
N31 G0 Z4.8 F40.0
N001 G21 G90
N002 (MSG,"Top")
N003 (MSG,HOLE OPERATION)
N004 M9
N005 G90
N006 G90
N007 T00
N008 (MSG,"USER DEFINED")
N009 M06
N010 T00
N011 S8000 M3
N012 M8
N013
N014 G0 X0.0 Y0.0
N015 G43 H00 M8
N016 G81 G98 R1.0 I-3.3 F10.0
N017 X3.5
N018 X-5.5
N019 G80
N020 (MSG,DEFINE OPERATION : PROFILING OPERATION)
N021 M9
N022 T00
N023 (MSG,"USER DEFINED")
N024 M06
N025 T00
N026 G90 S8000 M3
N027 M8
N028
N029 G0 X-1.857 Y3.025
N030 G43 H00 M8
N031 Z3.8 F40.0
N032 G1 Z-1.2 F15.0
N033 G17
N034 G2 X-1.857 Y3.025 J-3.025 I1.857 F50.0
N035 G1 Z-1.7 F15.0
N036 G17
N037 G2 X-1.857 Y3.025 F50.0
N038 G0 Z4.8 F40.0
Och här är samma grej fast med fanuc3x.mcp
N1 G21 G90 G40
N2 G10 P1 Z0.0 R0.5 T00
N3 G10 P2 Z0.0 R1.0 T00
N4 G10 L2 P1 X0.0 Y0.0 Z0.0 (Top)
N5 (HOLE OPERATION)
N6 G28 G91 Z0
N7 G28 X0 Y0
N8 G90
O9 T00 (USER DEFINED)
N10 G54 M06
N11 T00 M01
N12 S2000 M3 M41 M9
N13 G0 X0.0 Y0.0
N14 G43 Z5.0 H00 M7
N15 G98 G81 Z-3.3 R1.0 F10.0
N16 X3.5
N17 X-5.5
N18 G80
N19 (DEFINE OPERATION : PROFILING OPERATION)
O20 T00 (USER DEFINED)
N21 G54 M06
N22 T00 M01
N23 S2000 M3 M41 M9
N24 G0 X-1.857 Y3.025
N25 G43 Z4.8 H00 M7
N26 Z3.8 F40.0
N27 G1 Z-1.2 F15.0
N28 G17 G2 I1.857 J-3.025 F50.0
N29 G1 Z-1.7 F15.0
N30 G2 I1.857 J-3.025 F50.0
N31 G0 Z4.8 F40.0
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Ska gå till botten med det här nu.. Råpluggar G-kod & knåpar på en postprocessor till Edgecam. Kan lägga upp den på nåt sätt när det är färdigt (sju svåra år senare =) ifall nån skulle vara intresserad.
Hursomhelst. En grej som jag fortfarande undrar över.. Ifall man homear maskinen under en sekvens (eller vid start). Hur hittar man tillbaks till arbetsstycket? Enda sättet jag kan komma på att starta mina sekvenser med är att jogga till nån punkt som jag vet koordinaten för i Edgecam och sen manuellt updatera DRO'sarna i Mach3 (ofta till 0,0,0). Någon som har några tips angående det här / alternativa sätt att starta en fräsning...
Samt, finns det mer sätt än paranteser för att infoga kommentarer i koden i mach3?
Hursomhelst. En grej som jag fortfarande undrar över.. Ifall man homear maskinen under en sekvens (eller vid start). Hur hittar man tillbaks till arbetsstycket? Enda sättet jag kan komma på att starta mina sekvenser med är att jogga till nån punkt som jag vet koordinaten för i Edgecam och sen manuellt updatera DRO'sarna i Mach3 (ofta till 0,0,0). Någon som har några tips angående det här / alternativa sätt att starta en fräsning...
Samt, finns det mer sätt än paranteser för att infoga kommentarer i koden i mach3?
Det är det du använder work-offset till, alltså G54, G55, G56 osv. Börja med att referensköra maskinen. Gå sedan till Offset-skärmen, jogga till den punkt du vill ha som din "nolla", välj G54, G55 eller vilken offset du nu vill använda, och klicka sedan på ZeroX, ZeroY osv. När du gör det så ser du att DRO'n nollas och displayen för Current Work Offset visar avståndet från maskinens nollpunkt till arbetstyckets nollpunkt. Till sist klickar du Save Work Offsets.
Låt säga att du valde G55 ovan...nästa gång du startar maskinen så referenskör du och sedan gör du G55 G0 X0 Y0 så är du tillbaks på din "nolla".
Mach3 startar normalt sett upp i G54 och det finns ett par inställningar vad gäller offsets i Config/General Config. Om du gjort det jag beskrev ovan med G54 istället för G55 så hade du troligen märkt att det inte funkade. Det beror på inställningen som heter Copy G54 from G59.253 on startup.
Klart som korvspad?
Låt säga att du valde G55 ovan...nästa gång du startar maskinen så referenskör du och sedan gör du G55 G0 X0 Y0 så är du tillbaks på din "nolla".
Mach3 startar normalt sett upp i G54 och det finns ett par inställningar vad gäller offsets i Config/General Config. Om du gjort det jag beskrev ovan med G54 istället för G55 så hade du troligen märkt att det inte funkade. Det beror på inställningen som heter Copy G54 from G59.253 on startup.
Klart som korvspad?
Hej,
Nej, det har du rätt i...var tvungen att testa... Har aldrig reflekterat över det förut då jag alltid använder paranteser vid kommentarer - det fungerar i alla fall.
Lite konstigt att man använt snedstreck (om det nu är så) då det ju är "växeln" för att raden skall hoppas över när BlockDelete är PÅ.
Nej, det har du rätt i...var tvungen att testa... Har aldrig reflekterat över det förut då jag alltid använder paranteser vid kommentarer - det fungerar i alla fall.
Lite konstigt att man använt snedstreck (om det nu är så) då det ju är "växeln" för att raden skall hoppas över när BlockDelete är PÅ.