Upload
nolanuk
View
5
Download
0
Embed Size (px)
DESCRIPTION
2
Citation preview
MEC3530 Fabrication assiste par ordinateur et machines outils
Automne 2013 Cours 7 Le langage de programmation APT
Victor Calatoru
Plan du cours
Le langage APT Les sous-sets du langage Dfinition des points et des lignes en APT Description de loutil et des contions de contact entre
loutil et la pice Exemples de programmes en APT
Caractristiques du langage
Acronyme pour Automatically Programmed Tool. Apparu la fin des annes 50 et raffin dans les
annes 60. Conu pour faciliter la programmation des trajectoires
des outils, bas sur une philosophie similaire celle dautres langages de programmation de lpoque.
Presque abandonn comme langage de programmation directe des MOCNs, utilis encore comme intermdiaire entre les logiciels plus performants et les post-processeurs.
http://learning.dtpm.unipa.it/emc/it/apt_doc/manual/index.html
Les 5 soussets du langage APT
Systme de contournage multiaxial
Systme de contournage 3D
Systme de contournage minimal
Systme de dplacement pointpoint avanc
Systme minimal
Le langage prsente une structure modulaire avec moindres superpositions.
Les modules peuvent tre ajouts seulement si le cas fera.
un certain moment il y avait 25 modules spars.
Le systme minimal est standardis, les modules ne le sont pas.
Premier sous set
(1) Avance attach aux commandes de mouvement. (2) Instructions de copie, pour rpliquer des squences
de programme, avec ou sans translation et/ou rotation.
(3) Synonymes pour les mots du vocabulaire APT.
Commandes contenues dans le premier sous set
(1) Dclaration de lorientation de loutil: FROM/x coord, y coord, z coord (2) Commande de dplacement: GOTO / x coord, y coord, z coord GODLTA / delta x, delta y, delta z (3) Limites du programme: PARTNO (identificateur du nom) FINI
Deuxime sous set
(1) Transformations et rotations matricielles (2) Facilits pour macro-commandes (3) Capacit de dfinition imbrique (4) Fonctions de I/O (impression, perforation, et lecture). (5) Patterns des points (6) Control du postprocessing multiple. (7) Boucles de programme et calculs (calculs algbriques,
fonctions pour racine carre, etc.) (8) Dfinitions pointlignecercle avances.
Dfinition des lments gomtriques
Dfinition des lignes (1) Par deux points dcrits par les
coordonnes. (2) Par deux points dcrits par des symboles. (3) Par un point et la tangente un cercle. (4) Tangente deux cercles. (5) Par un point et un angle spcifi par
rapport laxe positive X. (6) Par un point et parallle une autre
ligne.
Dfinitions des points (1) Par des coordonnes x, y, et z. (2) Par des coordonnes x et y. (3) Par lintersection de deux lignes. (4) Par lintersection dune ligne et un
cercle. (5) Par lintersection de deux cercles. (6) Sur la circonfrence dun cercle,
localis par mesure angulaire, en partant de laxe X positive.
Dfinitions des cercles (1) Par les coordonnes du centre et valeur du rayon. (2) Par point du centre et valeur du rayon. (3) Par point du centre et une ligne laquelle il est tangent. (4) Par point du centre et un cercle auquel il est tangent.
Troisime sous set
(1) Contournage des sections coniques, incluant les coniques vides.
(2) Possibilit de spcifier lpaisseur dune surface. (3) Contrle de programme pour terminaison
conditionnelle de la coupe. (4) Enlvement des squences spcifiques de coupe. (5) Langage pour usinage des poches. (6) Dsignation et manipulation de noms symboliques
des variables des surfaces. (7) Surfaces cylindriques tabuls (8) Langage spcial pour le dmarrage des dcalages
Facilits ajoutes pour le set de contournage minimal
(1) tablir la surface de la pice. (2) Spcification de loutil par diamtre et rayon du bout. (3) Spcification de la tolrance intrieure et extrieure de la
trajectoire de loutil. (4) tablir un sens de la direction direction pour les prochains
mouvements (5) Commandes de mouvement gauche, droite, avant et arrire (6) Procdure de dmarrage pour placer loutil sur une nouvelle
courbe usiner. (7) Commandes de positionnement de loutil pour orienter loutil
gauche, droite ou sur la courbe. (8) Dfinitions additionnelles et pour les plans : (a) Par les coefficients de l quation du plan. (b) Par trois points non aligns. (c) Passant par un point et parallle un plan donn. (d) Parallle et dcal par rapport un plan donn.
Quatrime sous set
1. Capacit de gnraliser loutil. 2. Surfaces additionnelles tridimensionnelles 3. Dfinitions additionnelles des vecteurs 4. Langage additionnel de contrle de loutil par
rapport la pice. 5. Surfaces ajustes 6. Tolrances surfaciques individuelles sur tous les
surfaces.
Facilits ajouts au systme de contournage 3D
(1) Commandes de dplacement GOUP et GODOWN (2) Dfinitions des vecteurs : (a) Par les composantes x, y et z (b) Par deux points (3) Dfinition dun cne : (a) Par les coordonnes de la pointe, composantes du vecteur de
laxe, et le cosinus du demi angle. (b) Par les coordonnes de la pointe, vecteur de laxe et le cosinus
du demi angle. (4) Dfinition dun cylindre : (a) Par les coordonnes du point sur laxe, composantes du vecteur
de laxe et le rayon. (b) Par point sur axe, vecteur de laxe et rayon. (5) Procdure de dpart tridimensionnel GO/...
TO ON PAST
,S1,S2, { }
Facilits ajouts au systme de contournage multiaxial
Le sousset pour contournage multiaxial ajoute la capacit de contrler laxe de loutil. Ceci est obtenu par la spcification explicite des valeurs du vecteur de laxe ou en spcifiant que laxe va rester en position normale la surface de la pice ou la surface guide.
Exemple de programmation en langage APT (1) PARTNO N/C 360 APT SAMPLE PROGRAM (2) SP = POINT/ 0, 0, 0 (3) L1 = LINE/ 4, 0, 0, 4, 8, 0 (4) PT = POINT/ 4.0, 8.0, 0 (5) L2 = LINE/ PT, ATANGL, 45 (6) L3 = LINE/ 8, 12, 0, 12, 12, 0 (7) L4 = LINE/ 14, 5, 0, 14, 10, 0 (8) L5 = LINE/ 0, 2, 0, 10, 2, 0 (9) C1 = CIRCLE/ 12, 10, 0, 2.0 (10) C2 = CIRCLE/ 14, 2, 0, 3.0 (11) INTOL/ 0 (12) OUTTOL/ .005 (13) CUTTER/ .25 (14) SPINDL/ 2000, CLW (15) COOLNT/ ON (16) FEDRAT/ 20.0 (17) FROM/ SP (18) GO/ TO, L1 (19) TLLFT, GOLFT/ L1, PAST, L2 (20) GORGT/ L2, PAST, L3 (21) GORGT/ L3, TANTO, C1 (22) GOFWD/ C1, TANTO, L4 (23) GOFWD/ L4, PAST, C2 (24) GORGT/ C2, PAST, L5 (25) GORGT/ L5, PAST, L1 (26) GOTO/ SP (27) COOLNT/ OFF (28) SPINDL/ OFF (29) FINI
Description de loutil
Forme gnrale CUTTER/ d, r, e, f, , , h avec:
d = diamtre de loutil r = rayon de coin e, f = centre du rayon de coin = conicit de loutil = angle du bout de loutil h = hauteur de la partie active Il y a une forme rduite, seulement avec les paramtres d et r spcifis. Utile pour les outils cylindriques.
Positionnement de loutil
Tolrance de la trajectoire de loutil
Surface de la pice suivie par le bout de loutil (TLONPS) ou tangente loutil (TLOFPS), gauche ou droite
Arrt de loutil avant (TO), sur (ON) ou aprs (PAST) un limiteur. Arrt de loutil tangent un cercle.
Commandes de dplacement Les commandes de base
en mode point point : FROM/ - point de dpart GOTO/ - dplacement absolu GODLTA/ - dplacement relatif
en mode trajectoire : GO/ - dplacement sur une trajectoire dfinie par les 3 surfaces : - PL1 : Surface guide - PL2 : Surface de la pice - PL3 : Surface limite
Ex : GO/TO, PL1, TO, PL2, TO, PL3
Il y a 6 commandes de dplacement selon le changement de direction : GOFWD, GOBACK, GOLFT, GORGT, GOUP et GODOWN.
GOLFT
GORGT
GOFWD
GOBACK
GODOWN
GOUP
Position courante
Position antrieure
Les primitives gomtriques Figure gomtrique Mot rserv Point POINT Ligne LINE Plan PLANE Cercle CIRCLE Cylindre CYLNDR Ellipse ELLIPS Hyperbole HYPERB Cne CONE Conique gnrale GCONIC Conique vote LCONIC Vecteur VECTOR Matrice MATRIX Sphre SPHERE Quadrique QADRIC Cylindre tabul TABCYL Surface polyconique POLCON Surface rgle RLDSRF
Dfinition des points
PT1 = POINT/ 2, 4, 3 PT2 = POINT/ 2, 4, 0 PT3 = POINT/ -5, -2, 3 PT4 = POINT/ -5, -2, 0
PT1 = POINT/ INTOF, LN1, LN4 PT2 = POINT/ INTOF, LN2, LN1 PT3 = POINT/ INTOF, LN1, LN3 PT4 = POINT/ INTOF, LN2, LN3 PT5 = POINT/ INTOF, LN2, LN4
Point lintersection de 2 lignes
Point par coordonnes
PT1 = POINT/ RTHETA, XYPLAN, 5.66, 45 PT2 = POINT/ THETAR, XYPLAN, 150.0, 6
Point en coordonnes polaires
P1 = POINT/ INTOF, PLANE1, PLANE2, PLANE3
Point lintersection de 3 plans
Dfinition des points
P1 = POINT/ YSMALL, INTOF, L1, C3 P2 = POINT/ YLARGE, INTOF, L1, C3 P3 = POINT/ YSMALL, INTOF, L1, C1 P4 = POINT/ YLARGE, INTOF, L1, C1 P5 = POINT/ XLARGE, INTOF, L2, C1 P6 = POINT/ XSMALL, INTOF, L2, C1 P7 = POINT/ XLARGE, INTOF, L2, C2 P8 = POINT/ XSMALL, INTOF, L2, C2
P1 = POINT/ YLARGE, INTOF, C1, C2 P2 = POINT/ YSMALL, INTOF, C1, C2 P3 = POINT/ XSMALL, INTOF, C3, C4 P4 = POINT/ XLARGE, INTOF, C3, C4
Point lintersection de 2 cercles
Point lintersection dune ligne avec un cercle
PT1 = POINT/ CENTER, C1
Point comme centre dun cercle
P1 = POINT/ C1, ATANGL, 45.0 P2 = POINT/ C1, ATANGL, 90 P3 = POINT/ C1, ATANGL, 225 ou P1 = POINT/ C1, ATANGL, -315 P2 = POINT/ C1, ATANGL, -270 P3 = POINT/ C1, ATANGL, -135
Point un angle donn, sur un cercle
Dfinition des lignes
LN1 = LINE/ -3, -3.5, 4, 3.5 LN2 = LINE/ 7, 2, 3, 1 ou PT1 = POINT/ -3, -3.5 PT2 = POINT/ 4, 3.5 PT3 = POINT/ 7, 2 PT4 = POINT/ 3, 1 LN1 = LINE/ PT1, PT2 LN2 = LINE/ PT3, PT4
Ligne par 2 points
LN1 = LINE/ PT1, LEFT, TANTO, C1
LN2 = LINE/ PT1, RIGHT, TANTO, C1
LN3 = LINE/ PT2, RIGHT, TANTO, C1
Ligne par 1 point et cercle tangent
Ligne tangente 2 cercles
L1 = LINE/ RIGHT, TANTO, C1, RIGHT, TANTO, C2
L2 = LINE/ LEFT, TANTO, C1, LEFT, TANTO, C2
L3 = LINE/ RIGHT, TANTO, C1, LEFT, TANTO, C2
L4 = LINE/ LEFT, TANTO, C1, RIGHT, TANTO, C2
Dfinition des lignes
LN1 = LINE/ PT1, ATANGL, 45, XAXIS LN2 = LINE/ PT2, ATANGL, 22.5 LN3 = LINE/ PT3, ATANGL, 60, YAXIS
Ligne passant par un point et inclin par rapport une axe
LN1 = LINE/ PT1, SLOPE, 1, XAXIS LN2 = LINE/ PT2, SLOPE, .4142 LN3 = LINE/ PT3, SLOPE, 1.7321, YAXIS
Ou, si on connat la pente :
Ligne passant par un point et inclin par rapport une autre ligne
L1 = LINE/ PT2, ATANGL, 15, L2
L3 = LINE/ PT3, ATANGL, 135, L1
Ou, si on connat la pente :
Ligne parallle ou perpendiculaire une autre ligne :
LN1 = LINE/ PT2, SLOPE, .26759, L2
LN3 = LINE/ PT3, SLOPE, -1, L1
L1 = LINE/ PT1, PARLEL, LX
LN1 = LINE/ PT1, PERPTO, LNX
Dfinition des lignes
L1 = LINE/ PARLEL, LX, XSMALL, 2 ou L1 = LINE/ PARLEL, LX, YLARGE, 2.0 L2 = LINE/ PARLEL, LX, XLARGE, 2 ou L2 = LINE/ PARLEL, LX, YSMALL, 2.0
Ligne parallle une autre ligne et situe une distance
Ligne inclin interceptant une axe
L1 = LINE/ ATANGL, 22, INTERC, 3 L2 = LINE/ ATANGL, -22, INTERC, 3 ou L1 = LINE/ ATANGL, 22, INTERC, YAXIS, 3 L2 = LINE/ ATANGL, -22, INTERC, XAXIS, 7.425
Ou, si on connat la pente :
Ligne parallle ou perpendiculaire une cylindre tabul :
L1 = LINE/ SLOPE, .40403, INTERC, 3 L2 = LINE/ SLOPE, -.40403, INTERC, 3 ou L1 = LINE/ SLOPE, .40403, INTERC, YAXIS, 3 L2 = LINE/ SLOPE, -.40403, INTERC, XAXIS, 7.425
L3 = LINE/ P3, TANTO, TABC, P4
L2 = LINE/ P1, PERPTO, TABC, P2
Dfinition des lignes
Ligne dfinie comme intersection des deux plans
L1 = LINE/ INTOF, PLN1, PLN2
Ligne superpose une axe
YAXISXAXIS
/LINEL1 {=
Commandes auxiliaires et de post-processeur
Units de mesure UNITS /MM ou /INCHES Vitesse de coupe SPINDL /1000, CLW ou CCLW SPINDL /OFF Avance FEDRAT /40, IPM ou IPR RAPID Liquide de coupe COOLNT /FLOOD change doutil LOADTL /01
Entte du programme PARTNO Spcification de la machine MACHIN/ Temps dattente DELAY/ 30 Affichage de la position de loutil CLPRNT Commentaire REMARK/ Fin du programme FINI
Oprations arithmtiques et fonctions
Oprateur Description
+ Addition
- Soustraction
* Multiplication
/ Division
** Exponentiation
Oprateur Prcdence valuation fonctions 1 (plus haut)
** 2 * / 3 + - 4 (plus bas)
Nom Fonction Example Usage ABSF(x) Valeur absolue de x X = ABSF(-22.5)
ATANF(x) Arc tangente de x X = ATANF(.577350)
EXPF(x) ex X = EXPF(2)
SINF(x) Sinus de x X = SINF(45)
COSF(x) Cosinus de x X = COSF(45)
DOTF(svector, svector) Produit scalaire des Vecteurs DP = DOTF(V1, V2)
LNTHF(svector) Magnitude dun vecteur LEN = LNTHF(V)
LOGF(x) logex LOG = LOGF(2)
SQRTF(x) Racine carre de x SQR = SQRTF(4)
ANGLF(scircle, spoint) Angle entre laxe positive X et a ligne unissant le centre dun cercle et un point.
A = ANGLF(C1, (POINT/ 2, -3))
NUMF(SPAT) Le nombre des points dun pattern. N = NUMF(PAT1) DISTF(splane, splane) ou DISTF(sline, sline)
Distance entre lignes parallles ou plans parallles . (Mlange des surfaces nest pas permis.)
D = DISTF(L1, L2)
LOG10F(x) Log10x LG = LOG10F(2)
TANF(x) Tangente de x T = TANF(30.)
ATAN2F(x, y) Arc tangente de x/y A = ATAN2F(2, .5)
Exemple de codage pour perage des trous
PARTNO SAMPLE PART DRILLING OPERATION MACHIN/DRILL,01 CLPRNT UNITS/MM REMARK Part geometry, Points are defined 10 mm above part surface. PTARG = POINT/0, -50.0, 10.0 P5 = POINT/70.0, 30.0, 10.0 P6 = POINT/120.0, 30.0, 10.0 P7 = POINT/70.0, 60.0, 10.0 REMARK Drill bit motion statements. FROM/PTARG RAPID GOTO/P5 SPINDL/1000, CLW FEEDRAT/0.05, IPR GODLTA/0, 0, -25.0 GODLTA/0, 0, 25.0 RAPID
GOTO/P6 SPINDL/1000, CLW FEEDRAT/0.05, IPR GODLTA/0, 0, -25.0 GODLTA/0, 0, 25.0 RAPID GOTO/P7 SPINDL/1000, CLW FEEDRAT/0.05, IPR GODLTA/0, 0, -25.0 GODLTA/0, 0, 25.0 RAPID GOTO/PTARG SPINDL/OFF FINI
Exemple de codage dun contour simple
PARTNO SAMPLE PART MILLING OPERATION MACHIN/MILLING,02 CLPRNT UNITS/MM CUTTER/20.0 REMARK Part geometry, Points and Lines are defined 25 mm below part top surface. PTARG = POINT/0, -50.0, 10.0 P1 = POINT/0, 0, -25.0 P2 = POINT/160.0, 0, -25.0 P3 = POINT/160.0, 60.0, -25.0 P4 = POINT/35.0, 90.0, -25.0 P8 = POINT/130.0, 60.0, -25.0 L1 = LINE/P1, P2 L2 = LINE/P2, P3 C1 = CIRCLE/CENTER, P8, RADIUS, 30.0 L3 = LINE/P4, LEFT, TANTO, C1
L4 = LINE/P4, P1 PL1 = PLANE/P1, P2, P4 REMARK Tool motions LOADTL/05 FROM/PTARG SPINDL/1000, CLW FEEDRAT/50, IPM GO/TO, L1, TO, PL1, ON, L4 GORGT/L1, PAST, L2 GOLFT/L2, TANTO, C1 GOFWD/C1, PAST, L3 GOFWD/L3, PAST, L4 GOLFT/L4, PAST, L1 RAPID GOTO/PTARG SPINDL/OFF FINI
Param. coupe : Feed = 50 mm/min, Speed = 1000 rev/min, Cutter diam. = 20 mm, en position 5 Point origine (PTARG) : X = 0, Y = -50, Z = 10
PTARG
P1 P2
P3 P4
P8
L1
L2
L3 C1
L4
Questions ?
MEC3530 Fabrication assiste par ordinateur et machines outilsPlan du coursCaractristiques du langageLes 5 soussets du langage APTPremier sous setCommandes contenues dans le premier sous setDeuxime sous setDfinition des lments gomtriquesTroisime sous setFacilits ajoutes pour le set de contournage minimalQuatrime sous setFacilits ajouts au systme de contournage 3DFacilits ajouts au systme de contournage multiaxialExemple de programmation en langage APTDescription de loutilPositionnement de loutilCommandes de dplacementLes primitives gomtriquesDfinition des pointsDfinition des pointsDfinition des lignesDfinition des lignesDfinition des lignesDfinition des lignesCommandes auxiliaires et de post-processeurOprations arithmtiques et fonctionsExemple de codage pour perage des trousExemple de codage dun contour simpleQuestions ?