Optymalizacja kodu

Dyskusje dotyczące programowania G-Code

Autor tematu
IndyPoint
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 2
Posty: 34
Rejestracja: 16 paź 2014, 18:30
Lokalizacja: do kad

Optymalizacja kodu

#1

Post napisał: IndyPoint » 20 lip 2016, 19:47

Mam do powycinania w duraluminium otwory. W związku z biurkowa maszyna CNC chce wycinac w paru przebiegach zaglebiajac frez w każdym następnym przebiegu o nastepne 0,2mm do 1,6mm takiej (1,5mm) grubości jest blacha. Robie to w gcode za każdym razem podajac pozycje wrzeciona o 0,2mm nizej i powtarzanie w następnych liniach procedury ciecia.
Powoduje to szybkie przyrastanie linii kodu a mam ograniczenie do 500lini.
Chciałbym zatem uproscic ten kod. Czy jest jakas funkacja zapętlania linii (linii cięcia) w basicu jest to rozkaz "go to", by funkcja ciecia była powtarzana osiem razy a wrzeciono zaglebialo się o następne 0,2mm w stosunku do poprzedniej pozycji - bez podawania za każdym razem jego fizycznego położenia w mm.


Pozdrawiam
IndyPoint
asnieg()epf.pl

Tagi:


nutrash
Stały bywalec (min. 70)
Stały bywalec (min. 70)
Posty w temacie: 2
Posty: 70
Rejestracja: 29 sty 2016, 19:24
Lokalizacja: Wrocław

#2

Post napisał: nutrash » 20 lip 2016, 22:00

Pętle musisz rozpisać tj dodac inkrementalne wartości i licznik powtórzen


Autor tematu
IndyPoint
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 2
Posty: 34
Rejestracja: 16 paź 2014, 18:30
Lokalizacja: do kad

#3

Post napisał: IndyPoint » 21 lip 2016, 14:50

To znaczy jak zastapić taki kod:

N37G0X20.000Y6.000
N38G1Z-0.100F1.0
N39G0X20.000Y6.000F30.0
N40G03X20.000Y6.0000J5.25
N41G0X20.000Y6.000
N42G1Z-0.300F1.0
N43G0X20.000Y6.000F30.0
N44G03X20.000Y6.0000J5.25
N45G0X20.000Y6.000
N46G1Z-0.500F1.0
N47G0X20.000Y6.000F30.0
N48G03X20.000Y6.0000J5.25
N49G0X20.000Y6.000
N50G1Z-0.700F1.0
N51G0X20.000Y6.000F30.0
N52G03X20.000Y6.0000J5.25
N53G0X20.000Y6.000

wycinacne otworu fi 12,5mm (frez 2mm) na wysokościach -0,1mm, -0,3mm, -0,5 i -0,7mm
Ostatnio zmieniony 21 lip 2016, 15:13 przez IndyPoint, łącznie zmieniany 1 raz.
Pozdrawiam
IndyPoint
asnieg()epf.pl

Awatar użytkownika

micks
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 1
Posty: 37
Rejestracja: 29 paź 2012, 16:31
Lokalizacja: Polska

#4

Post napisał: micks » 21 lip 2016, 15:05

Witam, sprawdź czy coś takiego pójdzie:

...
N37G0X20.000Y6.000
z0.1
M97 P100 L4
...

m30

N100
G91g1 z-.2 f1.
g90
N37G0X20.000Y6.000
N39G0X20.000Y6.000F30.0
N40G03X20.000Y6.0000J5.25
N41G0X20.000Y6.000
m99
Ostatnio zmieniony 21 lip 2016, 15:52 przez micks, łącznie zmieniany 1 raz.

Awatar użytkownika

WZÓR
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 7974
Rejestracja: 01 sty 2009, 20:01
Lokalizacja: Oława

#5

Post napisał: WZÓR » 21 lip 2016, 15:13

W bloku N39 widzę błąd.
Przy G00 jest F
.... literówka (?)
micks pisze:Witam, sprawdź czy coś takiego pójdzie:

...
N37G0X20.000Y6.000
z0.1
M97 P100 L4
...

m30

N100
G91g1 z-.2 f1.
90
N37G0X20.000Y6.000
N39G0X20.000Y6.000F30.0
N40G03X20.000Y6.0000J5.25
N41G0X20.000Y6.000
m99
Twój program nie pojedzie .... nie widzę G90
... następna literówka (?)

Mariusz.
Pomagam w:
HAAS - frezarki, tokarki


nutrash
Stały bywalec (min. 70)
Stały bywalec (min. 70)
Posty w temacie: 2
Posty: 70
Rejestracja: 29 sty 2016, 19:24
Lokalizacja: Wrocław

#6

Post napisał: nutrash » 06 sie 2016, 19:23

L Z+2 R0 F MAX
L X0 Y-20 R0 F MAX
LBL SET "PETLA"
L IX0 IY+20 R0 F MAX
L IZ-2,2 R0 F AUTO
L IZ+2 R0 F MAX
LBL SET 0
CALL LBL "PETLA" REP7

Mniej więcej to miałem na myśli, tylko przerób z HH na czyste G. Ja w tym drugim bardzo rzadko piszę i nie chciałem Cię mylić jakimś swoim błędem. Ta pętla przesuwa jednocześnie 2 osie, możesz wywalić I przy IY i będzie tylko Z się zmieniał. Jeśli są do tego warunki możesz zgrać ilość zejść z ilością otworów i będzie wówczas bardzo krótki kod.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „G-CODE - programowanie”