le 02-15-2010 07:53 AM
Bonjour zakari1985,
Je suis aussi actuellement dans un travail où j'aimerais récupérer des données d'un manomètre à l'aide de LabView.
Pourriez-vous me dire quel est le modèle de celui que vous avez utilisé pour réaliser ceci ?
Je dois en acheter un, mais je ne sais pas où me diriger afin de récuperer les informations...
Merci
Bien à vous,
Vanrob
le 02-22-2010 09:37 PM
BONJOUR
Le programme que vous m'avez envoyé marche très bien et je vous en remercie.Néanmoins pourriez vous m'exliquer un peu le contenu de la boucle while ,car j'aurai une présentation à ce propos et j'ai pas envie de me planter!!
cordialement,
le 02-22-2010 09:39 PM
bonjour vanrob,
désolé pour le retard mais j'étais pris par mon projet et mes examens à coté,en ce qui conerne ta question moi j'ai utilisé le manomètre LBMNO BIT 02,mais franchement je te le recommande pas car ils manifersaient plusieurs problèmes de temps à autre ,donc voilà j'espère que t'as trouvé ce que tu cherchais
le 02-23-2010 02:34 AM
zakaria1985,
Pour rappeller le principe d'écriture/lecture sur le port série de ce code :
- on ouvre la session VISA avec les paramètres compatibles avec l'instrument (dans le code, les paramètres par défaut)
- on écrit une commande à l'instrument en ajoutant un caractère de fin (ici CR)
- on scrute, dans une boucle, le nombre d'éléments présents dans le buffer car, en communication série, on est obligé de préciser le nombre d'octets à lire pour ne pas entrainer de problème de timeout à la lecture. Donc, on surveille le nombre d'octets dans le buffer avec le noeud de propriété 'Bytes at Port'. Chaque itération de la boucle dure ici 20ms pour laisser le temps au buffer de se remplir le cas échéant. Si le nombre d'octets évolue (augmente), on continue de faire tourner la boucle pour ré-évaluer ce nombre d'octets au tour suivant. Si ce nombre se stabilise (n'augmente plus) ou est nul, on sort de la boucle avec le nombre d'octets ainsi obtenu (registre à décalage). En parallele, un comptage de timeout plus général indépendant de la communication (Time Out dans le code) permet d'arreter la boucle au bout d'un moment si les autres critères d'arrêt ne sont pas remplis : stabilisation ou nombre nul (nombre d'octets = 0 couvre aussi partiellement une erreur en sortie du noeud de propriété).
- on lit le nombre d'octets présents dans le buffer
- on ferme la session VISA
Cette structure est élémentaire mais vous pouvez l'améliorer:
- D'ailleurs, petite erreur de ma part : vous devriez séquencer le 'Wait (ms)' et le noeud de propriété 'Bytes at Port' car ils sont actuellement en parallèle et si le buffer n'a pas le temps de se remplir à la première itération (Bytes at Port=0), la boucle s'arretera tout de suite et surtout ce comportement pourrait varier suivant les ordinateurs utilisés ou la charge d'un même ordinateur.
- Ce code est la chaine complete pour une requête (une écriture puis une lecture) mais vous pouvez boucler la partie Ecriture/Lecture et isoler l'ouverture et la fermeture de la connexion.
- Dans le même ordre d'idée vous pourriez gérer un mode : 'Ecriture seule' ou 'Lecture seule' ou 'Ecriture/Lecture'
- Vous pouvez ajouter explicitement l'arrêt sur erreur du noeud 'Bytes at port' dans la boucle
Voilou, bonne présentation et bon developpement
Julien
le 02-23-2010 05:32 AM
Bonjour zakaria1985,
Des problèmes ? De quels types ?
Cela n'est peut-être pas important dans mon cas... Et n'est-il pas possible que ce soit du à l'un où l'autre problème de code comme J.DECHET souligne qu'il est possible d'améliorer ?
De plus, je n'arrive pas à trouver ce manomètre sur internet ? J'ai juste vu celui-ci : http://www.transducertechnic.com/bit02.PDF
Est-ce le bon ?
Mon soucis est que je crains acheter une manomètre digital avec lequel on ne puisse récupérer les données pour la utiliser via LabView... Ce qui serait une perte de temps et par la même occasion, d'argent.
J'en ai trouvé de ce type : http://www.sensorsone.co.uk/products/378/Analogue-Output-Pressure-Gauges.html (par exemple, le 2ème), mais je ne suis pas sur que la réception des données puisse se faire où pas.
Bien à vous,
Vanrob
le 02-23-2010 03:34 PM
bonjour,
le premier lien que vous posté correspond au manomètre que j'ai utilisé.Comme je l'ai dis précedemment ce manomètre fonctionnait bien au début avec un programme simple ,j'arrivais bien à récupérer les valeurs envoyés par le manomètre et modifier aussi ses paramètres ,néanmoins depuis un moment je reçois plus rien !
donc voilà je vous souhaite bon courage pour la suite!
le 02-23-2010 04:03 PM
Bonsoir,
Merci de votre réponse, vu vos problèmes je vais essayer d'éviter mais dans le pire des cas, je sais où en trouver un.
J'ai enfin reçus une information des divers fournisseurs que j'avais contacté, je pense que je vais prendre un avec un port RS485 (j'avoue ne pas savoir ce que ca veut dire mais d'après eux, c'est bon pour LabView et ils fournissent les drivers pour certaines versions)
Au cas où vous seriez intéressé :
Avec alimentation externe :
http://www.sensorsone.co.uk/products/0/150/LEO3-Current-or-Digital-Output-Pressure-Gauge.html
Avec alimentation par batterie :
http://www.sensorsone.co.uk/products/0/55/LEX1-High-Accuracy-Digital-Pressure-Gauge.html
Je viens de remarquer qu'il était possible d'avoir un port RS232 comme le votre, vu que vous avez travaillé avec ce type de matérial, connaissez-vous la différence entre les ports ?
Sinon, je chercherais par moi même.
Merci beaucoup pour vos informations.