L'essence de la programmation pour les machines CNC. Méthodes de programmation du système CNC

L’une des méthodes de programmation de traitement les plus intéressantes et efficaces est la programmation paramétrique. Étonnamment, la plupart des technologues et des programmeurs, bien qu'ils aient entendu parler de cette méthode, ne savent pas du tout comment l'utiliser. Dans cette section, vous vous familiariserez avec la théorie de la programmation paramétrique et aborderez les bases du langage macro du système CNC d'une machine-outil moderne.

La plupart des machines-outils à commande numérique disposent d'un langage spécial pour la programmation paramétrique (programmation macro). Par exemple, dans le système de contrôle Fanuc, ce langage est appelé Macro B. Si vous êtes au moins un peu familier avec le langage de programmation Basic, vous pouvez facilement comprendre Macro B. Nous examinerons en détail les commandes et les fonctions de ce langage particulier. . Dans un programme de contrôle typique, vous spécifiez divers codes G, directions et quantités de mouvement à l'aide de valeurs numériques. Par exemple, G10 ou X100. Cependant, le système de contrôle de la machine peut faire de même en utilisant des variables.

Le symbole de variable dans la macro B est le signe #. Par exemple, vous pouvez spécifier les expressions suivantes dans votre programme :


#1=100
#2=200
#3=#1+#2

Cela signifie que la variable n°1 reçoit la valeur 100 et la variable n°2 la valeur 200. La variable n°3 sera le résultat de la somme de la variable n°1 et de la variable n°2. Avec le même succès, vous pouvez écrire le G-code :


#25=1
Sol#25

La variable n°1 reçoit la valeur 1. Ensuite, la deuxième ligne désignera essentiellement le code d'interpolation linéaire G1. Diverses opérations arithmétiques et logiques peuvent être effectuées avec des variables, ce qui vous permet de créer des programmes de traitement « intelligents » ou divers cycles machine.

Il existe une zone dans la mémoire du système CNC dans laquelle les valeurs des variables sont stockées. Vous pouvez examiner cette zone si vous trouvez la section de mémoire CNC, généralement appelée MACRO ou VARIABLES. Vous pouvez attribuer des valeurs aux variables non seulement au sein du programme, mais aussi directement - en entrant des valeurs dans les registres de cette mémoire. Laissez-moi vous donner quelques exemples. Vous pouvez créer un programme comme celui-ci :

#1=25
#2=30
#3=#2+#1

Dans ce cas, les valeurs sont attribuées aux variables au sein du programme. Pour modifier les valeurs numériques des variables #1 et #2 à l'avenir, vous devrez éditer le programme.

Vous pouvez implémenter une option plus pratique qui vous permettra de modifier les valeurs des variables à tout moment sans modifier le programme lui-même :

Comme vous pouvez le voir, les variables n°1 et n°2 ne reçoivent aucune valeur dans le programme. L'opérateur de la machine peut entrer dans la zone des variables MACRO et saisir n'importe quelle valeur numérique pour n'importe quelle variable.

Toutes les variables du système CNC peuvent être divisées en 4 types :

  • zéro;
  • locale;
  • sont communs;
  • systémique.

Variables locales peut être utilisé dans des macros pour stocker des données. Lors de la mise hors tension, les variables locales sont remises à zéro. Pour la plupart des machines CNC Fanuc série zéro, les variables locales sont des nombres de 1 à 33.

Variables générales peut fonctionner dans divers programmes paramétriques et macros. Lors de la mise hors tension, certaines variables communes sont remises à zéro et certaines conservent leurs valeurs. La plupart des machines CNC Fanuc de la série zéro ont des variables communes avec des nombres allant de 100 à 999.

Variables système sont utilisés pour lire et écrire diverses informations système - données sur la position de l'outil, les valeurs de compensation, le temps, etc. Les numéros de variables système pour la série zéro Fanuc commencent à partir de 1000.

Variables nulles toujours égal à zéro.

Pour effectuer des opérations arithmétiques et logiques, le langage Macro B propose un ensemble de commandes et d'opérateurs.

Tableau 10.1. Instructions arithmétiques et logiques de base

Les commandes macro sont utilisées pour contrôler les variables et effectuer diverses opérations logiques. Les commandes macro du langage Macro B sont similaires aux commandes BASIC.

Commande GOTO inconditionnelle est destiné à transférer le contrôle à un bloc de programme spécifique. Le format de la commande est le suivant :

  • GOTO N – transition inconditionnelle vers la trame N ;
  • GOTO #A – saut inconditionnel vers le bloc défini par la variable #A.

Exemple:

N10G01X100
N20 G01 X-100
N30 ALLER À 10

Après l'exécution du bloc N30, la TNC passe au bloc N10. Ensuite, cela fonctionne à nouveau avec les images N20 et N30 - une boucle sans fin est obtenue.

Commande de condition SI vous permet d'effectuer diverses actions avec une condition. Après IF, une expression est indiquée. Si cette expression est vraie, alors l'instruction (par exemple, une instruction de saut inconditionnel) située dans le bloc avec IF est exécutée. Si l'expression n'est pas valide, la commande dans la trame IF n'est pas exécutée et le contrôle est transféré à la trame suivante.

Le format de la commande est le suivant :

SI [#a GT #b] GOTO N

Exemple:

#1=100
#2=80
N10G01X200
N20 SI [#1 GT #2] GOTO 40
N30G01X300
N40M30

Au début de l'exemple de programme, les variables #1 et #2 reçoivent respectivement les valeurs 100 et 80. Dans la trame N20, la condition est vérifiée. Si la valeur de la variable n°1 est supérieure à la valeur de la variable n°2, alors la commande GOTO est exécutée pour programmer le bloc de fin N40. Dans notre cas, l'expression est considérée comme valide, puisque 100 est supérieur à 80. En conséquence, après l'exécution de la trame N10, une transition vers la trame N40 se produit, c'est-à-dire que la trame N30 n'est pas exécutée.

Dans le même programme, vous pouvez modifier les valeurs des variables :

#1=100
#2=120
N10G01X200
N20 SI [#1 GT #2] GOTO 40
N30G01X300
N40M30

Dans le second cas, la condition de la trame N20 ne sera pas valide, puisque 100 n'est pas supérieur à 120. Par conséquent, après l'exécution de la trame N10, il n'y a pas de transition vers la trame N40, c'est-à-dire que la trame N30 est exécutée comme d'habitude .

L'expression [#1 GT #2] utilise des opérateurs de comparaison. Dans le tableau 10.2 résume les opérateurs de comparaison de variables dans le langage Macro B.

Tableau 10.2. Opérateurs de comparaison

Commande PENDANT permet de répéter diverses actions avec une condition. Pendant que l'expression spécifiée est considérée comme valide, la partie du programme limitée par les commandes DO et END est exécutée. Si l'expression n'est pas vraie, alors le contrôle est transféré à la trame suivant END.

% O1000 #1=0 #2=1 PENDANT que [#2 LE 10] FAIRE 1; #1=#1+#2 #2=#2+1 FIN 1 M30 %

Programme de macros appelé un programme situé dans la mémoire du système de contrôle et contenant diverses macro-commandes. Un programme macro peut être appelé à partir d'un programme normal en utilisant du code G, similaire aux cycles prédéfinis. Lors de l'appel d'un programme macro, il est possible de transférer directement les valeurs des variables du programme macro.

La commande G65 est destinée à appeler un programme macro de manière non modale. Le format de cette commande est :

où G65 est la commande d'appel du programme macro ; Р_ – numéro du macroprogramme appelé ; L_ – nombre de répétitions du macroprogramme ; A_ et B_ – adresses et valeurs des variables locales.

G65 P9010 L2 A121 B303 – le programme macro 9010 est appelé 2 fois, les variables locales correspondantes reçoivent les valeurs 121 et 303.

Vous devez savoir à quelle variable locale est attribuée une valeur et à quelle adresse. Par exemple, pour le système de contrôle Fanuc 0-MD, les dépendances suivantes seront valides :

Tableau 10.3. Mappage d'adresses avec des variables locales

Adresse Variable
UN
B
C
D
E
F
H
je
J.
K
M
Q
R.
S
T
U
V
W
X
Oui
Z
#1
#2
#3
#7
#8
#9
#11
#4
#5
#6
#13
#17
#18
#19
#20
#21
#22
#23
#24
#25
#26

Vous pouvez maintenant commencer à créer un programme paramétrique simple mais très utile. Très souvent, il est nécessaire de traiter plusieurs trous situés dans un certain rayon et passant par un certain angle (Fig. 10.7). Pour libérer le programmeur d'une retouche fastidieuse du programme si le rayon, l'angle ou le nombre de trous change, nous créerons un programme de traitement qui permettra à l'opérateur de saisir des valeurs de rayon et d'angle et d'effectuer une opération de perçage le long d'un cercle avec n'importe quel dimensions.

Pour percer des trous, nous utiliserons le cycle fixe G81. L'angle auquel les trous sont situés est mesuré à partir de l'axe X dans le sens inverse des aiguilles d'une montre (angle positif).

Vous devez définir :

  • le rayon du cercle sur lequel se trouvent les trous ;
  • angle de départ (l'angle auquel se trouve le premier trou);
  • angle relatif (l'angle par lequel suivent les trous restants) ;
  • nombre total de trous.

Toutes ces données doivent être présentées sous forme paramétrique, c'est-à-dire à l'aide de variables.

Laisser
#100= rayon du cercle où se trouvent les trous ;
#101= angle de départ ;
#102=angle relatif ;
#103= nombre total de trous.

Riz. 10.7. Créons un programme paramétrique pour traiter une pièce aux dimensions inconnues

Afin de créer un programme paramétrique, il est nécessaire de proposer un algorithme qui vous permet de modifier le comportement du programme de traitement en fonction des valeurs des variables spécifiées. Dans notre cas, la base de la CN est le cycle de perçage standard G81. Il reste à trouver la loi par laquelle les coordonnées des centres des trous sont décrites pour toutes valeurs initiales du rayon, des angles et d'un nombre arbitraire de trous.

%
O2000
N10 G21 G90 G80 G54 G40 G49 G00
N20G17

Les premières images du programme seront standards. Il s'agit du numéro de programme, de la chaîne de sécurité et du code de sélection du plan G17 XY.

Puisque les coordonnées des centres des trous sont précisées à l'aide du rayon et de l'angle, c'est-à-dire dans le système de coordonnées polaires, nous indiquerons le code G16 dans le bloc N30.

N40T1M6
N45 G43 HI Z100
N50S1000M03
#120=0

Dans le cadre N60 on met le cycle de perçage G81 et les coordonnées du centre du premier trou. Comme vous vous en souvenez, dans le cas de travaux avec des coordonnées polaires, X désigne le rayon et Y définit l'angle. Les valeurs du rayon et de l'angle de départ sont connues et sont définies par les variables #100 (rayon) et #101 (angle de départ). Une variable #120 avec une valeur nulle est introduite. Cette variable représente un compteur. Un peu plus tard vous comprendrez le but de cette variable.

N60 G98 G81 X#100 Y#101 Z-5 R0.5 F50

La variable #103 est responsable du nombre total de trous. Puisque nous avons déjà percé le premier trou, nous réduirons #103 de 1. Ainsi, le cadre N70 fournit un décompte des trous restants. Et l'image N75 augmente la valeur de la variable #120 de 1.

N70 #103=#103-1
N75 #120=#120+1

Si le nombre de trous restant à percer est nul, annulez le cycle de perçage, coupez la vitesse de la broche et terminez le programme.

N80 SI [#103 EQ 0] GOTO 120

Dans la trame N80, la valeur de la variable #103 est comparée à zéro. Si la variable #103 est nulle, alors le contrôle est transféré au bloc N120 à la fin du programme. Si la variable #103 n'est pas nulle, alors la trame suivante est exécutée.

N90 #130=#102*#120
N95#110=#101+#130

Le bloc N90 est destiné à déterminer l'incrément angulaire. La nouvelle variable #110 est la somme de #101 (angle de départ) et #130 (incrément d'angle). Le bloc N95 permet le calcul de l'angle du trou suivant.

Le nouvel angle de forage est alors spécifié et le contrôle est transféré au bloc N70.

N100 Y#110
N110 ALLER À 70

À l'aide du bloc N70, une boucle fermée est créée qui calcule les coordonnées des centres des trous et des forets jusqu'à ce que la valeur de la variable #103 soit nulle. Si la valeur #103 devient nulle, alors le contrôle sera transféré à la trame N120.

N120 G80
N125M05
N130G15
N140M30
%

Les derniers blocs du programme sont destinés à annuler le cycle fixe (G80), à désactiver la vitesse de broche (M05), à désactiver le mode coordonnées polaires (G15) et à terminer le programme (M30).

% О2000 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 #120=0 N60 G98 G81 X#100 Y#101 Z-5 R0.5 F50 N70 #103=#103 -1 N75 #120=#120+1 N80 SI [#103 EQ 0] GOTO 120 N90 #130=#102*#120 N95 #110=#101+#130 N100 Y#110 N110 GOTO 70 N120 G80 N125 M05 N130 G15 N140 M30%

Tout programme paramétrique doit être minutieusement testé avant d’atteindre la machine. Très probablement, vous ne pourrez pas vérifier un tel programme à l'aide de l'éditeur CP et du backplot, car il contient des variables. Le contrôle le plus fiable dans ce cas est la substitution des valeurs pour les variables d'entrée et le « déroulement » de l'algorithme avec des nombres spécifiques.

Supposons que l'opérateur de la machine ait reçu un dessin de pièce (Figure 10.8) pour l'usinage de trous. Il doit régler le point zéro G54 au centre de la pièce, mesurer la longueur du foret et l'installer dans la broche. Vous devez ensuite entrer dans la zone de variable MACRO et saisir les valeurs numériques suivantes :

Numéro de variable Signification

100
101
102
103
104
105

12.5
45
20
4
0
0

Riz. 10.8. Au lieu de variables, le dessin contient des dimensions spécifiques et le nombre de trous est connu.

Pour vérifier le programme paramétrique créé, il suffit de substituer des valeurs spécifiques des variables et, en « faisant défiler » l'algorithme, d'obtenir un programme régulier.

Le même programme peut être écrit sous la forme habituelle :

% O2000 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 N60 G98 G81 X12.5 Y45 Z-5 R0.5 F50 N100 Y65 N100 Y85 N100 Y105 N12 0 G80 N125 M05 N130 G15 N140 M30%

Essayons maintenant de créer un programme macro qui fonctionnera de la même manière qu'une boucle prédéfinie. Pour traiter la pièce illustrée à la Fig. 10.8, l'opérateur de la machine doit saisir et exécuter la commande suivante :

G65 P9010 I12.5 A45 B20 H4

Dans ce cas, notre programme paramétrique (avec le nouveau numéro O9010) devrait déjà se trouver dans la mémoire de la CNC. En règle générale, les programmes macro portent des numéros 9 000 et plus et ne sont pas disponibles pour une édition gratuite. La commande G65 est destinée à appeler un programme macro de manière non modale. Dans ce cas, les adresses I, A, B, H dans un bloc avec G65 transfèrent leurs valeurs numériques à certaines variables locales. Pour trouver la correspondance des adresses avec les variables locales, vous pouvez utiliser le tableau. 10.3.

Nous pouvons modifier les variables de notre programme en insérant les lignes suivantes dans le programme :

#100=#4
#101=#1
#102=#2
#103=#11

En conséquence, nous obtenons le programme macro :

% О9010 #100=#4 #101=#1 #102=#2 #103=#11 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 #120=0 N60 G98 G81 X#100 Y#101 Z-5 R0.5 F50 N70 #103=#103-1 N75 #120=#120+1 N80 IF [#103 EQ 0] GOTO 120 N90 #130=#102*#120 N95 #110=#101+#130 N100 Y#110 N110 GOTO 70 N120 G80 N125 M05 N130 G15 N140 M30%

Bien que le programme paramétrique que nous avons créé ne soit pas optimal, il démontre clairement les larges capacités de cette méthode pour créer des programmes CN efficaces et divers cycles machine.

2.1 Structure et contenu du programme CN

Note

La directive pour le développement d'un programme de pièces est la norme DIN 66025.

Un programme (CNC/usinage de pièces) se compose d'une séquence de blocs CN (voir tableau suivant). Chaque image représente une étape de traitement. Les déclarations sont écrites dans le cadre sous forme de mots. Le dernier bloc de la séquence d'exécution contient un mot spécial pour la fin du programme : M2, M17 ou M30.

;un commentaire

;1ère image

;2ème image

;fin du programme (dernière image)

Noms des programmes

Chaque programme possède son propre nom, librement choisi lors de la création du programme, sous réserve des conditions suivantes (sauf pour le format bande perforée) :

Les deux premiers caractères doivent être des lettres (également une lettre avec un trait de soulignement)

autres lettres, chiffres

MPF100 ou WELLE ou

La CNC affiche uniquement les 24 premiers caractères de l'ID du programme.

Format de bande perforée

Noms de fichiers :

Les noms de fichiers peuvent inclure des caractères

0...9, A...Z, a...z ou _ et ont une longueur maximale de 24 caractères.

Les noms de fichiers doivent avoir une extension à 3 lettres (_xxx).

Les données au format bande perforée peuvent être créées séparément ou traitées dans un éditeur. Le nom du fichier stocké dans la mémoire CNC commence par "_N_".

Un fichier au format bande perforée est saisi %<имя>, "%" doit être dans la première colonne de la première ligne.

%_N_WELLE123_MPF = programme pièce WELLE123 ou

%Flansch3_MPF = programme pièce Flansch3

De plus amples informations sur le transfert, la création et l'enregistrement de programmes pièce sont disponibles dans :

/BAD/, /BEM/ Instructions de service pour HMI Advanced, HMI Embedded chapitre "Programme de zone de contrôle"/"Services de zone de contrôle"

2.2 Éléments linguistiques d'un langage de programmation

Les éléments linguistiques d'un langage de programmation sont définis

jeu de caractères avec des lettres majuscules/minuscules et des chiffres

mots avec adresse et séquence de nombres

personnel et structure du personnel

longueur du cadre avec max. nombre possible de caractères

séquence de mots dans un cadre avec un tableau d'adresses et leur signification

personnel principal et auxiliaire

Numéro de cadre

adresses avec tableau pour les adresses importantes et les explications

adresses valides modalement ou dans un cadre

adresses à extension axiale avec table d'écriture d'adresse étendue

adresses fixes avec tableau et données de valeur pour une installation standard

adresses fixes avec extension axiale avec tableau et indication de valeur pour installation standard

définir des adresses indiquant les lettres d'adresse définies

fonctions de calcul prédéfinies, ainsi que des opérateurs arithmétiques, logiques et de comparaison avec attributions de valeurs correspondantes

identifiants, par exemple variables, sous-programmes, mots de code, adresses DIN et marques de saut

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Jeu de caractères

Les symboles suivants sont disponibles pour créer des programmes CN :

Lettres majuscules

A, B, C, D, E, F, G, H, I, J, K, L, M, N, (O), P, Q, R, S, T, U, V, W, X, Y, Z

Ce faisant, tenez compte :

Ne confondez pas la lettre « O » avec le chiffre « 0 ».

Minuscules

a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

Remarque Il n'y a aucune différence entre les lettres majuscules et minuscules.

1, 2, 3, 4, 5, 6, 7, 8, 9

Symboles spéciaux

% Symbole de démarrage du programme (uniquement pour créer un programme sur un PC externe)

< меньше

>plus

: Cadre principal, fin d'étiquette, opérateur de liaison

= L'affectation, partie de l'égalité

/ Division, saut d'image

*Multiplications

Ajout

- Soustraction, signe négatif

" Citations, identification d'une chaîne de caractères

" Apostrophe, identification de données numériques spéciales : hexadécimal, binaire

? Réservé

! Réservé

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Remarque Les caractères spéciaux masqués sont traités comme des espaces.

Les programmes CNC sont constitués de blocs ; les cadres, à leur tour, sont constitués de mots.

Un mot en langage CNC se compose d'un symbole d'adresse et d'un chiffre ou d'une séquence de chiffres représentant la valeur arithmétique.

Le symbole d'adresse d'un mot est une lettre. Une séquence de chiffres peut comporter un signe et un point décimal, et le signe apparaît toujours entre les lettres de l'adresse et la séquence de chiffres. Le signe positif (+) n'est pas enregistré.

Personnel et structure du personnel

Un programme CN se compose de blocs individuels, un bloc de (plusieurs) mots.

Le bloc doit contenir toutes les données pour effectuer l'opération de travail et se termine par le caractère "LF" (LINE FEED = nouvelle ligne).

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Note

Le caractère "LF" n'est pas écrit ; il est créé automatiquement lors du changement de ligne.

Longueur du cadre

Un cadre peut être composé de max. de 512 caractères (y compris commentaire et caractère de fin de trame)

"LF").

Remarque Généralement, l'affichage de l'image actuelle affiche trois images avec un maximum.

66 caractères chacun. Les commentaires sont également affichés. Les messages sont affichés dans une fenêtre de message séparée.

Séquence de mots dans un cadre

Pour rendre la structure du cadre plus claire, les mots du cadre doivent être disposés comme suit :

N10 G... X... Y... Z... F... S... T... D... M... H...

Signification

Adresse du numéro de cadre

Numéro de cadre

Fonction de déplacement

Information de voyage

Vitesse

Outil

Numéro de correction d'outil

Fonctionnalité supplémentaire

Fonction d'assistance

Remarque Certaines adresses peuvent être utilisées plusieurs fois dans un bloc (par ex. G..., M..., H...)

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Châssis principal/auxiliaire

Il existe deux types de cadres :

le personnel principal et

personnel de soutien

Le cadre principal doit contenir tous les mots nécessaires pour démarrer le cycle technologique à partir de la section du programme commençant par le cadre principal.

Remarque Les blocs principaux peuvent être situés à la fois dans les programmes principaux et dans les sous-programmes. Le système de contrôle n'est pas

vérifie si le cadre principal contient toutes les informations nécessaires.

Numéro de cadre

Les trames principales sont désignées par le numéro de trame principale. Le numéro de trame principale est constitué du symbole « : » et d'un entier positif (numéro de trame). Le numéro de l'image apparaît toujours au début de l'image.

Remarque Les numéros de bloc principaux au sein du programme doivent être uniques pour obtenir

résultat clair lors de la recherche.

:10 D2 F200 S900 M3

Les trames auxiliaires sont identifiées par le numéro de trame auxiliaire. Le numéro de bloc auxiliaire se compose du caractère "N" et d'un nombre entier positif (numéro de bloc). Le numéro de l'image apparaît toujours au début de l'image.

Remarque Les numéros de blocs auxiliaires au sein du programme doivent être uniques afin que

obtenez un résultat de recherche sans ambiguïté.

La séquence de numéros de trame peut être quelconque, mais une séquence croissante de numéros de trame est recommandée. Vous pouvez programmer des séquences CN sans numéro de bloc.

Manuel de programmation des principes fondamentaux, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Les adresses sont des identifiants fixes ou réglables pour les axes (X, Y, ...), la vitesse de broche (S), l'avance (F), le rayon du cercle (CR), etc.

Exemple : N10 X100

Adresses importantes

Note

Axe rotatif

versable

Intervalle de réaffûtage pour les fonctions de chemin

fixé

Axe rotatif

versable

Axe rotatif

versable

Chanfreinage d'un coin de contour

fixé

Numéro de pointe

fixé

fixé

FA[axe ]=... ou

Avance axiale

fixé

FA[broche]=... ou

(uniquement si le numéro de broche est spécifié via une variable)

Fonction de déplacement

fixé

Fonction d'assistance

fixé

Rec. fonctionner sans arrêter la lecture

Paramètre d'interpolation

installable

Paramètre d'interpolation

installable

Paramètre d'interpolation

installable

Appeler un sous-programme

fixé

Ajouter. fonction

fixé

Ajouter. fonctionner sans arrêter la lecture

Châssis auxiliaire

fixé

Pourcentage de trajectoire

fixé

Nombre d'exécutions du programme

fixé

Axe de positionnement

fixé

POSA[axe]=…

fixé

Position de la broche

fixé

Position de la broche au-delà de la limite du bloc

fixé

installable

R0=... à Rn=...

Paramètre R, n réglable via MD

fixé

(norme 0 - 99)

installable

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Au détour d'un chemin

fixé

Arrondir le coin d'un contour (modal)

fixé

Vitesse de broche

fixé

Numéro d'outil

fixé

installable

installable

installable

installable

"absolu

" incrémentale

installable

installable

Angle d'ouverture

installable

Angle polaire

installable

Rayon du cercle

installable

Rayon polaire

fixé

Cadre principal

installable

"fixé"

Cet identifiant d'adresse est disponible pour une fonction spécifique. Fabricant de machines

"installable"

Le constructeur de la machine peut attribuer un nom différent à ces adresses via les paramètres machine.

Adresses modales/image par image

Les adresses modalement valides conservent leur signification avec la valeur programmée jusqu'à ce que (dans tous les blocs suivants) une nouvelle valeur soit programmée à la même adresse. Les adresses valables en bloc conservent leur signification uniquement dans le bloc dans lequel elles ont été programmées. Exemple:

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Adresses étendues

L'écriture d'adresses étendue vous permet de systématiser un plus grand nombre d'axes et de broches. L'adresse étendue consiste en une extension numérique ou un identifiant de variable écrit entre crochets et auquel est attribuée une expression arithmétique à l'aide du symbole "=".

L'orthographe étendue des adresses n'est autorisée que pour les adresses simples suivantes :

Signification

Adresses des axes

Options d'interpolation

Vitesse de broche

Position de la broche

Fonctions supplémentaires

Fonctions secondaires

Numéro d'outil

Le numéro (index) en écriture d'adresse étendue pour les adresses M, H, S ainsi que pour SPOS et SPOSA peut être remplacé par une variable. Dans ce cas, l'identifiant de la variable est entre crochets.

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Adresses fixes

Les adresses suivantes sont fixes :

Valeur (réglage par défaut)

Numéro de pointe

Fonction de déplacement

Fonction d'assistance

Appeler un sous-programme

Fonctionnalité supplémentaire

Châssis auxiliaire

Nombre d'exécutions du programme

Paramètre R

Vitesse de broche

Numéro d'outil

: Châssis principal

Exemple de programmation : N10 G54 T9 D2

Adresses fixes avec extension axiale

Valeur (réglage par défaut)

Valeur axiale (programmation d'axe variable)

Accélération axiale

Avance axiale

Avance axiale pour recouvrement de volant

Limite d'avance axiale

Paramètres d'interpolation (programmation d'axes variables)

Décalage axial

Coefficient polynomial

Axe de positionnement

Axe de positionnement à travers la limite du bloc

Explication:

Lors d'une programmation avec extension axiale, l'axe à déplacer est entre crochets.

Une liste complète de toutes les adresses fixes peut être trouvée dans l'application.

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Adresses réglables

Les adresses peuvent être spécifiées soit sous forme de lettre d'axe (avec une extension numérique si nécessaire), soit sous forme d'identifiant libre.

Remarque Les adresses à régler doivent être univoques au sein de la commande, c'est-à-dire un seul et même

Le même identifiant d'adresse ne peut pas être utilisé pour différents types d'adresses.

Les types d'adresses diffèrent :

valeurs axiales et points finaux

paramètres d'interpolation

soumissions

critères de réaffûtage

la mesure

comportement des axes et des broches

Les lettres d'adresse réglables sont : A, B, C, E, I, J, K, Q, U, V, W, X, Y, Z.

Remarque Les noms des adresses réglables peuvent être modifiés par l'utilisateur via les paramètres machine.

X1, Y30, U2, I25, E25, E1=90, …

L’expansion numérique a une ou deux positions et est toujours positive. Numéro d'adresse :

L'écriture de l'adresse peut être complétée par l'ajout d'autres lettres. Exemple:

Ajout

Soustraction

Multiplication

Attention : (type INT)/ (typeINT)= (typeREAL) ; par exemple, 3/4 = 0,75

Division, pour les variables de type INT et REAL

Attention : (tapez INT )DIV (tapez INT )= (tapez INT ); par exemple, 3 DIV 4 = 0

L'extraction de la partie fractionnaire (type INT uniquement) donne le reste de la division

INT, par exemple, 3 MOD 4=3

: Opérateur de liaison (y variables de trame)

arc sinus

arc cosinus

Arctangente2

Racine carrée

Signification

2ème degré (carré)

Partie entière

Arrondir à l'entier le plus proche

Un algorithme naturel

Fonction exponentielle

Opérateurs de comparaison et opérateurs logiques

Opérateurs de comparaison et

Signification

Opérateurs logiques

plus ou égal

inférieur ou égal

négation

"OU" exclusif

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Dans les expressions arithmétiques, vous pouvez utiliser des parenthèses pour spécifier la séquence de traitement de tous les opérateurs, vous écartant ainsi des règles de préséance habituelles.

Affectations de valeurs Il est possible d'attribuer des valeurs aux adresses. L'attribution des valeurs est effectuée

de différentes manières selon le type d'identifiant d'adresse.

Le caractère "=" doit être écrit entre l'identifiant de l'adresse et la valeur si

l'identifiant de l'adresse est composé de plus d'une lettre,

une valeur se compose de plusieurs constantes.

Le caractère "=" n'est pas nécessaire si l'identifiant de l'adresse est une seule lettre et que la valeur est constituée d'une seule constante. Les signes sont autorisés, un caractère de séparation est autorisé après les lettres de l'adresse.

Exemple d'attribution de valeurs

;attribution d'une valeur (10)

adresse X, "=" non requis

;attribution d'une valeur (10)

adresse (X) avec ; numérique

extension(1), "=" requis

;noms d'axes à partir des paramètres de transfert

;nom de l'axe comme index lors de l'accès aux données de l'axe

;programmation des axes indirects

X=10*(5+SIN(37,5))

;attribution d'une valeur via une expression numérique, "=" obligatoire

Remarque L'extension numérique doit toujours être suivie d'un caractère spécial "=", "(", "[", ")",

"]", "," ou opérateur pour distinguer un identifiant d'adresse avec une extension numérique des lettres d'adresse avec une valeur.

Les mots d'identification (selon DIN 66025) sont complétés par des identifiants (noms). Ces extensions ont la même signification que les mots dans un bloc CN. Les identifiants doivent être sans ambiguïté. Le même identifiant ne peut pas être utilisé pour différents objets.

Les identifiants peuvent être enregistrés pour :

variable

variable système

variable utilisateur

sous-programmes

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Bases de la programmation CNC

mots de code

Adresses DIN avec plusieurs lettres

marqueurs de transition

Structure

L'ID comprend un maximum de 32 caractères. Les symboles suivants peuvent être utilisés :

des lettres

souligne

Nombres

Les deux premiers caractères doivent être des lettres ou des traits de soulignement, et il ne doit y avoir aucun caractère séparateur entre les caractères individuels (voir pages suivantes).

Exemple : CMIRROR, CDON

Remarque Les mots de passe réservés ne peuvent pas être utilisés comme

identifiants. Les caractères de séparation entre caractères individuels ne sont pas autorisés.

Remarque Nombre de caractères pour les identifiants individuels

noms de programmes : 24 caractères

ID de l'axe : 8 caractères

identifiant de variable : 31 caractères

Règles de dénomination des identifiants

Pour éviter les chevauchements de noms, les règles suivantes sont utilisées :

Tous les identifiants commençant par « CYCLE » ou « _ » sont réservés aux cycles

Tous les identifiants commençant par « CCS » sont réservés aux cycles compilés par SIEMENS.

Les boucles compilées personnalisées commencent par « CC ».

Autres réservations

L'identifiant "RL" est réservé aux tours conventionnels.

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Bases de la programmation CNC

2.2 Éléments de langage d'un langage de programmation

Les identifiants commençant par "E_" sont réservés à la programmation

ID de variable

Pour les variables utilisées par le système, la première lettre est remplacée par le symbole « $ ». Ce symbole ne peut pas être utilisé pour les variables définies par l'utilisateur.

Exemples (voir "Liste des variables système") : $P_IFRAME, $P_F

Pour les variables avec extension numérique, les zéros non significatifs n'ont aucune signification (R01 correspond à R1). Les caractères de séparation sont autorisés avant l'extension numérique.

ID de tableau

Les mêmes règles s'appliquent aux identifiants de tableaux comme aux variables élémentaires. Adressage des variables R sous forme de tableau est possible.

Exemple : R=…

Types de données

Une variable peut masquer une valeur numérique (ou plusieurs) ou un symbole (ou plusieurs), par exemple une lettre d'adresse.

Le type de données autorisé pour la variable correspondante est déterminé lorsque les variables sont définies. Pour les variables système et les variables prédéfinies, le type est défini. Les types de variables/types de données élémentaires sont :

Signification

Plage de valeurs

Entiers (entiers)

quantités signées

Nombres réels (fractionnaires)

±(10-300 … 10+300)

nombres avec point décimal, LONG

Valeurs de vérité : VRAI (1)

Caractère ASCII, selon le code 0 ... 255

Chaîne de caractères, nombre de caractères

Séquence de valeurs

en […], max. 200 caractères

noms d'axes uniquement (adresses d'axe)

tous disponibles dans la chaîne

identifiants d'axe

Données géométriques pour

déplacement, rotation,

mise à l'échelle, mise en miroir

Ces mêmes types élémentaires peuvent être composés en tableaux. Tout au plus, des tableaux bidimensionnels sont possibles.

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Permanent

Constantes entières

Une valeur entière avec ou sans signe, par exemple comme affectation à une adresse Exemples :

; attribuer la valeur +10,25 à l'adresse X

; attribuer la valeur -10,25 à l'adresse X

; attribuer une valeur +0,25

; attribuer une valeur +0,25

adresse X, sans le "0" introductif

; attribuer la valeur –0,1*10-3 à l'adresse X

Remarque Si pour une adresse avec une entrée autorisée d'un point décimal après le point décimal

Si plus de places sont enregistrées que ce qui est alloué pour cette adresse, il est arrondi au nombre de places alloué.

X0 ne peut pas être remplacé par X.

G01 X0 ne peut pas être remplacé par G01 X ! Constantes hexadécimales

Des constantes avec une interprétation hexadécimale sont également possibles. Dans ce cas, les lettres « A » à « F » servent de chiffres hexadécimaux de 10 à 15.

Les constantes hexadécimales sont entourées de deux apostrophes et commencent par la lettre « H » suivie de la valeur hexadécimale. Les caractères de séparation entre les lettres et les chiffres sont autorisés.

$MC_TOOL_MANAGEMENT_MASK="H3C7F";attribution de nombres hexadécimaux

données machine

Le nombre maximum de caractères est limité par la plage de valeurs du type de données entier.

Constantes binaires Des constantes interprétées en binaire sont également possibles. Dans ce cas, seuls les chiffres « 0 » et « 1 » sont utilisés.

Les constantes binaires sont entourées d'apostrophes et commencent par la lettre "B" suivie de la valeur binaire. Les caractères de séparation entre les chiffres sont autorisés.

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Exemples de données machine (voir aussi « Programmation avancée ») :

Segment de programme

Un segment de programme se compose d'un bloc principal et de plusieurs blocs auxiliaires.

:10 D2 F200 S900 M3 N20 G1 X14 Y35

Sauter des images

Les blocs qui ne sont pas exécutés à chaque fois que le programme est exécuté (par exemple, le débogage d'un programme) peuvent être ignorés.

Les images qui doivent être ignorées sont indiquées par un caractère "/" (barre oblique) avant le numéro d'image. Plusieurs images consécutives peuvent également être sautées. Les instructions dans les images sautées ne sont pas exécutées, le programme continue sur l'image suivante non sautée correspondante.

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Exemple de saut d'images

; effectué

;omis

; effectué

;omis

; effectué

Jusqu'à 10 niveaux de saut peuvent être programmés. Pour une trame de programme

traitement des pièces, un seul niveau de réussite peut être spécifié :

;le cadre est ignoré (1er niveau sauté)

;le cadre est ignoré (2ème niveau de saut)

;le cadre est ignoré (3ème niveau de saut)

;le cadre est ignoré (8ème niveau de saut)

;le cadre est ignoré (9ème niveau de saut)

;le cadre est ignoré (sauter le niveau 10)

Constructeur de la machine Le nombre de niveaux de saut pouvant être utilisés dépend de la machine

données indicatives. Les blocs de saut des niveaux de saut /0 à /9 sont activés via le panneau de commande dans le groupe fonctionnel "Machine" (voir instructions de service /BAD, BEM/HMI Advanced/Embedded), dans le menu "Commande de programme" ou "Commande adaptative". .

Remarque Les exécutions de programmes variables peuvent également être créées à l'aide de

variables système et utilisateur pour les transitions conditionnelles.

Objectifs (balises)

En définissant des cibles de saut (étiquettes), des branches peuvent être programmées dans le programme.

Les noms d'étiquettes sont spécifiés avec un minimum de 2 et un maximum de 32 caractères (lettres, chiffres, trait de soulignement). Les deux premiers caractères doivent être des lettres ou des traits de soulignement. Le nom de l'étiquette est suivi de deux points (":").

Pour d'autres informations, voir

Littérature : /PGA/, Guide de programmation "Programmation avancée"

Manuel de programmation, édition 10.2004, 6FC5 298-7AB00-0PP1

Fondamentaux de la programmation CNC 2.2 Éléments linguistiques d'un langage de programmation

Remarque Les étiquettes doivent être uniques au sein du programme.

Les marqueurs sont toujours au début du cadre. S'il existe un numéro de programme, l'étiquette apparaît immédiatement après le numéro de bloc.

En fait, la programmation de machines CNC n’est pas particulièrement difficile. Parallèlement, il est nécessaire de créer des programmes de contrôle (CP) pour ces appareils de manière à les utiliser au maximum dans leur travail.
La programmation se fait dans un langage appelé ISO 7 bits, également appelé langage de code G et M.
Les programmes peuvent être développés des trois manières les plus courantes :
par programmation manuelle ;
en créant des programmes sur le rack de la machine CNC ;
enfin, avec l'aide des systèmes CAM.

Ces trois méthodes de programmation sont utilisées dans certains cas ; aucune d’entre elles ne doit être considérée comme universelle. C'est leur combinaison qui produira le plus grand effet. Maîtriser la programmation manuelle n’est pas si difficile si vous avez une compréhension de base de la programmation. En même temps, travailler avec le système CAM est assez simple à comprendre.

Programmation manuelle

La programmation manuelle consiste à créer un programme sur votre propre ordinateur, doté d'un éditeur de texte. Le programme de contrôle y est créé. Le programme contient les coordonnées où l'outil se déplace pour traiter les pièces, ainsi que les informations requises sous forme de codes G et M. Il s'agit d'un fichier avec l'extension .txt.
Une fois le programme prêt, il est transféré à la machine CNC sous la forme du même fichier .txt. L'ordinateur et la machine sont connectés via le port COM de l'ordinateur. Tout d'abord, leurs programmes responsables de la communication sont synchronisés. Après cela, un simple envoi et réception de données se produit. Un cas particulier est si le programme a un volume qui dépasse la taille de la mémoire de la machine CNC. Dans ce cas, les commandes à la machine sont envoyées directement depuis l'ordinateur. Une option spéciale consiste à écrire le programme avec un stylo sur une feuille de papier ; cela n'a de sens que s'il n'y a pas d'accès à un ordinateur ou à un autre appareil dans la production. chambre.
La programmation manuelle n'est pas trop difficile à comprendre. Cette fonction peut être réalisée par tout technologue connaissant ses principes. Dans le même temps, la programmation manuelle est un processus relativement laborieux qui nécessite une précision scrupuleuse. Cette option de création de programmes est préférée lorsqu'il est nécessaire d'effectuer un traitement simple de pièces de forme standard. Le deuxième cas est le manque d’outils de développement nécessaires aux deux autres méthodes.
De plus, il existe encore de nombreuses machines CNC en production, qui ne peuvent être contrôlées que par programmation manuelle. Un nombre important d’entreprises utilisent des modèles similaires. La raison en est précisément que dans ces entreprises, des opérations principalement simples avec des pièces sont effectuées et que le nombre de machines est relativement faible. En conséquence, un programmeur-technologue possédant d'excellentes compétences en programmation manuelle est capable d'atteindre une productivité du travail très élevée.
Une option encore plus courante est lorsque les opérations sur les pièces ne sont pas seulement simples, mais répétitives et que leur nombre est limité. Ensuite, l'employé écrit des programmes pour chacune de ces opérations et, pendant assez longtemps, il n'est pas nécessaire de les modifier du tout. Le besoin d'écrire des programmes ne surviendra que lorsque le besoin de nouvelles opérations sur la machine se fera sentir.
En conséquence, la programmation manuelle est plus efficace que les deux autres options. En d’autres termes, pour une petite entreprise, la programmation manuelle peut constituer la solution optimale.
En termes d'efficacité, il surpassera l'option beaucoup plus avancée avec un système CAM. De plus, dans les entreprises où l'utilisation de cette dernière méthode est conseillée lorsque cela est nécessaire, et où la correction des programmes de contrôle utilise une programmation manuelle. Cette option de correction est également utilisée lorsqu'un nouveau programme écrit d'une autre manière doit être testé sur une machine.

Programmation sur la console du support machine

Étant donné que de nombreuses machines CNC sont désormais équipées d'un écran et d'un clavier, la programmation dans de tels cas peut être effectuée directement sur la machine, ce qui permet de développer des programmes de travail pour un tel modèle sur la machine elle-même. La programmation peut être effectuée en saisissant les codes G et M dans l'appareil, ainsi qu'en mode interactif. Il existe également une option de test de programme, pour laquelle une simulation visuelle du traitement de la pièce est effectuée sur l'écran de la machine à l'aide d'une application graphique.

Programmation à l'aide d'un système CAM

Il s'agit d'un système spécialisé qui vous permet d'atteindre une plus grande productivité que lors d'une programmation manuelle ou sur la machine elle-même.
Le système CAM calcule la trajectoire de l'outil qui traite la pièce. Il fonctionne automatiquement. Il est utilisé si un programme de contrôle est nécessaire pour guider les opérations sur une pièce à configuration complexe. La FAO est également demandée si les machines de l'entreprise effectuent de nombreuses opérations différentes. Dans ces cas, le calcul manuel est peu pratique, voire impossible.

En général, faites du manuel Programmation de machines CNC C’est très simple et ne nécessite aucune éducation particulière. Ce travail est tout à fait accessible aux non-professionnels, puisque le langage ISO 7 bits est assez simple. Dans d'autres cas, toutes les opérations difficiles seront prises en charge par le système CAM.
Il y a peu de difficultés à écrire des programmes de contrôle pour plusieurs machines qui effectuent des opérations standard avec des pièces de forme simple. Mais le moyen le plus simple de programmer consiste à utiliser une seule machine que le propriétaire a créée de ses propres mains. Apprendre à écrire des programmes pour un tel modèle n’est pas difficile du tout.

Introduction

1. Concepts et définitions de base

1.1 Interpolateur

1.2 Interpolateur linéaire

1.3 Interpolateur circulaire

2. Structure du programme

3. Règles de programmation pour les appareils de quatrième génération

Conclusion

Littérature

Introduction

De nos jours, la machine à commande numérique par ordinateur (CNC) est le principal module de production de la fabrication moderne. Les machines CNC sont utilisées aussi bien pour l'automatisation de la production à petite échelle ou à la pièce que pour la production de grandes séries. Les entreprises leaders améliorent et étendent constamment les capacités des systèmes CNC, des systèmes de préparation de données et de conception. L'un des concepts de cette stratégie est inextricablement lié à l'amélioration de la motorisation électrique réglable, en lui conférant de nouvelles qualités grâce à la commande numérique.

Compte tenu de la demande diversifiée des consommateurs pour les machines les plus simples et les plus petites, en plus des CNC multi-axes, des familles de CNC sont proposées pour les machines simples (2 axes + broche pour les tours et 3 axes + broche pour les fraiseuses). Les moteurs pas à pas et les servos dotés d'une interface analogique peuvent être utilisés comme entraînements. Une attention considérable est accordée aux questions de modernisation des systèmes CNC d'ancienne génération et de création de systèmes de transmission de données. Les commandes CNC modernes sont conçues pour fonctionner dans une fabrication automatisée flexible (FAO) et disposent de diverses interfaces pour créer des réseaux locaux. Leur logiciel a considérablement élargi les capacités du technologue et de l'opérateur de la machine. Les splines et les polynômes sont de plus en plus utilisés dans les algorithmes d'interpolation. Ces fonctionnalités vous permettent de créer des courbes douces et continues. L'utilisation de cannelures dans le traitement permet de raccourcir le programme de contrôle, d'améliorer la dynamique du mouvement d'entraînement, d'améliorer la qualité des surfaces usinées et d'éliminer le besoin de finition manuelle des moules. Bien que le langage de programmation CNC ait subi des changements majeurs ces dernières années, la continuité du logiciel reste sous la forme d'un ensemble de fonctions de base. La plupart des programmes écrits pour les anciens modèles de CNC fonctionnent également avec les nouveaux modèles avec des modifications minimes.

1. Concepts et définitions de base

Les systèmes de commande numérique (NCC) sont un ensemble d'outils matériels et logiciels fonctionnellement interdépendants conçus pour contrôler les machines-outils en mode automatique. Les moyens techniques comprennent une machine, des dispositifs de préparation de programmes de contrôle, des dispositifs de contrôle de machines, des dispositifs de réglage dimensionnel des outils de coupe, etc. Les outils logiciels comprennent des instructions, des techniques, une programmation technique et fonctionnelle, etc.

Un programme de contrôle est un groupe de commandes écrites dans le langage d'un système de contrôle donné et destinées à contrôler la machine en mode automatique. La commande numérique est basée sur un programme dans lequel les commandes sont exprimées sous forme de nombres.

Un dispositif de commande numérique (CNC) fait partie d'un système de commande numérique qui contrôle le fonctionnement de la machine en fonction des commandes provenant du programme de contrôle.

Les CNC remplissent deux fonctions principales :

1. formation de la trajectoire de mouvement de l'outil de coupe ;

2. contrôle d'automatisation de la machine.

Actuellement, il existe deux types d’appareils CNC utilisés dans l’industrie.

1. CNC de type NC de quatrième génération (commande numérique - commande numérique). Les CNC de type NC sont constituées de blocs dont chacun ne résout qu'une tâche spécifique du programme de contrôle général. La logique de fonctionnement de ces blocs est mise en œuvre à travers la construction appropriée de leurs circuits électriques.

2. CNC de type CNC de cinquième génération (ComputerNumericalControl - commande numérique par ordinateur).

Les commandes CNC de type CNC sont basées sur le fonctionnement d'un mini-ordinateur, dans lequel la logique de fonctionnement est définie par logiciel. La même CNC avec un mini-ordinateur peut mettre en œuvre diverses fonctions de contrôle en modifiant le programme qui contrôle le fonctionnement du mini-ordinateur.

1.1 Interpolateur

Un interpolateur est un appareil dont l'entrée reçoit image par image des informations sous forme de codes numériques, et la sortie fournit des informations pour chaque coordonnée sous la forme d'un code unitaire, c'est-à-dire séquences d'impulsions.

La solution au problème de contrôle des contours est généralement divisée en étapes :

· préparation des informations initiales sur la trajectoire requise, qui comprend l'approximation de la trajectoire par un ensemble donné

·Saisir les informations dans le système de contrôle du programme ;

·calcul des valeurs de coordonnées spécifiées situées sur la trajectoire du mouvement à l'aide de la méthode d'interpolation sélectionnée ;

·calculer le nombre d'impulsions pour chacune des coordonnées et émettre des actions de contrôle sur les actionneurs avec la fréquence requise, qui détermine la vitesse de déplacement du contour pour chacune des coordonnées.

Les interpolateurs sont divisés en :

·matériel;

·logiciel

En fonction du type de trajectoire de mouvement interpolée, les interpolateurs sont divisés en :

linéaire;

· non linéaire (deuxième ordre - circulaire, parabolique, ordre n).

Fondamentalement, les interpolateurs linéaires et circulaires sont utilisés dans les systèmes CNC, car jusqu'à 90 % des trajectoires peuvent être représentées avec un degré de précision suffisant par un ensemble de segments droits et d'arcs de cercle.

Il existe différents algorithmes d'interpolation en temps réel, qui peuvent être divisés en deux groupes :

·algorithmes pour incréments simples (méthode d'évaluation de la fonction, méthode des analyseurs différentiels numériques) ;

·algorithmes de temps égaux (méthode d'intégration numérique, prévision et correction, méthodes tabulaires itératives).

Tout d'abord, les moments de temps nécessaires pour produire des incréments unitaires le long d'une ou plusieurs coordonnées sont déterminés.

Deuxièmement, les coordonnées des points de trajectoire sont calculées à des intervalles de temps certains et égaux, après quoi le nombre d'impulsions requis est envoyé à l'actionneur.

En pratique, l'interpolation s'organise comme suit. À la suite du prochain cycle de calcul, effectué à la vitesse la plus élevée possible sur une échelle de temps machine, il est déterminé dans quels entraînements d'alimentation les éléments discrets doivent être émis au stade actuel du contrôle opérationnel. Le résultat est stocké dans un tampon, qui est interrogé à une fréquence correspondant à l'avance pour la coordonnée principale. Ainsi, les calculs à l’échelle machine sont liés au temps réel.

En figue. La figure 1.1 montre un schéma fonctionnel typique d'un dispositif de commande numérique de type 2C-42-65.

L'appareil est positionné selon le contour avec des algorithmes de programmation gratuits. Le nombre de coordonnées contrôlées peut aller jusqu'à 8. Un contrôle simultané avec interpolation linéaire est assuré selon 4 coordonnées et avec interpolation circulaire - selon 2 coordonnées. Le micro-ordinateur monocarte MS 12.02 est implémenté sur la base du processeur 1801VM2. L'échange d'informations entre le micro-ordinateur et les appareils externes s'effectue via un canal informatique de type « Common Bus ». Pour augmenter la capacité de charge, un extenseur de canal (DC) est utilisé.

Figure 1.1 – Schéma fonctionnel d'un appareil à commande numérique de type 2C-42-65

Structurellement, la CNC contient 2 paniers. L'un d'eux est destiné à l'installation d'unités destinées à une utilisation générale du système, et le second est destiné à l'installation d'unités spéciales pour contrôler la machine. Sur la ligne de machine, il y a des blocs d'entrée et des blocs de signaux de sortie, à l'aide desquels la mise en œuvre logicielle des tâches de contrôle logique est implémentée. La génération de signaux de commande analogiques pour les entraînements d'avance et de mouvement principal est effectuée via des convertisseurs numérique-analogique (DAC) - le groupe « Drive ». Pour mettre en œuvre le retour de position, des convertisseurs phase-code (PFC) sont utilisés, qui constituent le groupe « Capteurs ». Pour résoudre les problèmes de contrôle adaptatif (par exemple, les systèmes de stabilisation de puissance de coupe), des convertisseurs analogique-numérique (ADC) peuvent être utilisés - le groupe « Contrôle adaptatif ». Le panneau de commande (CP) contient un ensemble de touches alphanumériques avec lesquelles vous pouvez accéder au programme de contrôle. De plus, il existe des touches de fonction avec lesquelles vous définissez le mode de fonctionnement de la CNC et définissez des fonctions spéciales correspondant à la recherche et à l'édition de programmes de contrôle. Le panneau de correction (PC) est un ensemble de commutateurs décennaux avec lesquels vous pouvez modifier les valeurs de la vitesse d'avance et de la vitesse de rotation du mouvement principal en pourcentage. Pour afficher la valeur actuelle des coordonnées et des paramètres technologiques, un affichage alphanumérique est utilisé - une unité d'affichage d'informations symboliques (BODI). Pour entrer et sortir le programme de contrôle, un appareil de lecture photo (FSU) et un perforateur de bande (PL) peuvent être utilisés. Dans ce cas, du ruban de papier perforé est utilisé comme support de stockage. Une autre option d'entrée/sortie d'informations repose sur l'utilisation d'un canal de communication série (IRPS - interface de communication série radiale). Pour augmenter les performances de 6, une unité de multiplication matérielle (MU) et une unité de conversion de code (CCU) sont utilisées.

Le logiciel CNC de base est écrit dans la mémoire morte (ROM) et constitue un ensemble de sous-programmes qui implémentent les fonctions dites préparatoires G et auxiliaires M, ainsi que les fonctions de service pour saisir et exécuter un programme de contrôle.

Le programme de contrôle est une séquence de frames qui déterminent la trajectoire de l'outil. Dans le cadre, à l'aide des fonctions G et M, le type d'interpolation (linéaire, circulaire), le mouvement le long des coordonnées, la vitesse d'avance et la vitesse de rotation de l'entraînement principal du mouvement, le type et la correction du porte-à-faux de l'outil de coupe et d'autres informations qui déterminent les travaux sur le tronçon de trajectoire sont déterminés. Considérons le développement du programme de contrôle du point de vue du fonctionnement et de l'utilisation des blocs CNC. Le temps principal de l'ordinateur lors du traitement d'une image est consacré au calcul de la trajectoire de l'outil. Le mouvement le long d’une trajectoire comprend généralement des sections d’accélération et de décélération. La coordination du mouvement le long des coordonnées et la formation des influences de réglage sont effectuées par un interpolateur logiciel, qui déroule la trajectoire requise dans le temps en fonction des interruptions de la minuterie. L'élaboration de cette trajectoire est réalisée par des servomoteurs d'alimentation. Le signal d'erreur de position est généré par logiciel puis émis via le DAC en tant que signal de contrôle de vitesse d'entraînement. L'entraînement d'avance (mouvement principal) est dans ce cas un dispositif autonome qui doit être fermé par retour de vitesse. L'interpolateur doit fonctionner en temps réel. Lors de l'utilisation de méthodes d'intégration numérique, l'étape d'intégration est déterminée par la période d'interruption du temporisateur. Pour garantir une fréquence de coupure du variateur d'environ 50 Hz, les interruptions temporisées doivent être effectuées à une fréquence d'au moins 100 Hz. Pendant que la trame actuelle est en cours de traitement, les informations pour la trame suivante sont préparées en arrière-plan. Cette étape est appelée « Interprétation du cadre ». Cela implique de convertir des informations symboliques en informations numériques. Les informations numériques sont saisies dans le système de nombres décimaux. Tout d'abord, les informations symboliques sont converties en système binaire-décimal, puis en utilisant le BOD - en binaire. Un problème similaire de transformation de l’information se pose dans les canaux de rétroaction de position. Le contrôle de position est effectué en code décimal binaire. Pour la correspondance, les informations du convertisseur de code de phase sont converties en une représentation machine (binaire). Lors de la sortie d'informations, le problème inverse se pose : convertir les informations binaires en nombres décimaux binaires, puis en représentation symbolique.

Programmation d'usinage sur machines CNC réalisé dans un langage habituellement appelé langage ISO 7 bits ou langage à codes G et M. Le langage de code G et M est basé sur les dispositions de l'Organisation internationale de normalisation (ISO) et de l'Electronics Industry Association (EIA).

Les fabricants de systèmes CNC adhèrent à ces normes pour décrire les fonctions de base, mais prennent des libertés et s'écartent des règles lorsqu'il s'agit des capacités particulières de leurs systèmes.

Les systèmes CNC japonais FANUC (FANUC CORPORATION) ont été parmi les premiers à être adaptés pour fonctionner avec Codes G et M et en utilisant cette norme dans toute sa mesure. Actuellement, les racks FANUC sont les plus courants tant à l'étranger qu'en Russie.

Les systèmes CNC d'autres fabricants renommés, tels que SINUMERIK (SIEMENS AG) et HEIDENHAIN, ont également la capacité de fonctionner avec les codes G et M, mais certains codes spécifiques peuvent différer. Vous pouvez en apprendre davantage sur la différence dans la programmation de fonctions spécifiques à partir de la documentation du système CNC spécifique.

Il existe trois méthodes de programmation d'usinage pour les machines CNC :

  • Programmation manuelle.

Tous les opérateurs de machines CNC et technologues programmeurs doivent avoir une bonne compréhension des techniques de programmation manuelle. C'est comme les classes primaires à l'école, dans lesquelles l'enseignement constitue la base de l'enseignement ultérieur.

  • Programmation sur la console CNC.

Lorsque les programmes sont créés et saisis directement sur la machine CNC à l'aide du clavier et de l'écran. Par exemple, un opérateur de machine peut vérifier la CN ou sélectionner le cycle fixe requis à l'aide d'icônes spéciales et l'insérer dans le code du programme de contrôle.

  • Programmation à l'aide du système CAD/CAM.

La programmation à l'aide d'un système CAD/CAM vous permet « d'élever » le processus d'écriture de programmes de traitement à un niveau supérieur. En travaillant avec un système CAO/FAO, un technologue-programmeur se libère des calculs mathématiques fastidieux et reçoit des outils qui augmentent considérablement la vitesse d'écriture des programmes de contrôle.

Un ensemble de commandes dans un langage de programmation correspondant à l'algorithme de fonctionnement d'une machine de traitement d'une pièce spécifique est appelé programme de contrôle (CP).

Un programme de contrôle se compose d'une séquence de blocs et commence généralement par le symbole de démarrage du programme (%) et se termine par M02 ou M30.

Chaque bloc de programme représente une étape de traitement et (selon la CNC) peut commencer par un numéro de bloc (N1...N10, etc.) et se terminer par le symbole de fin de bloc (;).

Un bloc de programme de commande est constitué d'instructions sous forme de mots (G91, M30, X10., etc.). Un mot est constitué d'un symbole (adresse) et d'un nombre représentant une valeur arithmétique.

Les adresses X, Y, Z, U, V, W, P, Q, R, A, B, C, D, E sont des mouvements dimensionnels, utilisés pour désigner les axes de coordonnées le long desquels les mouvements sont effectués.

Les mots décrivant un mouvement peuvent avoir un signe (+) ou (-). S’il n’y a aucun signe, le déplacement est considéré comme positif.

Les adresses I, J, K signifient les paramètres d'interpolation.

G - fonction préparatoire.

M - fonction auxiliaire.

S - fonction de mouvement principale.

F - fonction d'alimentation.

T, D, H - fonctions de l'outil.

Les symboles peuvent avoir des significations différentes selon la CNC spécifique.

Codes G pour CNC

G00- positionnement rapide.

La fonction G00 permet d'effectuer un déplacement rapide de l'outil de coupe vers une position d'usinage ou vers une position de sécurité. L'avance rapide n'est jamais utilisée pour effectuer un usinage, car la vitesse de déplacement de l'actionneur de la machine est très élevée. Le code G00 est annulé par les codes : G01, G02, G03.

G01- interpolation linéaire.

La fonction G01 permet d'effectuer des mouvements linéaires à une vitesse donnée (F). Lors de la programmation, les coordonnées du point final sont précisées en valeurs absolues (G90) ou en valeurs incrémentales (G91) avec les adresses de mouvement correspondantes (par exemple, X, Y, Z). Le code G01 est annulé par les codes : G00, G02, G03.

G02- interpolation circulaire dans le sens des aiguilles d'une montre.

La fonction G02 est conçue pour déplacer l'outil le long d'un arc (cercle) dans le sens des aiguilles d'une montre à une vitesse (F) donnée. Lors de la programmation, les coordonnées du point final sont précisées en valeurs absolues (G90) ou en valeurs incrémentales (G91) avec les adresses de mouvement correspondantes (par exemple, X, Y, Z).

Le code G02 est annulé par les codes : G00, G01, G03.

G03- interpolation circulaire dans le sens inverse des aiguilles d'une montre.

La fonction G03 est conçue pour déplacer l'outil le long d'un arc (cercle) dans le sens inverse des aiguilles d'une montre à une vitesse spécifiée (F). Lors de la programmation, les coordonnées du point final sont précisées en valeurs absolues (G90) ou en valeurs incrémentales (G91) avec les adresses de mouvement correspondantes (par exemple, X, Y, Z).

Les paramètres d'interpolation I, J, K, qui déterminent les coordonnées du centre de l'arc de cercle dans le plan sélectionné, sont programmés par incréments du point de départ jusqu'au centre du cercle, dans des directions parallèles aux X, Y, Z. axes, respectivement.

Le code G03 est annulé par les codes : G00, G01, G02.

G04- pause.

La fonction G04 est une commande pour effectuer une temporisation avec une durée spécifiée. Ce code est programmé avec une adresse X ou P, qui spécifie la durée du temps de séjour. Généralement, cette durée est comprise entre 0,001 et 99999,999 secondes. Par exemple, G04 X2.5 - pause 2,5 secondes, G04 P1000 - pause 1 seconde.

G17- sélection du plan XY.

Le code G17 permet de sélectionner le plan XY comme plan de travail. Le plan XY devient dominant lors de l'utilisation de l'interpolation circulaire, de la rotation du système de coordonnées et des cycles de perçage prédéfinis.

G18- sélection du plan XZ.

Le code G18 permet de sélectionner le plan XZ comme plan de travail. Le plan XZ devient dominant lors de l'utilisation de l'interpolation circulaire, de la rotation du système de coordonnées et des cycles de perçage prédéfinis.

G19- sélection du plan YZ.

Le code G19 permet de sélectionner le plan YZ comme plan de travail. Le plan YZ devient dominant lors de l'utilisation de l'interpolation circulaire, de la rotation du système de coordonnées et des cycles de perçage prédéfinis.

G40- Annuler la compensation du rayon d'outil.

La fonction G40 annule la compensation automatique du rayon d'outil G41 et G42.

G41- compensation du rayon d'outil gauche.

La fonction G41 permet de compenser automatiquement le rayon de l'outil situé à gauche de la surface usinée (vu de l'outil dans le sens de son mouvement par rapport à la pièce). Programmable avec la fonction outil (D).

G42- compensation du rayon d'outil droit.

La fonction G42 permet de compenser automatiquement le rayon d'un outil situé à droite de la surface à usiner (vu de l'outil dans le sens de son mouvement par rapport à la pièce). Programmable avec la fonction outil (D).

G43- correction de la position de l'outil.

La fonction G43 est utilisée pour la compensation de longueur d'outil. Programmable avec la fonction outil (H).

G54 - G59- décalage spécifié.

Décalage du système de coordonnées de travail de la pièce par rapport au système de coordonnées machine.

G70- saisie des données en pouces.

La fonction G70 active le mode données en pouces.

G71- saisie des données métriques.

La fonction G71 active le mode données métriques.

G80- annuler le cycle constant.

Une fonction qui annule toute boucle standardisée.

G81- cycle de perçage standard.

Le cycle G81 est conçu pour centrer et percer des trous. Le mouvement pendant le traitement se produit à l'avance de travail. Le mouvement vers la position de départ après le traitement s'effectue avec une avance accélérée.

G82- tenue du forage.

Le cycle G82 est conçu pour percer et fraiser des trous. Le mouvement pendant l'usinage se produit à l'avance de travail avec une pause à la fin. Le mouvement vers la position de départ après le traitement s'effectue avec une avance accélérée.

G83- cycle de perçage intermittent.

Le cycle G83 est conçu pour le perçage de trous profonds. Le mouvement pendant le processus d'usinage se produit à l'avance de travail avec retrait périodique de l'outil dans le plan de retrait. Le mouvement vers la position de départ après le traitement s'effectue avec une avance accélérée.

G84- cycle de filetage.

Le cycle G84 est conçu pour tarauder des filetages. Le mouvement lors de l'usinage se produit à l'avance de travail, la broche tourne dans un sens donné. Le mouvement vers la position de départ après le traitement s'effectue à l'avance de travail avec rotation inverse de la broche.

G85- cycle d'alésage standard.

Le cycle G85 est conçu pour aléser et percer des trous. Le mouvement pendant le traitement se produit à l'avance de travail. Le mouvement vers la position de départ après le traitement s'effectue à l'avance de travail.

G86- cycle d'alésage avec arrêt de rotation de la broche.

Le cycle G86 est conçu pour percer des trous. Le mouvement pendant le traitement se produit à l'avance de travail. A la fin du traitement, la broche s'arrête. Le mouvement vers la position de départ après le traitement s'effectue avec une avance accélérée.

G87- cycle d'alésage avec rétraction manuelle.

Le cycle G87 est conçu pour percer des trous. Le mouvement pendant le traitement se produit à l'avance de travail. A la fin du traitement, la broche s'arrête. Le déplacement vers la position de départ après le traitement se fait manuellement.

G90- mode de positionnement absolu.

Dans le mode de positionnement absolu G90, les mouvements des actionneurs sont effectués par rapport au point zéro du système de coordonnées de travail G54-G59 (programmé là où l'outil doit se déplacer). Le code G90 est annulé par le code de positionnement relatif G91.

G91- mode de positionnement relatif.

Dans le mode de positionnement relatif (incrémental) G91, la position zéro est à chaque fois considérée comme la position de l'actionneur qu'il occupait avant de passer au point de référence suivant (le déplacement de l'outil est programmé). Le code G91 est annulé par le code de positionnement absolu G90.

G94- vitesse d'avance en pouces/millimètres par minute.

À l'aide de la fonction G94, l'avance spécifiée est définie en pouces ou en millimètres par minute. Programmable avec la fonction d'alimentation (F). Le code G94 est annulé par le code G95.

G95- vitesse d'avance en pouces/millimètres par tour.

À l'aide de la fonction G95, la vitesse d'avance spécifiée est définie en pouces ou en millimètres par tour de broche. Ceux. L'avance F est synchronisée avec la vitesse de broche S. Le code G95 est annulé par le code G94.

Codes M pour CNC

M00- arrêt programmable.

Lorsque le système de contrôle exécute la commande M00, un arrêt se produit. Tous les mouvements axiaux s'arrêtent, tandis que la broche (dans la plupart des machines) continue de tourner. Le programme reprend à partir de l'image suivante après avoir appuyé sur le bouton "Démarrer".

M01- arrêtez avec confirmation.

Le code M01 agit de la même manière que M00, mais n'est exécuté qu'après confirmation du panneau de commande de la machine. Si la touche de confirmation est enfoncée, la lecture du bloc de M01 est arrêtée. Si la touche n'est pas enfoncée, alors la trame M01 est sautée et l'exécution de la CN n'est pas interrompue.

M02- fin du programme.

Le code M02 indique la fin du programme et provoque l'arrêt de la broche, l'arrêt de l'avance et l'arrêt du refroidissement.

M0Z- rotation de la broche dans le sens des aiguilles d'une montre.

A l'aide du code M0Z, on active la rotation directe de la broche avec la vitesse programmée (S). Le code M03 est valable jusqu'à son annulation à l'aide de M04 ou M05.

M04- rotation de la broche dans le sens inverse des aiguilles d'une montre.

A l'aide du code M04, la rotation inverse de la broche avec la vitesse programmée (S) est activée. Le code M04 est valable jusqu'à son annulation à l'aide de M03 ou M05.

M05- arrêt de la broche.

Le code M05 arrête la rotation de la broche, mais n'arrête pas le mouvement axial.

M06- changement d'outil.

A l'aide du code M06, l'outil attaché à la broche est remplacé par un outil en position prête dans le magasin d'outils.

M07- allumer le refroidissement n°2.

Le code M07 inclut la fourniture de liquide de refroidissement à la zone de traitement sous forme de pulvérisation, si la machine dispose d'une telle capacité.

M08- allumer le refroidissement n°1.

Le code M08 comprend l'alimentation en liquide de refroidissement de la zone de traitement sous forme de jet.

M09- rafraîchir.

Le code M09 coupe le liquide de refroidissement et annule les commandes M07 et M08.

M10- pince.

Le code M10 fait référence au travail avec le dispositif de serrage des pièces mobiles de la machine.

M11- libérer.

Le code M11 fait référence au travail avec le dispositif de serrage des pièces mobiles de la machine.

MZ0- fin des informations.

Le code MZ0 informe le système de contrôle de la fin du programme, arrête la broche, arrête l'avance et éteint le refroidissement.

Fonctions et symboles supplémentaires lors de la programmation de machines CNC

X, Y, Z- les commandes de mouvements axiaux.

A, B, C- des commandes de mouvement circulaire autour des axes X, Y, Z respectivement.

Je, J, K- paramètres d'interpolation circulaire parallèles aux axes X, Y, Z respectivement.

Avec l'interpolation circulaire G02 ou G03, R définit le rayon qui relie les points de départ et d'arrivée de l'arc. Dans les cycles fixes, R détermine la position du plan de rétraction. Lorsque vous travaillez avec une commande de rotation, R détermine l'angle de rotation du système de coordonnées.

D- valeur de compensation du rayon d'outil.

N- valeur de compensation de longueur d'outil.

F- fonction d'alimentation.

S- fonction principale de mouvement.

T- une valeur qui détermine le numéro de l'outil qui doit être déplacé vers la position de changement en faisant tourner le magasin d'outils.

N- numérotation des trames UE.

/ - saut de trame.

(...) - commentaires dans l'UP.