Script pour faire les origine machine
3 participants
Page 1 sur 1
Script pour faire les origine machine
Bonjour à tous,
J'ai étudié le script qui est exécuté par le bouton "ref all home" de base présent sur mon écran principal de mach3 (écran de base) et ne le comprends pas...
Il est composé d'appel à la fonction DoButton (22, 23, 24 et 25) et à DoOEMButton (133, 134 et 135) mais je ne comprends pas (et j'aime bien comprendre :p) à quoi correspondent ces chiffres (j'ai lu par ci par là que ca correspondait aux axes X, Y, Z et A, mais pourquoi...?!)
Le script pour le palpeur n'est pas du tout le même, est-ce qu'il y a des fonctions qui ont été prévues pour les axes mais pas pour le palpeur, raison pour laquelle il faut faire un script entièrement (que je comprend ) ?
La finalité du truc, c'est que je souhaiterais que chaque axe aille jusqu'au switch a vitesse normale, puis qu'elle recommence a vitesse très faible, pour être au plus près de la limite du contact et avoir tout le temps une bonne référence (parce que actuellement, j'ai des dérive entre deux référencement qui peuvent aller jusqu'à + d'un millimètre :/)
Merci
J'ai étudié le script qui est exécuté par le bouton "ref all home" de base présent sur mon écran principal de mach3 (écran de base) et ne le comprends pas...
Il est composé d'appel à la fonction DoButton (22, 23, 24 et 25) et à DoOEMButton (133, 134 et 135) mais je ne comprends pas (et j'aime bien comprendre :p) à quoi correspondent ces chiffres (j'ai lu par ci par là que ca correspondait aux axes X, Y, Z et A, mais pourquoi...?!)
Le script pour le palpeur n'est pas du tout le même, est-ce qu'il y a des fonctions qui ont été prévues pour les axes mais pas pour le palpeur, raison pour laquelle il faut faire un script entièrement (que je comprend ) ?
La finalité du truc, c'est que je souhaiterais que chaque axe aille jusqu'au switch a vitesse normale, puis qu'elle recommence a vitesse très faible, pour être au plus près de la limite du contact et avoir tout le temps une bonne référence (parce que actuellement, j'ai des dérive entre deux référencement qui peuvent aller jusqu'à + d'un millimètre :/)
Merci
Littledodger- petit nouveau
- Messages : 8
Points : 10
Date d'inscription : 22/05/2023
Age : 35
Localisation : Nantes
Re: Script pour faire les origine machine
salut
je vais essayer de te repondre si je me trompe david rectifira
DoOEMButton
Cette fonction permet à une macro d'exécuter n'importe quelle fonction de bouton à l'écran qui a un
code de bouton OEM attribué. En l'occurrence 133=X, 134=Y et 135=Z
pour le DoButton
Cette fonction héritée permet à une macro d'exécuter une fonction de bouton à l'écran qui a
un code de bouton attribué.
il conseille d'utilisez la fonction DoOEMButton au lieu de DoButton
pour ton referencement, (special) une fois que tu à fait le 1er "ref all"
il faut deferencer tous les axes avec le code OEM 240 et refaire un référencement à vitesse reduite
cela implique de recoder la commande "ref All"
voila les grandes lignes, l'idée de 2 ref peux être sympa
++
gilles
je vais essayer de te repondre si je me trompe david rectifira
DoOEMButton
Cette fonction permet à une macro d'exécuter n'importe quelle fonction de bouton à l'écran qui a un
code de bouton OEM attribué. En l'occurrence 133=X, 134=Y et 135=Z
pour le DoButton
Cette fonction héritée permet à une macro d'exécuter une fonction de bouton à l'écran qui a
un code de bouton attribué.
il conseille d'utilisez la fonction DoOEMButton au lieu de DoButton
pour ton referencement, (special) une fois que tu à fait le 1er "ref all"
il faut deferencer tous les axes avec le code OEM 240 et refaire un référencement à vitesse reduite
cela implique de recoder la commande "ref All"
voila les grandes lignes, l'idée de 2 ref peux être sympa
++
gilles
gilles974- acharné du forum
- Messages : 446
Points : 669
Date d'inscription : 31/10/2011
Age : 65
Localisation : La Réunion
Re: Script pour faire les origine machine
Bonjour et merci
Idem pour 22, 23, 24 et 25. J'ai bien un "contrôle" qui porte le code OEM 23 mais il correspond à une LED avec la fonction Software limits...
Est-ce qu'il existe des G-Codes comme le G31 pour le palpeur ? Ca permettrait de faire un script complet, à moins que la commande "ref all" corresponde à un script éditable ?
Je ne trouve pas de bouton avec ce code OEM dans la liste en vue globale :/ Est-ce que ces boutons peuvent ne pas apparaître ?DoOEMButton
Cette fonction permet à une macro d'exécuter n'importe quelle fonction de bouton à l'écran qui a un
code de bouton OEM attribué. En l'occurrence 133=X, 134=Y et 135=Z
Idem pour 22, 23, 24 et 25. J'ai bien un "contrôle" qui porte le code OEM 23 mais il correspond à une LED avec la fonction Software limits...
Est-ce qu'il existe des G-Codes comme le G31 pour le palpeur ? Ca permettrait de faire un script complet, à moins que la commande "ref all" corresponde à un script éditable ?
Littledodger- petit nouveau
- Messages : 8
Points : 10
Date d'inscription : 22/05/2023
Age : 35
Localisation : Nantes
Re: Script pour faire les origine machine
slt
le code OEM 240 est sur la page MDI à gauche sur le bouton "De-Ref All Axes"
telecharge la doc des codes
macro prog reference
DoOEMButton(1024) = ref Z
DoOEMButton(1023) = ref Y
DoOEMButton(1022) = ref X
apres une petite reche, il faut utilise la fonction "setParam" et "XRefPer"
et je pense qu'il n'y a pas besoin d'utiliser le code OEM 240
une 1er approche à la volée
++
le code OEM 240 est sur la page MDI à gauche sur le bouton "De-Ref All Axes"
telecharge la doc des codes
macro prog reference
DoOEMButton(1024) = ref Z
DoOEMButton(1023) = ref Y
DoOEMButton(1022) = ref X
apres une petite reche, il faut utilise la fonction "setParam" et "XRefPer"
et je pense qu'il n'y a pas besoin d'utiliser le code OEM 240
une 1er approche à la volée
- Code:
SetParam ("XRefPer", 40)
DoOEMButton (1022) 'home à 40%
While IsMoving()
Wend
Code "G53 X-2" 'déplacer l'interrupteur de 2mm
While IsMoving()
Wend
....
++
gilles974- acharné du forum
- Messages : 446
Points : 669
Date d'inscription : 31/10/2011
Age : 65
Localisation : La Réunion
Re: Script pour faire les origine machine
Salut,
Pour identifier les codes OEM et Standard des objets, va dans MachScreen.
- Dans la fenêtre "Propriétés MachScreen", clique sur le bouton "Functions Code"
ça va t'ouvrir une autre fenêtre.
A partir de la, Sélectionne le type d'objet dans la liste (par exemple Visu), coche ou décoche OEM et Standard suivant le type de code que tu veux et clique sur refresh si besoin. Tu peux classer les colonnes en cliquant sur la tête de colonne.
- code OEM / standard, il faut utiliser les code OEM de préférence (avec les fonctions OEM bien sur), comme DoOEMButton() par exemple. DoButton() utilise les codes standard, c'est juste pour la compatibilité avec de (très) vielles version de Mach3 ; pour un script "neuf", il vaut mieux utiliser les code OEM avec les fonctions OEM.
Concernant le référencement, il y a 2 méthodes ; la première c'est de simuler un clic sur chaque bouton RefX, RefY, RefZ (ceux qui sont normalement sur la page 5 de MachScreen, soit "Diagnostics")
C'est le DoButton (22, 23, 24) de ton script. en code OEM, ce serait DoOEMButton(1022,1023,1024) .... il suffit de rajouter 1000 au code standard pour avoir le code OEM
La deuxième méthode, c'est d'utiliser non pas une simu d'un appui sur le bouton, mais d'utiliser directement la fonction Basic RefCombination()
par contre, attention, si tu met plusieurs RefCombination() à la suite, Mach3 va lancer le premier, mais il n'attendra pas que la machine ai fini de bouger pour lancer le suivant, et ça sèmera une belle pagaille
Il faut donc impérativement ajouter un bout de code qui attendra que la machine ai fini de bouger avant de lancer le RefCombination() suivant.
Ça se fait avec une boucle While/Wend qui utilise la fonction IsMoving() pour savoir si les axes sont toujours en mouvement.
RefCombination(1) 'lancer référencement axe X
While IsMoving() 'boucle d'attente ; le sleep(100) n'est pas indispensable mais il évite que le CPU exécute la boucle à sa vitesse maxi (du CPU) pendant tout le trajet des axes (il limite à un test toutes les 100 millisecondes)
sleep(100)
Wend
RefCombination(2) 'lancer référencement axe Y
While IsMoving()
sleep(100)
Wend
RefCombination(4) 'lancer référencement axe Z
While IsMoving()
sleep(100)
Wend
On pourrait lancer le référencement simultané de XYZ en combinant 1+2+4, soit un RefCombination(7) ... mais pour que ça fonctionne il est indispansable que chaque contact de référencement utilise une entrée différente de la carte. Si les contacts sont en série ou en // sur une seule entrée, il faut référencer axe par axe.
Les boutons OEM 133,134 et 135, c'est la Ràz des encodeurs, sans intérêt à moins que tu n'ai des règles optiques qui renvoient une info à Mach3
++
David
Pour identifier les codes OEM et Standard des objets, va dans MachScreen.
- Dans la fenêtre "Propriétés MachScreen", clique sur le bouton "Functions Code"
ça va t'ouvrir une autre fenêtre.
A partir de la, Sélectionne le type d'objet dans la liste (par exemple Visu), coche ou décoche OEM et Standard suivant le type de code que tu veux et clique sur refresh si besoin. Tu peux classer les colonnes en cliquant sur la tête de colonne.
- code OEM / standard, il faut utiliser les code OEM de préférence (avec les fonctions OEM bien sur), comme DoOEMButton() par exemple. DoButton() utilise les codes standard, c'est juste pour la compatibilité avec de (très) vielles version de Mach3 ; pour un script "neuf", il vaut mieux utiliser les code OEM avec les fonctions OEM.
Concernant le référencement, il y a 2 méthodes ; la première c'est de simuler un clic sur chaque bouton RefX, RefY, RefZ (ceux qui sont normalement sur la page 5 de MachScreen, soit "Diagnostics")
C'est le DoButton (22, 23, 24) de ton script. en code OEM, ce serait DoOEMButton(1022,1023,1024) .... il suffit de rajouter 1000 au code standard pour avoir le code OEM
La deuxième méthode, c'est d'utiliser non pas une simu d'un appui sur le bouton, mais d'utiliser directement la fonction Basic RefCombination()
RefCombination
Sub RefCombination(Axes As Integer)
This function allows any combination of axes to be simultaneously referenced (homed).
Which axes will be referenced is determined by the Axes argument, which is a bitmapped
variable, with the bits mapped as defined below.
Arguments:
Axes is a bit-mapped value the defines which axes are to be referenced. The
value of Axes can be calculated by adding the values corresponding to the
individual axes to be referenced. The axis values are:
X = 1
Y = 2
Z = 4
A = 8
B = 16
C = 32
So, for example, to reference the X, Z and B axes, Axes = 1 + 4 + 16 = 21.
Return Value:
None
Example:
‘ Define some constants
RefX = 1
RefY = 2
RefZ = 4
RefZ = 8
RefB = 16
RefC = 32
‘ Reference Y, Z and C axes
RefCombination(RefY + RefZ + RefC)
See also:
VerifyAxis(), SingleVerify(), SingleVerifyReport()
par contre, attention, si tu met plusieurs RefCombination() à la suite, Mach3 va lancer le premier, mais il n'attendra pas que la machine ai fini de bouger pour lancer le suivant, et ça sèmera une belle pagaille
Il faut donc impérativement ajouter un bout de code qui attendra que la machine ai fini de bouger avant de lancer le RefCombination() suivant.
Ça se fait avec une boucle While/Wend qui utilise la fonction IsMoving() pour savoir si les axes sont toujours en mouvement.
RefCombination(1) 'lancer référencement axe X
While IsMoving() 'boucle d'attente ; le sleep(100) n'est pas indispensable mais il évite que le CPU exécute la boucle à sa vitesse maxi (du CPU) pendant tout le trajet des axes (il limite à un test toutes les 100 millisecondes)
sleep(100)
Wend
RefCombination(2) 'lancer référencement axe Y
While IsMoving()
sleep(100)
Wend
RefCombination(4) 'lancer référencement axe Z
While IsMoving()
sleep(100)
Wend
On pourrait lancer le référencement simultané de XYZ en combinant 1+2+4, soit un RefCombination(7) ... mais pour que ça fonctionne il est indispansable que chaque contact de référencement utilise une entrée différente de la carte. Si les contacts sont en série ou en // sur une seule entrée, il faut référencer axe par axe.
DoOEMButton (133, 134 et 135) mais je ne comprends pas
Les boutons OEM 133,134 et 135, c'est la Ràz des encodeurs, sans intérêt à moins que tu n'ai des règles optiques qui renvoient une info à Mach3
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Script pour faire les origine machine
Merci pour toutes ces précisions, j'ai tout pigé
Juste une question supplémentaire :
Est-ce qu'il est possible de modifier la vitesse de déplacement avec la fonction RefCombination() ?
Juste une question supplémentaire :
Est-ce qu'il est possible de modifier la vitesse de déplacement avec la fonction RefCombination() ?
Littledodger- petit nouveau
- Messages : 8
Points : 10
Date d'inscription : 22/05/2023
Age : 35
Localisation : Nantes
Re: Script pour faire les origine machine
non, pas à ma connaissance. (et je n'ai pas trouvé de solution pour accéder aux valeurs de vitesses données dans le panneau "soft limits", à part pour les limites elles-mêmes.
++
David
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Script pour faire les origine machine
bonjour David
moi qui cherche depuis un paquet de temps pourquoi RefCombination(7) ne marche pas
merci pour l'info
++
gilles
On pourrait lancer le référencement simultané de XYZ en combinant 1+2+4, soit un RefCombination(7) ... mais pour que ça fonctionne il est indispansable que chaque contact de référencement utilise une entrée différente de la carte. Si les contacts sont en série ou en // sur une seule entrée, il faut référencer axe par axe.
moi qui cherche depuis un paquet de temps pourquoi RefCombination(7) ne marche pas
merci pour l'info
++
gilles
gilles974- acharné du forum
- Messages : 446
Points : 669
Date d'inscription : 31/10/2011
Age : 65
Localisation : La Réunion
Re: Script pour faire les origine machine
David a écrit:non, pas à ma connaissance.
Arf..., du coup, il n'y a pas la possibilité de faire un double référencement (le second plus lent que le premier) ?
Littledodger- petit nouveau
- Messages : 8
Points : 10
Date d'inscription : 22/05/2023
Age : 35
Localisation : Nantes
Re: Script pour faire les origine machine
Un double référencement oui, mais pas à des vitesses différentes. (en tout cas, si c'est possible, je ne sais pas comment faire)
++
David
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Script pour faire les origine machine
Re...
Je retire ce que j'ai dit ; la V de référencement est accessible via la fonction SetParam() ; elle permet de changer la valeur "Speed %"
SetParam
Sub SetParam(ParamName As String, ParamVal As Double)
This function allows a number of Mach3 internal parameters (not to be confused with Gcode
parameters) to be set. Each Mach3 parameter is identified by name. The parameter
whose name is given by ParamName is set to the value given by ParamVal
ex:
SetParam ("ZRefPer", 20) mettra à 20% la vitesse de référencement du Z.
Pour X et Y, bien sur c'est "XRefPer" et "YRefPer".
voir la fonction SetParam de la doc "Macro_prog_ref" pour la liste des autres paramètres accessibles.
bien sur, il y a aussi une fonction GetParam() pour lire le paramètre au lieu de le modifier
++
David
Je retire ce que j'ai dit ; la V de référencement est accessible via la fonction SetParam() ; elle permet de changer la valeur "Speed %"
SetParam
Sub SetParam(ParamName As String, ParamVal As Double)
This function allows a number of Mach3 internal parameters (not to be confused with Gcode
parameters) to be set. Each Mach3 parameter is identified by name. The parameter
whose name is given by ParamName is set to the value given by ParamVal
ex:
SetParam ("ZRefPer", 20) mettra à 20% la vitesse de référencement du Z.
Pour X et Y, bien sur c'est "XRefPer" et "YRefPer".
voir la fonction SetParam de la doc "Macro_prog_ref" pour la liste des autres paramètres accessibles.
bien sur, il y a aussi une fonction GetParam() pour lire le paramètre au lieu de le modifier
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Script pour faire les origine machine
Ah bonne nouvelle ça !
Du coup, j'ai fait un test avec quelques lignes mais rien ne bouge... ca set juste l'axe X à -2.55 :/
Voilà le code que j'ai fait :
A chaque fois que j'exécute le script je n'ai pas le même message ! un coup sur deux, j'ai l'un ou l'autre.
Et si c'est "ref OK" que je reçoit, je suis obligé de faire un reset pour pouvoir faire autre chose, sinon, tout est bloqué, je pense donc que le script reste bloqué dans le while alors que aucune axe n'est en déplacement...
Quelqu'un aurait une idée ?
Du coup, j'ai fait un test avec quelques lignes mais rien ne bouge... ca set juste l'axe X à -2.55 :/
Voilà le code que j'ai fait :
- Code:
'Appel de la fonction de référencement des axes à vitesse max
If GetParam ("XRefPer") < 50 Then
SetParam ("XRefPer", 100)
End If
If GetParam ("YRefPer") < 50 Then
SetParam ("YRefPer", 100)
End If
If GetParam ("ZRefPer") < 50 Then
SetParam ("ZRefPer", 100)
End If
RefCombination(1)
message ("ref ok")
'Boucle d'attente de 100ms durant le mouvement de la machine
While IsMoving()
Sleep 100
Wend
message ("Fin")
A chaque fois que j'exécute le script je n'ai pas le même message ! un coup sur deux, j'ai l'un ou l'autre.
Et si c'est "ref OK" que je reçoit, je suis obligé de faire un reset pour pouvoir faire autre chose, sinon, tout est bloqué, je pense donc que le script reste bloqué dans le while alors que aucune axe n'est en déplacement...
Quelqu'un aurait une idée ?
Littledodger- petit nouveau
- Messages : 8
Points : 10
Date d'inscription : 22/05/2023
Age : 35
Localisation : Nantes
Re: Script pour faire les origine machine
Je viens d'essayer avec le même script mais avec 2 refcombination à la suite, pour X et Y avec une boucle d'attente après chacun.
Ça fonctionne normalement pour ce qui est du mouvement des axes et de la boucle d'attente, par contre les messages sont effectivement à l'ouest et ne semblent pas tenir compte du While IsMoving()
++
David
Ça fonctionne normalement pour ce qui est du mouvement des axes et de la boucle d'attente, par contre les messages sont effectivement à l'ouest et ne semblent pas tenir compte du While IsMoving()
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Script pour faire les origine machine
Bizarre que ça ne fonctionne pas pour moi, aucun axe ne bouge :/
Est-ce qu'il pourrait y avoir une configuration qui ne correspondrait pas au niveau du contrôleur ?
Est-ce qu'il pourrait y avoir une configuration qui ne correspondrait pas au niveau du contrôleur ?
Littledodger- petit nouveau
- Messages : 8
Points : 10
Date d'inscription : 22/05/2023
Age : 35
Localisation : Nantes
Re: Script pour faire les origine machine
de ce que j'ai vu en faisant des essais (avec émulation par une touche pour les contacts de ref), ça ne fonctionne que si tes contact Xhome, Yhome, etc sont activés dans le ports&pins, sinon il ne se passe rien.
edit:
C'est quoi comme carte d'axe ?
++
David
edit:
Est-ce qu'il pourrait y avoir une configuration qui ne correspondrait pas au niveau du contrôleur ?
C'est quoi comme carte d'axe ?
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Script pour faire les origine machine
Bonjour,
Je ne vais pas avoir la référence de la carte en tête, mais c'est un contrôleur raccordé en RJ45.
J'ai réussi à faire bouger les axes (le problème venait bien de la config de ports&pins...). En fait, étant donné que la fraiseuse est en réseau, je n'ai pas utilisé le PC de la fraiseuse pour faire le script (et je n'avais pas la bonne configuration ).
Bon du coup, j'ai fait un code qui me parait cohérent, par contre, la fraiseuse fait un peu n'importe quoi ! Je m'explique :
Elle fera toujours les 3 axes dans le bon ordre et le bon nombre de fois, par contre, au niveau des vitesses, c'est complètement aléatoire... Parfois elle fera les bonnes vitesses (80% pour les 3 axes la première fois, puis 10%), parfois, elle fera l'axe Z à 10% puis X et Y à 80% les deux fois fois, parfois tous les axes à 10% les deux fois...
Je ne comprend pas trop pourquoi elle se comporte comme ca !
J'ai l'impression que à partir du moment où elle me renvoie un "HomeSwitch Triggered." dans les messages, elle fera n'importe quoi ensuite...
(d'ailleurs, je ne sais pas si c'est normal m'ai j'ai toujours 3 fois chaque message dans l'historique...)
Je sèche !
Je ne vais pas avoir la référence de la carte en tête, mais c'est un contrôleur raccordé en RJ45.
J'ai réussi à faire bouger les axes (le problème venait bien de la config de ports&pins...). En fait, étant donné que la fraiseuse est en réseau, je n'ai pas utilisé le PC de la fraiseuse pour faire le script (et je n'avais pas la bonne configuration ).
Bon du coup, j'ai fait un code qui me parait cohérent, par contre, la fraiseuse fait un peu n'importe quoi ! Je m'explique :
Elle fera toujours les 3 axes dans le bon ordre et le bon nombre de fois, par contre, au niveau des vitesses, c'est complètement aléatoire... Parfois elle fera les bonnes vitesses (80% pour les 3 axes la première fois, puis 10%), parfois, elle fera l'axe Z à 10% puis X et Y à 80% les deux fois fois, parfois tous les axes à 10% les deux fois...
Je ne comprend pas trop pourquoi elle se comporte comme ca !
J'ai l'impression que à partir du moment où elle me renvoie un "HomeSwitch Triggered." dans les messages, elle fera n'importe quoi ensuite...
(d'ailleurs, je ne sais pas si c'est normal m'ai j'ai toujours 3 fois chaque message dans l'historique...)
Je sèche !
Littledodger- petit nouveau
- Messages : 8
Points : 10
Date d'inscription : 22/05/2023
Age : 35
Localisation : Nantes
Re: Script pour faire les origine machine
Salut,
Tu peux tenter de mettre un sleep(100) (ou plus) après le SetParam() pour laisser le temps à Mach3 d'actualiser les valeurs.
++
David
Tu peux tenter de mettre un sleep(100) (ou plus) après le SetParam() pour laisser le temps à Mach3 d'actualiser les valeurs.
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Script pour faire les origine machine
Je me suis rendu compte hier soir avant de m'endormir que je n'avais pas mit le code dans le message !
Ce qui est bizarre, c'est que j'ai ajouté un msgbox juste avant la commande RefCombination de l'axe Z pour m'afficher le getparam de la vitesse de ce même axe, il me retourne 80 mais fait quand même le déplacement à 10%...
Je pense que ça va tourner comme ça...
Merci en tout cas !
- Code:
'Assignation des valeurs de référencement des axes dans des variables
RefX = 1
RefY = 2
RefZ = 4
Speed1 = 10
Speed2 = 80
'Appel de la fonction de référencement des axes simultanément en aditionnant le code de chaque axe et à vitesse max
If (GetParam("XRefPer") < 50) Then
SetParam ("XRefPer", Speed2)
End If
If (GetParam("YRefPer") < 50) Then
SetParam ("YRefPer", Speed2)
End If
If (GetParam("ZRefPer") < 50) Then
SetParam ("ZRefPer", Speed2)
End If
Sleep(200)
'Référencement de l'axe Z en premier
RefCombination(RefZ)
While IsMoving()
Sleep(100)
Wend
'Référencement de l'axe X
RefCombination(RefX)
While IsMoving()
Sleep(100)
Wend
'Référencement de l'axe Y
RefCombination(RefY)
While IsMoving()
Sleep(100)
Wend
'Passage de la vitesse à Speed1 (%) pour un nouveau référencement axe par axe
SetParam("ZRefPer", Speed1)
Sleep(200)
RefCombination(RefZ)
While IsMoving()
Sleep(100)
Wend
SetParam("XRefPer", Speed1)
Sleep(200)
RefCombination(RefX)
While IsMoving()
Sleep(100)
Wend
SetParam("YRefPer", Speed1)
Sleep(200)
RefCombination(RefY)
While IsMoving()
Sleep(100)
Wend
'On repasse la vitesse de référencement à Speed2 (%)
SetParam("XRefPer", Speed2)
SetParam("YRefPer", Speed2)
SetParam("ZRefPer", Speed2)
Ce qui est bizarre, c'est que j'ai ajouté un msgbox juste avant la commande RefCombination de l'axe Z pour m'afficher le getparam de la vitesse de ce même axe, il me retourne 80 mais fait quand même le déplacement à 10%...
Je pense que ça va tourner comme ça...
Merci en tout cas !
Littledodger- petit nouveau
- Messages : 8
Points : 10
Date d'inscription : 22/05/2023
Age : 35
Localisation : Nantes
Re: Script pour faire les origine machine
tu as tenté de remplacer les Refcombination() par des DoButtons() pour voir si c'est mieux ?
tu peux aussi référencer via une commande GCode ; sur Mach3 c'est le G28.1
par exemple, un G28.1 X0 référencera l'axe x.
pour utiliser un GCode depuis un script Basic, il faut utiliser l'instruction Code""
par exemple:
Code "G28.1 X0"
Attention, le résultat peut varier en fonction de la carte d'axe, car au final c'est elle qui gère le référencement ; de ce que j'ai vu sur CNc Zone, le G28.1 ne fonctionne pas très bien sur les XHC par exemple.
++
David
tu peux aussi référencer via une commande GCode ; sur Mach3 c'est le G28.1
par exemple, un G28.1 X0 référencera l'axe x.
pour utiliser un GCode depuis un script Basic, il faut utiliser l'instruction Code""
par exemple:
Code "G28.1 X0"
Attention, le résultat peut varier en fonction de la carte d'axe, car au final c'est elle qui gère le référencement ; de ce que j'ai vu sur CNc Zone, le G28.1 ne fonctionne pas très bien sur les XHC par exemple.
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Sujets similaires
» origine machine du 4 emes axe
» decalage d origine machine
» une machine à faire des tuyaux de descente pluviale
» Origine fers pour R/D
» recherche script de palpage pour MACH3
» decalage d origine machine
» une machine à faire des tuyaux de descente pluviale
» Origine fers pour R/D
» recherche script de palpage pour MACH3
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum