macro rotation tourelle

  • Auteur de la discussion Auteur de la discussion adriboss
  • Date de début Date de début

adriboss

Ouvrier
bonjour

pour le retrofit de mon tour je calle sur la macro pour la tourelle.

la tourelle est pilotée par un moteur 24v dc et il y a 2 switch, 1 pour la ref et l'autre s'active a chaque passage d'outil (comptage) et ensuite petit retour dans l'autre sens pour bien calé la tourelle contre la butée mecanique.

comment peut on faire dans mach3?

il faudrait que la tourelle tourne pour prendre sa ref et ensuite elle tourne pour choisir l'outil voulu.

si outil 2 par exemple il faudrait que le switch de comptage se declenche 2 fois

j'arrive a faire la ref et a faire une indexation mais des que le switch de comtage est activé je ne peut plus rien faire.
il faudrait que le switch s'active, incremente un compteur ,se desactive et rotation tourelle pour une indexation de plus et rebelotte.

du genre


active signal outpout 1 'rotation tourelle pour ref
jusque input 1 actif 'ref tourelle

outil voulu =2 par expemple

active outpout 1 rotation tourelle
jusque signal input 1
increment comteur de +1

ect


quelqu'un aurait une idee
 
personne ?

quel code faut il envoyer pour incrementer un compteur?
 
Salut,

Je suppose que tu peux utiliser une variable interne de Mach3 comme compteur et utiliser SetVar et GetVar pour lire écrire ta variable.

Sub SetVar(VarNum As Integer, Val As Double)

ex, supposons que tu utilise une variable n° 1200

SetVar(1200,0) mettra 0 dans ta variable.

GetVar(1200) retournera la valeur de la variable 1200

SetVar(1200, GetVar(1200) + 1)

Ajoutera 1 à la valeur de var 1200

Comme il y a un nb fini d'outil, tu peux utiliser l'opérateur modulo ; par exemple modulo 4 autorisera les valeurs de 0 à 3, et si tu ajoute encore 1, au lieu d'avoir 4, tu retourne à 0, ce qui évite de faire un test sur la valeur maxi et une remise à zéro pour retomber sur le bon n° d'outil.

ex:

setvar(1200, getvar(1200) +1) 'ajoute 1 à la valeur de la var 1200 puis met le résultat dans var 1200

setvar(1200, getvar(1200) Mod 4) ' effectue un modulo 4 et retourne la valeur dans var 1200 ; si elle était inférieur à 4, pas de changement, sinon le modulo est appliqué.

bien sûr, tu peux écrire ça en une seule ligne.

setvar(1200, (getvar(1200) +1) Mod 4)

++
David
 
Bonjour Adriboss
j'ai la meme machine que toi as tu resolut ton probleme ?
 
Salut. Du coup j'ai prévu une rotation tourelle avec un moteur pas à pas au lieu du moteur DC. C'est bien plus simple à gérer.
La macro se résume à
G1 A... F...
 
Salut
excuse moi mais
je n'ai pas compris ta réponse
a bientot
 

Sujets similaires

Réponses
13
Affichages
485
Jipé11
J
B
Réponses
44
Affichages
2 332
gustavox
R
Réponses
40
Affichages
1 859
chabercha
Réponses
1
Affichages
602
laurent12100
L
J
Réponses
3
Affichages
1 246
Z
Réponses
34
Affichages
2 480
ramses76
V
Réponses
11
Affichages
835
J
Réponses
7
Affichages
1 216
JLuc69
J
Réponses
13
Affichages
2 136
Jeannotv6
J
K
Réponses
27
Affichages
1 477
pierremertus
T
Réponses
4
Affichages
419
Ben_Lal
B

Sujets similaires

T
Réponses
9
Affichages
6 158
tiguen
T
Réponses
7
Affichages
225
manivelle-ebenisterie
Réponses
13
Affichages
485
Jipé11
J
V
Réponses
0
Affichages
203
VEYRAC
V
V
Réponses
11
Affichages
380
varynx68
V