Les machines CNC modernes fonctionnent de plus en plus souvent avec plusieurs porte-outils, broches ou systèmes de manutention supplémentaires. Cependant, les commandes CNC classiques sont généralement conçues pour exécuter séquentiellement un seul programme.

Avec notre LinuxCNC Multichannel Fork, nous étendons LinuxCNC afin de permettre l’exécution simultanée de plusieurs canaux d’usinage indépendants.

Le projet est accessible publiquement et activement développé :

👉 https://github.com/retrofitcenter/linuxcncMultichannel


Objectif du projet

Le fork étend LinuxCNC avec une véritable architecture multicanal, similaire à celle connue des commandes industrielles telles que Siemens Sinumerik ou Fanuc.

Plusieurs canaux d’usinage peuvent :

  • exécuter des programmes indépendamment les uns des autres

  • contrôler différents axes

  • travailler en parallèle

  • prendre en charge ou libérer dynamiquement des axes

Cela fait de LinuxCNC une plateforme performante pour des machines complexes avec des mouvements parallèles.


Applications typiques

L’extension multicanal permet notamment les concepts de machines suivants :

Tours avec deux tourelles porte-outils

Sur les tours avec deux tourelles porte-outils, les deux tourelles peuvent travailler en même temps.

Exemples :

  • Tourelle supérieure et tourelle inférieure usinent simultanément

  • Opérations d’ébauche et de finition parallèles

  • Usinage synchronisé entre les deux porte-outils

Cela réduit considérablement le temps d’usinage.


Tours avec broche principale et broche contre-axe

Beaucoup de tours modernes disposent de :

  • broche principale

  • broche contre-axe

  • plusieurs tourelles porte-outils

Avec l’extension multicanal, il est possible de :

  • faire fonctionner les deux broches de façon indépendante

  • transférer les pièces entre les broches

  • réaliser un usinage simultané sur les deux broches


Centres d’usinage avec changeurs d’outils commandés NC

Un autre domaine d’application est celui des centres d’usinage avec systèmes complexes de changeurs d’outils.

Exemples :

  • magasins d’outils avec axes NC

  • mise à disposition automatique des outils

  • mouvements parallèles du magasin et des axes machine

Pendant que la machine usine, le magasin peut déjà préparer le prochain changement d’outil.


Systèmes automatisés de manutention et de transfert

De nombreuses machines spéciales disposent d’axes supplémentaires pour :

  • la manutention des pièces

  • pinces

  • axes de transfert

  • chargement et déchargement automatiques

Avec Multichannel, ces systèmes peuvent travailler en parallèle avec l’usinage.

Exemples :

  • Les robots ou pinces retirent les pièces finies pendant l’usinage

  • Les pièces sont automatiquement transférées aux opérations suivantes

  • Les axes de manutention fonctionnent indépendamment de l’usinage


Concept technique

L’extension multicanal est basée sur une adaptation de l’architecture Motion de LinuxCNC.

Les principales extensions sont :

  • plusieurs planificateurs de trajectoire indépendants

  • interprètes de programme séparés par canal

  • assignation dynamique des axes aux canaux d’usinage

  • exécution parallèle des mouvements

Chaque canal dispose de :

  • un propre cycle de programme

  • une propre planification des mouvements

  • une propre logique de synchronisation

Le contrôle des axes physiques reste centralisé via le contrôleur Motion de LinuxCNC.


Nommage et organisation des axes

Pour les machines multicanal, les axes sont nommés selon un schéma étendu.

Exemple :

 
Z11
Z21
Z22
 

Signification :

  • première lettre = type d’axe

  • premier chiffre = numéro du canal

  • deuxième chiffre = numéro d’axe dans le canal

Cela permet également de représenter sans ambiguïté des machines avec plusieurs axes identiques.


Première implémentation dans l’interface Axis

La première version de l’extension multicanal est intégrée initialement dans la classique interface Axis.

Axis offre une base stable pour le développement et permet une intégration rapide des nouvelles fonctionnalités.

Dans les prochaines étapes de développement, il est prévu d’intégrer la prise en charge multicanal dans d’autres interfaces utilisateur LinuxCNC, par exemple :

  • QtDragon

  • ProbeBasic

  • autres interfaces modernes


Projet Open Source

Le LinuxCNC Multichannel Fork est développé en tant que projet Open Source.

L’état actuel du développement est disponible sur GitHub :