Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Protocole USB : lecture de trames de mesure

Bonjour à tous,

 

J'essaie de lire les trames envoyées par un scanner de pression (Scanivalve ZOC33) connecté à une électronique USB GLE/SmartZOC200, directement en LabView. Afin de procéder aux dernières vérifications, j'aurais besoin de vos avis éclairés.

 

J'utilise une instance VISA pour communiquer avec mon électronique. J'utilise un buffer de taille automatique, le port est COM7, le timeout est 5000 ms et le baud rate 115 kbaud/s. Dans cette configuration, cela fonctionne ; je voudrais juste m'assurer que tout est correct. Y a-t-il un autre moyen de communiquer avec un périphérique USB avec LabView ?

 

En revanche, le scanner fonctionne aussi à 1 Mbaud/s et là, je n'arrive pas à obtenir une communication avec lui (1. je suis à 115k - 2. j'impose 1M au scanner - 3. je change le baudrate à la création de mon instance VISA). Une idée ?

 

D'autre part, j'ai obtenu du fabricant le format des trames envoyées par l'électronique. N'étant pas spécialisé en informatique et en structure de données, j'aurais besoin de vérifier que mon décodage est correct. Les trames sont données en Trames.png (joint) où nChannel=64 (document GreenLake Engineering). Je commence par lire les 264 octets du buffer (Read_buffer.png), là je pense que c'est correct. Ensuite, c'est au niveau de l'interprétation de ma trame (Read_data) : je lis les deux premiers octets qui me donnent sd (attendu) puis les deux suivants (le compteur, qui s'incrémente correctement de 1 en 1). Là où ça se complique, c'est sur les données (byte 4 et suivants).  Est-ce que quelqu'un pourrait confirmer ou infirmer que je les lis bien selon le protocole, la conversion étant effectuée vers du SGL ?

 

Merci d'avance pour toute aide et désolé si je n'ai pas été très clair.

 

 

Guillaume

 

Guillaume
Tout télécharger
0 Compliments
Message 1 sur 6
3 506 Visites

Bonjour,

 

Je me permets de faire remonter le post.

En particulier, j'aurais besoin d'aide sur le point suivant :

 

Mon électronique GLE/SmartZOC 200 possède deux débits de sortie (115 kbaud/s et 1Mbaud/s). J'arrive à établir la communication avec elle en 115 kbaud/s mais pas à 1 Mbaud/s. Voici mon mode opératoire :

1. Ouvrir une ressource VISA (sur COM7) à 115 kbaud/s

2. Envoyer à l'électronique la trame permettant de basculer à 1 Mbaud/s (pris en compte de façon permanente, vérifié avec le logiciel fourni par le constructeur).

3. Fermer l'instance VISA et la rouvrir à 1 Mbaud/s.

Là, je n'arrive plus à avoir la moindre communication avec l'électronique. Si je rouvre VISA à 115k, je rétablis la communication (avec des erreurs de cadrage).

 

Comment établir la communication à 1 Mbaud/s dans LabView ? Manque-t-il une étape à mon process ?

 

Merci d'avance pour toute aide, aussi petite soit-elle.

Guillaume
0 Compliments
Message 2 sur 6
3 387 Visites

1Mbauds? Le Baudrate qui correspond est 921600.

0 Compliments
Message 3 sur 6
3 367 Visites

Bonjour,

@Walker34 : merci pour la précision. Je fais le test aujourd'hui et je fais un retour dans la foulée !

Guillaume
0 Compliments
Message 4 sur 6
3 349 Visites

salut, je viens de regarder le code pour convertir les données.

 

dans ton image "trame.png", il est note "Byte" soit octet, soit U8. Donc logiquement nous devrions convertir les données en tableau de U8.

 

Mais (sauf pour le compteur) les voies sont codées sur 4 U8, soit des singles. Donc ton code me semble valide, sauf pour le compteur.

 

 

Tu dois pouvoir simplifier ton code avec une conversion directe en single

String to SGL.png

A+ Luc

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 5 sur 6
3 341 Visites

Bonsoir Luc,

 

Merci pour la réponse. Le compteur s'incrémente 1 par 1 donc ça a l'air de fonctionner.

Merci pour la simplification aussi, ça va m'aider à avancer !

 

@Walker 34 : je n'ai pas pu faire le test mais je n'oublie pas.

 

Bonne soirée

Guillaume
0 Compliments
Message 6 sur 6
3 334 Visites