In questa pagina
Un sistema CNC (controllo numerico computerizzato) trasforma un programma di lavorazione in movimenti coordinati della macchina. Il controllore interpreta le istruzioni e pianifica un percorso; gli azionamenti forniscono potenza elettrica controllata ai motori; i motori muovono gli assi della macchina. In un sistema a ciclo chiuso, il feedback di posizione aiuta il controllore a confrontare il movimento comandato con quello misurato. Per la terminologia e la sua storia, il confronto NC contro CNC spiega cosa è cambiato quando i computer sono diventati parte del sistema di controllo.
Si tratta di compiti distinti. Un programma corretto può essere eseguito con un errore di posizionamento, mentre un movimento perfettamente tracciato può comunque realizzare la caratteristica sbagliata se il programma o l’impostazione sono errati. Seguire un singolo movimento attraverso il sistema rende più facile comprendere questa distinzione.
Funzioni di ciascuna parte del sistema di controllo
Il controllore CNC combina hardware di calcolo e software di controllo. La sua interfaccia operatore visualizza programmi, posizioni, offset e stato della macchina. Dietro tale interfaccia, l’elaborazione del programma e la pianificazione del movimento determinano quale azione la macchina dovrà eseguire successivamente.
Un azionamento è lo stadio di controllo della potenza, non semplicemente un altro nome per il controllore. In un sistema servo, regola il funzionamento del motore tramite loop di controllo. Il motore quindi genera il movimento: un motore rotativo può far ruotare una vite a ricircolo di sfere per muovere un carrello, mentre un motore lineare può agire direttamente su un asse. La collocazione dei loop di posizione, velocità e corrente varia a seconda dell’architettura del sistema di controllo.
Il sequenziamento della macchina opera in parallelo con questo controllo del movimento. Un controllore logico programmabile, o PLC, gestisce spesso comandi ausiliari e segnali di stato — ad esempio, coordina una sequenza di cambio utensile con i relativi segnali di completamento. Questo è diverso dal calcolo di un percorso di taglio continuo. La documentazione sulle funzioni ausiliarie di Beckhoff mostra come tali comandi possano essere sincronizzati con il movimento degli assi.

Il programma richiede un riferimento fisico
Un programma descrive i movimenti e le operazioni di lavorazione previsti, comunemente utilizzando il codice G e comandi correlati. Può essere generato da software CAM e da un postprocessore specifico per la macchina, oppure tramite programmazione manuale o conversazionale. Il controllo interpreta le istruzioni nel contesto delle impostazioni attive, inclusi unità di misura, sistemi di coordinate e compensazioni. Ad esempio, le modalità assoluta e incrementale interpretano le posizioni in modo diverso: rispettivamente come destinazione nel sistema di coordinate attivo o come distanza dalla posizione corrente. Una semplice coordinata non costituisce un’istruzione completa di movimento.
Coordinate macchina si riferiscono al sistema di riferimento della macchina. Coordinate pezzo posizionano il programma rispetto al pezzo o al dispositivo di fissaggio. Un offset pezzo collega questi due riferimenti, consentendo di programmare la stessa geometria del pezzo a partire da un comodo zero pezzo. Haas distingue esplicitamente queste visualizzazioni delle coordinate.
Gli offset utensile tengono conto della geometria dell’utensile; su una fresatrice, la compensazione della lunghezza utensile mette in relazione la posizione programmata dell’utensile con quella effettiva dell’insieme installato. Questi offset non spostano fisicamente il pezzo né modificano l’utensile. Modificano soltanto il modo in cui il controllo interpreta la posizione richiesta della macchina. Anche le configurazioni rotanti possono richiedere una trasformazione cinematica per convertire la relazione desiderata tra utensile e pezzo in comandi specifici per ciascun asse.
Per una semplice traslazione X–Y, posizionare lo zero pezzo alle coordinate macchina X = 100 mm, Y = 200 mm. Con sistemi di coordinate paralleli e in assenza di ulteriori offset, rotazioni o compensazioni utensile, il punto finale nelle coordinate pezzo X = 30 mm, Y = 40 mm corrisponde alle coordinate macchina X = 130 mm, Y = 240 mm. Se la posizione X memorizzata dello zero pezzo è erroneamente impostata su 102 mm, lo stesso punto finale diventa X = 132 mm. L’asse può eseguire correttamente il comando ricevuto, mentre la caratteristica risulta spostata di 2 mm.
Il feedback di posizione non riconosce automaticamente che l’origine scelta era errata. Correggere il riferimento che ha generato il comando, anziché considerare uno schema di caratteristiche spostato come prova che il servo richieda un aggiustamento. Per il contesto meccanico alla base di questi riferimenti, vedere parti e movimento di una fresatrice.

Un flusso di avanzamento lungo un percorso si traduce in diverse velocità degli assi
L’interpolazione determina le posizioni intermedie lungo un percorso specificato. Per un movimento rettilineo X–Y, entrambi gli assi devono compiere la giusta quota di spostamento nello stesso istante. Spostare prima X fino al suo punto finale e poi Y produrrebbe due lati di un rettangolo, non la diagonale.
Il movimento pianificato diventa un flusso di obiettivi a intervalli di controllo successivi. A seconda dell’architettura, l’azionamento riceve obiettivi di posizione o di velocità, anziché interpretare direttamente il disegno del pezzo.
Calcolare un movimento coordinato con 30 mm di spostamento lungo X e 40 mm di spostamento lungo Y. Si assumano assi lineari perpendicolari, nessuna rotazione, orientamento fisso dell’utensile e un avanzamento richiesto lungo il percorso di 500 mm/min. I valori seguenti descrivono la porzione a velocità costante, qualora la macchina riesca a raggiungerla:
| Grandezza | Calcolo | Risultato |
|---|---|---|
| Lunghezza del percorso | √(30² + 40²) | 50 mm |
| Velocità asse X | 500 × 30 / 50 | 300 mm/min |
| Velocità asse Y | 500 × 40 / 50 | 400 mm/min |
Le due velocità degli assi si combinano per dare √(300² + 400²) = 500 mm/min lungo la linea. Non vengono né sommate né impostate entrambe su 500. Durante accelerazione e decelerazione, le velocità variano in sincronia mantenendo costante il rapporto tra gli spostamenti. Questo è il principio descritto nella documentazione sul movimento coordinato di LinuxCNC.
L’asse con velocità massima consentita più bassa può limitare l’intero movimento. Se Y è limitato a 320 mm/min mentre X può raggiungere almeno 240 mm/min, il limite di velocità lungo questa diagonale diventa 320 × 50 / 40 = 400 mm/min, con X a 240 mm/min. Ridurre soltanto Y lasciando X a 300 mm/min modificherebbe la direzione del percorso. Il pianificatore deve ridurre la velocità coordinata; ulteriori limitazioni legate ad accelerazione, angoli e altri fattori possono ridurla ulteriormente. La sezione Concetti fondamentali per l’utente di LinuxCNC, all’interno della voce «Pianificazione della traiettoria», spiega perché i limiti configurati per ciascun asse prevalgono sull’avanzamento richiesto.

Un percorso circolare richiede contributi continui e variabili da parte degli assi. L’aggiunta di assi rotativi e modalità alternative di avanzamento introducono ulteriori regole di interpretazione; pertanto, questo esempio a due assi non deve essere utilizzato come formula universale per programmi a cinque assi o per tornitura.
Perché la macchina rallenta prima di un angolo
Una macchina non può modificare istantaneamente la propria velocità. Il pianificatore di traiettoria tiene conto dei limiti configurati di velocità e accelerazione; alcuni sistemi vincolano esplicitamente anche il jerk, ovvero la variazione dell’accelerazione nel tempo. Una corsa breve potrebbe terminare prima che venga raggiunta la velocità di avanzamento richiesta.
Anticipazione prepara i blocchi di programma successivi mentre è in esecuzione il movimento corrente. Ciò consente al pianificatore di prevedere le variazioni anziché trattare ciascun punto finale come un evento isolato. Haas descrive questa preparazione anticipata dei blocchi nella documentazione del proprio controllo.
In un angolo matematicamente appuntito, seguire esattamente il percorso richiede un arresto. Una modalità di raccordo (blending) può mantenere il movimento arrotondando la transizione entro i limiti configurati di deviazione dal percorso. Il compromesso riguarda la fedeltà del percorso rispetto alla continuità della velocità; le modalità disponibili e il loro comportamento dipendono dal sistema di controllo. LinuxCNC documenta il comportamento delle modalità exact-path, exact-stop e blending.

La tolleranza di raccordo (blending) è un parametro di pianificazione del movimento, non la tolleranza del pezzo finito. Le forze di taglio, la geometria dell’utensile e gli altri fattori del processo influenzano comunque la superficie ottenuta. Il numero di giri del mandrino rpm è una grandezza distinta dall’avanzamento lineare. Nelle operazioni con avanzamento per giro e nelle operazioni sincronizzate con il mandrino, l’avanzamento è intenzionalmente legato alla rotazione del mandrino.
Il feedback misura il movimento in un determinato punto.
In un anello chiuso di posizione, il sistema confronta il comando di posizione con la posizione effettivamente misurata e agisce per ridurre la differenza tra i due valori. Tale differenza è spesso denominata errore di inseguimento. Non costituisce una misurazione diretta della caratteristica lavorata. La stessa distinzione è rilevante anche quando si leggono le specifiche di accuratezza della macchina. L’anello pertinente può essere chiuso nel controller o nell’azionamento, a seconda del sistema.
La posizione del sensore determina quali elementi sono inclusi nella misurazione:
- Encoder del motore: misura la rotazione del motore. Per un asse lineare azionato da vite, il controllo può dedurre la posizione della slitta sulla base del rapporto di trasmissione. Le variazioni a valle di tale sensore — ad esempio la dilatazione termica della vite a ricircolo di sfere — potrebbero non comparire nel feedback di posizione del motore.
- Encoder lineare: misura direttamente la posizione della slitta rispetto alla sua scala. Quando viene utilizzato per chiudere il loop di posizione, include nella misurazione anche la meccanica di avanzamento, anziché dedurre lo spostamento esclusivamente dalla rotazione del motore.
Nella terminologia delle macchine utensili, il feedback di posizione basato sul motore su un asse azionato da vite è comunemente definito semi-chiuso; il feedback diretto della posizione della slitta è invece definito chiuso o totalmente chiuso. Entrambi utilizzano un feedback. HEIDENHAIN illustra questa distinzione. La semplice presenza di un encoder non determina quale segnale venga effettivamente utilizzato dal loop di posizione.

Alcuni assi CNC operano invece in modalità ad anello aperto, comandando i passi del motore senza misurare effettivamente la posizione dell’asse all’interno di tale loop. Un passo perso potrebbe quindi non essere rilevato dal sistema di comando di posizione. I motori passo-passo non sono intrinsecamente limitati al funzionamento in anello aperto: esistono anche configurazioni di motori passo-passo in anello chiuso.
Separare il comando, il movimento e il risultato sul pezzo
Una prima domanda utile è dove si manifesti una discrepanza. Un programma spostato, un asse incapace di seguire il proprio comando e una fresa che si deforma sotto carico possono tutti produrre un pezzo errato, ma richiedono verifiche diverse.
| Osservazione | Ciò che potrebbe indicare | Evidenze utili |
|---|---|---|
| L’intero schema di lavorazione è spostato | Un riferimento di programma o un offset di setup potrebbero essere errati, anche con un tracking accurato dell’asse. | Confrontare il riferimento previsto, il sistema di lavoro attivo, gli offset e le posizioni programmate. |
| Si verificano allarmi di errore di inseguimento o deviazioni di tracciamento insolite | Il movimento comandato e quello misurato non coincidono; la causa potrebbe risiedere nel carico, nella meccanica, nel feedback o nell’azionamento. | Correlare il registro degli allarmi e le diagnosi dell’asse con il movimento eseguito e le condizioni operative. |
| Il tracking dell’asse appare normale, ma una parete, un foro o una superficie risultano errati | La geometria dell’utensile, la sua deformazione, il sistema di fissaggio del pezzo o gli effetti termici potrebbero trovarsi al di fuori del loop di posizione misurato. | Confrontare le caratteristiche misurate con lo stato dell’utensile, il setup e le condizioni di taglio. |
Questi sono punti di partenza per l’indagine, non diagnosi basate esclusivamente sull’aspetto. Anche la misurazione diretta con il cursore non rileva tutti i movimenti tra il tagliente e il pezzo in lavorazione. L’ispezione delle caratteristiche rilevanti del componente colma un diverso divario informativo rispetto al feedback degli assi.
Il sistema CNC stabilisce e segue un moto comandato. Comprendere cosa è stato comandato, dove è stato misurato il moto e cosa è stato effettivamente lavorato fornisce una spiegazione più chiara del risultato di lavorazione rispetto al considerare il controllore come un’unica fonte di «accuratezza».
Domande frequenti
Un controllore CNC è la stessa cosa di un sistema CNC?
Il controllore è la parte computazionale e di controllo. L’espressione «sistema CNC» può indicare in senso più ampio il controllore, le interfacce, gli azionamenti e il feedback che operano insieme. La terminologia prodotto varia: verificare quindi quali funzioni e quali componenti hardware una descrizione include.
Il controllore CNC legge direttamente un modello CAD?
Di norma esegue un programma di lavorazione anziché interpretare un modello CAD non preparato. CAM e un postprocessore adeguato generano comunemente tale programma. Alcuni controlli offrono programmazione integrata o conversazionale, ma la geometria deve comunque tradursi in azioni di lavorazione definite.
Il controllo in catena chiusa garantisce un pezzo accurato?
No. Esso controlla il moto utilizzando il feedback disponibile per quella catena. Offset errati, deformazione dell’utensile, spostamento del pezzo in lavorazione e altri effetti del processo possono comunque produrre una caratteristica non conforme. Il feedback degli assi e l’ispezione del pezzo rispondono a domande diverse.
Perché l’avanzamento effettivo può essere inferiore a quello programmato?
Limiti di accelerazione, segmenti brevi, angoli, impostazioni di controllo del percorso e sovrascritture dell’avanzamento possono ridurre la velocità effettiva. L’avanzamento richiesto non è una garanzia che la macchina mantenga tale velocità durante ogni singolo movimento.



