# Control numèric per ordinador

Es considera de Control Numèric per Computador , també anomenat CNC (en anglès Computer Numerical Control ) (també Control Numèric Continu Continuous Numerical Control ), a tot dispositiu capaç de dirigir el posicionament d'un òrgan mecànic mòbil mitjançant ordres elaborades de forma totalment automàtica a partir d'informacions numèriques en temps real.
Entre les operacions de maquinat que es poden realitzar en una màquina CNC es troben les de tornejat i de fresat. Sobre la base d'aquesta combinació és possible generar la majoria (si no són totes) les peces d'indústria.
Aquest és, sens dubte, un dels sistemes que ha revolucionat la fabricació de tota classe d'objectes, tant en la indústria metal·lúrgica com en molts altres àmbits productius.

## Principi de funcionament

Per mecanitzar una peça s'usa un sistema de coordenades que especificaran el moviment de l'eina de tall.
El sistema es basa en el control dels moviments de l'eina de treball en relació amb els eixos de coordenades de la màquina, usant un programa informàtic executat per un ordinador.
En el cas d'un torn, cal controlar els moviments de l'eina en dos eixos de coordenades: l'eix de les X per als desplaçaments laterals del carro i l'eix de les Z per als desplaçaments transversals de la torre.
En el cas de les fresadores es controlen els desplaçaments verticals, que corresponen a l'eix Z. Per a això s'incorporen servomotors en els mecanismes de desplaçament del carro i la torreta, en el cas dels torns, i en la taula en el cas de la fresadora, depenent de la capacitat de la màquina, això pot no ser limitat únicament a tres eixos.

## Aplicacions

A part d'aplicar en les màquines-eina per a modelar metalls, el CNC s'usa en la fabricació de molts altres productes d'ebenisteria, fusteria, etc. L'aplicació de sistemes de CNC a les màquines-eina han fet augmentar enormement la producció, alhora que ha fet possible efectuar operacions de conformat que era difícil de fer amb màquines convencionals, per exemple la realització de superfícies esfèriques mantenint un elevat grau de precisió dimensional. Finalment, l'ús de CNC incideix favorablement en els costos de producció en propiciar la baixa de costos de fabricació de moltes màquines, mantenint o millorant la seva qualitat.

## Programació en el control numèric

Es poden utilitzar dos mètodes, la programació manual i la programació automàtica.

### Programació manual

En aquest cas, el programa peça s'escriu únicament per mitjà de raonaments i càlculs que realitza un operari. El programa de mecanitzat comprèn tot el conjunt de dades que el control necessita per a la mecanització de la peça.
Al conjunt d'informacions que correspon a una mateixa fase del mecanitzat s'anomena bloc o seqüència, que es numeren per facilitar la seva recerca. Aquest conjunt d'informacions és interpretat per l'intèrpret d'ordres. Una seqüència o bloc de programa ha de contenir totes les funcions geomètriques, funcions màquina i funcions tecnològiques del mecanitzat. De tal manera, un bloc de programa consta de diverses instruccions.
El començament del control numèric ha estat caracteritzat per un desenvolupament anàrquic dels codis de programació. Cada constructor utilitzava el seu particular. Posteriorment, es va veure la necessitat de normalitzar els codis de programació com a condició indispensable perquè un mateix programa pogués servir per a diverses màquines per tal que fossin del mateix tipus. Els caràcters més usats comunament, regits sota la norma DIN 66024 i 66025 són, entre d'altres, els següents:
* N: és l'adreça corresponent al nombre de bloc o seqüència. Aquesta direcció va seguida normalment d'un nombre de tres o quatre xifres. En el cas del format N03, el nombre màxim de blocs que poden programar és 1000 (N000 fins N999).
* X, Y, Z: són les adreces corresponents a les cotes segons els eixos X, Y, Z de la màquina eina (I plànols cartesians). Aquestes cotes es poden programar en forma absoluta o relativa, és a dir, pel que fa al zero peça o pel que fa a l'última cota respectivament.
* G: és l'adreça corresponent a les funcions preparatòries. S'utilitzen per a informar al control de les característiques de les funcions de mecanitzat, com per exemple, forma de la trajectòria, tipus de correcció d'eina, parada temporitzada, cicles automàtics, programació absoluta i relativa, etc. La funció G va seguida d'un nombre de dues xifres que permet programar fins a 100 funcions preparatòries diferents.
       Exemples :
       G00: El trajecte programat es realitza a la màxima velocitat possible, és a dir, a la velocitat de desplaçament en ràpid.
       G01: Els eixos es governen de tal manera que l'eina es mou al llarg d'una línia recta.
       G02: Interpolació circular en sentit horari.
       G03: Interpolació circular en sentit antihorari.
       G33: Indica cicle automàtic de roscat.
       G40: Cancel·la compensació.
       G41: Compensació de tall cap a l'esquerra.
       G42: Compensació de tall a la dreta.
       G77: És un cicle automàtic que permet programar amb un únic bloc el tornejat d'un cilindre, etc.
* M: és l'adreça corresponent a les funcions auxiliars o complementàries. S'usen per indicar a la màquina eina que s'han de realitzar operacions com ara aturada programada, rotació del cargol a dretes o esquerres, canvi d'útil, etc. La direcció m va seguida d'un nombre de dues xifres que permet programar fins a 100 funcions auxiliars diferents.
       Exemples :
       M00: Provoca una parada incondicional del programa, deté la claveguera i la refrigeració.
       M01: Alt opcional.
       M02: Indica la fi del programa. S'ha d'escriure en l'últim bloc del programa i possibilita la parada del control un cop executades la resta de les operacions contingudes en aquest bloc.
       M03: Activa la rotació del capçal en sentit horari.
       M04: Activa la rotació de la capçal en sentit antihorari, etc.
(El sentit de gir del fusell és vist per darrere de la màquina, no del nostre punt de vista com en els torns convencionals)
       M05: Parada del capçal
       M06: canvi d'eina (amb parada del programa o sense) a les màquines de canvi automàtic no comporta l'aturada del programa.
* F: és l'adreça corresponent a la velocitat d'avanç. Va seguida d'un nombre de quatre xifres que indica la velocitat d'avanç en mm/min.
* S és l'adreça corresponent a la velocitat de rotació de la claveguera principal. Es programa directament en revolucions per minut, usant quatre dígits.
* I, J, K són adreces utilitzades per programar arcs de circumferència. Quan la interpolació es realitza en el pla XY, s'utilitzen les adreces I i J. Anàlogament, en el pla XZ, s'utilitzen les adreces I i K, i en el pla YZ, les adreces J i K.
* T és l'adreça corresponent al nombre d'eina. Va seguit d'un nombre de quatre xifres en el qual els dos primers indiquen el nombre d'eina i els dos últims el nombre de correcció d'aquestes.

### Programació automàtica

En aquest cas, els càlculs els realitza un computador, que subministra en la seva sortida al programa de la peça en llenguatge màquina.
Vegeu també Equipament CNC
Aplicacions de CNC
Poden establir-se múltiples criteris de classificació a l'hora de tractar les aplicacions de control numèric.
La divisió primària i més elemental consistiria a agrupar les aplicacions en tantes famílies con tipes de màquina diferents es poden comanar. D'aquesta manera, es distingirien aplicacions de fresat, trepanat, tornejat, polit, plegat, punxonat, corbat, tallat, manipulació i transport, etc.
Si el que s'atén és a la geometria del treball a realitzar, podria establir-se una classificació atenent al sistema de coordenades emprat (cartesianes, cilíndriques, ...). D'aquesta manera, control de fresadora, centre de mecanitzat i punxonadora, anirien dins d'un mateix grup, d'igual manera que les aplicacions de bobinat i tornejat, o les aplicacions de corbat i plegat.
Un altre criteri podria estar relacionat amb el nombre d'eixos a controlar en cada aplicació.
En aquest article, es diferencien dos grans grups genèrics d'aplicacions de control numèric, atenent al tipus de govern de moviments que hi siguin presents. - aplicacions de posicionament d'eixos - aplicacions de contornejat.
Cal tenir en compte que aquesta divisió entre tipus d'aplicacions no es correspon amb famílies diferenciades d'equips CNC (la majoria d'equips CNC, són generalment capaços de gestionar indistintament tant el processos de posicionament com els que requereixen un control de la trajectòria durant el moviment.

## A. Posicionat

S'englobaran dins de la família d'aplicacions de posicionament, tots aquells processos en els que és necessari controlar l'assoliment amb la màxima precisió, per part de la màquina, d'una successió de determinades posicions físiques predeterminades, on hauran d'executar-se les instruccions de treball corresponent.
En aquests casos, no es programa el recorregut o trajectòria, sinó que és el mateix control qui determina el camí a recórrer per a cada moviment.
El posicionament es realitza a la màxima velocitat del sistema per a cada eix, sense importar en absolut la trajectòria seguida, donat que l'únic que interessa és assolir amb la màxima precisió i rapidesa cada punt programat.
La programació d'aquests moviments es fa mitjançant l'ordre modal "G0", seguida dels valors de les coordenades del punt de destí. Un cop assolida cada posició programada, el control numèric executa les instruccions d'entrada-sortida, destinades a comanar l'actuació d'elements externs.
No hi ha limitació pel que fa al nombre d'eixos. És per això que tant es poden trobar aplicacions de posicionament d'un únic eix, com aplicacions sofisticades amb sis o més eixos simultanis.
En citem una sèrie d'exemples significatius

## 1. Aplicacions d'alimentació de peces

Solen constituir elements perifèrics o auxiliars a altres processos automàtics.
Gestionant generalment un, dos o alguns cops tres eixos, els exemples més habituals són: - alimentadors de premses automàtiques - alimentadors de peces i/o utillatges per a robots - alimentadors de cadenes de muntatge. - ...
La naturalesa del seu disseny i funcionament depenen en gran manera de les característiques i grau d'automatització de què disposa el procés o màquina central al que s'adjunta.
En algunes aplicacions, el CNC de l'alimentador acaba responsabilitzant-se de la centralització de la globalitat del procés (màquina central inclosa), de manera que és l'alimentador qui governa la cadència i durada de tot el cicle de treball. En aquests casos, el programa-peça inclou les instruccions pròpies de l'alimentació, però també les instruccions d'activació i desactivació dels elements de la màquina central.
El més corrent però, és que la màquina central disposi del seu propi PLC o CNC de govern, amb les funcions i cadències perfectament predeterminades, o bé que vagi integrada dins d'una cadena amb altres cèl·lules.
En aquest cas, el funcionament de l'alimentador té un caràcter "esclau" del procés central.
Donat que el funcionament d'ambdós processos ha de ser paral·lel i simultani, cal definir acuradament els elements de sincronisme entre ells, així com les proteccions contra operacions errònies.
La programació és generalment molt senzilla, i es limita a una successió d'instruccions de moviment.
A l'inici de cada moviment, s'hi incorpora una instrucció d'entrada d'un senyal de "permís", que indicarà a l'alimentador que ja pot executar el seu moviment. Aquest senyal vindrà cablejat des del PLC o la maniobra de la màquina central
D'igual manera, al final de cada moviment s'hi incorpora una instrucció de sortida d'un senyal "JA", que indica a la premsa o element extern que la peça ja ha estat col·locada, i pot treballar amb ella.
Cal incorporar, a manera de protecció, un dispositiu que eviti el moviment de l'alimentador durant aquelles fraccions de cicle de treball en les que aquest moviment pogués interferir, o veure's interferit pel treball de la màquina principal. D'igual manera, aquests dispositius han de protegir l'actuació de l'operari al càrrec.
Les proteccions solen basar-se en el cablejat vers el senyal "FEED-HOLD" del CNC, d'una combinació de senyals de la màquina, de manera que qualsevol moviment de l'alimentador sigui aturat instantàniament quan no es compleixin les condicions de seguretat establertes.
Paral·lelament, se sol incorporar una instrucció d'entrada i comprovació de senyal extern, prèvia a l'execució de cada moviment. L'estat d'aquest senyal (que sol correspondre a una combinació de senyals externs) esdevé una condició que l'equip espera abans d'iniciar cada moviment.
Alguns equips CNC tenen predefinides unes subrutines "PRE-moviment" i "POST-moviment" parametritzables, de manera que es faciliti la definició d'aquestes funcions de protecció i sincronisme, sense que calgui introduir-les en el programa-peça, evitant així el perjudici que podria causar oblidar-ne la programació. Aquestes subrutines són associades a cada moviment d'eixos, i són executades automàticament pel CNC.

## 2. Processos de treball perpendicular

Són aquells casos en els que el CNC ha de governar un moviment mono o biaxial, per tal d'assolir la posició on s'ha d'executar un treball de trepa, mandrinat, o qualsevol altre tipus de mecanització.
Depenent de la naturalesa del treball a realitzar, hi ha dues alternatives bàsiques:

### Moviment de la peça sota un útil fix

En aquest cas, l'element a governar sol ser una taula de coordenades, on hi va estacada la peça. Aquesta es desplaça a la posició desitjada, per a procedir al treball vertical.
També hi ha aplicacions on la peça va estacada sobre un plat divisor, el posicionament del qual és governat per un CNC d'un eix.

### Pilotatge de l'útil vertical

La peça va fixada a un utillatge inferior.
És l'útil de treball que es desplaça, de manera controlada, mitjançant un pòrtic bidimensional o tridimensional. En arribar a la posició, s'activa la seqüència de treball vertical.
La funcionalitat d'aquestes aplicacions és molt similar a l'explicada a l'apartat anterior per al cas dels alimentadors, encara que adaptades a cada cas particular, depenent de la naturalesa del treball a realitzar:

### Operacions manuals

La peça es desplaça automàticament a la posició, i el CNC emet un senyal perceptible (un so, o una llum connectades a una sortida). L'operari realitza l'operació manual (generalment un trepanat), i pitja un botó quan ha acabat. Aquest botó activa un senyal d'entrada al CNC, que suposa el "permís" per a executar la següent instrucció de posicionament.

### Operacions automàtiques

L'útil de treball és accionat per un dispositiu pneumàtic o hidràulic, i governat per una petita maniobra o un PLC. En aquest cas, els senyals de sincronisme amb el CNC posicionador han d'anar directament cablejats a l'electrònica de l'útil, tot seguint els procediments de seguretat esmentats en l'apartat anterior

## 3. Aplicacions de punxonat

Un cas molt particular de les aplicacions de posicionament controlat d'eixos el constitueixen les aplicacions de punxonat.
Les punxonadores són unes màquines amb unes característiques molt específiques, i amb una diferenciació tan clara respecte a altres màquines, que han comportat l'aparició d'una família pròpia d'equips CNC destinats a governar-les, i es podria dir que en el seu funcionament conflueixen tots els aspectes més problemàtics de les aplicacions de posicionament.
Bàsicament es tracta de pilotar un moviment de dos eixos paraxials, en els que va fixada, mitjançant unes pinces, la peça a ser treballada.
El treball vertical el realitza un punxó accionat mecànica o pneumàticament, i ubicat en un canviador automàtic incorporat a la columna de la màquina. Aquest punxó descendeix i incideix sobre la peça, retirant-se ràpidament per a permetre el següent moviment.
La particularitat rau en el fet que els requeriments pel que fa a la velocitat global d'operació són molt estrictes (nombre de punxonats per minut) - el moviment de posicionament dels eixos ha de ser a alta velocitat - Normalment, les operacions a realitzar suposen desplaçaments d'eixos successius i de curta distància. - L'operació de treball vertical (punxonat) és molt ràpida.
Uns requeriments molt ambiciosos fa que les prestacions finals del sistema no vinguin fixades tan sols per la resposta dels motors i la mecànica de la màquina, sinó que fins i tot puguin veure's limitades per la capacitat de processament del mateix control numèric.
Les funcions de "nibbling" són el millor exemple d'aquest requeriments estrictes.
Aquesta funció consisteix a realitzar una sèrie de punxonats molt propers entre si, de manera que el resultat s'assimili al de "tallar" la peça, tot seguint una determinada figura.
En el programa-peça se li indica quin tipus de perfil s'ha de tallar, d'una manera similar a la que es programaria una interpolació a una fresadora. D'aquesta manera, es pot triar entre fer un "nibbling lineal", o un "nibbling circular a dretes o a esquerres".
El control numèric s'encarregarà de realitzar un càlcul matemàtic, en el que hi intervindrà el diàmetre o la geometria del punxó, i el "dentat" de tolerància o rugositat amb què es vol que quedi el tall.
El resultat d'aquest càlcul, és una poligonal formada per múltiples moviments punt a punt, que van resseguint la corba programada, tot intercalant-hi, entre moviment i moviment, una actuació del punxó.
Això suposa sobreposar tres problemes simultanis:
* Els moviments a realitzar són molt curts, i han de fer-se a la velocitat màxima (vegeu apartat "problemàtica moviment curt – velocitat ràpida")
* El cicle de punxonat vertical ha de ser molt ràpid, sense que això suposi una relaxació en els algorismes de protecció i coordinació amb els moviments horitzontals de la màquina.
* El control numèric ha de ser capaç de realitzar tots els processos de càlcul interlínia durant el curt interval de temps que hi ha entre moviment i moviment (sincronismes i proteccions el moviment vertical del punxó, monitoratge de l'execució del programa, preparació del següent moviment, control de l'àrea de les pinces com a "zones prohibides", etc.)

## 4. Altres aplicacions multi eix

Les aplicacions on s'ha posat més de manifest el progressiu acostament entre les prestacions de control de moviment, de les dues famílies de control industrial (equips CNC i equips PLC), són les de posicionament multieix.
Són aplicacions on coincideix la necessitat de governar el moviment d'una sèrie d'eixos simultanis (sovint sense una exigència estricta de precisió o de control de trajectòria), amb el pilotatge d'una gran quantitat de senyals auxiliars i d'activació d'elements externs.
Com a exemples significatius:

### Soldadura per punts.

És el cas de moltes cèl·lules integrades a cadenes contínues en el sector de l'automoció.

### Posicionament de topes o finals de carrera

Molt usats a maquinària especial per a l'embalatge, màquines molduradores per a la fusta, línies de muntatge, etc.

### Canviadors estàtics de palets o d'eines

Elements perifèrics de màquines eines de gamma alta.

### Manipulació de peces en general

Amb aplicació a línies contínues amb peces de poc pes i volum (línia blanca, petit electrodomèstic, automoció, ...)

## 5. Seqüencialitat / processament simultani

Previ a la presa de decisió del model, marca i tipus de control numèric a utilitzar a l'hora d'automatitzar un procés, cal decidir si un únic equip serà suficient per a dur a terme l'aplicació, o bé farà falta l'acció combinada de dos o més equips CNC treballant simultàniament.
Contra el que podria semblar, aquesta decisió no depèn tant del nombre total d'eixos a controlar, com de la mateixa naturalesa del procés a controlar.
Tampoc és estrictament un problema de potència o capacitat dels CNC's, ja que les exigències de seqüencialitat i/o simultaneïtat dels moviments dels eixos ens poden portar en alguns casos, per exemple, a necessitar tres equips CNC d'un eix per a governar una aplicació de tres eixos, i per a altres casos, a seleccionar un únic control numèric de cinc eixos per a controlar totalment una aplicació multieix.
La clau de l'elecció és la seqüencialitat del procés.
Els equips de control numèric tenen un funcionament intern estrictament seqüencial. Això vol dir, que el sistema executarà les instruccions que se li hagin programar, seqüencialment, és a dir, "una darrera l'altre".
D'aquesta manera, l'inici de l'execució d'una ordre requereix com a condició prèvia indispensable, que hagi acabat totalment l'execució de l'ordre anterior, i així successivament amb tots els blocs del programa-peça, tant si són instruccions de moviment d'eixos, com sis es tracta de l'activació o gestió d'altres senyals d'entrada-sortida.
D'igual manera, els equips de control numèric es caracteritzen pel fet que controlen el comportament i la trajectòria descrita per la màquina durant la totalitat del recorregut del moviment (i no tan sols l'arribada al punt de destí, com farien autòmats programables, o simples controladors d'eixos). Aquest seguiment intern, no s'atura fins que el moviment ha acabat.
És clar que un control numèric pot desencadenar moviments simultanis d'eixos (és el cas de moviments multieix punt a punt o interpolacions lineals i circulars), però el que també queda clar és que l'equip no iniciarà l'execució del següent bloc de programa (que també pot ser un moviment múltiple), fins que hagi acabat totalment l'execució de la instrucció precedent, o fins que TOTS els eixos hagin assolit la posició-destí del moviment anterior.
El concepte a retenir, seria del tipus "un processador per a cada procés", o si es vol, "un CNC per a cada procés unitari seqüencial"
S'entén per procés unitari, aquell que manté unes condicions de seqüencialitat en totes les instruccions de programa que el componen.
Es farà necessària la utilització de dos processadors, és a dir, de dos controls numèrics independents quan: - A una aplicació calgui engegar una instrucció o seqüència d'instruccions durant l'execució d'una altra ("a mig moviment"). - Hi hagi més d'una cadena de seqüències simultànies (per exemple, una successió de senyals d'entrada-sortida per una banda, i una successió de moviments per l'altra, o bé dues seqüències de moviments d'eixos independents i simultànies). - Hi hagi cicles d'instruccions simultanis amb cadències fixes i diferents entre si.
Queda clar, però, que la utilització de més d'un CNC no suposa el renunciar a la centralització i ordenació del procés global.
Cal tenir cura d'establir a cada un dels programes continguts als CNC, l'existència d'instruccions de sincronització entre ells (generalment senyals d'entrada-sortida interconnexionats), de manera que hi hagi punts d'ambdós programes en els que els dos processos es referenciïn mútuament.
Un procediment habitual és designar un dels equips (CNC o PLC) com a "master", de manera que incorpori instruccions que habilitin o aturin l'execució dels programes dels altres equips, tot aconseguint-ne punts de sincronització.

## 6. Moviment curt – velocitat ràpida

Un aspecte que cal tenir molt en compte a l'hora de dissenyar un sistema global de posicionament punt a punt, és el tipus de moviments que normalment caldrà realitzar.
Si bé es pot partir de la base que un CNC no ha de tenir especials problemes per a governar moviments de posicionament, cal tenir en compte molt especialment quin serà el comportament dinàmic del procés per a determinats tipus de moviments.
Un cas especialment problemàtic és el dels moviments de posicionament en trams molt curts.
Si el que es desitja és un posicionament ràpid i precís, les instruccions de moviment aniran a la velocitat màxima del sistema (normalment programades sota l'ordre modal "G0").
La sorpresa apareix quan es constata que la velocitat efectiva del moviment o moviments que s'han programat, no arriba, ni de bon tros, a la que era d'esperar, a la vista de la velocitat màxima teòrica del sistema.
El motiu d'aquesta desviació és la brevetat dels trams de posicionament, i l'existència de rampes d'acceleració-desacceleració associades als moviments dels eixos.
Efectivament, el CNC estableix un algorisme d'acceleració mitjançant el qual el sistema parteix d'una situació de repòs, fins a arribar a la velocitat de règim del moviment programat.
De la mateixa manera, el CNC gestiona un algorisme de desacceleració que actua en el tram final de cada moviment, de manera que l'arribada al punt de destí s'ajusti a les condicions cinemàtiques de la màquina, i es realitzi sense brusquedats.
Suposem, per simplicitat, que aquests algorismes obeeixen a una rampa lineal de pendent parametritzable.
És clar que l'existència d'un tram transitori d'acceleració i desacceleració associat a cada moviment, suposarà una disminució en la velocitat mitjana de la globalitat del moviment.
Aquest fet es pot considerar negligible en el cas de moviments llargs, on el recorregut efectuat durant els trams transitoris inicial i final són irrellevants enfront del tram central de moviment realitzat a velocitat de règim.
Malauradament, no és així quan el moviment a realitzar correspon a una distància molt curta
En aquest cas, és molt normal que el sistema encara estigui accelerant, i sense haver arribat encara a la velocitat de règim, es vegi obligat a iniciar el procés de desacceleració, donat que la posició s'acosta al punt de destí.
El resultat obtingut és l'execució del moviment programat, a una velocitat efectiva molt inferior a la velocitat teòrica programada.
Els efectes negatius es poden veure fins i tot agreujats quan la màquina va equipada amb etapes de potència i motors la resposta dels quals no és tot lo independent de la velocitat que seria de desitjar, oferint un pobre rendiment en condicions de baixa excitació o velocitat. D'igual manera són negatius aquells sistemes que presentin factors inercials importants. .
Tots aquests efectes són particularment greus en aquelles aplicacions de posicionament on cal una aturada total i precisa dels moviments a cada posició. És el cas, per exemple, dels processos de trepanat o punxonat, on podem arribar a una caiguda dramàtica del rendiment global i prestacions de la màquina (especialment crítics seran els processos "nibbling" de les punxonadores, on apareix una successió continuada i repetitiva de moviments curts i punxonats verticals)
L'única solució possible, en tots els casos, és ajustar els paràmetres del sistema al límit de les possibilitats de la màquina. Això vol dir: - algorismes d'acceleració i desacceleració al CNC molt "abruptes", per tal de minimitzar l'interval de temps durant el qual el sistema es mou a una velocitat inferior a la màxima. - Etapes de potència d'accionament dels eixos eficaces, i amb transitoris molt breus. - Eixos amb motors de baixa inèrcia, que suportin pics elevats d'excitació a les arrencades i aturades. - Elements i acoblaments mecànics que suportin acceleracions i desacceleracions brusques

## 7. Problemàtica moviment – aturada precisa

En aquest apartat es tractarà de les aplicacions d'alimentació de peces, i dels efectes que hi motiva el funcionament del CNC en mode "cantos vius", o "cantos matats"
Els controls numèrics disposen internament d'uns registres on hi ha permanentment actualitzada la posició de cada un dels eixos del sistema. Cada un d'aquests valors s'actualitza amb els moviments i canvis de posició que s'hi van produint.
Per a cada un dels eixos, aquesta posició emmagatzemada no és única, sinó que l'equip hi manté simultàniament dos valors diferenciats: - "cota teòrica". És el valor de posició corresponent al valor de la darrera excitació de moviment que s'ha processat. Es correspon amb la cota allà on hauria de trobar-se l'eix si s'atén estrictament a l'algorisme de generació de trajectòria del CNC. - "cota real". És el valor de posició corresponent a la posició real en què es troba l'eix de la màquina. S'obté directament a partir dels impulsos del captador de posició de l'eix en qüestió.
Per a cada un dels eixos, la diferència entre aquests dos valors s'anomena vulgarment "error de seguiment"..
El valor d'aquest "error de seguiment" és controlat contínuament pel CNC. A partir d'ell, el control numèric calcula l'excitació que s'envia al regulador de potència de l'eix (per a corregir l'error teòric de posició). La seva magnitud és en tot instant directament depenent de la velocitat a la que es mou l'eix, i condicionat a l'algorisme de realimentació del servo.
En qualsevol moviment programat que segueixi l'eix, la cota real anirà sempre "per darrere" de la cota teòrica, sent la distància entre ambdues igual a l'error de seguiment.
Com és natural, el control numèric tan sols donarà per acabada l'execució d'un moviment d'eixos quan s'hagi assolit la posició final programada. Com a molt, es permet definir un paràmetre d'interval fix de tolerància a l'entorn dels punts de destí, dins del qual es considera que la posició final ha estat assolida.
Ara bé, el comportament dinàmic del sistema és molt diferent si el sistema considera com a valor de comprovació d'arribada al punt de destí, la cota real de l'eix, o la seva cota teòrica.
Quan el sistema considera la cota real, es diu que està treballant amb "cantos vius", o en mode "aturada precisa". L'efecte que s'hi observa és que a la màquina sembla que "li costa" donar per acabat cada moviment,donat que: - Cal que hi arribi real i físicament per a cada un dels eixos - Cal haver executat completament cada rampa de desacceleració. - En el trem final del moviment (de la rampa), se sotmet als reguladors i motors dels eixos a una excitació molt feble, amb els problemes de rendiment que això sol comportar.
Treballar en aquest mode no és ni eficient ni vistós, donat que la màquina sembla aturar-se massa a cada punt de posicionament, i també sembla quedar quasi aturada un temps aparentment innecessari fins que inicia el següent moviments.
Aquests efectes disminueixen la velocitat efectiva d'operació dels sistema, aspecte que pot comprometre greument l'assoliment de la cadència desitjada, sobretot en aplicacions d'alimentació de peces.
És per això que molts controls numèrics opten per treballar, per defecte, en mode "cantos matats". En aquest cas, el sistema considera, a l'hora de comprovar el final de cada moviment, la posició de la cota teòrica de cada eix en lloc de la cota real.
L'efecte obtingut és una màquina amb uns moviments més vius, donat que: - El CNC dona per acabat el moviment quan hi ha arribat la cota teòrica, encara que la cota real vagi per darrere. - Cada moviment s'inicia, per tant, amb la màquina encara en moviment, abans que hagi assolit física i realment la posició anterior. Això vol dir que no arriba a aturar-se mai completament en el punt de destí de cada instrucció de moviment. - El punt físicament més proper al punt real de destí per a cada moviment és dependent de la velocitat a la qual s'ha realitzat aquest moviment, donat que depèn de l'error de seguiment (diferència entre cota teòrica i cota real) de cada eix.
Amb el sistema treballant en aquest mode, les transicions són molt més ràpides, i la màquina sembla guanyar en rendiment, en resultar les cadències de moviments elevades.
Malauradament, aquesta solució és inviable en la majoria d'aplicacions de d'alimentació (el cas d'un moviment de vaivé amb un únic eix), pel fet que: - No podem garantir una aturada real de la màquina al final de cada moviment. - El punt físic al que arriba la màquina per a cada moviment s'allunya del desitjat, en una magnitud que és dependent de la velocitat. - En el cas d'un moviment de vaivé, s'inicia el moviment de retorn quan encara no s'ha arribat al final del moviment d'anada. L'efecte és que la màquina escurça els moviments, i no arriba mai a fer el recorregut programat, amb un error de posicionament que depèn de la velocitat de treball. En el comble de l'inadmissible, la posició obtinguda depèn de l'activació del commutador "feed-override" del panell frontal del CNC.
Donat que les aplicacions d'alimentació de peces cal garantir l'assoliment real del punt de destí de cada instrucció, i també hi sol haver uns requeriments crítics pel que fa a la cadència resultant, caldrà dissenyar i parametritzar molt acuradament les variables de cada eix.

## B. Contornejat

Les aplicacions de contornejat són aquelles ales que el programador, mitjançant el programa-peça, defineix totalment no solament els punts de destí de cada un dels moviments, sinó també la velocitat de treball i la trajectòria que ha de seguir la màquina durant l'execució de cada un d'aquests moviments.
Encara avui en dia, no tots els equips del mercat disposen de la capacitat per afrontar aquest tipus d'aplicació.
Efectivament, tota una família d'equips de gama baixa, bàsicament orientats a aplicacions de manipulació, no disposen dels algorismes interns necessaris per a contornejar. Amb tot, es pot dir que la immensa majoria de controls numèrics compactes i modulars de gama mitjana-alta disposen de la capacitat per a gestionar aquest tipus d'aplicacions, encara que amb prou diferències pel que fa a la seva operatòria i facilitat de programació.
Passarem deliberadament per alt el cas d'alguns equips molt sofisticats que disposen d'algorismes d'interpolació helicoidal, desenvolupar a partir d'una combinació dels d'interpolació lineal i circular.
També es podria fer esment en alguns equips de gama alta que disposen d'algorismes d'interpolació el·líptica, i de corbes B-spline.
Ens centrarem en els equips que disposen de dos algorismes matemàtics interns de generació de trajectòria: la interpolació lineal i la interpolació circular

## 1. Interpolació lineal

Correspon a l'execució d'un tram en el qual els eixos programats es mouran a velocitat controlada constant durant tot el recorregut del moviment.
A cada tram hi poden intervenir un, dos omes eixos simultanis, que sempre mantindran una velocitat resultant uniforme (amb l'excepció lògica dels trams d'acceleració i desacceleració).
El CNC s'encarregarà de mantenir un factor de proporcionalitat constant entre les velocitats de cada un dels eixos (valor del "pendent") durant tota la trajectòria del moviment. La velocitat individual de cada eix es correspondrà amb la "projecció" de la velocitat lineal d'avanç programada, sobre la component de cada un dels eixos, i aquesta proporcionalitat es mantindrà també durant les fases d'acceleració i desacceleració.
D'altra banda, i per tal de no distorsionar la trajectòria, durant els períodes inicial i final, el CNC igualarà automàticament els paràmetres interns de rampa de cada eix, prenent com a valor comú en tots els eixos que hi intervinguin, el corresponent a la rampa més llarga o poc abrupte (la menys exigent).
La programació clàssica d'aquests moviments es fa mitjançant l'ordre modal "G1", precedida de la velocitat d'avanç del moviment (programada sota la funció "F"), i seguides de les coordenades del punt de destí

## 2. Interpolació circular

Correspon a l'execució d'aquells moviments en els quals els eixos segueixen una trajectòria que respon a un arc de circumferència.
A cada tram hi intervenen dos únics eixos, i, de manera anàloga al cas de la interpolació lineal, el CNC disposa d'un algorisme de càlcul destinat a gestionar durant tota la trajectòria, els valors de velocitat i posició dels dos eixos que hi són involucrats.
La programació es basa en l'especificació de la instrucció modal "G2" quan es pretén descriure una corba a dretes (en la direcció de les agulles del rellotge), o bé la instrucció "G3" per als moviments circulars a esquerres. En el mateix bloc cal especificar-hi les coordenades del punt de destí.
Per completar les especificacions de la trajectòria, cal indicar les dues coordenades del centre de l'arc de circumferència a descriure, normalment referides al punt de partida del tram.
En algunes aplicacions, no és del tot senzill el conèixer les coordenades del centre de l'arc. És per això que alguns controls numèrics permeten substituir l'especificació de les coordenades del centre, per la indicació del radi de l'arc de la circumferència. En aquests casos, cal una convenció especial per tal de resoldre l'ambigüitat que suposa l'existència de dos radis de circumferència diferents, amb el mateix radi, entre dos punts del pla.
Per a aquesta convenció, se sol utilitzar el signe del radi (donat que originalment sempre té un valor positiu). Es solen programar les coordenades del punt de destí, seguides del valor del radi amb signe positiu quan es fa referència a l'arc de menys de 180°. Es programa el radi afectat d'un signe negatiu, per al cas d'arcs de més de 180°
Tal com passava en el cas de la interpolació lineal, el moviment resultant es realitzarà a la velocitat d'avanç especificada prèviament, mitjançant la funció "F"

## 3. Altres formes de programació d'interpolació circular

Algunes instruccions de programació avançada permeten generar trams d'arcs de circumferència amb una gran facilitat, sense necessitat d'utilitzar les funcions clàssiques G2 o G3.
És el cas del "arrodoniment automàtic d'arestes".
Aquesta funció intercalada entre dos moviments qualsevol, és capaç de generar una instrucció d'interpolació circular, amb una trajectòria tangent als dos trams originals.
El mètode de programació consisteix a inserir al final del primer dels dos moviments a arrodonir, la instrucció d'arrodoniment automàtic (normalment una funció auxiliar "G"), seguida del valor del radi de l'arc.
El control numèric calcula interna i automàticament els punts de tangència de l'arc generat amb els dos moviments, recalcula els nous punts final i origen dels dos trams originals, i hi intercala el corresponent tram d'arc de circumferència.
La diferència amb el mètode tradicional d'interpolació circular consisteix únicament en el sistema emprat en la programació de la instrucció.
L'algorisme intern de càlcul i execució de la trajectòria és únic i comú als dos mètodes

## 4. La interpolació lineal per trams

L'evolució del sistemes s'orienten a des ubicar del CNC el procés de càlculs geomètrics complexos, tot potenciant la utilització de sistemes extern centralitzats de programació assistida (sistemes CAM).
Aquests sistemes, no solament disposen d'utilitats gràfiques i geomètriques molt potents, que permeten modelar i representar les figures i trajectòries a recórrer per la màquina, sinó que, al mateix temps, són capaços de generar els programes-peça que haurà d'executar el CNC mitjançant el que s'anomena "mòduls de post-processat".
L'objectiu primari d'aquests mòduls, és prendre les informacions gràfiques i geomètriques originals, que han servit per a definir les característiques de la peça i treball a desenvolupar, i generar a partir d'elles, una traducció en un fitxer, que estarà format per instruccions directament intel·ligibles pel CNC (un programa-peça).
Per tal de simplificar al màxim els algorismes interns d'aquests mòduls de software, la tendència més generalitzada és la d'utilitzar el mínim nombre possible d'instruccions del CNC.
Aquesta tendència també és aplicada a l'hora de post-processar un perfil de contornejat. Mentre alguns mòdul sofisticats descomponen els perfils en combinacions de moviments circulars i lineals, la immensa majoria es limita a traduir les corbes a seguir en poligonals formades per una successió de trams rectes.
Aquesta tècnica és vàlida per a qualsevol tipus de trajectòria, ja sigui regular o irregular, mentre es tingui la precaució de generar el suficient nombre de trams, de manera que la poligonal resultant sigui el més aproximada possible al perfil original.. Es tendeix, doncs, a utilitzar únicament trams d'interpolació lineal.
Aquesta "interpolació lineal per trams", podria arribar a substituir fins i tot la necessitat de disposar d'un algorisme intern d'interpolació circular al CNC

## 5. Algunes consideracions geomètriques

Quan es parla d'interpolació lineal o circular, fem esment a les característiques d'un algorisme intern de generació de trajectòria, que relaciona els increments de posició de dos eixos, segons una funció matemàtica lineal o circular.
Això no vol dir necessàriament, que el moviment resultant de la màquina, es correspongui amb una línia recta o un arc de circumferència. Ben al contrari, la realitat és que el resultat obtingut depèn de la geometria del sistema de coordenades amb el que es treballa.
Mentre es treballi amb dos eixos coplanaris, ja siguin x-y, x-z o y-z, el resultat serà efectivament una línia recta o un arc de circumferència, però si es treballa amb altres sistemes de coordenades, el moviment resultant pot ser molt diferent, i fins i tot difícil de preveure.
Un exemple clar, és el cas d'aquells sistemes amb simetria cilíndrica, on es pretén combinar moviments d'un eix rotatiu, amb un segon eix longitudinal i perpendicular al rotatiu, passant pel centre del gir.
Es tracta, d'un exemple tan comú com el cas d'un plat divisor ubicat sobre la taula d'una fresadora, i que apareix també a les màquines esmoladores, i en alguns torns de gama alta amb capçal motoritzat en "mode-eix".
En aquest cas, el resultat d'una interpolació lineal entre els dos eixos, no és una línia recta, sinó un moviment helicoidal o espiral a l'espai, a manera de vis-sens-fi de pas continu.
El que ja no és tan clar és el resultat d'executar una interpolació circular entre els mateixos dos eixos.
Aquí, les distàncies dels trams reals a recórrer, tenen una correspondència amb els moviments programats dels dos eixos, que depèn de la distància de separació entre el punt de treball i l'eix de simetria del plat giratori. Això fa que el concepte de "radi de la corba", o "centre de l'arc" dins de la instrucció d'interpolació tinguin una complicada relació amb els seus homònims estàndard, i el resultats obtinguts, siguin simplement sorprenents.
Els efectes es veuen complicats en alguns sistemes que disposen de plats divisors giratoris, muntats sobre plats divisors basculants (algunes fresadores o rectificadores de cinc eixos, orientades a la fabricació d'eines).
També requereix una anàlisi matemàtica important el cas d'un plat divisor amb un segon eix de treball perpendicular a l'eix de gir (el cas d'algunes rectificadores de lleves)
Un altre exemple habitual que presenta complicacions semblants és el cas dels robots giratoris de columna, capaços de treballar a tot l'espai, o en plans horitzontals (robots SCARA). Aquests equips solen tenir una disposició sobreposada dels eixos d'un braç, a la manera d'una combinació "espatlla-colze, canell", tots ells combinats amb altres eixos giratoris sobre altres plans a l'espai.
Aquests robots cal programar-los amb l'ajut d'un sistema extern de CAD-CAM, o bé mitjançant aprenentatge o tècniques d'edició tipus "play-back".
En qualsevol cas, el modelatge de la trajectòria no és immediata (un exercici matemàtic estimulant pot ser esbrinar la funció que guiaria dos eixos giratoris "espatlla-colze" d'un robot tipus SCARA de dos eixos, per tal de descriure un senzill segment rectilini en el pla).

## 6. Exemples d'aplicacions de contornejat
### Aplicacions de contornejat al pla

Una gran majoria de les aplicacions de contornejat, limiten la seva complexitat al seguiment de figures en el pla.
És el cas d'aquelles màquines que disposen d'una taula de coordenades x-y damunt la qual hi ha ubicada la peça a ser treballada.
Alguns conjunts màquina-CNC permeten el commutar els eixos, de manera que la mecanització, sempre bidimensional, es pugui fer també sobre els plans x-z o y-z.
El moviment s'aconsegueix motoritzant la taula on va estacada la peça, o bé fixant la taula i ubicant l'eina a una estructura superior mòbil de tipus pòrtic.
En aquests casos, el moviment vertical de l'eina no és simultani als moviments del pla. És el que s'anomena comunament "geometria en dues dimensions i mitja", donat que, malgrat la màquina disposi de motorització i control dels tres eixos cartesians, el procés de contornejat tan sols s'executa simultàniament sobre dos dels eixos.
Exemples d'aquestes aplicacions serien:
* Fresadores
* Centres de mecanitzat
* Taules de coordenades motoritzades
* Màquines d'oxitall o tal per plasma
* Màquines de marcar o tallar per làser.
* Altres aplicacions de contornejat bidimensional
Tal com s'ha explicat a l'apartat anterior, no totes les aplicacions de contornejat bidimensional suposen moviments sobre un pla d'eixos cartesians.
És el cas, per exemple, d'aquelles aplicacions a les que es combina un eix lineal amb un altre eix giratori.
Alguns casos serien:
* un plat divisor sobre una taula d'eixos motoritzada.
* amb eix de moviment paral·lel a l'eix de gir.
* Amb eix de moviment perpendicular a l'eix de gir.
* Màquines bobinadores cilíndriques
* Algunes rectificadores especials.
La programació dels perfils a seguir per a aquestes màquines sol ser molt complexa, i en la gran majoria de casos, el més aconsellable és recolzar-se en un sistema especial de programació assistida extern (donat que rarament els sistemes estàndard són capaços d'enfrontar-se a problemes geomètrics associats a sistemes de coordenades no cartesians).

### Contornejat tridimensional i multidimensional

Solen constituir els casos més complexes d'aplicacions de contornejat. En ells, el perfil a seguir suposa la combinació del moviment coordinat de tres o més eixos de la màquina.
El mètode d'execució dels perfils rarament utilitza la interpolació circular. El més usual és descompondre el perfil en una poligonal tridimensional, formada per trams lineals consecutius, reduint, a la pràctica, el problema d'execució a l'entorn del CNC, al cas d'una successió de simples interpolacions lineals. En citem alguns exemples significatius:

#### Aplicacions de fresat en tres eixos.

És el cas de mecanitzat de figures a l'espai.
Els exemples més significatius es presenten en els treballs que es realitzen en el sector del motlle, i són aplicacions que van encaminades a resoldre una problemàtica que tradicionalment es resolia mitjançant fresadores "copiadores", que treballaven sense ajuda de cap control numèric.
Les fresadores CNC han anat guanyant terreny, gràcies a la generalització de programes CAD-CAM especialment orientats al sector. De tota manera, encara avui en dia, per a moltes peces amb figures artístiques i formes irregulars, encara és més ràpid construir un model artesà, que generar-lo informàticament via un sistema CAD.
Amb tot, la tendència apunta en una sola direcció, impulsada per les necessitats de repetitivitat i màxima precisió en el mecanitzat

#### Aplicacions de fresat en cinc eixos

És una derivació sofisticada del cas anterior de figures tridimensionals, on s'ha motoritzat el capçal que suporta l'eina de fresat amb dos eixos giratoris azimutals.
Això permet que l'eina de fresat treballi, durant tota la trajectòria, perpendicularment a la superfície de la peça que està mecanitzant, independentment de la seva forma.
Una vegada més, els controls numèrics capaços de gestionar aquestes aplicacions, es basen en sistemes CAM, que els generen les corresponents interpolacions lineals de cinc eixos per trams.

#### Màquines d'electro-erosió per fil

Són una família de màquines molt especials, governades per equips de control numèric desenvolupats específicament per a elles.
Controlen simultàniament un mínim de quatre o cinc eixos, destinats a guiar l'orientació de l'elèctrode (fil) a l'espai, per procedir a un procés d'erosió de la peça.
La programació dels perfils es fa amb l'ajut de mòduls CAM especialment orientats a l'aplicació.

#### Robots multi eix de contornejat

Són equips multieix orientats a aplicacions de pintura, soldadura contínua, aplicació de segellats de perfils a l'espai, màquines polidores, etc.
En totes elles, cal resseguir una trajectòria a l'espai, tot governant-ne de manera contínua l'angle d'incidència de l'útil de treball.

## 7. Moviment de contornejat uniforme

La missió primordial dels equips de control numèric a les aplicacions de contornejat és doble, i tots els controls numèrics dedicats ho acompleixen: - garantir el seguiment acurat del perfil programat. - Assegurar que aquesta trajectòria serà executada a la velocitat preestablerta pel programa.
Hi ha, però tota una sèrie d'aplicacions a les que l'exigència de mantenir una velocitat uniforme durant tota la trajectòria es fa molt estricte.
És el cas d'aquells processos als quals una petita variació en la velocitat d'avenç durant el treball pot tenir unes conseqüències fatals en el resultat final.
Així, per exemple, una màquina de tall per làser o plasma, ha de garantir que el canó es desplaçarà per damunt de la peça sempre a la mateixa velocitat. Una mínima disminució de l'avanç pot suposar un sobreescalfament de la peça, amb el consegüent deteriorament del perfil de tall obtingut.
Un problema similar pot aparèixer en alguns processos de fresat, on cal mantenir una relació estrictament uniforme entre la velocitat d'avanç i la velocitat de rotació de l'eina. Al cas, per exemple de la mecanització d'una peça de fusta, una lleugera disminució de la velocitat fa que la peça quedi "cremada" o marcada en els trams afectats.
Els efectes són igualment perniciosos en màquines o robots dissenyats per a dosificar un determinat producte al llarg d'un perfil determinat. Una variació en la seva velocitat d'avanç repercuteix directament en una sobre-dosificació o una dosificació insuficient en el tram afectat.
La regulació de la velocitat que realitzen els equips CNC és, a aquests efectes, plenament satisfactòria.
El problema apareix en les transicions entre seqüències de moviments.
Efectivament, la majoria de perfils programats no suposen una única instrucció d'interpolació, sinó una successió de moviments lineals i/o circulars consecutius.
En aquests casos, l'existència de les rampes d'acceleració i desacceleració a l'inici i al final de cada moviment es converteixen en un problema. Els efectes d'aquestes alteracions transitòries a la velocitat d'avanç, poden ser intolerables en determinades aplicacions.
Per resoldre parcialment el tema, alguns controls numèrics disposen d'una funció modal anomenada "contornejat sense acceleracions".
Aquesta funció és capaç de detectar el grau de continuïtat o tangència entre cada parella de moviments consecutius. En el cas que es detecti que ambdós moviments no presenten una discontinuïtat important en la seva direcció, el CNC inhibeix els algorismes d'acceleració i desacceleració, de manera que es mantingui permanentment la velocitat d'avanç programada sota la funció "F". Si l'enllaç entre els dos blocs suposa un canvi significatiu en la direcció inicial del moviment, el sistema continua treballant normalment, desaccelerant el moviment inicial i accelerant el següent fins a arribar de nou a la velocitat de règim.
L'existència d'aquesta funció pot ser suficient per a alguns treballs que suposin l'execució de perfils continus, i sense arestes abruptes.
Amb tot, no queda resolt el tram d'acceleració inicial del primer dels moviments, ni el de desacceleració final del darrer tram del perfil compost.. d'altra banda, també és molt corrent la necessitat de tallar o mecanitzar a velocitat constant figures poligonals, o simplement amb arestes.
La solució que se sol adoptar és incorporar al sistema global, una unitat de regulació de l'acció de l'eina, que graduï la seva magnitud en funció de la velocitat instantània d'avanç dels eixos.`
Per als exemples abans esmentats, al cas de la màquina làser, suposaria regular la intensitat del canó del làser; en el cas de la fresadora, regular la velocitat de gir de l'eina, i en el cas del dosificador, regular l'obertura de dosificació.
En algunes aplicacions, aquesta regulació no es fa amb un element extern, sinó que s'utilitza un eix de CNC addicional (tercer o quart eix), que es fa treballar amb les seves pròpies rampes d'acceleració, de manera que actuï coordinadament amb els eixos de moviment convencional.

## Referències

* Arquitectura dels Controls Numèrics - Aplicacions, Antoni Viadé Riart, abril de 2009.