ENC et EMC2

Vous avez un post-processeur que vous souhaitez partager ? Postez le ICI
Pascal
Messages : 3
Enregistré le : sam. 5 mars 2011 06:04

ENC et EMC2

Message non lu par Pascal »

Bonjour,

Je suis dans mes tentatives pour arriver à faire lire le Gcode "ENC" par le logiciel EMC2.

J'ai déjà pas mal préconfiguré un post processeur qui est accepté, mais je sèche sur les fonctions de perçage...

J'utilise le fichier d'exemple "test_pp2".

Le cycle suivant généré par ENC bloque sur EMC2 :

(USINAGES DE TROUS)
(FORET À CENTRER D 10.000)
G00 Z250
G00 X0 Y0
T1 M6
T12
G00 X-365.08 Y-30
G43 H21
G00 Z-28
M3 S600
G81 X-365.08 Y-30 Z-32. F100 R2Q2
Y-220
X-125.08 Y-30
Y-220
G80

EMC2 me retourne l'erreur suivante : "Ligne 179 (en gras ci-dessus) Mot Q sans le Gcode qu'il utilise".
C'est visiblement R2Q2 qui pose problèmes.

Idem pour le G82 Ligne 194 :

(USINAGES DE TROUS)
(FORET D 10.000)
G00 Z250
G00 X0 Y0
T12 M6
T05
G00 X-365.08 Y-30
G43 H12
G00 Z-28
M3 S800 M8
G82 X-365.08 Y-30 Z-60. F130 R2Q15
Y-220
X-125.08 Y-30
Y-220
G80
M9

Ici, c'est R2Q15 qui pose problème

Ci-dessous, l'aide en ligne EMC2 sur l'interprétation du Gcode concernant G81, 82, 83 ( http://linuxcnc.org/docs/html/gcode_fr.html ).

6.24.7 G81: Cycle de perçage

Le cycle G81 est destiné au perçage. Programmer G81 X- Y- Z- A- B- C- R- L- donnera:

1. Un mouvement préliminaire. Comme décrit ici [.]
2. Un déplacement de l'axe Z seul à la vitesse programmée, vers la position Z programmée.
3. Retrait de l'axe Z en vitesse rapide jusqu'au plan de retrait R.

Exemple 1. Supposons que la position courante soit, X1, Y2, Z3 dans le plan XY, la ligne de codes suivante est interprétée:

G90 G81 G98 X4 Y5 Z1.5 R2.8

Le mode de déplacements absolus est appelé (G90), le plan de retrait est positionné sur OLD_Z (G98), l'appel du cycle de perçage G81 va lancer ce cycle une fois. La position X deviendra celle demandée, X4. La position de Y deviendra celle demandée, Y5. La position de Z deviendra celle demandée, Z1.5. La valeur de R fixe le plan de retrait de Z à 2.8. La valeur de OLD_Z est 3. Les mouvements suivants vont se produire.

1. Un mouvement en vitesse rapide, parallèle au plan XY vers X4, Y5, Z3
2. Un mouvement en vitesse rapide, parallèle à l'axe Z vers X4, Y5, Z2.8
3. Un mouvement en vitesse travail, parallèle à l'axe Z vers X4, Y5, Z1.5
4. Un mouvement en vitesse rapide, parallèle à l'axe Z vers X4, Y5, Z3

Exemple 2. Supposons que la position courante soit, X1, Y2, Z3 dans le plan XY, la ligne de codes suivante est interprétée:

G91 G81 G98 X4 Y5 Z-0.6 R1.8 L3

Le mode de déplacements incrémentaux est appelé (G91), le plan de retrait est positionné sur OLD_Z (G98), l'appel du cycle de perçage G81 demande 3 répétitions du cycle. La valeur demandée de X est 4, la valeur demandée de Y est 5, la valeur demandée de Z est -0.6 et le retrait R est à 1.8. La position initiale de X sera 5 (1+4), la position initiale de Y sera 7 (2+5), le plan de retrait sera positionné sur 4.8 (1.8+3) et Z positionné sur 4.2 (4.8-0.6). OLD_Z est à 3.

Le premier mouvement en vitesse rapide le long de l'axe Z vers X1, Y2, Z4.8), puisque OLD_Z est inférieur au plan de retrait.

La première répétition produira 3 mouvements.

1. Un déplacement en vitesse rapide, parallèle au plan XY vers X5, Y7, Z4.8
2. Un déplacement en vitesse travail, parallèle à l'axe Z vers X5, Y7, Z4.2
3. Un déplacement en vitesse rapide, parallèle à l'axe Z vers X5, Y7, Z4.8

La deuxième répétition produira 3 mouvements. La position de X est augmentée de 4 et passe à 9, la position de Y est augmentée de 5 et passe à 12.

1. Un déplacement en vitesse rapide, parallèle au plan XY vers X9, Y12, Z4.8
2. Un déplacement en vitesse travail, parallèle à l'axe Z vers X9, Y12, Z4.2
3. Un déplacement en vitesse rapide, parallèle à l'axe Z vers X9, Y12, Z4.8

La troisième répétition produira 3 mouvements. La position de X est augmentée de 4 et passe à 13, la position de Y est augmentée de 5 et passe à 17.

1. Un déplacement en vitesse rapide, parallèle au plan XY vers X13, Y17, Z4.8
2. Un déplacement en vitesse travail, parallèle à l'axe Z vers X13, Y17, Z4.2
3. Un déplacement en vitesse rapide, parallèle à l'axe Z vers X13, Y17, Z4.8

6.24.8 G82: Cycle de perçage avec temporisation

Le cycle G82 est destiné au perçage. Programmer G82 X- Y- Z- A- B- C- R- L- P-

donnera:

1. Un mouvement préliminaire. Comme décrit ici [.]
2. Un déplacement de l'axe Z seul en vitesse programmée, vers la position Z programmée.
3. Une temporisation de P secondes.
4. Retrait de l'axe Z en vitesse rapide jusqu'au plan de retrait R.

6.24.9 G83: Cycle de perçage avec débourrage


Le cycle G83 est destiné au perçage profond ou au fraisage avec brise-copeaux. Les retraits, au cours de ce cycle, dégagent les copeaux du trou et fragmentent les copeaux longs (qui sont fréquents lors du perçage dans l'aluminum). Ce cycle utilise la valeur Q qui représente un incrément “delta” le long de l'axe Z. Programmer G83 X- Y- Z- A- B- C- R- L- Q-

donnera:

1. Un mouvement préliminaire. Comme décrit ici [.]
2. Un mouvement de l'axe Z seul, en vitesse travail, sur la position la moins profonde entre, un incrément delta, ou la position de Z programmée.
3. Un mouvement en vitesse rapide au plan de retrait.
4. Une plongée en vitesse rapide dans le même trou, presque jusqu'au fond.
5. Répétition des étapes 2, 3 et 4 jusqu'à ce que la position programmée de Z soit atteinte à l'étape 2.
6. Un mouvement de l'axe Z en vitesse rapide vers le plan de retrait.

C'est une erreur si:

* La valeur de Q est négative ou égale à zéro.

Cordialement
Avatar du membre
Stéphan Hales
Messages : 91
Enregistré le : mar. 10 août 2010 13:48

Re: e-NC et EMC2

Message non lu par Stéphan Hales »

Pascal,

Dans la configuration des post-processeurs de e-NC on peut régler le code G qui doit sortir lorsque l'on a fait:
- Un perçage simple (perçage en 1 passe)
- Percage profond (multi-passes avec débourage)
- Percage Brise Copeaux
- Alesage
- ...
pp.JPG
pp.JPG (83.16 Kio) Vu 10001 fois
Pour chacun de ces cycles on a accès à un certain nombre de variables (dont le nom commence par un $) qui définissent le cycles de différentes manières puisque les machines ne demandent pas toutes les mêmes informations.

La liste des variables disponible est affiché au bas de la page de configuration des cycles fixes dans les réglages post-processeur.

On dispose par exemple de la profondeur de perçage en relatif ($depthrel) ou en absolu ($depth), de la profondeur de passe ($stepinc) ou du nombre de passe ($stepnb)

Le réglage consiste donc a choisir dans la liste les variables dont on a besoin dans la liste

Pour un perçage simple avec emc2 on aurait:
G81 G98 $xycur['Z'+4.3DN$depth]$feed['R'+4.3$retrel]

Pour un perçage avec débourrage on aurait
G83 G98$xycur['Z'+4.3DN$depth]$feed['R'+4.3$retrel]['Q'-4.3$stepinc]

Pour le brise copeau, il ne semble pas y avoir de cycles fixes sur EMC2 donc on peut regler le post-processeur sur "utilise sous-programme"

Pour alésage on doit pouvoir utiliser G82
G83 G98$xycur['Z'+4.3DN$depth]$feed['R'+4.3$retrel]['Q'-4.3$stepinc]['P'4.3$pause]

Les cycles précisés au dessus sont des exemples, je n'ai pas EMC2 sous la main pour pouvoir tester, le bon réglage, c'est celui que vous aller faire vous, tests à l'appui...
D'ailleurs, si vous souhaitez publier votre PP une fois terminé ce sera avec plaisir...

Encore un mot sur le formatage des variables.
Comme vous l'avez constaté il y a un micro langage dans le post-processeur pour définir la manière dont sera formaté la variable dans le programme final.
Sur certaine machine en effet:
La lettre d'entête peut être différente, la valeur peut être demandée en centième ou en microns, elle peut être en valeur absolue, négative impérativement, ...
On utilise un format spécial qui est aussi expliqué dans la page ou sont affichées les variables et qui se résume ainsi:
[ : début formatage
'texte' : Texte avant la valeur (peut être une lettre simple ou un groupe de lettre (Q1 ou R1=2))
+/- : Force présence ou absence de signe (si la valeur doit être positive on peut omettre le signe, si elle doit être négative ou peut mettre le - dans le texte et omettre le signe dans la valeur)
04,03 : 4 chiffres avant la virgule avec les zéros de tête (0123)
: Le caractère décimal est une virgule (ca aurait pu être un point)
: 3 chiffres après la virgule avec les zéros de queue 0123,300
D : force la présence du caractère décimal si le nombre est rond (10.)
N : Force la présence de la variable même si la valeur est nulle
] : fin de formatage

donc ['Z'+4.3DN$depth]
ca veut dire que la variable sortira avec max 4 chiffres avant la virgule, max 3 chiffre après, la virgule sera un point qui sera toujours présent.
ex : Z0.

J'espère que cela vous aidera à configurer votre post-processeur.
Stéphan Hales. Auteur du logiciel easymill et e-DNC
Pascal
Messages : 3
Enregistré le : sam. 5 mars 2011 06:04

Re: ENC et EMC2

Message non lu par Pascal »

Merci de votre réponse et de votre aide,

Je vais tenter de configurer suivant vos explications.

Effectivement, je posterais le postpro quand il sera "stable".

Je crois que plusieurs "configurateurs" pourrons être intéressé... En effet, je trouve que EMC2 est en phase avec la philosophie de ENC : Souple et puissant, efficace mais sans tape à l'œil et surtout, basé sur le noyau temps réel de Linux, c'est à dire qu'il est bien plus apte à maintenir un flux de donnée que Windows et ce, avec un PC "très bas de gamme".
De plus, pour ceux que cela intéresse, il est en français (y compris la doc) et bien sur licence Open avec une communauté active !

Cordialement,

Pascal
Répondre