Verfahrwege in einem GCode modifizieren
#1
Hallo,

den GCode für meine CNC-Fräse möchte ich, was die Bewegungen auf den 3Achsen XYZ anbelangt, um einen in eine Zelle für jede der 3 Achsen einzugebenden Wert korrigieren können, falls es erforderlich ist,

Für die vertikale Z-Achse sollen nur die negativen, nach unten gehenden Bewegungen korrigiert werden, für X und Y sowohl die positiven als auch die negativen Werte, d.h. die Bewegungen in beide Richtungen auf der Achse.

D.h. wenn ich die folgende Zeile habe

G01 X31.2154 Y-31.1846 F1500

und ich will dass die Fräse nicht bis zu obiger Position auf der X und der Y-Achse fährt, sondern 2mm weniger weit auf der X und 3mm weniger weit auf der Y, gebe ich in das Feld für die X-Korrektur -2 ein und in dasjenige für die Y-Korrektur -3, sodass die Zeile nach Umrechnen so aussieht:

G01 X29.2154 Y-28.1846 F1500


Eine ziemlich komplizierte Sache, die ich selbst nicht gelöst kriege.

Der Korrekturwert verringert sowohl die X+ Richtung wie auch die X- Richtung um den jeweiligen Wert. Idem für Y; für die Z-Achse werden wie gesagt immer nur die negativen Werte reduziert oder erhöht.

Hat jemand von euch eine Idee, wie das zu lösen ist?

Mit freundlichen Grüßen
Alooha


Angehängte Dateien
.xlsx   GCode korrigieren.xlsx (Größe: 15,16 KB / Downloads: 4)
Antworten Top
#2
Hallo,

Baue Deine Programmierung anders auf:

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFGHIJKLM
6G-Bef.Vors.Drehz.KoordinatenKorrektur
7XYZXYZ
8G01 X502 Z250 F100 M1000G01X502Z250F100M10005002502

ZelleFormel
A8=TEXTVERKETTEN(" ";WAHR;B8:G8)
C8=WENN(H8="";"";"X"&H8+K8)
D8=WENN(I8="";"";"Y"&I8+L8)
E8=WENN(J8="";"";"Z"&J8+M8)
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.2) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Programmiert habe ich ja nichts, dazu fehlen mir die Kenntnisse.
Du hast die einzelnen Bestandteile auseinandergepflückt. Aber wie? Manuell, da ich keine Formeln sehe die das bewerkstelligen würden?
Antworten Top
#4
Hallöchen,
Das geht zB mit Text in Spalten... Um XYZ in 3 verschiedene Spalten zu bekommen wenn mal Achsen fehlen ist allerdings etwas mehr nötig. Den Text XYZ kann man anschließend mit Suchen und Ersetzen entfernen. Man kann aber auch auf andere Weise vorgehen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo,


Zitat:Um XYZ in 3 verschiedene Spalten zu bekommen wenn mal Achsen fehlen ist allerdings etwas mehr nötig
In den meisten Zeilen gibt es nicht gleichzeitig X, Y und Z.



Zitat:Man kann aber auch auf andere Weise vorgehen.
Wie?
Antworten Top
#6
Hi,

wieso willst du da Excel bemühen?

Das kann die Steuerung doch ganz allein machen. Dafür gibt es die Befehle G54 bis G59, die einfach ein anderes Koordinatensystem aktivieren.

Bei vielen Maschinen kann man die Verschiebung sogar im Programm festlegen. Bei den Maschinen die ich kenne, geht das mit SetG54(x-Wert,y-Wert,z-Wert) oder auch mit G10 P1 x, y, z. Aber man kann die Werte auch händisch in den Maschinenparametern eingeben.

Also wozu Excel? Nur um sich dann wieder mit der Punkt/Komma-Problematik beim Im-/Export rumzuschlagen?
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#7
Hallo,
das ist mir nicht bekannt.
Wenn dem so ist, hast du natürlich Recht.
Mit Excel ist es auch möglich, aber dass es nicht einfach ist habe ich schon bemerkt. Ich habe es eben hingekriegt, die X-,X+,Y-,Y+,Z- Werte zu korrigieren, was ja eigentlich das ist was ich wollte.
Aber, aber ich weiß noch nicht, wie diese Korrekturen in die Zeile integrieren., mit u.a. G01, F500, S24000.

Da ich aber schon mal einen Teilerfolg erzielt habe, möchte ich trotzdem mal weitermachen, und wenn es nur wegen dem Spaß an der Freud wäre (ich habe immer gerne und viel in Excel gearbeitet, und das ist ein gutes Gehirntraining).

Momentan hänge ich an einer "Kleinigkeit": wie kann ich den korrigierten Code Z-2.5000 von dem 3 mm abgezogen werden = Z-5.5, als Z-5.5000 darstellen, d.h. mit 4 Dezimalstellen (Zelle N9 im angehängten WS)?

Ich habe mich auch eben dran gemacht, erst mal die X, Y und Z Werte zusammenzubringen ((Spalte U) und hänge momentan an der Situation wo es nur ein Z gibt von den 3 Achsen, da setzt Excel mir eine Leerstelle davor (u.a. U11 und U12), und ich habe bisher nicht verstanden wieso und wie dem aufhelfen. Es hat damit zu tun dass ich nicht korrekt zu unterscheiden weiß zwischen Zellen die eine Formel enthalten die einen Wert anzeigt und denen die keinen anzeigen, wo die Zelle anscheinend leer ist. Wie geht das schon wieder?

Ich hatte schon mal eine Lösung, eine viel elegantere als die meinige, aber da fehlt X+ Y+ und ich kriege es nicht hin, die zu integrieren, weshalb ich von 0 begonnen habe.

Ich werde mich mal schlau machen, was die Möglichkeiten anbelangt, diese Korrekturen auf eine andere Art und Weise in den Code zu integrieren, direkt in Estlcam geht es jedenfalls nicht, das muß dann in einem Editor geschehen.
Wenn das in einer einzigen Zeile möglich ist, ist das natürlich die bessere und einfachere Lösung.

Aber ich will ja nicht den Nullpunkt verschieben, sondern den Weg den die Fräse in beide Richtungen der x und Y Achse verkürzen sowie in die negative Richtung der Z Achse verlängerner . Für die Z-Achse müsste das dann mit einer Nullpunktverschiebung gehen, nicht aber für die beiden anderen. Oder liege ich da falsch?
MfG
Alooha


Angehängte Dateien
.xlsx   GCode korrigieren 1.xlsx (Größe: 17,71 KB / Downloads: 0)
Antworten Top
#8
Ein UDF:

Code:
Function F_snb(c00, sn)
  st = Split(c00)
  
  For j = 1 To UBound(st)
    y = IIf(Mid(st(j), 2, 1) = "-", -1, 1)
    If InStr("XYZ", Left(st(j), 1)) Then st(j) = Left(st(j), 1) & y * sn(InStr("XYZ", Left(st(j), 1))) + Mid(st(j), 2) / 10 ^ 4
  Next
  
  F_snb = Replace(Join(st), ",", ".")
End Function
In D6:
PHP-Code:
=F_snb(A6;$C$1:$C$3
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
Hallo,
Wo muß ich diesen Code einfügen und was bewirkt die Funktion?
Ich habe ihn in ThisWorkbook eingefügt, aber VBA scheint sich schwer zu tun damit.
MfG
Alooha


Angehängte Dateien Thumbnail(s)
   

.xlsm   GCode korrigieren 1.xlsm (Größe: 23,28 KB / Downloads: 0)
Antworten Top
#10
... der Code kommt in ein "normales" Modul - das musst Du erst einfügen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste