Wiederkehrende Lochmuster erfordern selten ein langes NC-Programm. Bilden die Koordinaten eine einfache Reihe, reichen oft ein G81-Standardzyklus, inkrementelle Positionierung mit G91 und eine Wiederholungszahl L aus. Bei einem rechteckigen Raster, mehreren Bauteilgrößen oder häufig wechselndem Rastermaß wird das manuelle Bearbeiten jeder Koordinate jedoch langsam und fehleranfällig. Makroprogrammierung hält die wiederkehrende Logik in einer Unterprogrammroutine und übergibt Maße sowie Lochanzahl als Parameter.
Das folgende Beispiel ist für eine Haas-Frässteuerung mit Makrooption ausgelegt. Variablenzuweisungen, Schleifensyntax und Unterprogrammaufrufe unterscheiden sich je nach CNC-Steuerung und Softwarekonfiguration. Prüfen Sie immer das Handbuch der jeweiligen Steuerung, verifizieren Sie das Programm grafisch und führen Sie den ersten Lauf über dem Werkstück durch.
Wenn ein Standardzyklus ausreicht
G81 eliminiert bereits den Großteil des wiederholten Codes bei Bohrvorgängen. Nach Aktivierung bohrt die Steuerung an jeder neuen X/Y-Position, bis G80 den Zyklus abbricht. Die Haas-Dokumentation zeigt, wie eine inkrementelle X-Bewegung und ein L-Wert eine Reihe gleichmäßig verteilter Löcher erzeugen:
G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90Diese Lösung eignet sich gut für eine gerade Lochreihe. Das erste Loch entsteht an der Stelle, an der G81 aktiviert wird, während G91 X25. L4 vier weitere Positionen hinzufügt. Wird die erste Zyklusausführung übersehen, kann ein zusätzliches Loch entstehen oder das Muster verschoben werden.
Weitere Standardzyklen decken unterschiedliche Bohrverfahren ab. G82 fügt eine Verweilzeit am Grund hinzu, G83 dient für das Peck-Bohrverfahren, und G98 bzw. G99 steuern die Rückkehrhöhe. Der gewählte Zyklus muss zum Werkzeug, zur Tiefe, zum Material und zur Späneförderung passen. Das Makro steuert Geometrie und Wiederholung; es ersetzt nicht den richtigen Bohrprozess.
Was ein parametrisiertes Makro bringt
Ein rechteckiges Raster lässt sich mit neun Werten definieren: Koordinaten des ersten Lochs, Rastermaß in X und Y, Anzahl der Spalten und Reihen, Bohrtiefe, R-Ebene und Vorschub. Der Bediener ändert nur einen Aufruf, während verschachtelte Schleifen jede Lochposition berechnen.
Im folgenden Aufruf definieren X und Y den Rasterursprung, I und J das Rastermaß, A und B die Anzahl der Spalten und Reihen:
G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.Bei Haas-Steuerungen werden G65-Argumente lokalen Makrovariablen zugeordnet. In diesem Beispiel entspricht X #24, Y #25, I #4, J #5, A #1, B #2, Z #26, R #18 und F #9. Jeder G65-Aufruf liefert ein neues Set lokaler Variablen, sodass derselbe Makrocode mit unterschiedlichen Parametern läuft.
Makro für rechteckiges Raster
O09010 (DRILL RECTANGULAR PATTERN)
#30 = 0 (ROW INDEX)
WHILE [#30 LT #2] DO1
#31 = 0 (COLUMN INDEX)
WHILE [#31 LT #1] DO2
#32 = [#24 + #31 * #4] (CURRENT X)
#33 = [#25 + #30 * #5] (CURRENT Y)
G90 G00 X#32 Y#33
G81 Z#26 R#18 F#9
G80
#31 = #31 + 1
END2
#30 = #30 + 1
END1
M99Die äußere Schleife zählt die Reihen, die innere die Spalten. Jede Koordinate berechnet sich durch Addition des Startpunkts und des Produkts aus Positionsindex und Rastermaß. Bei A4 und B3 bohrt das Makro zwölf Löcher: vier in jeder der drei Reihen.
In dieser Lehrversion wird G81 an jeder Position aktiviert und deaktiviert. Das verursacht etwas mehr Laufzeit, hält aber den Zyklusstatus auf eine Operation begrenzt. In der Produktion kann der Zyklus über mehrere Positionen aktiv bleiben, erfordert dann aber sorgfältige Kontrolle von Erstausführung, modalen Zuständen und G80-Abbruch.
Hauptprogramm und sichere Zustände
Das Makro sollte Werkzeugnummer, Längenkompensation, Drehzahl oder Arbeitsversatz nicht selbst ermitteln. Diese Werte gehören ins Hauptprogramm, damit die Einrichtung leichter überprüfbar ist.
O01000
G90 G17 G40 G49 G80 G94
G54
T1 M06
S1800 M03
G00 X10. Y20.
G43 H01 Z50.
M08
G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.
G80
G00 Z50.
M09
M05
G53 G00 Z0.
M30Dieses Programm legt vor dem Makroaufruf die Ebene G17, absolutes Programmieren G90, Werkstückkoordinatensystem G54 und Werkzeuglängenkompensation G43 H01 fest. Sichere Höhen, Rückzug in Maschinenkoordinaten und Einschaltreihenfolge der Ausstattung müssen der Maschine und dem betrieblichen Standard entsprechen.
Prüfungen, die ein Produktionsmakro braucht
Parametrisierter Code reduziert manuelle Änderungen, doch ein falscher Parameter kann das gesamte Lochmuster verändern. Ein Produktionsmakro sollte Eingaben validieren. Reihen- und Spaltenzahlen müssen positive ganze Zahlen sein, die R-Ebene auf der sicheren Seite der Werkstückoberfläche liegen, und die berechneten X/Y-Positionen innerhalb der Werkstückgrenzen und Maschinenwege bleiben.
- Überprüfen Sie die Zuordnung der Argumentbuchstaben zu lokalen Variablen für die jeweilige Steuerung.
- Stellen Sie sicher, dass DO- und END-Nummern in verschachtelten Schleifen korrekt paaren.
- Berechnen Sie den letzten Punkt vorab: X + (A − 1) × I und Y + (B − 1) × J.
- Prüfen Sie das Vorzeichen von Z, die Position der R-Ebene und den Rückkehrmodus G98 oder G99.
- Führen Sie zuerst eine grafische Simulation durch, danach Einzelblock mit reduziertem Schnellvorschub.
- Bei eingespannten Werkstücken kontrollieren Sie nicht nur Bohrpunkte, sondern auch Verfahrwege.
Schutz gegen fehlende Argumente ist ebenfalls sinnvoll. Auf Steuerungen, bei denen nicht gesetzte lokale Variablen leer sind, kann das Makro vor Bewegungsbeginn eine Fehlermeldung ausgeben. Die korrekte Syntax für Leerwertprüfung und Alarm entnehmen Sie dem Handbuch der Steuerung.
Wann das Makro wirklich Arbeit spart
Bei einem Einzelteil mit fünf bekannten Löchern ist ein einfacher G81-Zyklus mit Koordinatenliste oft übersichtlicher. Ein Makro lohnt sich, wenn sich das Muster nach klaren Regeln ändert: rechteckige oder kreisförmige Anordnungen, mehrere Größen eines Teils, wiederkehrende Löcher unter verschiedenen Arbeitsversätzen oder eine Produktfamilie mit gemeinsamem Bohrprozess.
Ein wartbares Makro hat eine klar definierte Aufgabe und eine verständliche Schnittstelle. Dokumentieren Sie jeden Parameter in Kommentaren oder im Rüstblatt, und bewahren Sie ein gültiges Beispiel direkt mit dem Programm auf. So kann der Einrichter Rastermaße und Bearbeitungswerte ändern, ohne Schleifenzähler oder Koordinatenformeln anzupassen.
Haas stellt offizielle Referenzen bereit für G65-Parameterzuordnung und lokale Variablen sowie für Standardbohrzyklen. Nutzen Sie diese als Ausgangspunkt und prüfen Sie die Funktion anhand der auf der Maschine installierten Softwareversion.