Incrementele coordinaten en radiuscompensatie

Nederlandse CNC controller op basis van de usb poort of Ethernet.

Moderator: Moderators

Plaats reactie
Gebruikersavatar
Breaker
Donateur
Berichten: 1963
Lid geworden op: 26 mei 2015 22:43
Locatie: Nabij Antwerpen
Contacteer:

Incrementele coordinaten en radiuscompensatie

Bericht door Breaker »

Al het getik op mijn machine heeft toch z'n beperkingen dus ik ben wel benieuwd geworden naar de mogelijkheden van EdingCNC. Ik heb een eenvoudige bewerking van m'n machine genomen en die probeer ik om te zetten bij wijze van test.

Onderstaand programma maakt twee ronde pockets van 8mm diep en een diameter van 14mm op 20 mm van elkaar. Het hoofdprogramma verplaatst de frees, het subprogramma maakt de pocket (als soort van subroutine).

Code: Selecteer alles

O0001
-----
N0000 G54
N0010 G94 F35
N0020 T0303               (D=10mm)
N0030 M03 S2000
N0040 G00 U20 V20 Z1      (verplaats naar 1ste punt)
N0050 G25 L8001           (programma 80/1 keer)
N0060 G00 U20 Z1          (2de punt 20 mm naar rechts)
N0070 G25 L8001           (programma 80/1 keer)
N0080 G00 ...             (volgende punt)
N0090 G25 L8001
....
N0240 X0 Y0 Z50           (terug naar startpunt)
N0250 M30

O0080
-----
N0010 G01 Z-8
N0020 G42                 (compensatie aan)
N0020 G01 U-7 V0          (7mm naar links, met compensatie en r=5mm dus maar 2 mm)
N0030 G02 U0 V0 I7 J0     (eindpunt=beginpunt, pocket met r=7mm)
N0040 G40 G00 U7 Z1       (compensatie uit, ga naar uitgangspunt)
N0050 M17                 (terug naar hoofdprogramma)
Ditzelfde simuleer ik in EdingCNC, maar liep tegen wat zaken aan, zo lijkt er geen mogelijkheid te zijn voor incrementele coordinaten (U,V,W) en die zijn juist zo handig in situaties die met bogen en circels werken want dan zijn geen (te bereken) absolute coordinaten nodig. Ook de radiuscompensatie kreeg ik niet werkend.

Code: Selecteer alles

; Programma
; ---------
G54
G94
M06 T0003                 (D=10mm)    
M03 S2000 F35
G00 X20 Y20 Z1            (verplaats naar 1ste punt)
GOSUB Pocket
G00 X40 Z1                (2de punt in absolute coordinaten)
GOSUB Pocket
; G00 ...                 (volgende punt)
; GOSUB Pocket
X0 Y0 Z50                 (terug naar startpunt)
M30

Sub Pocket
    G10 L20 P2 X0 Y0      (set nulcoordinaten op dit punt)
    G55
    G01 Z-8
    ; G42                 (Foutmelding: 'Concave corner with cutter radius comp')
    ; G42.1 D10           (Alternatief maar dezelfde fout)
    G01 X-7 Y0
    G02 X-7 Y0 I7 J0
    G40
    G00 X0 Y0 Z1
    G54
Endsub
Dus eigenlijk twee vragen...:
- Hoe gaan jullie om met incrementele coordinaten? Of wordt het uberhaupt niet meer gebruikt?
- Waar zit de fout in radiuscompensatie?
Geduld is een schone zaak, frezen niet...
Jensorie
Berichten: 731
Lid geworden op: 27 aug 2008 22:44

Re: Incrementele coordinaten en radiuscompensatie

Bericht door Jensorie »

Op mn telefoon kan ik t allemaal wat minder goed checken, maar wordt in plaats van U V W geen I J K gebruikt?
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12050
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Incrementele coordinaten en radiuscompensatie

Bericht door hugo stoutjesdijk »

Je kunt toch G91 gebruiken ?
Dat is nl. de normale methode voor incrementele maten.
Maar als jij als eerste beweging U20 V20 schrijft, verplaats de machine dus van de huidige positie in de X20 en Y20 in incrementele bemating, eigenlijk wordt het programma dus op een toevallig punt uitgevoerd.
Een incrementele beweging van 0 heeft weinig nut, dus kun je weg laten.
N0030 G02 U0 V0 I7 J0 >= G2 I7 J0
incrementeel en absoluut kan dacht ik niet in edingcnc, wel in linuxcnc
G00 U20 V20 Z1 >G0 G91 X20 Y20 G90 Z1 zou moeten werken als ik het me goed herinner.

Welke besturing gebruik je eigenlijk ?
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Incrementele coordinaten en radiuscompensatie

Bericht door Arie Kabaalstra »

incrementeel en absoluut KAN wel in EdingCNC, maar dan moet je een trucje uithalen.. je telt de beweging gewoon op bij de As parameter..
#5001 = X, #5002=Y enzovoorts..
dus.. als ik naar X10 wil en Y 20 mm verderop (dus X abs en Y inc.. ) dan tik je:

G01 X10 Y[#5002+20] F100.. Makkie..

Wat ik met Cycli doe, is dat ik alle coordinaten bereken vanuit de startpositie van de cyclus.. als ik op mijn startpositie ben dan kopiëer ik #5001 tm #5003 naar andere parameters.. en die gebruik ik om mijn bewegingen te bepalen..

RadiusCompensatie werkt nog niet helemaal volledig.. maar als je de vorm al weet.. dan programmeer je toch gewoon zelf de equidistante?.. pak gewoon de Toolradius parameter om de boel te verrekenen.. zo moeilijk is dat niet..
Gebruikersavatar
Breaker
Donateur
Berichten: 1963
Lid geworden op: 26 mei 2015 22:43
Locatie: Nabij Antwerpen
Contacteer:

Re: Incrementele coordinaten en radiuscompensatie

Bericht door Breaker »

Jensorie schreef:...wordt in plaats van U V W geen I J K gebruikt?
I,J,K staan te boek als interpolatie parameters en geven ook een foutmelding 'I word with no G2 or G3 or G89 or G43.1 to use it'
hugo stoutendijk schreef:Je kunt toch G91 gebruiken ? Dat is nl. de normale methode voor incrementele maten.
...
Welke besturing gebruik je eigenlijk ?
G91 is nieuw voor me, zit niet op mijn machine. Zou wel ideaal zijn als het zo werkt, maar krijg vooralsnog hele rare paden, waarschijnlijk stap ik niet goed terug met G54 of G92. Moet ik sowieso nog eens wat dieper induiken.

Besturing nu is Emcotronic M1, werkt best goed en snel als het niet te ingewikkeld wordt.
Arie Kabaalstra schreef:As parameter..
#5001 = X, #5002=Y enzovoorts.
...
RadiusCompensatie werkt nog niet helemaal volledig..
Ik was nog niet door alle 6000 parameters heen gelopen, maar dit idee is natuurlijk wel een groot voordeel van een moderne besturing.

Goed om te weten dat radius compensatie nog niet volledig werkt, wel jammer want zoiets went snel, maar ik vond parameter 5009 in het lijstje. Dus kwam hier op uit, inclusief weglaten overbodige ballast:

Code: Selecteer alles

; Programma
; ---------
G54
G94
M06 T0003	                      (D=10mm)	
M03 S2000 F35
G00 X20 Y20 Z1	                 (verplaats naar 1ste punt)
GOSUB Pocket
G00 X[#5001+20] Z1                (2de punt)
GOSUB Pocket
; G00 ...	                      (volgende punt)
; GOSUB Pocket
G00 X0 Y0 Z1                      (terug naar startpunt)
M30

Sub Pocket
   G10 L20 P2 X0 Y0		         (set startcoordinaten op dit punt)
   G55
   G01 Z-8
   G01 X[#5009-7] 
   G02 X[#5009-7] I[7-#5009] J0
   G00 X0 Z1
   G54
Endsub
Dank, helpt me weer op weg!
Geduld is een schone zaak, frezen niet...
Plaats reactie