le 04-07-2010 07:02 AM
bonjour
j'aurais une question sur le visa,
quelle est la difference entre le vidage buffer in, out et le clear visa ? si il y en a une
car je travail actuellement sur un appareil Rs232 ( pont de T° isotech microk ) et j'ai eu beaucoup de pb
a cause de cela croyant que le clear se faisait et ce n'etait pas le cas, mes données se melangeaient aux anciennes presentes sur le port
Pour le moment je men sort en creant mon propre clear avec une fonction qui lit mon buffer d'entree jusqu'a ce que le buffer d'entrée soit vide
mais je trouve cela un peu etonnant , je suis sous LV 2009 f2 ( j'ai pas encore installer le nouveau patch)
Est ce que ce probleme est connu?
Cordialement
Tinnitus
Résolu ! Accéder à la solution.
le 04-08-2010 08:29 AM
Bonjour,
La situation que vous écrivez semble intéressante.
La fonction clear VISA réalise dans l'ordre les opérations suivantes : vidage du buffer d'entrée, serial break, puis vidage du buffer de sortie.
Quelques évènement inattendus ont pu être reportés sur l'utilisation de cette fonction, mais il s'agissait des versions antérieures à NI-VISA 3.0 (sortie sous LV 7.0).
Rencontrez-vous le même problème en réalisant manuellement un clear, ie à l'aide des fonctions VISA Flush I/O Buffer et Serial Break, le tout avec des tempo assez importantes entre chaque exécution ?
Il se pourrait que votre instrument prenne par exemple trop de temps à vider son buffer de sortie avant le prochain read.
Cependant, étant donné que tout fonctionne parfaitement quand vous effectuez votre flush "custom", un défaut de l'instrument est peu probable.
Autre chose à vérifier (le raccourci create sub-VI ou certains tableaux peuvent être dangereux des fois) : est-ce que la chaine de caractère dans laquelle vous écrivez est parfaitement réinitialisée entre deux appels successifs ? 
Cordialement,
Alexandre D.
National Instruments France
>> Les présentations NIDays 2010 déjà disponibles au téléchargement !
04-15-2010 08:32 AM - modifié 04-15-2010 08:33 AM
Bonjour,
je reviens sur ce probleme car il ya des chance que le clear soit a l'origine de mes soucis,
ete vous sur de l'ordre dans lequel est realisé le vidage : les entrees en premier ? quelle est l'utilité de la pause " break line" dans le clear
avec la fonction clear on parle bien du buffer du pc , non ?
Cordialement
Tinnitus
le 04-15-2010 11:06 AM
Bonjour,
Voici où j'ai trouvé l'info concernant l'ordre d'exécution des différentes fonctions du VISA clear: 
http://zone.ni.com/reference/en-XX/help/371361F-01/lvinstio/visa_clear/
La pause sert à bien séparer les deux opérations de flush.
Voici un exemple de fonctionnement de la fonction VISA Flush Buffer : en appliquant un masque d'une valeur numérique de 64 (0x40), vous effacez le buffer de réception (côté "PC", même si en fait il existe de nombreux buffers matériels/logiciels entre la carte et la mise à disposition des données pour LabVIEW).
Maintenant il se peut que votre instrument soit mal configuré (caractère de terminaison et autre), ce qui provoquerait des problèmes à bien plus bas niveau (UART de votre PC qui ne déclenche pas d'interruption...), mais là on descend justement bien trop bas pour moi. 
Pourriez-vous poster votre VI, ainsi que les docs qui vous ont permis de paramétrer la communication afin d'y voir un peu plus clair ?
Cordialement,
Alexandre D.
National Instruments France
>> Les présentations NIDays 2010 déjà disponibles au téléchargement !