Temporisation paramétrable

Résolu
Messages postés
15
Date d'inscription
mardi 29 août 2006
Statut
Membre
Dernière intervention
17 novembre 2012
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour à tous,

Débutant en vb6, je travaille sur un petit projet permettant de tester des interfaces de commande de moteurs pas-à-pas via le port parallèle.
J'utilise InPout32 pour envoyer les bits de direction et de pas au port parallèle.
Je suis à la recherche d'une méthode pour définir de façon à peu près exacte des temporisations entre mes changements d'état du bit de pas. (Histoire d'avoir une évaluation de la vitesse de rotation.)

Concrètement et idéalement, j'aurais besoin d'une boucle d'attente de 20 micro-seconde, une de 40 micro-seconde, et une paramétrable de 500 micro-seconde à 100 milli-seconde.
Non-idéalement, deux boucles à 1 milli-seconde et une autre paramétrable de 1 à 100 milli-seconde.

J'ai cherché pas mal avant de poser ma question, mais j'ai surtout trouvé des codes pour mesurer des algorithmes et les explications sont trop succintes pour me permettre l'adaptation.
 Il semblerait par ailleurs que le contrôle Timer ne soit pas adapté.

Renaud (Ile de la Réunion )

3 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,
voir ce topic, çà peut peut-être t'aider...

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Si tu veux faire de la mesure, utilise l'api GetTickCount, elle te renvoie le nombre de milliseconde depuis le démarrage du système.
En faisant la différence entre le début et la fin de ton traitement tu auras la duréee de celui-ci.

Cependant en programmation VB n'espère pas trop descendre en dessous des 15 milisecondes.

Pour approcher la miliseconde faut passer en C, voire développer un (pseudo)driver C. Mais ça ce n'est pas à la portée de grand monde.

Pour tomber à la micro voire à la dizaine de nano seconde, il faut passer sur des systèmes "Temps Réel", le seul fonctionnant sous Windows étant Ardence Rtx.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
15
Date d'inscription
mardi 29 août 2006
Statut
Membre
Dernière intervention
17 novembre 2012

Salut,

je me suis mal exprimé, je ne veux pas faire de la mesure, je veux juste "attendre" 1 ms (par exemple) avant de poursuivre le programme, mais en paramétrant à peu près le temps d'attente (même si c'est 15 ms).

Renaud.