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:

 
Z11
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: