Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Invité de passage
    Inscrit en
    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

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    janvier 2009
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : janvier 2009
    Messages : 559
    Points : 317
    Points
    317

    Par défaut

    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"

  3. #3
    Membre Expert

    Inscrit en
    avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 1 144
    Points : 1 751
    Points
    1 751

    Par défaut

    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+

  4. #4
    Invité de passage
    Inscrit en
    mai 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : mai 2009
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    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 Images attachées

  5. #5
    Membre Expert

    Inscrit en
    avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 1 144
    Points : 1 751
    Points
    1 751

    Par défaut

    La lecture doit se faire a 115200bauds et tu lis a 9600 ???

  6. #6
    Invité de passage
    Inscrit en
    mai 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : mai 2009
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    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.

  7. #7
    Membre Expert

    Inscrit en
    avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : avril 2005
    Messages : 1 144
    Points : 1 751
    Points
    1 751

    Par défaut

    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+

  8. #8
    Invité de passage
    Inscrit en
    mai 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : mai 2009
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    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...!)

  9. #9
    Invité de passage
    Inscrit en
    juin 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    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

  10. #10
    Invité de passage
    Homme Profil pro Nidhal Doss
    Étudiant
    Inscrit en
    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

    Par défaut

    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 ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •