Moderne CNC-Maschinen arbeiten immer häufiger mit mehreren Werkzeugträgern, Spindeln oder zusätzlichen Handlingsystemen. Klassische CNC-Steuerungen sind jedoch meist auf die sequentielle Ausführung eines einzigen Programms ausgelegt.
Mit unserem LinuxCNC Multichannel Fork erweitern wir LinuxCNC um die Möglichkeit, mehrere unabhängige Bearbeitungskanäle gleichzeitig auszuführen.
Das Projekt ist öffentlich verfügbar und wird aktiv entwickelt:
👉 https://github.com/retrofitcenter/linuxcncMultichannel
Ziel des Projekts
Der Fork erweitert LinuxCNC um eine echte Multichannel Architektur, ähnlich wie sie von industriellen Steuerungen wie Siemens Sinumerik oder Fanuc bekannt ist.
Mehrere Bearbeitungskanäle können dabei:
unabhängig voneinander Programme ausführen
verschiedene Achsen steuern
parallel arbeiten
dynamisch Achsen übernehmen oder freigeben
Damit wird LinuxCNC zu einer leistungsfähigen Plattform für komplexe Maschinen mit parallelen Bewegungsabläufen.
Typische Anwendungen
Die Multichannel Erweiterung ermöglicht unter anderem folgende Maschinenkonzepte:
Drehmaschinen mit zwei Revolvern
Bei Drehmaschinen mit zwei Werkzeugrevolvern können beide Revolver gleichzeitig arbeiten.
Beispiele:
Ober- und Unterrevolver bearbeiten gleichzeitig
parallele Schrupp- und Schlichtoperationen
Synchronbearbeitung zwischen beiden Werkzeugträgern
Dies reduziert die Bearbeitungszeit erheblich.
Drehmaschinen mit Haupt- und Gegenspindel
Viele moderne Drehmaschinen verfügen über:
Hauptspindel
Gegenspindel
mehrere Werkzeugrevolver
Mit der Multichannel Erweiterung können:
beide Spindeln unabhängig arbeiten
Werkstücke zwischen Spindeln übergeben werden
simultane Bearbeitung auf beiden Spindeln stattfinden
Bearbeitungszentren mit NC-gesteuerten Werkzeugwechslern
Ein weiteres Einsatzgebiet sind Bearbeitungszentren mit komplexen Werkzeugwechselsystemen.
Beispiele:
Werkzeugmagazine mit NC-Achsen
automatische Werkzeugbereitstellung
parallele Bewegungen von Magazin und Maschinenachsen
Während die Maschine bearbeitet, kann das Magazin bereits den nächsten Werkzeugwechsel vorbereiten.
Automatisierte Handling- und Transfersysteme
Viele Sondermaschinen besitzen zusätzliche Achssysteme für:
Werkstückhandling
Greifer
Transferachsen
automatische Be- und Entladung
Mit Multichannel können diese Systeme parallel zur Bearbeitung arbeiten.
Beispiele:
Roboter oder Greifer entnehmen fertige Teile während der Bearbeitung
Werkstücke werden automatisch in Folgeoperationen übergeben
Handlingachsen laufen unabhängig von der Bearbeitung
Technisches Konzept
Die Multichannel Erweiterung basiert auf einer Anpassung der LinuxCNC Motion-Architektur.
Wesentliche Erweiterungen sind:
mehrere unabhängige Trajectory Planner
separate Programminterpreter pro Kanal
dynamische Achszuweisung zu Bearbeitungskanälen
parallele Ausführung von Bewegungsabläufen
Jeder Kanal besitzt:
eigenen Programmlauf
eigene Bewegungsplanung
eigene Synchronisationslogik
Die Steuerung der physikalischen Achsen erfolgt weiterhin zentral über den LinuxCNC Motion Controller.
Benennung und Organisation der Achsen
Für Multichannel Maschinen werden Achsen nach einem erweiterten Schema benannt.
Beispiel:
Z21
Z22
Bedeutung:
erster Buchstabe = Achstyp
erste Zahl = Kanalnummer
zweite Zahl = laufende Achse innerhalb des Kanals
Damit lassen sich auch Maschinen mit mehreren gleichartigen Achsen eindeutig abbilden.
Erste Implementierung in der Axis GUI
Die erste Version der Multichannel Erweiterung wird zunächst in der klassischen Axis GUI integriert.
Axis bietet eine stabile Basis für die Entwicklung und ermöglicht eine schnelle Integration der neuen Funktionen.
In weiteren Entwicklungsschritten ist geplant, Multichannel Unterstützung auch in anderen LinuxCNC Benutzeroberflächen zu integrieren, beispielsweise:
QtDragon
ProbeBasic
weitere moderne GUIs
Open Source Projekt
Der LinuxCNC Multichannel Fork wird als Open Source Projekt entwickelt.
Der aktuelle Entwicklungsstand ist auf GitHub verfügbar: