le 04-11-2017 08:56 AM
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
le 04-28-2017 02:38 AM
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.
le 05-01-2017 05:00 AM
1Mbauds? Le Baudrate qui correspond est 921600.
le 05-03-2017 01:09 AM
Bonjour,
@Walker34 : merci pour la précision. Je fais le test aujourd'hui et je fais un retour dans la foulée !
le 05-03-2017 10:14 AM
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
A+ Luc
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
05-03-2017 03:20 PM - modifié 05-03-2017 03:21 PM
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