CNC-Vertiefung und Prozessoptimierung – Unterprogramme sinnvoll verwenden
CNC-Vertiefung und Prozessoptimierung – Unterprogramme sinnvoll verwenden
Einleitung
In diesem aiMOOC vertiefst Du die CNC-Programmierung mit einem klaren Ziel: wiederkehrende Konturen nur einmal sauber programmieren und anschließend kontrolliert wiederverwenden. Dadurch werden Programme übersichtlicher, Änderungen einfacher und Fehlerquellen durch mehrfach kopierten Code kleiner.
Wichtig: Unterprogramme verkürzen vor allem den Programmier- und Pflegeaufwand. Eine kürzere Programmdatei bedeutet nicht automatisch eine kürzere Bearbeitungszeit.

Ausbildungsfall: In einer Übungs-Halteplatte sollen vier gleiche Konturen an vier Positionen gefertigt werden. Ein altes Programm enthält dieselbe Kontur viermal. Deine Aufgabe ist es, daraus einen wartbaren Programmaufbau mit Haupt- und Unterprogramm zu entwickeln und ausschließlich in einer geeigneten CNC-Simulation zu prüfen, bevor überhaupt über einen realen Probelauf gesprochen wird.
Sicherheitsregel für den gesamten Kurs: Maschinenabläufe werden zuerst simuliert. Es gibt keine automatische Live-Ansteuerung aus diesem Kurs heraus. Schutzeinrichtungen werden niemals umgangen oder manipuliert. Reale Arbeiten erfolgen nur unter geeigneter Fachaufsicht, nach Unterweisung und mit betrieblicher Freigabe.
Lernziele
Nach dem Kurs kannst Du Haupt- und Unterprogramm unterscheiden, wiederkehrende Programmteile erkennen, einen wartbaren Programmaufbau planen, steuerungsspezifische Unterschiede beachten, Simulationsergebnisse begründen und eine sichere Freigabeentscheidung vorbereiten.
Lerneinheit 1: Wiederholung erkennen
Ein Unterprogramm lohnt sich besonders, wenn dieselbe Bearbeitungslogik mehrfach vorkommt: gleiche Kontur, gleiches Bohrbild, wiederkehrender Ablauf oder wiederholte Zustellung.
| Beobachtung im Altprogramm | Konsequenz |
|---|---|
| Kontur viermal kopiert | Änderung muss viermal gepflegt werden |
| Gleiche Logik an mehreren Stellen | Kandidat für Unterprogramm |
| Jeder Abschnitt ist geometrisch anders | Unterprogramm bringt möglicherweise wenig |

Arbeitsauftrag zum Bild: Beschreibe in zwei Sätzen, welche Teile des Bearbeitungsablaufs bei mehreren gleichen Konturen identisch bleiben und welche Informationen sich von Position zu Position ändern können.
Lerneinheit 2: Hauptprogramm und Unterprogramm
Das Hauptprogramm organisiert den Gesamtprozess. Das Unterprogramm enthält den wiederverwendbaren Baustein. Nach dessen Abarbeitung wird an die aufrufende Stelle zurückgesprungen.
Ablauf: Hauptprogramm → Position festlegen → Unterprogramm aufrufen → Kontur abarbeiten → Rücksprung → nächste Position.
| Hauptprogramm | Unterprogramm |
|---|---|
| Reihenfolge der Bearbeitungen | Wiederkehrender Bearbeitungsbaustein |
| Positionswechsel | Konturlogik |
| Werkzeug- und Prozessorganisation | klar definierter Rücksprung |
| Freigabe des nächsten Schritts | möglichst geringe versteckte Abhängigkeiten |
Merksatz: Ein gutes Unterprogramm hat eine klare Aufgabe und verändert nur das, was für diese Aufgabe notwendig ist.
Lerneinheit 3: Beispielsyntax verstehen, nicht blind übertragen
Die Schreibweise von Unterprogrammaufrufen ist steuerungsspezifisch. Im folgenden, bewusst unvollständigen Beispiel wird eine von Haas dokumentierte M98/M99-Struktur gezeigt. Sie dient hier nur zum Verstehen und Simulieren.
O1000 (SIMULATION HALTEPLATTE) (POSITION A FESTLEGEN) M98 P9001 (POSITION B FESTLEGEN) M98 P9001 (POSITION C FESTLEGEN) M98 P9001 (POSITION D FESTLEGEN) M98 P9001 M30 O9001 (WIEDERKEHRENDE KONTUR) (KONTURWEG IM SIMULATOR ERGAENZEN) M99
Bei dieser Haas-Beispielsyntax ruft M98 ein Unterprogramm auf; M99 führt aus dem Unterprogramm zurück. Andere Steuerungen können andere Aufrufkonzepte verwenden. Deshalb gilt immer: Dokumentation der tatsächlich verwendeten Steuerung prüfen.
Arbeitsauftrag zum Video: Notiere drei Gründe, warum der Autor wiederkehrenden Code auslagert. Prüfe anschließend kritisch, welche Aussagen tatsächlich die Wartbarkeit betreffen und welche Aussagen nur für seine konkrete Maschine oder Programmierweise gelten.
Lerneinheit 4: Werkzeug und Spannmittel als Teil der Simulation
Ein NC-Programm ist nicht allein durch korrekte Syntax sicher. Werkzeug, Halter, Spannmittel, Rohteil, Nullpunkt und Maschinenraum müssen zur Simulation passen.



Arbeitsauftrag Werkzeugbild: Wähle im Simulator ein geeignetes Fräswerkzeug für die Übungskontur. Dokumentiere Werkzeugtyp, Durchmesser, Halter und die Frage, ob Werkzeug oder Halter mit dem Spannmittel kollidieren könnten. Lege keine realen Schnittwerte fest, solange dafür keine betriebliche Vorgabe oder Freigabe vorliegt.
Lerneinheit 5: Sichere Fertigungssimulation
Eine gute Simulation prüft mehr als die fertige Geometrie. Du beobachtest Anfahrwege, Rückzüge, Werkzeugwechsel, Nullpunkte, Spannmittelabstände und mögliche Kollisionen.
Arbeitsauftrag zur Ablaufanimation: Stoppe das Video bei den Abschnitten Werkzeug-Setup, Werkstückspannung, Nullpunkt und Bearbeitung. Erstelle zu jedem Abschnitt eine Prüffrage für Deinen eigenen Ausbildungsfall.
Arbeitsauftrag zur Simulation: Simuliere den Ausbildungsfall mit vier gleichen Konturen. Dokumentiere für jede Kontur: Startposition, sichtbare Werkzeugbahn, Rücksprung, Abstand zum Spannmittel und Ergebnis der Kollisionsprüfung.
Abbruchregel: Sobald die Simulation eine unklare Bewegung, falsche Ebene, unerwartete Zustellung oder mögliche Kollision zeigt, wird nicht weiter in Richtung Realbetrieb gegangen. Zuerst Ursache klären, Programm korrigieren und erneut vollständig simulieren.
Lerneinheit 6: Wartbarkeit als Prozessoptimierung

Ein wartbares CNC-Programm ist für andere Fachkräfte nachvollziehbar. Besonders hilfreich sind klare Namen, kurze Kommentare, eindeutige Schnittstellen und möglichst wenige versteckte Zustände.
| Prüfkriterium | Gute Frage |
|---|---|
| Wiederverwendung | Wird gleiche Logik nur einmal gepflegt? |
| Lesbarkeit | Erkennt eine zweite Fachkraft den Ablauf schnell? |
| Änderbarkeit | Muss eine Geometrieänderung nur an einer Stelle erfolgen? |
| Zustände | Ist klar, welche Koordinaten-, Korrektur- und Betriebszustände erwartet werden? |
| Simulation | Wurde nach jeder relevanten Änderung erneut geprüft? |
| Rückverfolgbarkeit | Ist dokumentiert, welche Version freigegeben wurde? |
Wichtig: Prozessoptimierung bedeutet hier nicht „möglichst viel automatisieren“, sondern Fehlerwahrscheinlichkeit, Änderungsaufwand und Prüfaufwand systematisch beherrschbar machen.
Lerneinheit 7: Werkzeugwechsel und reale Maschine bleiben getrennt

Automatische Werkzeugwechsler und Maschinenachsen können Bewegungen ausführen, die bei komplexen Programmen nicht intuitiv vorhersehbar sind. Deshalb bleibt dieser Kurs bei Offline-Programmierung und Simulation. Ein späterer realer Test ist eine betriebliche Tätigkeit mit Gefährdungsbeurteilung, Unterweisung, wirksamen Schutzeinrichtungen und verantwortlicher Freigabe.
Ausbildungsfall: Vier gleiche Konturen auf einer Halteplatte
Ausgangslage: Ein vorhandenes Trainingsprogramm enthält vier kopierte Konturblöcke. In jedem Block soll dieselbe Geometrie entstehen.
Zielzustand: Ein Hauptprogramm organisiert vier Positionen. Ein Unterprogramm enthält die Kontur. Änderungen an der Kontur werden nur noch an einer Stelle durchgeführt.
Qualitätskriterien: vier vollständige Konturen, eindeutige Rücksprünge, keine unerwarteten Werkzeugwege, keine Kollisionen in der Simulation, nachvollziehbare Kommentare und dokumentierte Programmversion.
Gestufte Hilfen zum Ausbildungsfall
Hilfe 1 – Erkennen: Markiere im Altprogramm alle Zeilen, die in mindestens zwei Konturen fachlich dieselbe Aufgabe erfüllen.
Hilfe 2 – Trennen: Lasse Positionswahl und übergeordnete Ablaufsteuerung im Hauptprogramm. Verschiebe nur die wiederkehrende Konturlogik in den Baustein.
Hilfe 3 – Prüfen: Kontrolliere nach jedem Aufruf, ob der Ablauf an der erwarteten Stelle im Hauptprogramm weitergeht. Prüfe anschließend alle vier Positionen in der Simulation.
Basisaufgabe
Auftrag: Markiere in einem bereitgestellten Trainingsprogramm die wiederkehrenden Konturabschnitte und formuliere in einem Satz, was das Unterprogramm leisten soll.
Begründetes Feedback: Deine Lösung ist tragfähig, wenn Du wirklich die identische Bearbeitungslogik markiert hast. Wenn Du zusätzlich Positionswechsel oder einmalige Werkzeugwechsel in den Baustein aufnimmst, wird die Schnittstelle unnötig unklar.
Anwendungsaufgabe
Auftrag: Strukturiere den Ausbildungsfall in Hauptprogramm und ein Kontur-Unterprogramm um. Verwende nur die Syntax des bereitgestellten Simulators oder der in der Ausbildung freigegebenen Steuerungsdokumentation.
Begründetes Feedback: Eine gute Lösung reduziert die Zahl der gepflegten Konturkopien und bleibt trotzdem verständlich. Ein sehr kurzer, aber schwer nachvollziehbarer Programmaufbau ist keine Verbesserung.
Transferaufgabe
Auftrag: Eine Variante der Halteplatte erhält künftig sechs statt vier gleiche Konturen. Entscheide, welche Teile des Programms unverändert bleiben können und welche Daten angepasst werden müssen. Begründe außerdem, ob eine weitere Parametrierung sinnvoll ist.
Begründetes Feedback: Die beste Lösung trennt stabile Logik von variablen Daten. Parametrierung ist nur dann ein Vorteil, wenn sie die Verständlichkeit erhöht und in der konkreten Steuerung sicher beherrscht und vollständig simuliert werden kann.
Prozessvergleich: Vorher und nachher
Erstelle für Deinen Fall eine kleine Vorher-Nachher-Auswertung.
| Merkmal | Altprogramm | Mit Unterprogramm |
|---|---|---|
| Anzahl gepflegter Konturkopien | mehrere | eine |
| Änderungsstellen bei Konturkorrektur | mehrere | eine zentrale Stelle |
| Risiko inkonsistenter Änderungen | höher | geringer |
| Simulationsbedarf nach Änderung | vollständig | ebenfalls vollständig |
| Maschinenzykluszeit | separat messen | separat messen |
Merke: Auch nach einer kleinen Änderung am Unterprogramm muss der relevante Gesamtprozess erneut simuliert werden, weil derselbe Baustein mehrere Bearbeitungsstellen beeinflusst.
Fachquellen und Medienrechte
Die Fachinformationen dieses Kurses wurden mit Hersteller-, Arbeitsschutz- und Überblicksquellen abgeglichen.
- Haas Operator's Manual – Unterprogramme: dokumentiert unter anderem M97, M98 und Rücksprung per M99 für Haas-Steuerungen.
- Siemens Run MyVirtual Machine: Herstellerinformationen zu Offline-Programmierung, digitalem Zwilling, Simulation und Kollisionserkennung.
- Siemens CNC4You: Lern- und Trainingsressourcen für CNC-Programmierung und Simulation.
- DGUV – Werkzeugmaschinen: Arbeitsschutz beim Betrieb von Werkzeugmaschinen und Bedeutung der Gefährdungsbeurteilung.
- DGUV Arbeit & Gesundheit – Fräsmaschinen: Schutzwirkung von Umhausungen und Risiken schneller Fräsmaschinen.
- Wikipedia – Computerized Numerical Control: Überblick zu CNC, G-Code und steuerungsspezifischen Erweiterungen.
| Medium | Urheber | geprüfte Lizenz |
|---|---|---|
| CNC milling machine.jpg | Impressionmanufacturer | CC BY-SA 4.0 |
| Roughing Endmill in Use.jpg | David English | CC BY-SA 4.0 |
| End Mill 02 labels.png | Rocketmagnet | Public Domain |
| Tools for CNC (1).jpg | Pavel Ševela | CC BY-SA 3.0 |
| Milling cutters (1).jpg | Pavel Ševela | CC BY-SA 3.0 |
| TruLockMachineVice.jpg | Glenn McKechnie | CC BY-SA 2.5 |
| Toolchanger 1.jpg | Lars6578 | CC BY-SA 4.0 |
Die YouTube-Medien werden ausschließlich eingebettet. Es wird keine freie OER-Lizenz dieser Videos unterstellt und kein Video erneut hochgeladen.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Wann ist ein Unterprogramm besonders sinnvoll? (Wenn dieselbe Bearbeitungslogik mehrfach benötigt wird) (!Wenn jeder Programmabschnitt einzigartig ist) (!Wenn keine Simulation verfügbar ist) (!Wenn Schutzeinrichtungen deaktiviert werden sollen)
Welcher Vorteil verbessert vor allem die Wartbarkeit? (Eine Konturänderung muss nur an einer zentralen Stelle gepflegt werden) (!Jede Kontur wird in eine eigene Kopie geschrieben) (!Kommentare werden vollständig entfernt) (!Die Simulation wird nach Änderungen übersprungen)
Welche Aufgabe gehört typischerweise zum Hauptprogramm? (Die übergeordnete Reihenfolge der Bearbeitungsschritte organisieren) (!Jede wiederkehrende Kontur mehrfach kopieren) (!Schutzeinrichtungen überbrücken) (!Kollisionen ignorieren)
Was ist vor einem realen Probelauf zuerst erforderlich? (Eine geeignete Simulation und betriebliche Freigabe) (!Eine automatische Live-Ansteuerung aus dem Lernkurs) (!Das Öffnen der Schutztür während der Bearbeitung) (!Das Abschalten der Kollisionsprüfung)
Was bewirkt M98 in der gezeigten Haas-Beispielsyntax? (Es ruft ein Unterprogramm auf) (!Es beendet grundsätzlich jede CNC-Steuerung) (!Es schaltet jede Spindel aus) (!Es öffnet automatisch die Maschinentür)
Welche Funktion hat M99 in der gezeigten Haas-Beispielstruktur? (Es führt aus dem Unterprogramm zurück) (!Es definiert den Werkzeugdurchmesser) (!Es setzt automatisch den Werkstücknullpunkt) (!Es bestätigt eine reale Maschinenfreigabe)
Warum darf Beispielsyntax nicht blind auf jede CNC-Steuerung übertragen werden? (Weil Aufrufe und Funktionen steuerungsspezifisch sein können) (!Weil CNC-Programme keine Befehle enthalten) (!Weil Unterprogramme nur bei Drehmaschinen existieren) (!Weil Simulationen keine Werkzeugwege zeigen)
Was ist bei einer Kollisionswarnung in der Simulation richtig? (Ursache klären, Programm korrigieren und erneut simulieren) (!Warnung löschen und direkt real fertigen) (!Schutzeinrichtung abschalten) (!Werkzeugweg ungeprüft beibehalten)
Welche Aussage zur Prozessoptimierung ist richtig? (Weniger Codekopien können Pflegeaufwand und Inkonsistenzen reduzieren) (!Kürzerer Quellcode garantiert immer kürzere Maschinenlaufzeit) (!Mehr Unterprogramme garantieren immer bessere Qualität) (!Simulation wird bei modularen Programmen überflüssig)
Was kennzeichnet ein gut wartbares Unterprogramm? (Eine klare Aufgabe mit nachvollziehbaren Voraussetzungen und Rücksprung) (!Möglichst viele versteckte Zustände) (!Keine Kommentare und keine Dokumentation) (!Ungeprüfte automatische Übergabe an eine reale Maschine)
Memory
| Hauptprogramm | übergeordnete Ablaufsteuerung |
| Unterprogramm | wiederverwendbarer Programmbaustein |
| Aufruf | Wechsel zur Routine |
| Rücksprung | Fortsetzung nach dem Aufruf |
| Simulation | virtuelle Ablaufprüfung |
| Kollision | unerwünschter Zusammenstoß |
| Wartbarkeit | einfache zentrale Änderung |
| Freigabe | betriebliche Zustimmung zum nächsten Schritt |
Drag and Drop
| Ordne die richtigen Begriffe zu. | Thema |
|---|---|
| Hauptprogramm | organisiert Reihenfolge und Positionen |
| Unterprogramm | enthält die wiederkehrende Kontur |
| Simulation | prüft Werkzeugwege vor dem Realbetrieb |
| Wartbarkeit | reduziert mehrfach zu pflegende Kopien |
| Freigabe | ist Voraussetzung für einen realen betrieblichen Schritt |
Kreuzworträtsel
| Wartbarkeit | Wie nennt man die Eigenschaft eines Programms, das sich klar und zentral ändern lässt? |
| Simulation | Wie heißt die virtuelle Prüfung eines CNC-Ablaufs? |
| Kontur | Welcher geometrische Bearbeitungsweg kann mehrfach wiederverwendet werden? |
| Freigabe | Welche betriebliche Zustimmung ist vor realen Arbeiten erforderlich? |
| Ruecksprung | Wie heißt die Rückkehr aus einem Unterprogramm in den aufrufenden Ablauf? |
| Kollision | Wie heißt ein unerwünschter Zusammenstoß von Maschine, Werkzeug, Halter, Werkstück oder Spannmittel? |
LearningApps
Lückentext
Offene Aufgaben
Leicht
- Wiederholungen erkennen: Markiere in einem Trainingsprogramm alle mehrfach vorkommenden Konturabschnitte und begründe Deine Auswahl.
- Programmstruktur skizzieren: Zeichne auf Papier den Ablauf Hauptprogramm → Aufruf → Unterprogramm → Rücksprung.
- Werkzeugbilder analysieren: Ordne den eingebetteten Werkzeugbildern mögliche Aufgaben im Fräsprozess zu und kennzeichne Unsicherheiten.
- Sicherheitscheck formulieren: Erstelle fünf Prüffragen, die vor jedem Simulationslauf beantwortet werden müssen.
Standard
- Unterprogramm planen: Teile den Ausbildungsfall in Hauptprogramm und Konturbaustein auf, ohne reale Maschinenparameter festzulegen.
- CNC-Simulation dokumentieren: Führe vier simulierte Konturaufrufe durch und protokolliere Rücksprung, Werkzeugbahn und Kollisionsstatus.
- Versionsvergleich: Vergleiche ein Programm mit vier kopierten Konturen mit einer modularen Variante anhand von Änderungsaufwand, Lesbarkeit und Fehlerrisiko.
- Fehleranalyse: Verändere im Simulator bewusst eine Trainingsposition so, dass ein unplausibler Ablauf entsteht, und dokumentiere, wie Du die Ursache sicher findest, ohne eine reale Maschine anzusteuern.
Schwer
- Transfer auf sechs Konturen: Erweitere den simulierten Ausbildungsfall von vier auf sechs Konturen und begründe, welche Programmteile stabil bleiben.
- Steuerungsvergleich: Vergleiche anhand freigegebener Herstellerdokumentationen zwei CNC-Steuerungen hinsichtlich Unterprogrammaufruf, Rücksprung und Wiederholungsmöglichkeiten.
- Reviewverfahren: Entwickle eine kurze Checkliste für das Vier-Augen-Prinzip bei Änderungen an gemeinsam genutzten Unterprogrammen.
- Betriebliche Freigabe vorbereiten: Erstelle aus Simulationsergebnissen, Programmversion, Werkzeugliste und Kollisionsprüfung eine Freigabemappe. Ein realer Versuch darf nur unter geeigneter Fachaufsicht und nach betrieblicher Freigabe erfolgen.


Lernkontrolle
- Modularisierung bewerten: Zwei Programme erzeugen in der Simulation dasselbe Werkstück. Programm A enthält vier Kopien derselben Kontur, Programm B ein Unterprogramm. Bewerte beide hinsichtlich Wartbarkeit, Fehlerrisiko und Prüfbarkeit.
- Änderungsfolge erklären: Eine Kontur wird im Unterprogramm geändert. Erkläre, warum danach nicht nur ein einzelner Aufruf, sondern der relevante Gesamtablauf erneut simuliert werden muss.
- Steuerungswechsel beurteilen: Ein Programm soll von einer Haas-Steuerung auf eine andere Steuerungsfamilie übertragen werden. Entwickle eine sichere Prüfreihenfolge, ohne Syntax automatisch zu übernehmen.
- Kollision entscheiden: Die Geometrie des Werkstücks ist korrekt, aber die Simulation zeigt eine mögliche Halter-Spannmittel-Kollision. Begründe die richtige Entscheidung und die nächsten Prüfschritte.
- Optimierungsziel unterscheiden: Erkläre an einem Beispiel, warum weniger Programmzeilen die Wartbarkeit verbessern können, ohne die reale Bearbeitungszeit automatisch zu verkürzen.
- Freigabekriterien entwickeln: Formuliere Kriterien, die erfüllt sein müssen, bevor ein simuliertes Trainingsprogramm überhaupt für einen beaufsichtigten betrieblichen Probelauf vorgeschlagen werden darf.
Lernnachweis
Für einen Lernnachweis zu diesem Thema ist wichtig, dass Du einen wiederkehrenden Programmteil fachlich begründet erkennst, Haupt- und Unterprogramm sauber trennst, die steuerungsspezifische Syntax aus einer geeigneten Dokumentation ableitest, einen vollständigen Offline-Simulationsnachweis erstellst, Kollisionen und unplausible Bewegungen sicher bewertest, Änderungen nachvollziehbar versionierst und eine reale Umsetzung nur unter geeigneter Fachaufsicht und mit betrieblicher Freigabe vorbereitest.
OERs zum Thema
Verknüpfte Lernbereiche
aiMOOC-Projekte
MOOCwiki · Deutsch
Nach dem Lernen ist vor dem Lernen
Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.
Zur MOOCwiki-HauptseiteMediathek
Mediathek wird aus dem Wiki geladen ...
Keine passenden Inhalte gefunden. Bitte ändere Suche oder Filter.
NEWSLernweltNOAH fragen