recherche code oembutton

  • Auteur de la discussion v tec
  • Date de début
V

v tec

Compagnon
bonjour, j ai eplucher la liste des codes, et je ne trouve pas le code pour activer ou desactiver le mode vitesse constante? ou parcours exact



je voudrais faire un bouton qui m ecite de passer par la fenetre de config general
 
D

dh42

Compagnon
Salut,

Si tu édite le bouton Vitesse constante de l'interface d'origine tu trouve.


La LED de code OEM 54 retourne l'état CV on ou off.

Le bouton existe aussi sous le code OEM 247 (toggle CV)

PS si tu utilise l'interface de Mach3FR, le bouton existe déjà mais il a migré sur l'écran Réglages ; tu peux simplement le copier/coller d'un écran à l'autre si tu veux le ramener sur l'écran principal.

++
David
 
V

v tec

Compagnon
salut merci le code marche


j avais deja essayer le toggle cv, ca marchait pas
 
V

v tec

Compagnon
est ce que quelqu'un aurait la traduction en vb script du code g31, ou g28?

car j aurais besoin d ecrire une variante, seulement je vois pas trop comment l ecrire


en fait le soucis du g28 ou g31, c est qu il met en mouvement axe, une fois l entrée activée, il fait marche arriere pour desactiver

et bien j aimerais la meme chose mais sans la marche arriere
 
D

dh42

Compagnon
Salut,

Je ne comprend pas trop ta question ; que veux tu faire exactement ? allez à une coord machine spécifique ?

Exemple pour allez à la coord X = 10 en coord machine, en Gcode c'est

G0 G53 X10

ce qui dans un prog en VB se traduira par

Code("G0 G53 X10")

si la valeur doit être calculée (le 10) alors si on suppose une variable 'v' qui contient la valeur on a:

Dim v as double

v = 10
' cette valeur de v serait normalement obtenue par calcul

Code("G0 G53 X" & v)

++
David
 
V

v tec

Compagnon
nein


ce que je veux, c est dire allez a une coordonnée, et pendant son mouvement, si une entrée est activé, il stop, et met la coordonnée de travail a 0, mais un g28.1 ou g31
 
V

valentin

Compagnon
bonjour

imaginons que ton arret est fait par un contact
input1

axe_x:=0
axe_y=1
axe_z=2
nouvelle_valeur=10
if activesignal(input1) then setdro(axe_x,nouvelle_valeur)


+++
 
V

valentin

Compagnon
bonjour
si premiere ligne
enleve les 2 points devant =

trop habitude programmer en Delphi

++
 
V

v tec

Compagnon
vi:

code"g00z50"
axe_z=0
axe_y=1
axe_x=2
nouvelle_valeur=10
If activesignal(input1)
Then setdro(axe_z,nouvelle_valeur)
end if





te prend pas la tete c est pas grave
 
V

v tec

Compagnon
pareil:

axe_z=0
axe_y=1
axe_x=2
nouvelle_valeur=10
If IsActive(input1)
Then setdro(axe_z,nouvelle_valeur)
End If
 
D

dh42

Compagnon
Oui, c'est normal ; je pense que tu devrais réviser la syntaxe du Visual Basic lui même ; le then n'est pas au bon endroit :wink:

axe_z=0
axe_y=1
axe_x=2
nouvelle_valeur=10
If IsActive(input1) Then
setdro(axe_z,nouvelle_valeur)
End If
 
V

v tec

Compagnon
le soucis c est que vb, j adore, mais je capte rien, j apprend doucement a comprendre pour mes utilisations



la, la macro marche, enfin du moins, elle ne dit plus error script


seulement, elle ne fais rien...



je met z en deplacement, j active input1,je lance la macro sur un bouton; rien ne se passe
 
D

dh42

Compagnon
seulement, elle ne fais rien...

Logique ; le test IsActive n'est effectué qu'une seule fois ; il faudrait qu'il se trouve dans une boucle.

je te met une code qui marche
je lance un déplacement en mode MDI, je clique sur le bouton auquel est accroché le script pour le lancer, puis je clique le micro sur l'entrée 1 (dans mon cas, en émulation clavier)

++
David

 
V

v tec

Compagnon
je viens de la tester ca marche parfaitement, merci


la je cherche a faire une fonction de comptage

en francais, on compte X fois l entrée 1, au bout de la x éme fois on active la sortie 1


si le compte dure plus de X seconde, on met en pause m1, et on active l alarme output2


j ai deja un code sur lequel je peux m appuyer que un pote m a fait

Private Sub CommandButton1_Click()
Dim bInputOk As Boolean
Dim bQuitLoop As Boolean
Dim totalTime As Integer

bQuitLoop = False
bInputOk = False
totalTime = 0

While bQuitLoop = False
bInputOk = IsActive(input1)
If bInputOk = True Then
bQuitLoop = True
End If
If totalTime > 2500 Then
bQuitLoop = True
End If
sleep(100)
totalTime = totalTime + 100
Wend

If bInputOk = False Then
message "BUG : input1 jamais actif"
ActivateSignal (output1)
code "m1"
Exit Sub
End If
DeActivateSignal (output1)
message "tout s est bien passé"
End Sub




c est juste que je trouve pas la fonction comptage en vb script
 
D

dh42

Compagnon
Salut,

Attention, il ne faut pas faire de code trop long si il doit s’exécuter pendant que les axes se déplacent, ça peut perturber le "timing" de Mach :wink:

Pour le comptage de temps:

fonctions SetTimer() et GetTimer()

Mach a 25 compteurs de temps différents (0 à 24)

SetTimer(5) met le compteur 5 à 0 (et il continu de compter bien sur)

GetTimer(5) retourne la valeur du compteur 5

voir exemple page 32/33 de la doc

++
David
 
V

v tec

Compagnon
en regle general mes macro ne se lance pas pendant le deplacement des axes


voici la machine que j essaye de faire:

https://www.youtube.com/watch?v=ba2X8MERH9M

en fait les differente macro qu on a fait, sont pour verifier que les verin sont bien en position

qu il n y a pas d obstacle sous les prehenseur


et la fonction comptage c est pour, compter les rlx qui rentre pour fermer les verins
 
Dernière édition par un modérateur:
D

dh42

Compagnon
Salut,

Ah oui, rien à voir avec une fraiseuse :-D ... je n'avais même pas pensé qu'on pouvait se servir de Mach3 pour autre chose qu'un tour ou une fraiseuse (ou apparenté) :oops:

++
David
 
V

v tec

Compagnon
ba je connais le logiciel tres bien, donc je le derive de son utilisation principal, en retravaillant l interface



par contre la macro de comptage je galere, je pige rien a la structure du vb
 
V

v tec

Compagnon
dh42 a dit:

Si les commentaires ne suffisent pas, n"hésite pas à demander :wink:

++
David

alors j ai testé, je comprend le raisonnement, mais elle ne marche pas dans mach3

je l ai mise sur un bouton, je clique, j attend plus de 10 secondes rien ne se passe
je recommence, je clique, j active 1 fois l entrée 1, et la sortie 1 s active


donc je comprend pas
 
V

v tec

Compagnon
j ai passé le nombre de comptage a 8, et ca marche bien pour 4* input(1), pour qui pourquoi, je sait pas


et le temps durée maxi, ce sont pas des ms?, en tout cas il fait rien si on attend trop longtemps
 
V

v tec

Compagnon
j ai refait different essai en adaptant certain truc:

Sub Main()
Dim nbmax_input As Long 'nb total d'entrée à compter avant déclenchment
Dim duree_maxi As Long 'nb de secondes maxi avant echec
Dim nbinput As Long 'nb d'entrées comptées
Dim Ok As Boolean 'a true si tout s'est bien passé

'initialisation
nbmax_input = 9
duree_maxi = 2
nbinput = 0
Ok = false

message "" 'efface les messages

SetTimer(1) 'met le compteur de temps n° 5 à 0

Do While GetTimer(1) < duree_maxi 'boucler tant que le temps n'est pas dépassé

If IsActive(input1) Then 'si entrée active, ajoute 1 au compteur
nbinput = nbinput + 1
sleep(100) 'évite un comptage multiple par rebond du contact (ou si reste trop longtemps enfoncé)
End If

If nbinput = nbmax_input Then 'nb d'entrée attendues atteint
Ok = true
ActivateSignal (output3)
ActivateSignal (output4)
Exit Do 'sort de la boucle
End If

sleep(10)

Loop

'affichage.
If Ok = false Then
code "M1"
ActivateSignal (output1)
message "temps dépassé"

Else
message "ok, ça roule"
End If

End Sub






donc, le nombre d entrée est un coup 3 un coup 4, je sais pas pourquoi

et le temps pour sortir de la boucle est 1mn, selon cette macro
 
V

v tec

Compagnon
alors pour le nombre d entrée hasardeuse j ai trouvé, le temps que tu a mis pour eviter les entrée "rebond", etait trop courte, je l ai mis a 500, et la ca marche


reste plus que le temps, qui ne colle pas
 

Sujets similaires

P
Réponses
2
Affichages
202
P
N
Réponses
0
Affichages
476
nathan33240
N
V
Réponses
3
Affichages
1 021
vibram
V
C
Réponses
5
Affichages
593
christt4
C
V
Réponses
18
Affichages
1 157
V
laurenttanguy
Réponses
0
Affichages
436
laurenttanguy
laurenttanguy
lolo
Réponses
1
Affichages
838
lolo
lolo
Réponses
0
Affichages
378
lolo
G
Réponses
1
Affichages
1 302
Greg de Nîmes
G
Castor24
Réponses
10
Affichages
702
wika58
wika58
S
Réponses
11
Affichages
1 006
Contrariness
C
2
Réponses
27
Affichages
1 185
jean-jacques
J
fauxjetons
Réponses
36
Affichages
2 687
fauxjetons
fauxjetons
Haut