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
IMG_20170925_184310.jpg
 
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...
 

Sujets similaires

manivelle-ebenisterie
Réponses
13
Affichages
485
Jipé11
J
B
Réponses
44
Affichages
2 332
gustavox
gustavox
R
Réponses
40
Affichages
1 859
chabercha
chabercha
fan de num
Réponses
1
Affichages
602
laurent12100
L
J
Réponses
3
Affichages
1 246
lolo
Z
Réponses
34
Affichages
2 476
ramses76
ramses76
V
Réponses
11
Affichages
835
slk
J
Réponses
7
Affichages
1 216
JLuc69
JLuc69
J
Réponses
13
Affichages
2 136
Jeannotv6
J
K
Réponses
27
Affichages
1 477
pierremertus
pierremertus
T
Réponses
4
Affichages
413
Ben_Lal
B

Sujets similaires

T
Réponses
9
Affichages
6 158
tiguen
T
manivelle-ebenisterie
Réponses
7
Affichages
225
manivelle-ebenisterie
manivelle-ebenisterie
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
Retour
Haut