1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

creer une macro d attente avec condition

Discussion dans 'Mach' créé par v tec, 4 Mai 2014.

  1. v tec

    v tec Compagnon

    Messages:
    1 556
    Inscrit:
    6 Janvier 2012
    creer une macro d attente avec condition
    bonjour a tous, pour ceux qui en aurait besoin, j essaye de trouver comment ecrire une macro d attente de l etat d une entrée, et donné des conditions de sortie, valentin m aide car je n y connais rien


    exemple:

    vous voulez creer un gcode m70 que vous inserer dans votre gcode


    je dit une betise vous voulez verifier que avant de faire un changement d outil, votre fraise est bien presente dans le mandrin avant de palper, ou que votre fraise n est pas trop longue


    car moi ca m est arrivé de mettre une fraise en butée trop longue, et comme dans le script du palpeur, je lui dit de rapprocher la broche du palpeur vertcalement avant de palper, pour gagner un peu de temps, et bien, ma fraise a taper contre le palpeur



    donc il suffirait de mettre un capteur de proximité que vous regler en hauteur, vous le metter en lateral,et vous faites passer votre outil a coté, si il est trop long il sera detecté, sinon il poursuit son chemin



    donc la macro dirait:

    lire l etat de du capteur outil
    si le capteur detecte rien, on continue le programme
    si il detecte quelque chose, on met le programme en pause, et on active un buzzer

    traduction:

    Do
    If IsActive(INPUT1) Then
    Exit sub
    End If
    Message "probleme longueur d outil avant palpage"
    ActivateSignal(OUTPUT1)
    code"m1"
    Loop
    deactivatesignal(output1)



    en l etat cette macro marche, mais pas longtemps, car au bout de quelques secondes mach3 bug, car il n aime pas la boucle
     
  2. v tec

    v tec Compagnon

    Messages:
    1 556
    Inscrit:
    6 Janvier 2012
    creer une macro d attente avec condition
    voici la solution pour eviter de faire buger

    Do
    If IsActive(INPUT1) Then
    Exit sub
    End If
    Message "probleme longueur d outil avant palpage"
    ActivateSignal(OUTPUT1)
    sleep(1000)
    code"m1"
    Loop
    deactivatesignal(output1)
     
  3. v tec

    v tec Compagnon

    Messages:
    1 556
    Inscrit:
    6 Janvier 2012
    creer une macro d attente avec condition
    donc maintenant imaginons une autre macro qui partirait de celle ci, mais pas sur une fraiseuse mais sur un automate



    imaginons que j ai un prehenseur qui doit attraper une piece sur un convoyeur, le convoyeur est autonome, et en marche permanente



    je gere mon prehenseur sur un axe numerique verticale


    je souhaite donc mettre mon robot en attente d un objet dessous, et mettre une condition qui dit, que si le robot attend trop longtemps 5 secondes, c est que peut etre un objet est coincé sur le convoyeur, et que l on met en pause



    donc la macro ferait:

    Do
    while isactive(input1)
    wend
    loop (avec une condition de temps maximum de 5 secondes)
    Exit sub
    End If
    Message "probleme convoyeur bloquer"
    ActivateSignal(OUTPUT1)
    sleep(1000)
    code"m1"
    Loop
    deactivatesignal(output1)



    il faut juste arriver a ecrire la condition de temps max
     
  4. v tec

    v tec Compagnon

    Messages:
    1 556
    Inscrit:
    6 Janvier 2012
    creer une macro d attente avec condition
    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 "probleme fermeture verin entrée convoyeur"
    ActivateSignal (output1)
    code "m1"
    Exit Sub
    End If
    DeActivateSignal (output1)
    message "verin entrée convoyeur bien fermé"
    End Sub
     
Chargement...
Articles en relation
  1. v tec
    Réponses:
    6
    Affichages:
    790
  2. nodz
    Réponses:
    3
    Affichages:
    1 430
  3. munoz
    Réponses:
    4
    Affichages:
    1 104
  4. adriboss
    Réponses:
    15
    Affichages:
    667
  5. MCrevot
    Réponses:
    13
    Affichages:
    608

Partager cette page