Origine Machine Mach3fr

  • Auteur de la discussion jmlwood
  • Date de début
J
jmlwood
Apprenti
19 Juin 2010
61
  • Auteur de la discussion
  • #1
Bonjour à tous,

Je suis confronté à un petit pb.
Je suis en train de fabriquer une CN, j'ai positionne des switch pour les origines des axes X et Y, tout fonctionne à merveille, lors de l'impulsion sur les boutons (mach3fr) xref et yref la machine se déplace jusqu'au contact et se déplace pour libérer le contact et met les coordonnées machine à 0,00,nikel.
En fait je souhaite avoir ce comportement mais je voudrais qu'à la suite du contact sur les switch OM la machine se déplace d'une valeur definie ?
Exemple :
Mes contacts OM X et OM Y sont presque aux extrémités de la machine (amont des fins de courses) et je souhaite que mes OM X et OM Y soient au milieu de la table de travail
Comment faire ?
Je n'ai rien trouvé dans les config de Mach3fr.
Je pense qu'il faut modifié un script mais je ne parviens pas à les voir (éditeur de vb script bouton)

Merci pour votre aide.
Jmlwood
 
MegaHertz
MegaHertz
Compagnon
31 Août 2017
1 055
Bonjour,

N'oublies pas qu'en plus de l'origine machine tu as l'origine du repère que tu peux mettre là ou tu veux.
De toute façon quand on utilise une machine on commence par définir le zéro sur un coin ou au milieu du truc qu'on va usiner.

Laisses l'origine machine là ou elle est, tu te compliques la vie pour rien.

Bonne année
 
F
franck67
Compagnon
22 Déc 2011
1 701
e toute façon quand on utilise une machine on commence par définir le zéro sur un coin ou au milieu du truc qu'on va usiner.
oui d'ailleurs moi je n'ai pas d'origine machine , je ne vois pas l'interet de la chose ...... en plus ca n'est pas suffisament precis pour etre utilisé comme coordonnées d'usinage
 
J
jmlwood
Apprenti
19 Juin 2010
61
  • Auteur de la discussion
  • #4
après tout tu as peut être raison je n'usine jamais à partir de ce point mais vu que je suis perfectionniste je voulais que a machine se place au centre quand elle est au repos
 
petit_lulu
petit_lulu
Compagnon
11 Jan 2015
856
gers
salut,
dans le menu "config" "homing/limits" tu as une colonne "home off.", je n'ai pas essaye mais au lieu de mettre 0 dans les valeurs des axes, ca doit mettre cette valeur a la place donc si tu met un valeur de la moitier de tes courses ca doit te faire les OMs a 0 au milieu de la table, peut etre avec des valeurs negatives selon le sens de deplacement de chaque axes.
faire attention au Z, peut etre le laisser a 0 en haut pour ne rien toucher lors des deplacements...
 
dh42
dh42
Compagnon
4 Sept 2009
5 837
Près de St Etienne (42)
Salut


Lorsqu'un axe arrive sur son contact Home, Si la case Auto Zero est cochée, il affectera la valeur se trouvant dans la case Home Off. (décalage origine) à l'axe considéré. Dans l'exemple, il affectera la valeur 0.00 définie dans Home Off. (Home Offset)
après tout tu as peut être raison je n'usine jamais à partir de ce point mais vu que je suis perfectionniste je voulais que a machine se place au centre quand elle est au repos
Si tu garde le 0 machine dans un angle, tu peux parfaitement utiliser le G28 pour placer ta machine ou tu veux en fin de programme par exemple. Pour ça , renseigne la position de retour du G28 dans la fenêtre de réglage des limites (en bas) en coord machine.

home11-jpg.jpg

PS les valeurs du G28 sur cette image ne sont pas bonnes car elles doivent forcément être comprises entre soft min et soft max de chaque axe ; par exemple pour le X si je voulais le positionner au milieu, il faudrait entrer -207.5 dans le G28 pour X (-415/2)

ensuite, dans ton soft de FAO, tu peux modifier le post processeur pour qu'il sorte un G28 en fin de code ... la méthode dépendra du soft utilisé. Pour le cas ou tu utiliserais CamBam, la manip est ICI

Personnellement je préfère une position parking à la même position que les contacts home et surtout pas au milieu de la machine. Les raisons ? ... à chaque mise en service de la machine il faut référencer, donc aller jusqu'aux contacts, donc si tes axes sont au centre ça prends plus de temps que si ils sont juste à coté des contacts. Quand au fait de ramener la broche au centre, ça gène le passage pour placer ou enlever une plaque de matière qui fait toute la surface de la table ; je préfère avoir une surface de travail dégagée.

Accessoirement, sur des machines qui ont des guides suspendus, il vaut mieux mettre la charge le plus près du bout des guides pour éviter une flexion à long terme quand la machine ne sert pas ; le centre des guides c'est la ou ça fléchie le plus.

++
David
 
Dernière édition:
J
jmlwood
Apprenti
19 Juin 2010
61
  • Auteur de la discussion
  • #7
Bonjour,

Merci pour vos réponses, j'ai changé mon fusil d'épaule j'ai mis mes origines dans un coing de la table , là ou ça ne me gène pas pour brider une pièce par exemple.
En revanche j'ai posté un post auquel je n'ai pas eu de réponse (je ne sais pas si il il est visible), vous pourriez peut-être m'aider?

<LE POST>

Bonjour,

Je souhaite créer des scripts pour les boutons existants ci-dessous, mais je n'y connais rien.
J'avais trouver des scripts sur internet mais ils ne fonctionnent pas correctement (instables, jamais 2 fois les mêmes mouvements sur la CN)
Je penses que c'est due à l'interface que j'utilise. J'utilise une petite interface UC100 qui permet la commande via USB plutôt que LPT1 (mon PC ne possède pas de port LPT1)

Ci-dessous ce que je souhaite créer (voir schéma en dessous du texte):
Bouton 1 (Y+) existant
1- mise en place de mon outil en haut de mon brut
2- sélection du diamètre de l'outil
3- impulsion sur le bouton / déplacement de la CN en Y négatif jusqu'au contact du brut
4- Déplacement en Y+ d'une distance variable (renseignement variable dans le script)
5- Mise à jour automatique de la coordonnée Y à + "distance variable dans le script" - (diamètre outil /2) afin que le centre de l'outil soit à 0.00 sur l'arrête du brut

Bouton 2 (X+) existant
1- mise en place de mon outil à droite de mon brut
2- sélection du diamètre de l'outil
3- impulsion sur le bouton / déplacement de la CN en X négatif jusqu'au contact du brut
4- Déplacement en X+ d'une distance variable (renseignement variable dans le script)
5- Mise à jour automatique de la coordonnée X à + "distance variable dans le script" - (diamètre outil /2) afin que le centre de l'outil soit à 0.00 sur l'arrête du brut

Bouton 3 (CENTRE) existant (recherche de centre intérieur)
1- mise en place approximative de mon outil au milieu d'un tube par exemple
2- sélection du diamètre de l'outil
3- impulsion sur le bouton / déplacement de la CN en X et Y positif/négatif jusqu'au contact du brut
4- Déplacement de l'outil en X0.00 et Y0.00
5- Mise à jour automatique de la coordonnée X0,00 / Y0.00

Bouton 4 (Y-) existant
1- mise en place de mon outil en bas de mon brut
2- sélection du diamètre de l'outil
3- impulsion sur le bouton / déplacement de la CN en Y positif jusqu'au contact du brut
4- Déplacement en Y- d'une distance variable (renseignement variable dans le script)
5- Mise à jour automatique de la coordonnée Y à - "distance variable dans le script" +( diamètre outil /2) afin que le centre de l'outil soit à 0.00 sur l'arrête du brut

Bouton 5 (X-) existant
1- mise en place de mon outil à gauche de mon brut
2- sélection du diamètre de l'outil
3- impulsion sur le bouton / déplacement de la CN en X positif jusqu'au contact du brut
4- Déplacement en X- d'une distance variable (renseignement variable dans le script)
5- Mise à jour automatique de la coordonnée X à - "distance variable dans le script" +( diamètre outil /2) afin que le centre de l'outil soit à 0.00 sur l'arrête du brut

1576665471552-png-png.png





Pourriez vous m'apporter votre aide?
Merci
 
dh42
dh42
Compagnon
4 Sept 2009
5 837
Près de St Etienne (42)
Salut,

Algone l'ai fait ici, il pourra peut être te donner les macros de chaque bouton.


J'avais trouver des scripts sur internet mais ils ne fonctionnent pas correctement (instables, jamais 2 fois les mêmes mouvements sur la CN)
Je penses que c'est due à l'interface que j'utilise. J'utilise une petite interface UC100 qui permet la commande via USB plutôt que LPT1 (mon PC ne possède pas de port LPT1)
L'UC1100 a une bonne compatibilité avec Mach3, contrairement a d'autres cartes, je ne pense pas que ton problème vienne de la, par contre sur tes images, je vois que tu utilise la VF de Mach3 (because menus en français) et c'est donc certainement la V 03.043.066 ... qui est bien buguée au niveau de la gestion des scripts ; il te faudrait la remplacer par la version précédente (062) quitte à y remettre le screenset FR que tu a en ce moment. Il y a peu un forumeur à aussi eu ce problème avec un palpage inconstant ; parfois la fraise ne remontait pas en fin de palpage ; le changement de version à résolu le problème.

++
David
 
Dernière édition:
J
jmlwood
Apprenti
19 Juin 2010
61
  • Auteur de la discussion
  • #9
Merci David,
Je vais d'abord essayer le remplacement les "GetVar" par des "GETOEMDRO".
peut-être que cela suffira.
J'ai déjà eu un script de palpage de Z qui ne fonctionnait pas et après quelques recherches il suffisait de remplacer un "bout " de ligne (2000) par (802) il me semble et depuis aucun souci.

En tout cas merci pour l'info. Je vais tenter ma chance en fin d'après midi si je trouve le temps.

Sinon ci-dessous le lien youtube ou j'ai trouver les scripts que je trouve excellents (avec son wave à la fin de processus)

A plus
 
J
jmlwood
Apprenti
19 Juin 2010
61
  • Auteur de la discussion
  • #10
Voila ci dessous le script pour mon Z, il fonctionne a merveille
---------------------------------------------------------
VPALP = GETOEMDRO(1060)
HPALPEUR = GETOEMDRO(1040)
HSURFACE = GETOEMDRO(1050)
NOUVEAUZ = HPALPEUR+HSURFACE
HFIN = GETOEMDRO(1051)
IF HFIN < NOUVEAUZ THEN
MACHMSG("!!! HAUTEUR DE RETOUR PLUS BASSE QUE LE PALPEUR !!!", "! ALERTE !",0)
MACHMSG("MODIFICATION DE LA HAUTEUR DE RETOUR A 5MM AU DESSUS DU PALPEUR","CORRECTION Z RETOUR",0)
HFIN = NOUVEAUZ+5
SETOEMDRO(1051,HFIN)
END IF
CODE "G31 Z-200 F"& VPALP
WHILE ISMOVING()
Wend
SLEEP(250)
ZPALP = GETOEMDRO(802)
SLEEP(250)
CODE "G00 Z"& ZPALP
WHILE ISMOVING()
Wend
SETOEMDRO(802,NOUVEAUZ)
SLEEP(250)
CODE "G01 Z"& HFIN
WHILE ISMOVING()
WEND
------------------------------------------------------

En attendant j'ai pris la base de ce script pour mon x négatif (voir ci-dessous) et je fais le reste manuellement.
C'est a dire que je positionne mon axe a proximité de la pièce, j'appui sur le bouton et la machine se déplace jusqu'au contact.
Ensuite je rentre manuellement la coordonnée de X= - diamètre outil/2 (diamètre outil renseigné dans l'onglet "décalage")
Comment puis-je compléter ce script pour que ça fonctionne, je suis sure qu’il ne faut pas ajouter grand chose mais vu que je suis ne bille en script!
------------------------------------------------------
VPALP = GETOEMDRO(1060)
HPALPEUR = GETOEMDRO(1040)
HSURFACE = GETOEMDRO(1050)
NOUVEAUZ = HPALPEUR+HSURFACE
HFIN = GETOEMDRO(1051)
If HFIN < NOUVEAUX Then
MACHMSG("!!! HAUTEUR DE RETOUR PLUS BASSE QUE LE PALPEUR !!!", "! ALERTE !",0)
MACHMSG("MODIFICATION DE LA HAUTEUR DE RETOUR A 5MM AU DESSUS DU PALPEUR","CORRECTION Z RETOUR",0)
HFIN = NOUVEAUX+5
SETOEMDRO(1051,HFIN)
End If
CODE "G31 X200 F"& VPALP
While ISMOVING()
Wend
-------------------------------------------------------

Vous remarquerez que je n'ai fais que remplacer Z par X et que j'ai supprimé les dernières lignes car ces lignes faisaient que ma machine revenait au 0.00 "machine coord"
 
dh42
dh42
Compagnon
4 Sept 2009
5 837
Près de St Etienne (42)
Salut,
Je vais d'abord essayer le remplacement les "GetVar" par des "GETOEMDRO".
peut-être que cela suffira.
J'ai déjà eu un script de palpage de Z qui ne fonctionnait pas et après quelques recherches il suffisait de remplacer un "bout " de ligne (2000) par (802) il me semble et depuis aucun souci
Ce problème se pose avec les cartes Chinoises car elle ne gèrent pas les variables de Mach3 (le GetVar), mais l'UC100 les gère lui ; tu est sûr que c'est un vrai UC100 de chez CNC drive que tu a, ou c'est une copie Chinoise ?

ceci-dit, ça ne change rien au fait que la V 066 ne soit pas très fiable avec les scripts.

++
David
 
J
jmlwood
Apprenti
19 Juin 2010
61
  • Auteur de la discussion
  • #12
Salut David,

Je ne sais plus d'ou provient mon UC100. Tout ce que je sais c'est que j'ai eu à faire à un certain Christophe Carpentier et qu'elle m'a couter environ 50€ (nue / sans boitier).
Ma carte est effectivement une carte chinoise TB6560 4X
1578646502088.png
 
dh42
dh42
Compagnon
4 Sept 2009
5 837
Près de St Etienne (42)
Salut,
Je ne sais plus d'ou provient mon UC100. Tout ce que je sais c'est que j'ai eu à faire à un certain Christophe Carpentier et qu'elle m'a couter environ 50€ (nue / sans boitier).
Ok, donc c'est une copie, le vrai est plus cher (~ 100€ TTC + port)

En port // direct, même avec une carte Chinoise, il n'y a pas de problème de compatibilité, c'est uniquement avec les carte d'interpolations que ça peut se produire.

++
David
 
CNCSERV
CNCSERV
Compagnon
27 Déc 2007
5 968
FR-28360
Ok, donc c'est une copie, le vrai est plus cher (~ 100€ TTC + port)
A moins que ce soit le contraire, Christophe Carpentier à créer l'USB ressource et l'a vendu...peut-être à CNC Drive qui sait ?

 
dh42
dh42
Compagnon
4 Sept 2009
5 837
Près de St Etienne (42)
Salut,
A moins que ce soit le contraire, Christophe Carpentier à créer l'USB ressource et l'a vendu...peut-être à CNC Drive qui sait ?
Vas savoir ...

je ne sais pas si les images sont contractuelles, mais l'intérieur ne semble pas très ressemblant

la version Christophe Carpentier
dscf0005_40_40-jpg.jpg


l'UC100 V3 CNc drive.

UC100_Version_3_Top_Side.jpg


UC100_Version_3_Bottom_Side.jpg



Bon, je suis nul en électronique, donc je n'ai pas la moindre idée de ce que sont les circuits que l'on voit :oops: ..

++
David
 
Haut