Faire une boucle de lecture sur port

Fermé
Spykwak Messages postés 22 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 12 mai 2003 - 8 mai 2003 à 11:39
Spykwak Messages postés 22 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 12 mai 2003 - 10 mai 2003 à 13:04
Bon dans un programme que je suis en train d'ecrire je doit faire un truc special

langague vébé 6.0 professionnel

bon il faut que je lise sur une carte d'aquisition A/D le resultat de sa conversion 1000 fois pendant 10 secondes sans distortions de temps

c'est a dire une capture toute les 10ms exactement

chaque mesure doit etre rentré dans un champ diferent d'une base de donnée access 97...

ma base de données acces comprend 5 table avec chacune 200 champs

les table ressemblent a sa
code(clefs primaire), 0,1,2, ..., 199 (soit en tout 201 champs)

donc les 2 premieres seconde je doit rentrer les resultats dans la premiere table
ainsi de suite jusque les 1000 points soient tous dans la data base a la fin de l'operation ...

je doit donc faire 5 boucle de 2 secondes qui font 200 captures chacune et le tout en 10 secondes...

10 réponses

Spykwak Messages postés 22 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 12 mai 2003
8 mai 2003 à 12:02
donc je complete ... cette boucle ne doit pas etre dependente de la vitsse du CPU ou de ses peripheriques ... elle doit fonctionner exactement de la meme maniere sur un CPU 133MHZ que sur un 733 par exemple ... (ou plus si vous preferez)

y a t'il moyen de faire une boucle qui tient compte de l'horloge en ms ? pour boucler une fois toute les 10ms ...

pour rentrer les données d la data base j'utilise un controle data

par exemple le controle data1 qui gere ma premiere table.

pour rentrer un resultat on fait comme sa

with DATA1 .recordset
.addnew
.fields("Code")= 1 ' le champ code est la clefs primaire je m'occuperai de rentrer le bon resultat dedans dans la suite des operations

(alors la le debut de la premiere boucle de 2 secondes)

.fields(compteurde 0 a 199)= ... 'le resultat de la carte de conversion alors la je doit encore fouiller les codes source d'un programme

(la , la fin de la boucle)
.update 'met a jour la base de donnée

end with

voila ...
0
brj Messages postés 159 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 8 septembre 2003 10
8 mai 2003 à 12:54
Tu dois faire cela en VB?
Tu est sur quel windows car ssans passez par de IT et une horloge hard tu ne pourras pas assure le "temps reel"

la culture c comme la confiture - on en a + on l'etale
0
Spykwak Messages postés 22 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 12 mai 2003
8 mai 2003 à 13:10
vi je doit passer faire sa en vébé

au final le programme tournera sur un win 95 sur un amd K5 133

mais je develloppe le programme sur mon pécé qui tourne sur win Me ... (ben oui sa lage un 133 avec vébé 6)

Merci pour la confiture t'en a mis plein partout ... j'etallais pas je donnai un maximum d'indice pour ceux qui pourraient m'aider...
0
brj Messages postés 159 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 8 septembre 2003 10
8 mai 2003 à 16:03
euh la confiture cela ne s'adresse pas a toi c'est juste une signature!lol

la culture c comme la confiture - on en a + on l'etale
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Spykwak Messages postés 22 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 12 mai 2003
8 mai 2003 à 16:52
tout compte fait le programme peut mettre les 1000 points dans un seul champs (donc 1000fiches dans un champ) d'une autre base de données qui servirais de tampon.
je convertirais ensuite au format de la base de données finale avec une autre sous routine sa simplifiera l'aquisition...

mais alors faudra ecraser a chaque aquisition la base de données tampon pour ne pas sauvegarder des donnée sinutilement et surtout pour ne pas compiquer la conversion entre les deux base de données...
0
brj Messages postés 159 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 8 septembre 2003 10
8 mai 2003 à 17:31
Tu veux que l'on t'aide a quoi parce que tu na pose aucune question!?

la culture c comme la confiture - on en a + on l'etale
0
Spykwak Messages postés 22 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 12 mai 2003
8 mai 2003 à 18:42
c'est comme meme clair que je ne sait pas faire de boucle de ce type ...
0
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
8 mai 2003 à 18:46
salut

pour la gestion du temps tu dois pourvoir gerer ca avec l'objet timer de vb...
sauf que 10ms c sans doute la limite d'un timer vb faut chercher...
sinon il te reste les appels aux dll qui te permettent d'avoir une precision de l'ordre de la µ-seconde

++

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
0
Spykwak Messages postés 22 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 12 mai 2003
8 mai 2003 à 19:36
Heu vu que je suis une cruche en vébé ...

tu pourrait me fournir de plus amples information sur la syntaxe de la boucle en question ... ?et comment faire une condition avec le temps ?

Je rapelle que j'ai changer le concept du debut...

je veut maintenant travailler avec une seule base de données "tampon" qui servira a entreposer tout les resultat dans un champ sous 1000fiches de 0 a 999 ... chaque aquisition ecrasera les resultat vu c'est un tampon.

voila ...
0
Spykwak Messages postés 22 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 12 mai 2003
10 mai 2003 à 13:04
y a t'il moyen de faire en BASIC le petit programme tampon ?

je m'explique j'ai les instruction en BASIC pour lire sur la carte d'aquisition.
y a t'il moyen de manipuler la base de données tampon avec le basic?
de faire la fameuse boucle qui doit tourner toute les 10ms avec le basic?
et de faire un .exe de tout sa?

je sait le BASIC est un tres vieu langague mais je tente le coup on sait jamais... (et j'ai pas le compilateur chez moi ... il devrai etre sur le cédé de win95 ? non?)
0