• Hallo zusammen, ich habe ein kleines Problem und zwar möchte ich gerne einen Zyklus an meiner Selbstgebauten CNC Fräse programmieren, nun steh ich vor dem Problem das mein erstelltes Programm nur halb funktioniert und ich nicht weiter komme. Vielleicht kann einer von euch einmal drüber schauen und mir evtl. helfen. Ich wäre euch sehr dankbar.

    Unbenannt.JPG

    Die grüne schleife sind die Koordinaten in X und Y Richtung, die rote schleife dagegen die Z Richtung. Mein Problem ist jetzt das die Grüne schleife durch läuft bis die Bedingung erfüllt ist dann soll sie in die Rote schliefe springen (in Z verfahren) und dann wieder mit der Grünen schliefe weitermachen solange bis die Rote schleife erfüllt ist.

    Die Rote Schleife ist meine Hauptbedingung.

    Das mit der Grünen schleife funktioniert soweit nur springt er mir dann nicht zurück nach oben.


  • Halli hallo,

    was macht, oder besser was soll dieser Zyklus machen( eine Rechtecktasche)? Du fährst alles mit dem Eilgang (G0), ist das gewollt? Und kannst du mir kurz die Parameter:

    100 bis 112 kurz erklären?

    100 ??
    102 wird der Sicherheitsabstand (Z) sein
    104 eine seitliche Zustellung in X und Y?
    105 die Zustellung in Z ?
    106 die gewollte Endtiefe in Z?
    107 die Spindeldrehzahl
    111 der Y Wert
    112 der X Wert

    Ich weiss, hat alles nicht direkt mit deinem Problem (Schleifen durchlauf) zu tun, aber ich kann es vielleicht besser nachvollziehen, wenn ich weiss was da geschehen sollte.

    Gruss Thomas


  • Nur mal so auf die Schnelle.

    mach mal aus:

    Roter Schleife
    alt => while [#106 > #102]
    WHILE [#106 GT #102] DO1
    .
    .
    und schliesse mit
    END1

    ab

    und die grüne
    alt => while [#100 > #112]
    WHILE [#100 GT #112] DO2
    .
    .
    und schliesse mit
    END2

    Gruss und gut Nacht, bis morgen.
    Thomas


  • Sorry für die verspätete Nachricht. Der Zyklus soll eine Rechteck Tasche fräsen. Das mit G0 wurde nur so programmiert das dies in der Simulation schneller durchläuft natürlich wird die Tasche später mit G1 Programmiert. Ich schick dir mal das ganze Programm muss mal deine Idee Probieren. Tasche fräsen.JPG


  • @schäffler Verwende doch bitte Code-Tags. 👍

    Dieser Button: </>

    Und füg da deinen Code ein. Mit Bildern arbeiten ist immer schwierig. 😄


  • ;Analog probe scanning example
    ;scanning starts at x=0, y=0
    #100 = 50  ;max x Koordinate
    #101 = 40  ;max y Koordinate
    #102 = 0  ;z Koordinate
    #103 = 1000 ; Vorschub
    #104 = 0.5  ;Radius des Fraesers
    #111 = 0   ;Aktuelle y Position
    #112 = 0   ;Aktuelle x Position
    #105 = 0   ;Z-Zustellung
    #106 = 0   ;Tiefe der Tasche
    #107 = 0   ;Drehzahl
    
    
    ;Here the program starts
    ;Generate a dialog
    dlgmsg "Rechteckicke Tasche" "max in X Achse" 100 "max in Y Achse" 101 "Z Start" 102 Vorschub 103 "Fraeserradius" 104 "Z Zustellung" 105 "Tiefe der Tasche" 106 "Drehzahl" 107 
    
    
    ;to scan height
    g0 z[#102]
    ;to start pos
    g0 x[#112] y[#111] 
    M3 M7
    
    ;scan lines in Y
    ;start analog probing
     
    g0 z3
    s[#107]
    
    
     #102 = [#102 + #105]
    
    while [#106>#102]
        g0 z-[#102+#105] 
    
    	while [#100>#112]
    	  g0 y[#111+#104] 
    	  g0 x-[#112+#104] 
    	  g0 y-[#111+#104] 
    	  g0 x[#112+#104] 
    	  g0 y[#111+#104] 
    	  g0 x[#112+#104] 
    	  #111 = [#111 + #104]
    	  g0 x-[#112+#104] 
    	  #112 = [#112 + #104] 
    	  f500
    	endwhile
         g0 x0 y0 
     
    endwhile
    m30
    
    

  • 
    while [#106>#102]
        g0 z-[#102+#105] 
        #102 = [#102+#105]     <= auch noch Einfügen
     
    	while [#100>#112]
    	  g0 y[#111+#104] 
    	  g0 x-[#112+#104] 
    	  g0 y-[#111+#104] 
    	  g0 x[#112+#104] 
    	  g0 y[#111+#104] 
    	  g0 x[#112+#104] 
    	  #111 = [#111 + #104]
    	  g0 x-[#112+#104] 
    	  #112 = [#112 + #104] 
    	  f500
    	endwhile
         
           #111 = 0    **aktuelle y Pos zurücksetzen**
           #112 = 0   **aktuelle x Pos zurücksetzen**
         g0 x0 y0 
     
    endwhile
    m30
    
    

    Du musst die aktuelle Pos. von der grünen Schleife auch noch zurücksetzten, da sonst die Bedingung nach dem ersten Durchlauf immer erfüllt ist. => while [#100>#112]

    Gilt auch für die rote Schleife,

    #102 = [#102+#105] <= einfügen. Da sich sonst NIE der 102er ändern würde.

    Ist mir über Mittag noch in den Sinn gekommen.

    Denke das ist eher die Lösung, als meinen ersten Vorschlag. 😂

    Gruss Thomas


  • @swisssat
    Hab es ausprobiert und siehe da, es klappt.
    Vielen dank Thomas. 👏 👍


  • @schäffler

    gern geschehen, aber warum zum Teufel tust du dir das an? Ich meine so ein CAM System wie Fusion360 ist doch massiv einfacher, komfortabler, schneller, Individueller und und und …

    Nicht böse gemeint, nur ne Frage.

    Gruss Thomas


  • @swisssat Ja, dass ist durchaus eine berechtigte Frage. Mein Hintergedanke ist wenn ich schnell mal eine Tasche, Lochkreis, Plane Fläche, etc. fräsen möchte dann soll das von der Fräse leicht Programmierbar sein, und nicht das ich zuerst in Fusion ein Programm schreiben muss. Bei EDING CNC ploppt dann dort ein Fenster auf in dem ich die Parameter eingebe dann fräst er mir den gewollten Zyklus ohne das ich erst ein Programm schreibe. Bei der Simulation klappt es ganz gut nur muss es noch in der Praxis klappen.

    Wenn es hinhaut werde ich dir mal ein Video schicken dann ist das vielleicht ersichtlicher.

    Gruß Patrick

Ähnliche Themen

  • 4
  • 4
  • 10
  • 1
  • 1