|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2009 Messages : 5 ![]() |
Bonjour à tous !
Je suis tout nouveau ici, donc je fais une mini présentation : je termine mes études de DUT Mesures physiques et suis actuellement en stage avec pas mal de programation sous Labview pour mon plus grand bonheur... ! Je travaille avec une centrale inertielle (Xsens MTi) reliée au pc par le port COM et elle marche très bien avec le logiciel fourni avec. Maintenant pour la synchronisation de toutes nos mesures, il faut passer par Labview et nous tentons d'acquerir des données telles que l'accélération 3D ou les positions angulaires via Labview. J'ai deja exploré deux possibilités, en feuilletant à travers ce forum et celui de NI. 1) Par le biais de l'utilisation des DLL fournies dans le SDK du constructeur. Problème majeur : utilisation de pointeurs pas prise en charge par Labview et nous avons un peu peur de nous lancer dans la programation de "Wrappers" pour palier à ce soucis. Maintenant s'il n'y a pas d'autre choix, nous nous y mettrons. 2) La simple utilisation des ressources VISA permet de recevoir un buffer qui est une chaîne de caractère incompréhensible. Je ne sais pas du tout s'il faut faire une conversion, en tout cas, je sais que ce buffer vient de la centrale. Faut-il réaliser une opération spéciale de type conversion ou même paramétrage de notre centrale ? Je bloque un peu et ça fait un bout de temps que je me casse la tête la dessus donc un petit coup de pousse ne saurait être de refus ! Merci d'avance à tous. Je vous souhaite une excellente journée. Ehdi |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : janvier 2009 Messages : 557 ![]() |
Salut,
Pour ta chaine par VISA, tu dois avoir des conversions à faire ( comme pour la réception de données GPS ) Renseigne toi sur internet à propos de ton capteur et de ton logiciel fournis avec. Car ce charabia n'est pas du à Labview. Sauf peut-être si tu t'es trompé dans la configuration de ton port COM ( la vitesse du port peut te donner des lignes incompréhensibles avec des carrés ou des choses comme ça mais en général le port ne se connecte même pas ) En gros avec VISA, c'est à to ide formater ta chaine grace aux fonctions LabVIEW, de découpage, formatage concaténage etc... C'est rare que tu utilises une chaine "brut" |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() Inscription : avril 2005 Messages : 1 144 ![]() |
Salut,
Deux petites remarques: - La liaison COM te retourne toujours une serie d'octets. Generalement, les constructeurs se debrouille pour retourner les octets au format ASCII ( 0x41 <=> "A",...) afin d'etre comprehensible mais ce n'est pas une generalité. De toute facon, il te faudra obligatoirement une doc precise decrivant les trames. - Concernant les DLLs, Labview gere les pointeurs dans le sens où tu peux passer n'importe quelles variables en tant que valeur ou pointeur. Le probleme avec les DLLs vient essentiellement avec la complexité des structures à utiliser. Sur le fond, je te conseille d'utiliser la DLL car cela te simplifiera l'existence. a+ |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mai 2009 Messages : 5 ![]() |
J'ai tenté pas mal de choses pour le VISA, mais rien de concluant ...
J'ai essayé de convertir ce message, mais rien n'y fait ... J'ai mis en pièce jointe (j'espere) un screenshot du buffer lu. => la recherche au travers de la doc construceur n'a pas donné grand chose, si ce n'est que la lecture doit se faire à 115200 bauds, et que le port tourne à 9600 pour recevoir cette "trame". L'utilisation du GPS fonctionne bien, mais j'ai l'impreesion que cette centrale inertielle est bien plus complexe, et les structures des DLL ca va être énormément de boulot. La question est : est ce que cette trame resemble a quelque chose? convertissable ? Encore merci Ehdi |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Inscription : avril 2005 Messages : 1 144 ![]() |
La lecture doit se faire a 115200bauds et tu lis a 9600 ???
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mai 2009 Messages : 5 ![]() |
En fait, la doc de la centrale indique une vitesse de 115200 bds, puis d'autre infos telles que la parité, bit de stop...
Le port COM est de base configuré à 9600 je crois ( sous le panneau de configuration ). Sous LV, de base c'est à 9600 aussi, donc on a changé la vitesse encore une fois a 115200. Le soucis est que l'on recoit rien si on met la vitesse a 115200 et à 9600, on recoit des messages resemblant à :" Â7Ík™<Ñæ>¾³F¾*«¾¿^œý¿(Ña» ". C'te galère ... J'arrête pas de le dire, mais merci pour vos réponses, elles sont toutes bien venues. |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Inscription : avril 2005 Messages : 1 144 ![]() |
Salut,
Pour resumé le principe, c'est la centrale qui impose la configuration du port ( vitesse, parité et autre). Tu dois donc absolument configurer ton programme pour la respecter sinon les trames seront incomprehensibles. Pour info, le 9600 bauds etait une valeur standard il y a 10 ans donc, c'est celle-ci qui a été définie par defaut sous Windows car il en fallait absolument une. a+ |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mai 2009 Messages : 5 ![]() |
Merci pour toutes ces informations, j'ai finalement réussi a décoder les mysteres de la centrale inertielle!
En utilisant les "noeuds de méthodes" et en respectant scrupuleusement le procésus d'initialisation de lecture (ouverture ports ...) j'ai réussi à obtenir les données que je souhaitais. Le problème est maintenant de réussir à obtenir une synchronisation, en effet, à 100hz, sur 30 secondes, au lieu d'obternir 3000 points, je peux en avoir 25000... Mais pour celà jvais me debrouiller. Ce post est ici pour vous remercier des reponses rapides et claires. Encore merci. (un problème en ammène un autre, je vais créer un nouveau topic pour un pb vidéo maintenant...!) |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 1 ![]() |
Salut Edhi,
Je suis en stage de fin d'étude de Mesures Physiques aussi, et j'ai le même problème que toi : je dois interfacer une MTI sous Labview. Peut-tu mettre à disposition le VI que tu as codé, ou bien en mettre une photo? Merci d'avance . Jben delpy |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Nidhal DossÉtudiant Inscription : novembre 2012 Messages : 1 ![]() |
J'ai compris que les "noeuds de méthodes" existent en Labview, mais puisque j'utilise le langage C (Pic C 'PCW') est-ce qu'il y a une chose similaire ?
Est-ce que je dois ajouter un octet de chekSum dans le message à envoyer vers le MT ? |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com