Skip to main content

Déplacement, rotation et mise à l'échelle du système de coordonnées

code G: G53, G54, G55, G56

Fonction:

Les commandes du code G G54, G55, et G56 décaler, faire pivoter et mettre à l'échelle le système de coordonnées du décodeur utilisé en interne par le bloc fonctionnel interpréteur SMC_NCInterpreter. Les transformations de coordonnées sont calculées pour tous les éléments du chemin lors de l'exécution du SMC_NCInterpreter instance de bloc fonctionnel.

La commande du code G G53 réinitialise le système de coordonnées du décodeur à la position, à l'orientation et à l'échelle d'origine (correspondant au système de coordonnées de la machine).

Astuce

Vous décalez et faites pivoter le système de coordonnées du décodeur afin de réutiliser le code G des mêmes éléments de chemin qui ne diffèrent que par la position, l'orientation ou l'échelle.

Astuce

La rotation et la mise à l'échelle du système de coordonnées du décodeur ne fonctionnent que dans l'interpréteur en ligne (pas dans l'éditeur CNC).

Systèmes de coordonnées MCS et DCS

Le système de coordonnées machine (MCS) est défini par la cinématique appliquée qui détermine sa position et son orientation.

Le système de coordonnées du décodeur (DCS) est géré par l'interpréteur (SMC_NCInterpreter instance de bloc fonction). Toutes les informations de coordonnées pour les commandes de mouvement sont interprétées dans ce système de coordonnées. Cela affecte la position cible d'un mouvement (X/Y/Z), ainsi qu'un milieu d'arc (I/J/K) ou un avion réglé avec G15/G16/G17/G18/G19.

Le DCS est programmé avec les commandes G53/G54/G55/G56. Vous pouvez faire pivoter, déplacer et mettre à l'échelle le DCS par rapport au système de coordonnées de la machine, et donc adapter la position, l'orientation et la mise à l'échelle dans le fichier de code G autant de fois que vous le souhaitez. Vous programmez les éléments de chemin relatifs au DCS. Par exemple, cela peut être un avantage pour les mêmes éléments de chemin dans différentes positions et orientations.

L'image suivante montre un décalage (à gauche) et un décalage avec rotation (à droite).

_sm_img_mcs_dcs.png

L'interprète obtient les informations de son eOriConv entrée sur la question de savoir si A/B/C sont traitées comme des axes supplémentaires ou comme des valeurs d'orientation. Les coordonnées des éléments du chemin sont transformées en conséquence. Le bloc fonction interpréteur gère donc un système de coordonnées actif. Initialement, si le DCS n'est ni décalé, ni tourné, ni mis à l'échelle, alors le DCS correspond au MCS. Les positions de départ et cible ainsi que le plan des arcs sont spécifiés dans les objets GeoInfo générés toujours par rapport au MCS.

SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.ADDAXES

Aucune convention d'orientation n'est spécifiée. Le contenu du mot de code G A/B/C est interprété comme une valeur de décalage.

SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.ZYZ

La convention d'orientation est la convention Y standard (Z, Y', Z''). Le contenu du mot de code G A/B/C est interprété comme une valeur d'angle.

SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.ZYX

La convention d'orientation est la convention lacet-tangage-roulis (Z, Y', X''). Le contenu du mot de code G A/B/C est interprété comme une valeur d'angle.

SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.XYZ

La convention d'orientation est la convention XYZ (X, Y', Z''). Le contenu du mot de code G A/B/C est interprété comme une valeur d'angle.

Commandes G53, G54, G55, G56

Code G

La description

G53

Réinitialise le système de coordonnées du décodeur

Le DCS est réinitialisé à la même position et orientation que le MCS.

G54

Absolu décalage, rotation et mise à l'échelle du DCS

Les valeurs se réfèrent au MCS.

Si une convention d'orientation est pas spécifié (SMC_NCInterpreter.eOriConf = SMC_ORI_CONVENTION.ADDAXES), alors la commande entraîne un décalage uniquement le long des axes X/Y/Z/A/B/C et sur tous les axes linéaires supplémentaires P/Q/U/V/W. Par conséquent, un décalage peut également être programmé le long des axes A/B/C.

Si une convention d'orientation est spécifiée, alors la commande entraîne un décalage également le long des axes X/Y/Z et le long des axes linéaires supplémentaires P/Q/U/V/W. De plus, les axes de coordonnées sont tournés. Ensuite, la convention d'orientation fournit l'ordre de rotation et les mots de code G A/B/C donnent les angles de rotation en degrés.

Remarque : Le décodeur peut effectuer des rotations directionnelles dans une plage de -180° à +180°. Si vous spécifiez un angle en dehors de cette plage, le décodeur convertit la valeur afin qu'elle se situe dans la plage exécutable. Ce n'est qu'alors que le décodeur fait pivoter les axes de coordonnées. Par exemple, une rotation de -10° est effectuée pour un angle de 350°.

G55

Relatif décalage, rotation et mise à l'échelle du DCS vers sa position et son orientation actuelles

Par conséquent, les valeurs sont relatives à l'origine DCS actuelle et interprétées dans la direction des axes de coordonnées actuels du DCS. Un décalage/une rotation supplémentaire est ajouté par rapport au système de coordonnées machine.

Si une convention d'orientation est ne pas spécifié, la commande entraîne un décalage relatif uniquement le long des axes X/Y/Z/A/B/C et sur tous les axes linéaires supplémentaires P/Q/U/V/W. Par conséquent, un décalage peut également être programmé le long des axes A/B/C.

Si une convention d'orientation est spécifiée, alors la commande entraîne un décalage relatif également le long des axes X/Y/Z et le long des axes linéaires supplémentaires P/Q/U/V/W. Mais surtout, les axes de coordonnées sont davantage tournés. Ensuite, la convention d'orientation fournit l'ordre de rotation et les mots de code G A/B/C donnent les angles de rotation.

G56

Réinitialise le point de référence du système de coordonnées du décodeur

L'orientation, la position et l'échelle actuelles du DCS sont définies comme référence.

Astuce : Si le point de référence est X0 Y0 Z0 A0 B0 C0, alors le DCS est réglé de manière identique à la position et à l'orientation actuelles.

Syntaxe

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

Mot de code G

La description

X

Y

Z

Valeur autour de laquelle le système de coordonnées du décodeur est décalé

A

B

C

Si l'entrée est eOriConf = SMC_ORI_CONVENTION.ADDAXES à SMC_NCInterpreter, la valeur est alors donnée en unités dans quelle mesure l'axe supplémentaire respectif est décalé. Par conséquent, le paramètre définit le décalage pour chaque axe du système de coordonnées du décodeur par rapport au système de coordonnées de la machine.

Si la eOriConf l'entrée est SMC_ORI_CONVENTION.ZYZ, SMC_ORI_CONVENTION.ZYX, ou SMC_ORI_CONVENTION.XYZ à SMC_NCInterpreter, alors une convention d'orientation est fournie. Dans ce cas, les valeurs indiquées ici sont automatiquement interprétées en degrés et déterminent la rotation des axes du système de coordonnées du décodeur par rapport au système de coordonnées de la machine. Par conséquent, vous définissez la rotation des axes principaux selon la convention d'orientation.

Remarque : Lors de la programmation de la rotation DCS, les angles de rotation doivent toujours être spécifiés dans A/B/C pour les trois axes. Un angle de rotation manquant provoque une erreur lors du décodage (SMC_DEC_DCS_NOT_ALL_OF_ABC_GIVEN).

I

Mise à l'échelle dans la direction X

Exemple: 10 pour étendre d'un facteur 10

J

Mise à l'échelle dans la direction Oui

Exemple: 10 pour étendre d'un facteur 10

K

Mise à l'échelle dans la direction Z

Exemple: 10 pour étendre d'un facteur 10

P

Q

U

V

W

Valeur autour de laquelle l'axe supplémentaire du système de coordonnées du décodeur est décalé

Déplacement du DCS

  1. Met le eOriConv entrée du SMC_NCInterpreter instance de bloc fonctionnel à SMC_ORI_CONVENTION.ADDAXES.

    Le DCS peut être déplacé. Une rotation n'est pas possible.

  2. Programmer la trajectoire CNC. Tout d'abord, spécifiez le décalage de position du DCS.

    Exemple: G54 X10 Y10 Z10 A30 B30 C30

    Les axes X/Y/Z/A/B/C du DCS sont décalés.

Exemple 18. Exemple

Décalage absolu

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)

Position actuelle comme décalage

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)

Adapter l'offset par valeur

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)

Mêmes éléments de chemin dans deux positions

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


Déplacement et rotation du DCS

  1. Met le eOriConv entrée du SMC_NCInterpreter instance de bloc fonction à la convention d'orientation souhaitée (par exemple, SMC_ORI_CONVENTION.ZYZ).

    La convention d'orientation et l'ordre de rotation des axes X/Y/Z du DCS sont programmés. Pour SMC_ORI_CONVENTION.ZYZ, l'ordre de rotation est ZY'Z'' et correspond à la convention Y standard.

    Remarque : tant que l'entrée eOriConv contient une convention d'orientation et non la valeur SMC_ORI_CONVENTION.ADDAXES, les valeurs des mots A/B/C sont interprétées comme des valeurs d'angle pour la rotation pour les commandes du code G G54/G55/G56.

  2. Programmer la trajectoire CNC. Tout d'abord, spécifiez le décalage de position et la rotation du DCS.

    Exemple: G54 X10 Y10 Z10 A30 B30 C30

    Les valeurs des mots A/B/C fournir le sens de rotation et l'angle en degrés. Le système de coordonnées est pivoté en conséquence. Les valeurs des mots X/Y/Z définir le décalage.

    Remarque : Lors de la programmation de la rotation DCS, les angles de rotation doivent toujours être spécifiés dans A/B/C pour les trois axes. Un angle de rotation manquant provoque une erreur lors du décodage (SMC_DEC_DCS_NOT_ALL_OF_ABC_GIVEN).

    Si la eOriConv entrée du SMC_NCInterpreter l'instance de bloc fonction contient la valeur SMC_ORI_CONVENTION.ADDAXES, la rotation du DCS n'est alors pas possible. Les valeurs dans G54/G55/G56 sont interprétées comme des valeurs d’axe de spline supplémentaires. Le déplacement est possible.

Exemple 19. Exemples

La convention d'orientation a été définie dans les exemples comme la convention Y standard (eOriConv = SMC_ORI_CONVENTION.ZYZ). En général pour G54: X/Y/Z/A/B/C/P/Q/V/W fournit une valeur absolue dans le MCS. G55: X/Y/Z/A/B/C/P/Q/V/W fournit une valeur relative dans le DCS. G56: X/Y/Z/A/B/C/P/Q/V/W fournit une nouvelle valeur absolue dans le DCS.

Orientation absolue avec G54

N01 G54 X10 A30 B0 C0

G54 entraîne un décalage et une rotation. La position et l'orientation sont fournies de manière absolue au MCS.

Orientation relative avec 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 entraîne un décalage de 10 unités dans la direction X et une rotation de 30° autour de l'axe Z absolu par rapport au MCS. Dans le bloc 02, le DCS est décalé de 10 unités supplémentaires dans la direction de l'axe Y tourné et ensuite tourné de 30° supplémentaires autour de l'axe Y tourné. Par conséquent, la transformation dans le bloc 02 est relative à la transformation dans le bloc 01.

Référencement par rapport à l'orientation actuelle avec 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 entraîne la mise en référence de l'orientation actuelle du DCS (programmée au bloc 01 dans l'exemple).

Exemple : Arc

N0 G17
N0 G54 A0 B90 C0

Le plan circulaire sélectionné est interprété par rapport au DCS. Dans l'exemple, le plan X/Y est sélectionné avec G17 puis le DCS est tourné de 90° autour de l'axe Y. Ensuite, le plan sélectionné dans le DCS est le plan X/Y comme précédemment. Cela correspond à celui du plan X/Z dans le MCS.

Avec G17, le plan X/Y est sélectionné. Ensuite, le DCS est tourné de 90°. Cela entraîne l'activation du plan X/Y dans le DCS comme auparavant. Cela correspond au plan X/Y dans le MCS.



Astuce

En mode 2.5D (G15), la rotation est autorisée uniquement autour de l'axe Z. La rotation autour d'un autre axe provoque une erreur qui est émise par le décodeur (SMC_DEC_DCS_2D_NOT_IN_XY_PLANE). Par conséquent, le plan X/Y du MCS reste toujours défini en mode 2,5D.

Mise à l'échelle du système de coordonnées

Important

Si une rotation est programmée après une mise à l'échelle inégale, alors un écrêtage peut se produire. Dans ce cas, l'erreur SMC_DEC_ROTATION_AFFECTS_SCALING n'est pas délivré.

Important

Les trois facteurs d'échelle doivent être spécifiés ou aucun.

Mise à l'échelle absolue

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

Un système de coordonnées peut être étiré ou compressé dans les trois directions spatiales X/Y/Z indépendamment les uns des autres. Vous pouvez spécifier un facteur pour chaque direction. Spécifiez le facteur d'échelle pour X dans I, Y dans J et Z dans K. Un facteur d'échelle > 1 s'étend. Un facteur d'échelle < 1 compresse.

Extension de 10x :

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

Tous les points cibles sont étendus de 10x dans la direction de l'axe X pivoté.

Le code suivant génère le même chemin :

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

Si ni I ni J ni K ne sont spécifiés, la valeur précédemment définie reste inchangée :

N01 G54 I10 J1 K1
N02 G54 X1
N03 G01 X10

Le même chemin est réalisé avec le code suivant :

N01 G01 X101

Mise à l'échelle relative

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

Un facteur d'échelle > 1 s'étend. Un facteur d'échelle < 1 compresse. Les facteurs d'échelle sont multipliés.

Extension de 100x :

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

Le code suivant donne la même mise à l'échelle :

N01 G55 I100 J1 K1

Mise à l'échelle circulaire

La mise à l'échelle d'un arc n'est valide que si l'élément est toujours un arc (pas une ellipse) après la mise à l'échelle.

. Résultat des chemins valides :
  • Lorsque les trois facteurs d'échelle ont la même valeur

  • Lorsque le plan circulaire est l'un des plans principaux du DCS et que les deux facteurs d'échelle correspondants sont les mêmes valeurs

Symétrie du système de coordonnées

Une mise à l'échelle absolue avec des facteurs d'échelle négatifs dans I, J, ou K entraîne la mise en miroir du système de coordonnées courant.

Facteur d'échelle négatif

G54 A30 B0 C0 I-1 J1 K1