Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Autres EDI > LabVIEW
LabVIEW Forum d'entraide sur LabVIEW. Avant de poster -> FAQ LabVIEW
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/05/2009, 10h57   #1
Ehdi_B
Invité de passage
 
Inscription : mai 2009
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 5
Points : 0
Points : 0
Par défaut [Labview 8.6] Centrale inertielle sous Labview

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
Ehdi_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2009, 11h39   #2
K-RK-S
Membre éclairé
 
Inscription : janvier 2009
Messages : 557
Détails du profil
Informations personnelles :
Localisation : France, Essonne (Île de France)

Informations forums :
Inscription : janvier 2009
Messages : 557
Points : 317
Points : 317
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"
K-RK-S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2009, 13h42   #3
Scyrius
Membre Expert
 
Inscription : avril 2005
Messages : 1 144
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 144
Points : 1 751
Points : 1 751
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+
Scyrius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2009, 14h57   #4
Ehdi_B
Invité de passage
 
Inscription : mai 2009
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 5
Points : 0
Points : 0
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
Images attachées
Type de fichier : jpg photoLabview.JPG (237,0 Ko, 20 affichages)
Ehdi_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2009, 19h00   #5
Scyrius
Membre Expert
 
Inscription : avril 2005
Messages : 1 144
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 144
Points : 1 751
Points : 1 751
La lecture doit se faire a 115200bauds et tu lis a 9600 ???
Scyrius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2009, 09h03   #6
Ehdi_B
Invité de passage
 
Inscription : mai 2009
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 5
Points : 0
Points : 0
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.
Ehdi_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2009, 11h03   #7
Scyrius
Membre Expert
 
Inscription : avril 2005
Messages : 1 144
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 144
Points : 1 751
Points : 1 751
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+
Scyrius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2009, 15h40   #8
Ehdi_B
Invité de passage
 
Inscription : mai 2009
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 5
Points : 0
Points : 0
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...!)
Ehdi_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2009, 15h33   #9
jbendelpy
Invité de passage
 
Inscription : juin 2009
Messages : 1
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 1
Points : 1
Points : 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
jbendelpy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 11h00   #10
nidhaldos
Invité de passage
 
Homme Nidhal Doss
Étudiant
Inscription : novembre 2012
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Nidhal Doss

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2012
Messages : 1
Points : 1
Points : 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 ?
nidhaldos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h36.


 
 
 
 
Partenaires

Hébergement Web