IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

LabVIEW Discussion :

[LabVIEW 8.2] Récupération de variables dans une fonction


Sujet :

LabVIEW

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 5
    Points
    5
    Par défaut [LabVIEW 8.2] Récupération de variables dans une fonction
    Bonjour,

    Pour piloter des micros moteurs, j'utilise les sorties numériques d'un boitier National Instrument SC-2345, ce boitier est relié à une carte DAQCard 6024E et elle même relier au PC.

    Je dois récupérer 2 variables dans une DLL par le biais de LABVIEW.

    A partir d'un projet sous CVI, une DLL été créée pour récupérer par la suite (sous LV) les variables (out_pos_p1 et out_pos_m1) dans la fonction "Set_Sorties". (Voir document word joint)

    Un VI a aussi été créé (d'après des exemples) pour lire la DLL et donc récupérer les valeurs des variables (voir VI et DLL joint).
    Je choisis donc la fonction "Set_Sorties" dans le menu déroulant. Il faudrait que je pointe sur VS[0] et sur VS[1].

    Mais en exécutant le VI un défaut apparait. (voir document jpeg joint).

    Ai je bien paramétré le bloc "Appeler une fonction d'une DLL"?

    Merci pour vos réponses.
    Images attachées Images attachées  

  2. #2
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Salut,

    En pièce jointe, le VI modifié.

    En gros, l'erreur provient d'un mauvais passage de parametres: sous LV cela faisait:
    double fonction(double arg1, double arg2)
    au lieu de
    void fonction(double *arg1)
    a+
    Fichiers attachés Fichiers attachés
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Salut,

    Je ne peux pas ouvrir ton VI. Tu l'as modifier avec un LV 8.5 alors que j'utilise une version 8.2.


    J'ai donc modifié le prototype de la fonction (voir fichier joint) mais j'ai toujours le même défaut.


    Merci.
    A+.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    voici le VI en V8
    Fichiers attachés Fichiers attachés
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Salut Scyrius,

    Merci pour ton dernier mail.Je pointe bien sur les 2 valeurs voulues qui se trouvent dans la DLL.
    Comme je dois récupérer les 2 variables qui se trouve dans le tableau pour les exploiter sur 2 lignes différentes je pensais au départ avoir 2 Arg (Arg1 et Arg2 en sortie du bloc).
    Dans ce cas là j'ai Arg1 en sortie du bloc avec les 2 valeurs. Comment je peux faire pour sortir ces 2 variables pour les exploiter par la suite sur 2 lignes différentes?

    Merci A+

  6. #6
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Le format sous LV dépend exclusivement de ta fonction: tu n'a défini qu'une seule variable ( ton tableau), donc LV ne fait que la prendre.
    Si tu veux deux variables, ta fonction doit etre de la forme:
    void NomFonction(double *arg1, double *arg2)
    voili,
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Salut,

    J'avais modifié le VI avec le prototype cité dans ton dernier mail. Ca fonctionné bien mais après j'ai eu quelques soucis pour exploiter les 2 données sous LV...J'ai donc modifié la DLL, je lis dans 2 fonctions pour avoir 2 lignes à l'entrée de la structure condition.

    Par contre j'ai une erreur dans la boite de calcul:
    L'erreur sur la ligne est marquée par un caractère '#'. Pourtant je ne pense pas avoir fait une erreur de syntaxe.

    Merci. A+
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 9
    Dernier message: 15/11/2013, 19h08
  2. Récupération de variables dans une table SAS
    Par tidou95220 dans le forum Débutez
    Réponses: 4
    Dernier message: 07/03/2013, 17h41
  3. Récupération de variable dans une fonction
    Par KDZCrew dans le forum Langage
    Réponses: 5
    Dernier message: 10/11/2010, 11h22
  4. Récupération de variable dans une liste (select)
    Par Marc22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/01/2010, 15h02
  5. Récupération de variable dans une url
    Par knolz dans le forum Langage
    Réponses: 6
    Dernier message: 18/04/2008, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo