récupérer les valeurs des axes

  • Auteur de la discussion totoche974
  • Date de début
totoche974
totoche974
Ouvrier
14 Mar 2015
376
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
eric356
Apprenti
16 Déc 2010
235
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 ...
 
totoche974
totoche974
Ouvrier
14 Mar 2015
376
st gilles les hauts
  • Auteur de la discussion
  • #3
bonjour eric356

c'est possible avec modus , mais c'est sport :smt017

++
GC
 
T
TryAgain
Apprenti
3 Mar 2019
52
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
totoche974
Ouvrier
14 Mar 2015
376
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
CNCSERV
Compagnon
27 Déc 2007
5 854
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
dh42
Compagnon
4 Sept 2009
5 780
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
totoche974
Ouvrier
14 Mar 2015
376
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