If - then Code überspringen

Steuerungssoftware, CAM, 2D/3D CAD, G-Code Editoren
Antworten
jantiefie
Beiträge: 12
Registriert: 25.06.2025, 06:13

If - then Code überspringen

Beitrag von jantiefie » 01.07.2025, 07:38

Hallo Leute,

ich arbeite seit einem halben Jahr an einer Haas VF7 3 Achs mit Fusion 360 und fertige Einzelteile.

Ich benutze gerne Z-0,3 Bohrungen beim Einrichtteil um zu überprüfen ob meine Geometrie passt, also ob ich richtig eingemessen habe und alles da sitzt wo es sollte bevor ich richtig bohre und fräse.

Ich würde gerne nachdem ich das Teil eingefahren habe diese M00 Zeilen zukünftig überspringen, da ich das Teil bereits eingefahren habe.

Kann mir jemand erklären, wie ich mit der If-Then Funktion einen Code -Bereich überspringen kann?

Beispiel: ich möchte zukünftig N105 - N280 überspringen, wenn N22 = 1 ist.

(Beispielcode)

%
O01001
(Using G0 which travels along dogleg path.)
N10 G90 G94 G17
N15 G21
N20 G53 G0 Z0.

(X Tasten)
N25 T30 M6
(Taster - 6)
N30 G17 G90 G94
N35 G54
N40 G1 X-33. Y-12.232 F10000.
N45 G0 G43 Z200. H30
N50 T1
N55 G65 P9832
N60 G1 F10000.
N65 G65 P9810 Z100. F3000.
N70 G65 P9810 Z-3.
N75 G65 P9811 X0. Q10. S1.
N80 G65 P9810 Z100.
N85 G1 Z200. F10000.
N90 G65 P9833
N95 M5
N100 G53 G0 Z0.

(Vo Bo D3,3)
N105 M1
N110 T1 M6
(Bo - 3,5 - VHM)
N115 M88
N120 S12539 M3
N125 G17 G90 G94
N130 G54
N135 M88
N140 G1 X5. Y-20.5 F10000.
N145 G0 G43 Z200. H1
N150 T26
N155 G1 F10000.
N160 Z100.
N165 G98 G81 X5. Y-20.5 Z-0.17 R5.13 F501.58
N170 X12. Y-7.
N175 X26.
N180 X30.4 Y-20.5
N185 G80
N190 G1 Z200. F10000.
N195
N200 (--------------------------------------------------------------------------------)
N205
N210 (Kontrolle)
N215
N220
N225 G53 G0 Z0
N230 G53 G0 Y0.
N235 G53 G0 X-1100.
N240 M00
N245 M03
N250
N255
N260 (Kontrolle)
N265
N270 (--------------------------------------------------------------------------------)
N275
N280

(Bo D3,3)
N285 S12539 M3
N290 M88
N295 G1 X5. Y-20.5 F10000.
N300 Z200. F10000.
N305 Z100.
N310 G98 G81 X5. Y-20.5 Z-5.87 R5.13 F501.58
N315 X12. Y-7.
N320 X26.
N325 X30.4 Y-20.5
N330 G80
N335 G1 Z200. F10000.
N340 M89
N345 M5
N350 G53 G0 Z0.

Ich würde mich sehr freuen, wenn mir da jemand weiterhelfen könnte.


Grüße

Jan

Benutzeravatar
Olli-CNC
Beiträge: 766
Registriert: 01.01.2018, 12:13

Re: If - then Code überspringen

Beitrag von Olli-CNC » 01.07.2025, 10:04

Moin,

also, dass wäre schon ziemlich umständlich so, ich kenne es von Heidenhain, Siemens und Fanuc so, dass
man Sätze ausblenden kann, vor dem Satz wird dann ein "/" gesetzt und durch eine Taste, Schalter o.Ä. aktiviert oder deaktiviert.
Würde mich wundern wenn die Haas so etwas nicht hat.

Beispiel:

/ M0 und Schalter für Ausblenden aktiv, dann wird der Satz übersprungen, Schalter inaktiv und der Satz wird ausgeführt.


Gruß
Olli
Baubericht CNC-Fräse CITO
DIY CNC-Drehmaschine mit LinuxCNC

Anton
Beiträge: 245
Registriert: 13.08.2020, 12:34

Re: If - then Code überspringen

Beitrag von Anton » 01.07.2025, 18:17

Moin,

ich kenne die Haas Steuerung nicht.

Die KI Copilot sagt folgendes:

Ja, bei der HAAS CNC-Steuerung (insbesondere mit der Fanuc-ähnlichen Steuerungssprache) gibt es keine direkte IF...THEN-Struktur wie in Hochsprachen. Stattdessen verwendet man Makrovariablen und bedingte Sprünge mit IF-Bedingungen und GOTO.

Beispiel: N105–N280 überspringen, wenn N22 = 1
Du kannst das mit einer Makrovariablen und einem IF-Statement mit GOTO lösen. Hier ein Beispiel, wie du das umsetzen könntest:


%
O01001
...

#22 = 1 (Setze Variable 22, z.B. durch vorherige Eingabe oder Programmteil)

IF[#22 EQ 1] GOTO 1000 (Wenn #22 gleich 1, springe zu N1000)

N105 M1
N110 T1 M6
...
N280

N1000 (Hier geht es weiter, wenn #22 = 1)
N285 S12539 M3
...
%

Keine Ahnung, ob das GOTO bei Dir funktioniert.
VGA
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel
https://www.youtube.com/@boessi

jantiefie
Beiträge: 12
Registriert: 25.06.2025, 06:13

Re: If - then Code überspringen

Beitrag von jantiefie » 02.07.2025, 06:29

Vielen Dank,

ich werde das gleich mal probieren.

jantiefie
Beiträge: 12
Registriert: 25.06.2025, 06:13

Re: If - then Code überspringen

Beitrag von jantiefie » 02.07.2025, 07:23

Hallo und danke noch mal für deine Hilfe.

Der Code unten funktioniert mit einer Einschränkung.
Fusion schreib, wenn ein Werkzeug mehrmals hintereinander geschrieben wird, den Werkzeugwechsel nur ein Mal in den GCode.
Wenn ich aber in der Spindel ein anderes Werkzeug habe und ich dann mit Goto zu dem Code springe wie hier zu N230, dann wird die Maschine versuchen mit dem falschen Werkzeug zu arbeiten.

Gibt es eine Möglichkeit Fusion zu sagen, dass bei jeder Bearbeitung im Code vorher der Werkzeugwechsel reingeschrieben wird, auch wenn sich das selbe Werkzeug wiederholt?

Ich hoffe mein Problem ist verständlich geworden.

Grüße


%
O01002
(Using G0 which travels along dogleg path.)
N10 G90 G94 G17
N15 G21
N20
N25 (--------------------------------------------------------------------------------)
N30
N35 #500 = 1
N40 IF[#500 EQ 1] GOTO 230
N45
N50 (--------------------------------------------------------------------------------)
N55
N60
N65 G53 G0 Z0.

(Vo Bo D3,3)
N70 T1 M6
(Bo - 3,3 - VHM)
N75 S12539 M3
N80 G17 G90 G94
N85 G54
N90 G1 X-5.5 Y-10. F10000.
N95 G0 G43 Z200. H1
N100 G1 F10000.
N105 Z100.
N110 G98 G81 X-5.5 Y-10. Z-0.3 R5. F501.58
N115 X-14.5
N120 X-30. Y-14.5
N125 Y-5.5
N130 G80
N135 G1 Z200. F10000.
N140
N145 (--------------------------------------------------------------------------------)
N150
N155 (Kontrolle)
N160
N165
N170 G53 G0 Z0
N175 G53 G0 Y0.
N180 G53 G0 X-1100.
N185 M00
N190 M03
N195
N200
N205 (Kontrolle)
N210
N215 (--------------------------------------------------------------------------------)
N220
N225

(Bo D3,3)
N230 G1 X-5.5 Y-10. F10000.
N235 Z200. F10000.
N240 Z100.
N245 G98 G81 X-5.5 Y-10. Z-3. R5. F501.58
N250 X-14.5
N255 X-30. Y-14.5
N260 Y-5.5
N265 G80
N270 G1 Z200. F10000.
N275
N280 (--------------------------------------------------------------------------------)
N285
N290
N295 M5
N300 M9
N305 G53 G0 Z0.
N310 G53 G0 X-1100.
N315 G53 G0 Y0.
N320 M30
N325
N330 %
N335
N340 (--------------------------------------------------------------------------------)

N345 M5
N350 G53 G0 Z0.
N355 X-20.
N360 G53 G0 Y0.
N365 M30

%

sswjs
Beiträge: 940
Registriert: 23.09.2016, 16:52

Re: If - then Code überspringen

Beitrag von sswjs » 02.07.2025, 13:21

Moin,
jantiefie hat geschrieben:
02.07.2025, 07:23
Gibt es eine Möglichkeit Fusion zu sagen, dass bei jeder Bearbeitung im Code vorher der Werkzeugwechsel reingeschrieben wird, auch wenn sich das selbe Werkzeug wiederholt?
ja, gibt es. Einfach den Postprozessor umschreiben.

sswjs,aka Jens
Maschinen: BZT PFE1000 mit 1,5kW Suhner, High-Z 1000 mit Kress FME-1050/1, Sorotec HL 4530 mit Kress FME-1050, China 3018, Stepcraft 1/600 umgebaut mit Kress FME-1050

Benutzeravatar
Olli-CNC
Beiträge: 766
Registriert: 01.01.2018, 12:13

Re: If - then Code überspringen

Beitrag von Olli-CNC » 02.07.2025, 13:43

Warum setzt du anstatt

N40 IF[#500 EQ 1] GOTO 230

das Ganze nicht zwischen Satz 85 und 90 ein, dann wird doch alles Benötigte mitgelesen und du brauchst den Postprozessor nicht ändern.


Gruß
Olli

Ps.: Vielleicht kannst du mir ja noch kurz darauf antworten, ob die Haas keine Funktion hat, um Sätze auszublenden, denn das würde alles nochmal einfacher machen ;)
Baubericht CNC-Fräse CITO
DIY CNC-Drehmaschine mit LinuxCNC

Anton
Beiträge: 245
Registriert: 13.08.2020, 12:34

Re: If - then Code überspringen

Beitrag von Anton » 02.07.2025, 14:42

Hi Jan,

ich habe ein kurzes Video (Quick and Dirty) mit meiner Sichtweise zu den Kontrollbohrungen als nicht gelistetes YT-Video erstellt:

https://youtu.be/IgKr0yt7bTA

VGA

P.S. Evtl. musst Du die Endung .cps auf .txt ändern, wenn Du deinen PP bei einer KI hochladen möchtest! .cps nehmen die meisten KIs nicht an.
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel
https://www.youtube.com/@boessi

jantiefie
Beiträge: 12
Registriert: 25.06.2025, 06:13

Re: If - then Code überspringen

Beitrag von jantiefie » 03.07.2025, 06:53

Hallo,

die Haas hat die Möglichkeit Sätze mit / auszublenden.
Ich verwende diese Makrofunktion 0 / 1 um Zyklen zu überspringen die nicht mehr abgefahren werden müssen. Vereinfacht für mich einfach Prozesse, da ich Viele Einzelteile am Tag habe und die Kontrollzyklen nur ein Mal am Anfang brauche.

Im Programmkopf eine 1 eingeben um Zyklen zu überspringen geht halt wesentlich schneller als Zyklen mit / komplett auszublenden.
Ich kann diese Funktion ja auch nutzen um zum Beispiel Passungen mit dem Taster zu messen und muss dies auch nicht bei jedem Teil machen, daher versuche ich jetzt mehr mit Makros zu arbeiten.

Grüße

jantiefie
Beiträge: 12
Registriert: 25.06.2025, 06:13

Re: If - then Code überspringen

Beitrag von jantiefie » 03.07.2025, 07:11

Anton hat geschrieben:
02.07.2025, 14:42
Hi Jan,

ich habe ein kurzes Video (Quick and Dirty) mit meiner Sichtweise zu den Kontrollbohrungen als nicht gelistetes YT-Video erstellt:

https://youtu.be/IgKr0yt7bTA

VGA

P.S. Evtl. musst Du die Endung .cps auf .txt ändern, wenn Du deinen PP bei einer KI hochladen möchtest! .cps nehmen die meisten KIs nicht an.
Vielen Dank für das Video. Ich werde das nachher mal umsetzen und über die Ergebnisse berichten.

Grüße

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste