Advertisements

macro rotation tourelle

adriboss
adriboss
Ouvrier
22 Octobre 2012
429
EST
  • Auteur de la discussion
  • #1
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
 
Advertisements
adriboss
adriboss
Ouvrier
22 Octobre 2012
429
EST
  • Auteur de la discussion
  • #2
personne ?

quel code faut il envoyer pour incrementer un compteur?
 
dh42
dh42
Compagnon
4 Septembre 2009
5 315
Près de St Etienne (42)
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
 
adriboss
adriboss
Ouvrier
22 Octobre 2012
429
EST
  • Auteur de la discussion
  • #4
OK je fais regarder tout ça. Merci en tout cas
 
S
savantfou
Nouveau
26 Mai 2017
24
Bonjour Adriboss
j'ai la meme machine que toi as tu resolut ton probleme ?
 
adriboss
adriboss
Ouvrier
22 Octobre 2012
429
EST
  • Auteur de la discussion
  • #6
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...
 
S
savantfou
Nouveau
26 Mai 2017
24
Salut
excuse moi mais
je n'ai pas compris ta réponse
a bientot
 
La dernière réponse à ce sujet date de plus de 6 mois
Advertisements
Haut