récupérer les valeurs des axes

totoche974
Ouvrier
14 Mars 2015
348
st gilles les hauts
  • Auteur de la discussion
  • #1
bonjour

question bête

y a t'il un moyen de récupérer les valeurs des axes xyza et de les envoyer sur un afficheur lcd extérieur ?????

++
GC
 
eric356
Apprenti
16 Décembre 2010
227
belgique
Sur certaines manivelles on retrouve la valeur des positionnements , donc je suppose qu'il doit être possible d'aller récupérer ces valeurs sur un lcd par contre comment fait-on ? thats the question ...
 
TryAgain
Nouveau
3 Mars 2019
31
Ajouter un encodeur sur l'axe et une carte Arduino ou autre pour affichage.
Étalonner pour convertir les impulsions en unité.
(Voir Encodeur, roue encodeuse etc dans les pièces pour robots. De 5€ à ~ selon les performances)
Il faudra bien-sur enregistrer les mouvements depuis le zéro.
(je n'ai jamais testé, mais c'est utilisé sur les petits robots roulants)
 
totoche974
Ouvrier
14 Mars 2015
348
st gilles les hauts
  • Auteur de la discussion
  • #5
merci tryagain
ben c'est pas gagner le z'affer :lol:
de toute façon c'est battue, j'ai pas la place pour des encoders

++
GC
 
CNCSERV
Compagnon
27 Décembre 2007
5 017
FR-28360
Bonjour,
Plus simple que modbus, ça ne va pas être facile.
Il y a bien une émulation de télécommande hb04 mais c'est sur stm32.
Si sur Mach on peut faire un script sur un timer, on peut envoyer les positions sur un port série.
 
dh42
Compagnon
4 Septembre 2009
5 269
Près de St Etienne (42)
Salut,

J'ignore comment envoyer une valeur sur un afficheur extérieur, mais pour récupérer la valeur d'un afficheur (DRO), c'est l'a fonction VB GetOEMDRO(numéro de la dro)

exemple:

z = GetOEMDRO(802) retourne la valeur de la visu z (coord courantes de travail) dans la variable z
comme on s'en doute, la DRO X à la valeur 800, la Y 801 ....

Si sur Mach on peut faire un script sur un timer
Alors les timers intégrées de Mach3 ne fonctionnent qu'en port // (fonctions SetTimer() et GetTimer()), donc si besoin de faire ce genre de chose avec une carte d'interpolation USB ou Ethernet, il faudra utiliser les fonctions de gestion du temps standards du VB et non celles de Mach3.

Pour qu'un script soit exécuté constamment (tous les 10iemes de seconde si je me souviens bien), il faut que la macro ai le nom "macropump.m1s " et se trouve dans le dossier ayant le même nom que le profil machine utilisé (ce dossier est situé dans le dossier macros de Mach3)
Il faut également cocher la case "Run macro pump" dans la config générale, et redémarrer Mach3.

Un exemple (qui ne sert à rien :lol: )
dès que la valeur du Z est > à 10, le A est mis à 0

If GetOEMDRO(802) > 10 then 'si l'afficheur Z affiche une valeur > à 10
SetOEMDRO(803, 0) 'mettre la valeur 0 dans la DRO du A
End If


Il semble qu'il y ai un plugin qui permette d'envoyer les infos à un afficheur externe, mais le sujet date de 2011, pas sûr que l'afficheur qui va bien soit toujours commercialisé ..

++
David
 
Dernière édition:
totoche974
Ouvrier
14 Mars 2015
348
st gilles les hauts
  • Auteur de la discussion
  • #8
bonjour

effectivement il y à pas mal d'exemple pour le modus

pour le VB j'ai aucunes connaissances sur ce langages , mais si on peux récupérer les valeurs avec GetOEMDRO(xxx)
on peux les envoyer sur le port série ??

++
GC
 
Haut