Skip to main content

Spostamento, rotazione e ridimensionamento del sistema di coordinate

codice G: G53, G54, G55, G56

Funzione:

I comandi del codice G G54, G55, E G56 spostare, ruotare e scalare il sistema di coordinate del decodificatore utilizzato internamente dal blocco funzione interprete SMC_NCInterpreter. Le trasformazioni delle coordinate vengono calcolate per tutti gli elementi del percorso durante l'esecuzione del SMC_NCInterpreter istanza del blocco funzione.

Il comando in codice G G53 reimposta il sistema di coordinate del decodificatore alla posizione, all'orientamento e alla scala originali (corrispondenti al sistema di coordinate della macchina).

Suggerimento

Si sposta e si ruota il sistema di coordinate del decodificatore per riutilizzare il codice G degli stessi elementi del percorso che differiscono solo per posizione, orientamento o scala.

Suggerimento

La rotazione e la scalatura del sistema di coordinate del decodificatore funzionano solo nell'interprete online (non nell'editor CNC).

Sistemi di coordinate MCS e DCS

Il sistema di coordinate macchina (MCS) è definito dalla cinematica applicata che ne determina la posizione e l'orientamento.

Il sistema di coordinate del decodificatore (DCS) è gestito dall'interprete (SMC_NCInterpreter istanza del blocco funzione). Tutte le informazioni sulle coordinate per i comandi di movimento vengono interpretate in questo sistema di coordinate. Ciò influisce sulla posizione target di un movimento (X/Y/Z), nonché un punto medio dell'arco (I/J/K) o un aereo impostato con G15/G16/G17/G18/G19.

Il DCS si programma con i comandi G53/G54/G55/G56. È possibile ruotare, spostare e ridimensionare il DCS rispetto al sistema di coordinate della macchina e quindi adattare la posizione, l'orientamento e la scala nel file del codice G un numero qualsiasi di volte. Si programmano gli elementi del percorso relativi al DCS. Ad esempio, questo può essere un vantaggio per gli stessi elementi di percorso in posizioni e orientamenti diversi.

L'immagine seguente mostra uno spostamento (a sinistra) e uno spostamento con rotazione (a destra).

_sm_img_mcs_dcs.png

L'interprete ottiene le informazioni dal suo eOriConv input su se A/B/C vengono trattati come assi aggiuntivi o come valori di orientamento. Le coordinate degli elementi del percorso vengono trasformate di conseguenza. Pertanto, il blocco funzione interprete gestisce un sistema di coordinate attivo. Inizialmente, se il DCS non viene né spostato, né ruotato, né scalato, allora il DCS corrisponde al MCS. Le posizioni iniziale e finale e il piano per gli archi sono specificati negli oggetti GeoInfo generati sempre in relazione all'MCS.

SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.ADDAXES

Non è specificata alcuna convenzione di orientamento. Il contenuto della parola in codice G A/B/C viene interpretato come valore di shift.

SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.ZYZ

La convenzione di orientamento è la convenzione Y standard (Z, Y', Z''). Il contenuto della parola in codice G A/B/C viene interpretato come valore angolare.

SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.ZYX

La convenzione di orientamento è la convenzione imbardata-pitch-roll (Z, Y', X''). Il contenuto della parola in codice G A/B/C viene interpretato come valore angolare.

SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.XYZ

La convenzione di orientamento è la convenzione XYZ (X, Y', Z''). Il contenuto della parola in codice G A/B/C viene interpretato come valore angolare.

Comandi G53, G54, G55, G56

Codice G

Descrizione

G53

Reimposta il sistema di coordinate del decodificatore

Il DCS viene reimpostato nella stessa posizione e orientamento dell'MCS.

G54

Assoluto spostamento, rotazione e ridimensionamento del DCS

I valori si riferiscono al MCS.

Se una convenzione di orientamento è non specificato (SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.ADDAXES), allora il comando provoca uno spostamento solo lungo gli assi X/Y/Z/A/B/C e su tutti gli ulteriori assi lineari P/Q/U/V/W. Pertanto è possibile programmare uno spostamento anche lungo gli assi A/B/C.

Se viene specificata una convenzione di orientamento, il comando comporta uno spostamento anche lungo gli assi X/Y/Z e lungo gli assi lineari aggiuntivi P/Q/U/V/W. Inoltre, gli assi delle coordinate vengono ruotati. Quindi la convenzione di orientamento fornisce l'ordine di rotazione e le parole in codice G A/B/C forniscono gli angoli di rotazione in gradi.

Nota: il decoder può eseguire rotazioni direzionali in un intervallo compreso tra -180° e +180°. Se si specifica un angolo al di fuori di questo intervallo, il decodificatore converte il valore in modo che rientri nell'intervallo eseguibile. Solo allora il decoder ruota gli assi delle coordinate. Ad esempio, per un angolo di 350° viene eseguita una rotazione di -10°.

G55

Parente spostamento, rotazione e ridimensionamento del DCS nella sua posizione e orientamento correnti

Pertanto i valori sono relativi all'origine del DCS corrente e interpretati nella direzione degli assi delle coordinate correnti del DCS. Viene aggiunto un ulteriore spostamento/rotazione rispetto al sistema di coordinate della macchina.

Se una convenzione di orientamento è non specificato, allora il comando risulta in uno spostamento relativo solo lungo gli assi X/Y/Z/A/B/C e su tutti gli assi lineari aggiuntivi P/Q/U/V/W. Pertanto è possibile programmare uno spostamento anche lungo gli assi A/B/C.

Se viene specificata una convenzione di orientamento, allora il comando risulta in uno spostamento relativo anche lungo gli assi X/Y/Z e lungo gli assi lineari aggiuntivi P/Q/U/V/W. Ma soprattutto, gli assi delle coordinate vengono ruotati ulteriormente. Quindi la convenzione di orientamento fornisce l'ordine di rotazione e le parole in codice G A/B/C forniscono gli angoli di rotazione.

G56

Reimposta il punto di riferimento del sistema di coordinate del decoder

L'orientamento, la posizione e la scala correnti del DCS sono impostati come riferimento.

Suggerimento: se il punto di riferimento è X0 Y0 Z0 A0 B0 C0, il DCS viene impostato in modo identico alla posizione e all'orientamento attuali.

Sintassi

G53
G54 X Y Z A B C I J K P Q U V W
G55 X Y Z A B C I J K P Q U V W
G56 X Y Z A B C I J K P Q U V W

Parola in codice G

Descrizione

X

Y

Z

Valore attorno al quale viene spostato il sistema di coordinate del decodificatore

A

B

C

Se l'input è eOriConf = SMC_ORI_CONVENTION.ADDAXES A SMC_NCInterpreter, quindi viene fornito il valore in unità di quanto viene spostato il rispettivo asse aggiuntivo. Pertanto, il parametro definisce lo spostamento per ciascun asse del sistema di coordinate del decodificatore rispetto al sistema di coordinate della macchina.

Se la eOriConf l'input è SMC_ORI_CONVENTION.ZYZ, SMC_ORI_CONVENTION.ZYX, O SMC_ORI_CONVENTION.XYZ A SMC_NCInterpreter, allora viene fornita una convenzione di orientamento. In questo caso i valori qui indicati vengono interpretati automaticamente come gradi e determinano di quanto vengono ruotati gli assi del sistema di coordinate del decodificatore rispetto al sistema di coordinate della macchina. Pertanto, si definisce la rotazione degli assi principali secondo la convenzione di orientamento.

Nota: quando si programma la rotazione DCS, gli angoli di rotazione devono essere sempre specificati in A/B/C per tutti e tre gli assi. Un angolo di rotazione mancante provoca un errore durante la decodifica (SMC_DEC_DCS_NOT_ALL_OF_ABC_GIVEN).

I

Scala in direzione X

Esempio: 10 per l'estensione di un fattore 10

J

Scala in direzione

Esempio: 10 per l'estensione di un fattore 10

K

Scala in direzione Z

Esempio: 10 per l'estensione di un fattore 10

P

Q

U

V

W

Valore attorno al quale viene spostato l'asse aggiuntivo del sistema di coordinate del decodificatore

Spostamento del DCS

  1. Impostare il eOriConv ingresso del SMC_NCInterpreter istanza del blocco funzione a SMC_ORI_CONVENTION.ADDAXES.

    Il DCS può essere spostato. Una rotazione non è possibile.

  2. Programmare il percorso CNC. Innanzitutto, specificare lo spostamento di posizione del DCS.

    Esempio: G54 X10 Y10 Z10 A30 B30 C30

    Gli assi X/Y/Z/A/B/C del DCS vengono spostati.

Esempio 18. Esempio

Offset assoluto

N10 G0 X100 Y100 F100
N20 G54 X50 Y50    (Offset auf 50/50)
N30 G1 X0 Y0       (Fahrt nach 50/50)
N40 G54 X100 Y100  (Offset auf 100/100)
N50 G1 X0 Y0       (Fahrt nach 100/100)
N60 G53            (Offset auf 0)
N70 G1 X0 Y0       (Fahrt nach 0/0)

Posizione attuale come offset

N0 G0 X100 Y100 F100
N10 G56 X0 Y0  (Aktuelle Position 100/100 wird 0/0)
N20 G1 X10     (Fahrt nach 110/100)
N30 G56 X20 Y0 (Aktuelle Position 110/100 wird 20/0)
N40 G1 X0      (Fahrt nach 90/100)

Adatta offset per valore

N0  G54 X10 Y20 Z30  U7 (Offset: X=10, Y=20, Z=30, U=7)
N10 G55 X-10 U7         (Offset: X=0, Y=20, Z=30, U=14)

Stessi elementi di percorso in due posizioni

N05 G17
N10 G54 X10 Y10 Z10
N20 G01 X6.574 Y-10 Z-1.961 I8.287 J-0.000
N30 G02 X-0.480 Y-10 Z0.008 I-3.527 J4.988E-05
N040 G02 X3.418 Y-9.806 Z4.482 I1.949 J0.097
N50 G55 X10 Y10 Z10
N60 G01 X6.574 Y-10 Z-1.961 I8.287 J-0.000
N70 G02 X-0.480 Y-10 Z0.008 I-3.527 J4.988E-05
N80 G02 X3.418 Y-9.806 Z4.482 I1.949 J0.097
_sm_decoder_coordinat_system.png


Spostamento e rotazione del DCS

  1. Impostare il eOriConv ingresso del SMC_NCInterpreter istanza del blocco funzione alla convenzione di orientamento desiderata (ad esempio, SMC_ORI_CONVENTION.ZYZ).

    La convenzione di orientamento e l'ordine di rotazione degli assi X/Y/Z del DCS sono programmati. Per SMC_ORI_CONVENTION.ZYZ, l'ordine di rotazione è ZY'Z'' e corrisponde alla convenzione Y standard.

    Nota: finché l'ingresso eOriConv contiene una convenzione di orientamento e non il valore SMC_ORI_CONVENTION.ADDAXES, i valori delle parole A/B/C vengono interpretati come valori angolari per la rotazione per i comandi in codice G G54/G55/G56.

  2. Programmare il percorso CNC. Innanzitutto, specificare lo spostamento di posizione e la rotazione del DCS.

    Esempio: G54 X10 Y10 Z10 A30 B30 C30

    I valori delle parole A/B/C fornire il senso di rotazione e l'angolo in gradi. Il sistema di coordinate viene ruotato di conseguenza. I valori delle parole X/Y/Z definire lo spostamento.

    Nota: quando si programma la rotazione DCS, gli angoli di rotazione devono essere sempre specificati in A/B/C per tutti e tre gli assi. Un angolo di rotazione mancante provoca un errore durante la decodifica (SMC_DEC_DCS_NOT_ALL_OF_ABC_GIVEN).

    Se la eOriConv ingresso del SMC_NCInterpreter l'istanza del blocco funzione contiene il valore SMC_ORI_CONVENTION.ADDAXES, non è possibile ruotare il DCS. I valori dentro G54/G55/G56 vengono interpretati come valori aggiuntivi dell'asse spline. Lo spostamento è possibile.

Esempio 19. Esempi

La convenzione di orientamento è stata definita negli esempi come la convenzione Y standard (eOriConv = SMC_ORI_CONVENTION.ZYZ). In generale per G54: X/Y/Z/A/B/C/P/Q/V/W fornisce un valore assoluto nel MCS. G55: X/Y/Z/A/B/C/P/Q/V/W fornisce un valore relativo nel DCS. G56: X/Y/Z/A/B/C/P/Q/V/W fornisce un nuovo valore assoluto nel DCS.

Orientamento assoluto con G54

N01 G54 X10 A30 B0 C0

G54 comporta uno spostamento e una rotazione. La posizione e l'orientamento sono forniti assoluti all'MCS.

Orientamento relativo con G55

N01 G54 X10 A30 B0 C0 (Bezieht sich auf MCS)
N02 G55 Y10 A0 B30 C0 (Bezieht sich auf das in 01 definierte DCS)

G54 comporta uno spostamento di 10 unità nella direzione X e una rotazione di 30° attorno all'asse Z assoluto rispetto all'MCS. Nel blocco 02, il DCS viene spostato di ulteriori 10 unità nella direzione dell'asse Y ruotato e quindi ruotato di ulteriori 30° attorno all'asse Y ruotato. Pertanto, la trasformazione nel blocco 02 è relativa alla trasformazione nel blocco 01.

Riferimento rispetto all'orientamento corrente con G56

N01 G01 X10 A10 B90 C10 (Orientierung ist A=10°, B=90°, C=10°)
N02 G56 A0 B0 C0        (DCS wird auf X=10, A=10°, B=90°, C=10° gesetzt)

G56 determina l'orientamento corrente del DCS (programmato nel blocco 01 nell'esempio) da impostare come riferimento.

Esempio: Arco

N0 G17
N0 G54 A0 B90 C0

Il piano circolare selezionato viene interpretato rispetto al DCS. Nell'esempio, il piano X/Y è selezionato con G17 e quindi il DCS viene ruotato di 90° attorno all'asse Y. Quindi il piano selezionato nel DCS è il piano X/Y come prima. Ciò corrisponde a quello del piano X/Z nell'MCS.

Insieme a G17, viene selezionato il piano X/Y. Quindi il DCS viene ruotato di 90°. Ciò si traduce nell'attivazione del piano X/Y nel DCS come prima. Questo corrisponde al piano X/Y nell'MCS.



Suggerimento

Nella modalità 2.5D (G15), la rotazione è consentita solo attorno all'asse Z. La rotazione attorno ad un altro asse provoca un errore emesso dal decoder (SMC_DEC_DCS_2D_NOT_IN_XY_PLANE). Pertanto, il piano X/Y dell'MCS rimane sempre impostato in modalità 2.5D.

Scalare il sistema di coordinate

Importante

Se viene programmata una rotazione dopo un ridimensionamento ineguale, può verificarsi il ritaglio. In questo caso, l'errore SMC_DEC_ROTATION_AFFECTS_SCALING non viene rilasciato.

Importante

Tutti e tre i fattori di scala devono essere specificati o nessuno.

Ridimensionamento assoluto

Sintassi: G54 I<i> J<j> K<k>

Un sistema di coordinate può essere allungato o compresso nelle tre direzioni spaziali X/Y/Z indipendentemente l'uno dall'altro. È possibile specificare un fattore per ogni direzione. Specificare il fattore di scala per X in I, Y in J e Z in K. Un fattore di scala > 1 si estende. Un fattore di scala < 1 si comprime.

Estensione di 10 volte:

N01 G01 X10
N02 G54 A90 B0 C0 I10 J1 K1
N03 G01 X10 Y20
N04 G01 X5 Y10

Tutti i caposaldo vengono estesi di 10 volte nella direzione dell'asse X ruotato.

Il codice seguente genera lo stesso percorso:

N01 G01 X10
N02 G01 X-20 Y100
N03 G01 X-10 Y50.

Se non vengono specificati né I né J né K, il valore precedentemente impostato rimane invariato:

N01 G54 I10 J1 K1
N02 G54 X1
N03 G01 X10

Lo stesso percorso si ottiene con il seguente codice:

N01 G01 X101

Ridimensionamento relativo

Sintassi: G55 I<i> J<j> K<k>

Un fattore di scala > 1 si estende. Un fattore di scala < 1 si comprime. I fattori di scala vengono moltiplicati.

Estensione di 100 volte:

N01 G54 I10 J1 K1
N02 G55 I10 J1 K1
N03 G01 X10 Y20
N04 G01 X5 Y10

Il codice seguente produce lo stesso ridimensionamento:

N01 G55 I100 J1 K1

Ridimensionamento circolare

La scalatura di un arco è valida solo se l'elemento è ancora un arco (non un'ellisse) dopo la scalatura.

. Risultato dei percorsi validi:
  • Quando tutti e tre i fattori di scala hanno lo stesso valore

  • Quando il piano circolare è uno dei piani primari del DCS e i due fattori di scala corrispondenti sono gli stessi valori

Specchio del sistema di coordinate

Un ridimensionamento assoluto con fattori di ridimensionamento negativi in I, J, o K determina il mirroring del sistema di coordinate corrente.

Fattore di scala negativo

G54 A30 B0 C0 I-1 J1 K1