• Non ci sono risultati.

Programmazione spline G99 SplineDef

Nel documento Rexroth PNC Manuale di programmazione DIN (pagine 155-162)

Programmazione numero di giri diretta (funzione rotazione) G97 G96: velocità di taglio costante

3.56 Programmazione spline G99 SplineDef

L’NC supporta 4 programmazioni di spline (per ulteriori dettagli, ved.

istruzioni per l’uso ”Descrizione delle funzioni del PNC”):

D Spline con programmazione coefficienti (Tipo 0) (coefficienti polinomiali del sistema CAD/CAM)

D Spline C1 continue cubiche con programmazione del punto d’appog-gio (Tipo 1)

(traslazioni tangenziali ai punti d’appoggio)

D Spline C2 continue cubiche con programmazione del punto d’appog-gio (Tipo 2)

(traslazioni curve continue ai punti d’appoggio)

D B-Spline con programmazione del punto di controllo (Tipo 3) (andamento della curva in prossimità dei punti d’appoggio)

D Nel programma è necessario innanzitutto inizializzare il tipo di spline con ”SplineDef”.

D Quindi la spline viene attivata con G99.

Le funzioni descritte di seguito non possono essere programmate con spline:

D Orientamento tensore: questa funzione riguarda sia la sintassi del tensore Ox(..), Oy(..) e Oz(..) sia gli angoli euleriani phi, theta, psi.

D Interpolazione superficiale D Correzione percorso G41/G42.

D Cancellazione distanza residua

D Punzonatura e roditura con frazionamento del percorso

D Cerchio ed elica con entrata tangenziale verso l’elemento spline pre-cedente

D Smussature e arrotondamenti D Guida utensile tangenziale D Programmazione precisione D Controllo area

Effetto

Programmazione

Spline con programmazione coefficienti (Tipo 0) Inizializzazione

SplineDef(<Id>) Inizializzazione spline Tipo 0 Spiegazione:

<Id> Grado della spline: 1,..., 5 Esempio: SplineDef(5)

Attivazione

G99 Attivazione del tipo di percorso ”Spline”

Parametri modali per G99

D Programmazione asse/coordinate:

Ogni coordinata del canale può essere spostata a piacere D come spline mediante indicazione dei coefficienti polinomiali

<NomeCoord>(<c0>,<c1>,...,<cn>) Programmazione di singole coordinate con coefficienti polinomiali

D oppure in modo lineare mediante indicazione della posizione fi-nale.

<NomeCoord>(<PosFin>) Programmazione della po-sizione finale di coordinate/

assi singoli Spiegazione

<NomeCoord> Nome della coordinata, dell’asse

<c0>,<c1>,...,<cn> Coefficienti polinomiali di una coordinata.

n=1,..,5 corrisponde al grado della spline impostato in SplineDef

<PosFin> Posizione finale della coordinata Esempio:

SplineDef(3)

G99 X(0.1, 1.25, 0.5, 0.73) Y30 B(0.0, –1.0, 0.1, –0.2) D Programmazione polinomio denominatore:

DN(<g0>,<g1>,...,<gn>) Polinomio denominatore comune per tutte le coordinate della spline.

Descrizione esatta di curve di Bezier razio-nali, B-Spline razionali (NURBS) e di tutte le sezioni coniche.

Spiegazione

<g0>,<g1>,...,<gn> Coefficienti polinomiali del polinomio deno-minatore.

n=1,..,5 corrisponde al grado della spline impostato in SplineDef.

Esempio:

SplineDef(3)

G99 X(0.1, 1.25, 0.5, 0.73) B(0.0, –1.0, 0.1, –0.2) DN(1,0,1)

D Programmazione vettore di orientamento:

Questo tipo di programmazione presuppone una programmazione di coordinate spaziali attiva (Coord(..)).

O1(<o10>,< o11>,...,< o1n>) O2(<o20>,< o21>,...,< o2n>) O3(<o30>,< o31>,...,< o3n>)

comp. x del vettore di orientamento comp. y del vettore di orientamento comp. z del vettore di orientamento Spiegazione

<o10>,< o11>,...,< o1n>

<o20>,< o21>,...,< o2n>

<o30>,< o31>,...,< o3n>

Coefficienti della spline del componente x del vettore di orientamento.

Coefficienti della spline del componente y del vettore di orientamento.

Coefficienti della spline del componente z del vettore di orientamento.

n=1,..,5 corrisponde al grado della spline impostato in SplineDef.

.

Il polinomio denominatore comune (DN) non può essere applicato per l’orientamento del vettore.

Esempio:

N00 ;coefficienti spline per orientamento vettore 001 PI=3.14159 : PIH = PI/2 : PIHQ = PIH*PIH : PIHC = PIHQ*PIH

N10 G1 F30000 X0 Y0 Z0 B90 C0 N20 SplineDef(3)

N30 Coord(1) ;trasformazione di 5 assi con orientamento vettore inserita N40 G99 PL[PIH]

N50 O1(1,0,–3/PIHQ,2/PIHC) O3(0,1,(3–PI)/PIHQ, (–2+PIH)/PIHC)

N60 O1(0,0,3/PIHQ,–2/PIHC) O3(1,0,(–3+PIH)/PIHQ, (2–PIH)/PIHC)

N70 O(0,1,0) ;orientamento vettore normale N80 G1

N90 Coord(0)

D Programmazione lunghezze di parametro spline:

La lunghezza di parametro della spline è la lunghezza dell’intervallo di definizione di w; l’intervallo di w è 0...we.

Il valore we è modale e rimane valido per tutti i blocchi NC fino alla deselezione di G99. PL deve essere programmato nel primo blocco di traslazione dopo G99, altrimenti si verifica un errore di tempo di esecuzione.

{PL<we>} opzione: programmazione della lunghezza di parametro spline.

Spiegazione

<we> valore arbitrario > 0 Esempio:

G99 X(0.1,1.25,0.5,0.73) B(0.0,–1.0,0.1,–0.2) PL0.6

(X = 0.1 + 1.25 w + 0.5 w2 + 0.75 w3 e B = 0.0 – 1.0 w + o.1 w2 – 0.2 w3 con w che va da 0 a 0.6)

Spline C1 e C2 continua cubica (Tipo 1 e Tipo 2) Inizializzazione

SplineDef(<Id>,<Members>) Inizializzazione spline Tipo 1 o Tipo 2 Spiegazione:

<Id> numero intero a quattro cifre composto da:

<tipo> <parametrizzazione><calcolo tangente><grado>

<tipo>: 1= spline C1 continua con traslazione tangente 2= spline C2 continua con

traslazione curva continua-continua

<parametrizzazione>: 1= equidistante 2= cordale 3= centripetale

<calcolo tangente>: 1= Bessel 2= Akima 3= corde

<grado>: 1,..., 5 Gli zeri iniziali possono essere omessi.

<Members> determina i nomi degli assi o delle coordinate partecipanti al movimento spline.

D In caso di programmazione delle coordinate spaziali attiva (COORD(..)), è possibile programmare il mo-vimento di orientamento anche come spline con:

– orientamento ”O” oppure – coordinate polari ”phi” e ”theta”

D Le coordinate/gli assi non indicati in <Members>

possono essere spostati solo in modo lineare.

Esempi:

SplineDef(2203,”x”,”y”,”z”) SplineDef(2203,”x”,”y”,”z”,”O”)

SplineDef(2203,”x”,”y”,”z”,”phi”,”theta”)

Attivazione

G99 Attivazione del tipo di percorso ”Spline”

Parametri modali per G99

D Programmazione asse/coordinate:

Vengono programmati i punti finali delle coordinate di canale. Tutti i membri indicati in SplineDef si spostano sulla curva spline, mentre le coordinate rimanenti si muovono in modo lineare.

<NomeCoord>(<PosFin>) e/o

<Nomeasse>(<PosFin>) e/o

<CoordinataOrientamento>(<Orientamento

Fin>)

Programmazione di singoli coordinate/

assi/coordinate di orientamento e dei rispettivi valori.

Spiegazione

<PosFin> Posizione finale della coordinata/asse

<OrientamentoFin> Orientamento in angolo polare o coordinate cartesiane.

Esempio: coordinate: x, y, z nonché coordinata di orientamento theta SplineDef(2203,”x”,”y”,”z”,”theta”)

G99 x10 y20 theta30 Esempio: assi: X,Y, U

SplineDef(1213,”X”,”Y”)

G99 X10 Y10 U20 (X, Y si muovono come spline, U in

modo lineare)

D Condizioni iniziali:

SBC(<Tipo>[,<Values>]) Condizioni marginali per il punto iniziale di una sequenza spline

C1 con 3 condizioni iniziali C2 con 5 condizioni iniziali Spiegazione

<Tipo> Default: 2

1 (valido per C1 e C2)

Inserimento della direzione della tangente al punto in-iziale della sequenza spline. Per ogni membro della spline deve essere indicato un valore nella lista <Va-lues>.

2 (valido per C1 e C2)

Inserimento della seconda derivazione al punto iniziale della sequenza spline. Per ogni membro della spline deve essere indicato un valore nella lista <Values>.

3 (valido per C2)

Condizione marginale De Boor, collega le seconde de-rivazioni ai primi due punti d’appoggio.

<Values> generalmente 1.

4 (valido per C2)

Condizione marginale periodica: l’ultimo e il primo punto della sequenza spline corrispondono. SBC(4) richiede obbligatoriamente EBC(4). L’intera sequenza spline deve trovarsi nell’area di anteprima, altrimenti si verifica un errore di tempo di esecuzione.

11 (valido per C1 e C2)

La prima spline inizia tangenzialmente al blocco lineare precedente.

<Values> Default: 0,...,0

Tutte le indicazioni in <Values> forniscono la direzione e la dimensione della tangente iniziale o della seconda separa-zione al punto iniziale. Per ciascun membro della spline è possibile impostare un valore positivo o negativo.

Tipo 11 non necessita di <Values>.

Esempio:

SBC(1,1.0,1.0,0.2), se SplineDef(1213,”X”,”Y”,”B”)

D Condizioni finali:

EBC(<Tipo>[,<Values>]) Condizioni marginali per il punto finale di una sequenza spline

C1 con 3 condizioni finali C2 con 5 condizioni finali Spiegazione

<Tipo> Default: 2

1 (valido per C1 e C2)

Inserimento della direzione della tangente al punto fi-nale della sequenza spline. Per ogni membro della spline deve essere indicato un valore nella lista <Va-lues>.

2 (valido per C1 e C2)

Inserimento della seconda derivazione al punto finale della sequenza spline. Per ogni membro della spline deve essere indicato un valore nella lista <Values>.

3 (valido per C2)

Condizione marginale De Boor, collega le seconde de-rivazioni agli ultimi due punti d’appoggio. <Values> ge-neralmente 1.

4 (valido per C2)

Condizione marginale periodica: l’ultimo e il primo punto della sequenza spline corrispondono.

EBC(4) richiede obbligatoriamente SBC(4). L’intera se-quenza spline deve trovarsi nell’area di anteprima, al-trimenti si verifica un errore di tempo di esecuzione.

11 (valido per C1 e C2)

L’ultima spline sbocca tangenzialmente nel blocco li-neare successivo.

<Values> Default: 0,...,0

Tutte le indicazioni in <Values> forniscono la direzione e la dimensione della tangente finale o della seconda separa-zione al punto finale. Per ciascun membro della spline è possibile impostare un valore positivo o negativo.

Tipo 11 non necessita di <Values>.

Esempio:

EBC(1,1.0,1.0,0.2), se SplineDef(1213,”X”,”Y”,”B”) D Lunghezza di parametro spline:

La lunghezza di parametro della spline viene calcolata dall’NC sulla base dei punti d’appoggio definiti. In questo caso viene utilizzata la traslazione definita nell’Id della spline (parametrizzazione). Se ne-cessario, è possibile anche programmare la lunghezza di parametro della spline:

{PL<we>} opzione: programmazione della lunghezza di parametro della spline, se è necessario sovrascrivere la selezione della ”parametrizzazione” in SplineDef(..)

Spiegazione

<we> valore arbitrario > 0

B-Spline (Tipo 3, NURBS)

Nel documento Rexroth PNC Manuale di programmazione DIN (pagine 155-162)