Le moderne macchine CNC lavorano sempre più spesso con più portautensili, mandrini o sistemi di movimentazione aggiuntivi. Tuttavia, i controlli CNC classici sono solitamente progettati per eseguire in sequenza un solo programma.
Con il nostro LinuxCNC Multichannel Fork estendiamo LinuxCNC con la possibilità di eseguire contemporaneamente più canali di lavorazione indipendenti.
Il progetto è disponibile pubblicamente ed è in sviluppo attivo:
👉 https://github.com/retrofitcenter/linuxcncMultichannel
Obiettivo del progetto
Il fork estende LinuxCNC con una vera architettura multicanale, simile a quella nota nei controlli industriali come Siemens Sinumerik o Fanuc.
Più canali di lavorazione possono:
eseguire programmi indipendentemente l’uno dall’altro
controllare assi diversi
lavorare in parallelo
assegnare o liberare dinamicamente assi
Così LinuxCNC diventa una piattaforma potente per macchine complesse con movimenti paralleli.
Applicazioni tipiche
L’estensione multicanale consente, tra le altre cose, i seguenti concetti di macchina:
Tornio con due portautensili a torretta
Nei torni con due torrette portautensili entrambe possono lavorare simultaneamente.
Esempi:
Torretta superiore e torretta inferiore lavorano insieme
operazioni parallele di sgrossatura e finitura
lavorazione sincronizzata tra i due portautensili
Questo riduce notevolmente i tempi di lavorazione.
Torni con mandrino principale e mandrino contromandrino
Molti torni moderni dispongono di:
mandrino principale
mandrino contromandrino
più portautensili a torretta
Con l’estensione multicanale è possibile:
far lavorare entrambi i mandrini in modo indipendente
trasferire i pezzi tra i mandrini
eseguire lavorazioni simultanee su entrambi i mandrini
Centri di lavoro con cambi utensili controllati da NC
Un altro campo di applicazione sono i centri di lavoro con complessi sistemi di cambio utensile.
Esempi:
magazzini utensili con assi NC
fornitura utensili automatica
movimenti paralleli di magazzino e assi macchina
Mentre la macchina lavora, il magazzino può già preparare il cambio utensile successivo.
Sistemi automatizzati di movimentazione e trasferimento
Molte macchine speciali hanno assi aggiuntivi per:
movimentazione pezzi
pinze
assi di trasferimento
carico e scarico automatici
Con Multichannel questi sistemi possono lavorare in parallelo alle lavorazioni.
Esempi:
Robot o pinze prelevano i pezzi finiti durante la lavorazione
i pezzi sono trasferiti automaticamente alle operazioni successive
assi di movimentazione funzionano indipendentemente dalla lavorazione
Concetto tecnico
L’estensione multicanale si basa su un adattamento dell’architettura Motion di LinuxCNC.
Le principali estensioni sono:
più pianificatori di traiettoria indipendenti
interpretatori di programma separati per canale
assegnazione dinamica degli assi ai canali di lavorazione
esecuzione parallela dei movimenti
Ogni canale ha:
esecuzione programma propria
pianificazione movimenti propria
logica di sincronizzazione propria
Il controllo degli assi fisici avviene ancora centralmente tramite il Motion Controller di LinuxCNC.
Denominazione e organizzazione degli assi
Per le macchine multicanale, gli assi sono denominati secondo uno schema esteso.
Esempio:
Z21
Z22
Significato:
prima lettera = tipo di asse
prima cifra = numero del canale
seconda cifra = asse progressivo all’interno del canale
Questo permette di rappresentare in modo univoco anche macchine con più assi dello stesso tipo.
Prima implementazione nella GUI Axis
La prima versione dell’estensione multicanale sarà inizialmente integrata nella classica GUI Axis.
Axis offre una base stabile per lo sviluppo e consente un’integrazione rapida delle nuove funzionalità.
In fasi di sviluppo successive è previsto integrare il supporto multicanale anche in altre interfacce utente di LinuxCNC, ad esempio:
QtDragon
ProbeBasic
altre GUI moderne
Progetto Open Source
Il LinuxCNC Multichannel Fork viene sviluppato come progetto Open Source.
Lo stato attuale dello sviluppo è disponibile su GitHub: