le 02-26-2019 03:17 AM
Bonjour tout le monde !
J'interface un moteur, et souhaite parametrer les mouvements de ce dernier.
On peut donc faire en sorte que ce moteur fasse 3mm toutes les 2 secondes, jusqu'à 12mm maximum par exemple. Malheureusement si je rentre autre chose qu'un multiple de 3 en maximum, il dépassera la donnée jusqu'à arriver et s’arrêter au multiple du dessus. (Si je rentre 13mm il il ne sarrette qu'à 15mm, en effet, pendant la boucle de mouvement, le programme ne regarde pas ou il en est avant d'avoir terminer un pas).
Du coup je vais diviser l'entrée des pas avec l'entrée d’arrêt du moteur, si c'est un entier = multiple, alors ok, sinon, informer l'utilisateur du problème.
J'ai du mal à trouver l'information, je vais peut être devoir me tourner vers un bout de code en C ?
Merci par avance pour vos réponses.
Résolu ! Accéder à la solution.
le 02-26-2019 07:01 AM
Bonjour P1GOU1,
Il existe plusieurs solutions. Celle que j'utiliserais c'est la division avec reste (Quotient & Remainder en anglais). Le nombre entier sera ton plus grand nombre de pas possible sans dépasser 12mm. Tu peux aussi informer l'utilisateur en testant le reste de la division avec une condition : si reste>0 alors afficher message
Pas besoin d'aller vers du C pour ça
Yddet
le 02-26-2019 08:54 AM
Il existe plusieurs façons de détecter les multiples de 3 dans le diagramme.
Ma suggestion, ton contrôle peut être configuré pour ne permettre que les multiples de 3 directement sur la face avant de ton VI.