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 10.0] Problème de remise à zéro d'un signal généré


Sujet :

LabVIEW

  1. #1
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut [LabVIEW 10.0] Problème de remise à zéro d'un signal généré
    Bonjour,

    Je suis actuellement en stage avec pour but l'automatisation d'un banc de test d'un variateur par LabVIEW. Dans ce cadre, j'ai commencé à développer un Vi "mode automatique" qui permettrait de lancer un "test" d'une durée définie par l'utilisateur avec un signal généré pour la tension sélectionné par l'utilisateur parmi plusieurs possibilités et une acquisition de donnée renvoyées par des capteurs (les données renvoyées ayant un rapport direct avec la tension en entrée).

    Pour ce faire, j'utilise une boucle for à l'intérieur d'une structure condition ( quand la condition est vrai, la mesure se lance ==> activation de la boucle for).

    La durée du test est donc définie par le nombre de passage dans la boucle ( N ).

    Cette boucle for possède cependant un terminal de condition ( oui je sais c'est une hérésie pour certains ^^' ) pour le cas où un arrêt d'urgence est nécessaire avec coupage de l'alimentation à la clef (parce que ça roule quand même sous du 380 VAC cette petite bêbêtte..).

    Ce qui va nous amener à mon problème : pour l'envoi du signal tension en temps réel je suis obligée de laisser l'assistant DAQ dans la boucle for, mais de ce fait même après l'arrêt de l'envoi du signal ce dernier est toujours généré (je le visualise sur un oscilloscope pour l'instant). Comment faire pour le remettre à zéro ?

    J'ai déjà testé quelques idées, et pour l'instant je m'en tient à la solution de mettre une boucle condition autour du signal à envoyer à l'assistant DAQ. Ainsi l'arrêt d'urgence enclenche le côté "FAUX" de cette structure condition et indique d'envoyer un signal de tension nulle à l'assistant DAQ.

    Seulement voilà après test ça ne marche pas, le signal résultant est une tension continue de "-5" V.

    J'ai observé le comportement du programme en mode pas à pas, l'indication d'envoyer le signal de tension nulle est bien relevée par LabVIEW, et le signal est bien envoyé à l'assistant DAQ, mais tout ce qui résulte sur l'oscilloscope c'est cette tension continue de "-5" V


    Je me suis dit que le programme n'avait peut-être pas le temps de remplacer complètement les échantillons du programme précédent par tout un tas de zéros ( rapport avec le buffer ou le nombre d'échantillons donc ? ) mais même si c'est bien quelque chose comme ça, je ne vois pas du tout comment faire pour résoudre le problème

    En espérant que l'explication de mon soucis n'est pas trop brouillon, je suis preneuse pour la moindre idée pouvant régler le problème.


    D'avance merci,

    Kali
    -Winter Is Coming -

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    Bonjour,

    J'aimerais bien voir le VI pour identifier le problème on a résolu un propblème similaire il n'y a pas longtemps.

    http://www.developpez.net/forums/d10...ignal-continu/

    Il faudrait rajouter une écriture d'un 0 après la boucle FOR.
    Cordialement

  3. #3
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    je joins le programme complet en .rar (avec les sous vi utilisés dans le programme même si je pense qu'ils n'ont pas grand chose à voir avec le problème)

    Je vais commencer en tout cas par regarder le lien fourni pour voir s'il peut résoudre mon problème, merci ^^

    Cordialement,

    Kali

    EDIT : après regard sur le problème du collègue killabeez et de la réponse qui lui fut apporté, je n'y vois pas moyen de résoudre mon soucis, ou alors c'est que je n'ai pas compris... :/

    De plus après un nouveau test du programme, j'obtient une tension continue de 4V, ce qui renforce l'idée que ce signal final provient du dernier signal généré qui se bloque à une certaine valeur au lieu de revenir à 0V comme souhaité..
    -Winter Is Coming -

  4. #4
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut
    Malgrès des tentatives de légères modifications le problème reste entier, je pense vraiment qu'il s'agit d'une erreur au niveau du remplissage du buffer qui ne se remplit pas avec les bonnes données parce qu'il n'a pas le temps, pas la place ou que sais-je...

    Si quelqu'un a une idée ça m'aiderait vraiment beaucoup :,( Je bloque complétement (d'autant que je suis peut-être complétement à côté de la plaque sur le problème..)

    Merci,

    Kali
    -Winter Is Coming -

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    salut,

    Apparemment tu as travaillé sur ton projet car il y a pas mal de choses dans les programmes.

    Quelques commentaires:

    -Tu utilises beaucoup de VI Express donc tu ne pourras pas faire un executable.
    -Utilises plus de sous VI pour tes fonctions
    -le code est trop désorganisé c'est difficile à lire
    -utilises des taches DAQmx pour communiquer avec ton appareil, plutôt que des VI express
    -utilises une machine d'état pour architecturer ton programme.
    -Encore une fois code presque illisible.
    -Regroupe tes calculs dans une seule boite de calcul ou utilises un expression node plutôt qu'un formula node sa surcahrge le diagramme

  6. #6
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    Désolée pour l'illisibilité du diagramme, j'ai eu quelques cours de base sur LabVIEW, mais dans mon IUT nous n'utilisions pas de carte DAQmx, et de fait en autodidacte je dois avouer mettre plus souciée du fonctionnement du diagramme que de la présentation ^^'

    Je retravaillerais la présentation et l'organisation c'est sur, mais pour l'instant ce n'est pas le problème, à moins que ce ne soit la surcharge du diagramme qui entraine un manque de temps pour envoyer le signal 0VCC ?

    De plus étant débutante dans la programmation avec DAQmx, je ne suis pas sure de bien faire la distinction entre ce que tu appelles taches DAQmx et VI express... Je sais que l'assistant DAQ peut se générer sous forme de "code" avec beaucoup plus de fonctionnalité bien que ce soit aussi plus complexe à programmer et qui renvoie directement aux tâches créées avec le logiciel Measurement&Automation, est-ce qu'il s'agit de celà ?

    J'ai essayé de visualiser plusieurs exemples sur LabVIEW avec ce genre de code, mais les explications en anglais n'ont pas vraiment aidé ma compréhension alors je suis restée avec les assistants :/

    en tout cas merci pour toutes ces indications :o je vais commencer à en mettre certaines en application pour voir si ça peut améliorer les choses

    Cordialement,

    Kali
    -Winter Is Coming -

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    Pourquoi nettoyer le diagramme? déjà pour s'y retrouver! après pour optimiser le code (meilleures performances, meilleur allocation mémoire etc...)

    carte DAQmx? non sa n'existe pas. En fait il faut créer une tache dans MAX pour générer un point par exemple. Ensuite il faut envoyer les points que tu veux à la suite les uns des autres.


    Continues à chercher sur Les tâches DAQ mx c'est très important.

    Plus ton diagramme sera clair plus il sera facile de trouver les erreurs.

  8. #8
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut
    En fait ce que j'ai est un driver Ni DAQmx ( Ni cDAQ-9178 ) relié à mon PC par port USB.

    Pour le diagramme je l'ai nettoyé avec des anotations pour qu'il soit plus compréhensible, mais je ne peux pas le renvoyer avant ce soir (pas de quoi compresser le dossier ici), dans ma précipitation je n'ai pas pensé à la gène occasionnée dans la lecture pour vous parce qu'à la base personne ne regarde ce diagramme à part moi, d'où l'aspect très attentionné pour la face avant et complétement désordonné pour le diagramme.

    Toutes mes tâches sont créées dans MAX pour des tests préliminaires avant de faire quoi que ce soit avec LabVIEW, mais j'ai malgrès tout du mal à comprendre en quoi l'assistant DAQ pose problème puisqu'il me donne l'impression d'agir comme une sorte de sous-vi regroupant plusieurs fonctions pour une utilisation plus simple... Mais peut-être que je n'ai rien compris à celà non plus et que je suis en train de dire des horreurs :s

    Cordialement,

    Kali
    -Winter Is Coming -

  9. #9
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    Pas eu le temps de poster le diagramme nettoyé hier soir mais au final aujourd'hui j'ai pu m'occuper de réécrire la partie du programme qui ne marchait pas en utilisant les tâches DAQmx et avec quelques retouches ça marche =) Le signal se remet bien à 0 en cas d'arrêt d'urgence. Comme quoi, la différence de rapidité d'exécution est peut-être infime, mais essentielle

    Je poste un impr. écran de la partie du programme que j'ai modifié et qui permet une remise à 0 du signal opérationnel pour le cas où ça en interresserait d'autres =o

    Merci pour tout,

    Kali
    Fichiers attachés Fichiers attachés
    -Winter Is Coming -

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    Bonjour,

    un petit conseil pour la suite, continues à nettoyer le diagramme qui est encore brouillon, et surtout ne mets pas les étapes d'initialisation et de fin de taches dans une boucle, ce n'est pas très optimisé...

    Sinon l'important c'est que le programme fonctionne et qu'on ai pu t'aider!

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.3.5] Problème de remise à zéro d'une liste
    Par rom2708 dans le forum Général Python
    Réponses: 14
    Dernier message: 27/10/2014, 18h18
  2. remise à zéro d'un autonumber
    Par Pitou5464 dans le forum Access
    Réponses: 4
    Dernier message: 08/08/2006, 11h56
  3. Remise à zéro de NuméroAuto
    Par Fougère dans le forum Access
    Réponses: 6
    Dernier message: 12/07/2006, 12h38
  4. Timer : remise à zéro
    Par hammag dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 17h31
  5. Remise à zéro du fichier d'alerte <SID>ALERT.LOG
    Par pablo13 dans le forum Administration
    Réponses: 2
    Dernier message: 05/10/2004, 17h19

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