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 :

[LV 8.2] Augmenter la rapidité d'éxécution d'un VI


Sujet :

LabVIEW

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut [LV 8.2] Augmenter la rapidité d'éxécution d'un VI
    Bonjour,

    A l'aide de mon VI, je commande et visualise différents capteurs et commandes de valves. Ces commandes sont gérées en DAQ et je commande aussi un générateur de signaux avec des drivers constructeurs.
    Je réalise de plus l'acquisition de données d'un oscilloscope avec des drivers constructeurs.

    Or lorsque j'exécute mon VI, tout ceci est très lent, es-il possible de rendre cette exécution plus rapide, plus fluide ?

    En espérant avoir été assez clair.

    Merci
    François

  2. #2
    Membre Expert

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

    Ceci est simplement de l'optimisation de code.
    Si tu veux, tu peux poster ton code et on pourra te donner des conseils.

    a+

  3. #3
    Membre Expert Avatar de BrunoIRM
    Homme Profil pro
    Ingénieur Instrumentation
    Inscrit en
    Juillet 2009
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Instrumentation

    Informations forums :
    Inscription : Juillet 2009
    Messages : 785
    Par défaut Re
    Salut,

    pour compléter la suggestion de Scyrius :

    Il faut pouvoir décorréler ce qui dépend de l'acquisition (fréquence d'échantillonnage, limites du bus, taille du buffer) de ce qui est du traitement (régulation, process, ..) et de la gestion de la mémoire (des allocations de mémoires successives peuvent finir par emboliser l'exécution)

    Donc : excellente suggestion de Scyrius. On post du code serait le bienvenu ..

    A+
    B.

  4. #4
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut
    Bonjour,

    Je vous joins mon code, il est au format .png, si vous préférez, je vous l'envoie au format LabVIEW.
    Il manque une partie de la boucle while principale, désolé c'est un assemblage de captures d'écran donc ce n'est pas toujours bien aligné ^^

    C'est la partie encadrée en rouge qui ralenti tout le reste. Mais si je la place dans une boucle while indépendante, je n'ai pas d'affichage de mon graphe, c'est la seule solution que j'ai trouvée.

    Merci
    François
    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
    Par défaut
    Hello,

    Désolé mais je trouve ton VI un poil compliqué et bordélique et cela ne m'étonne pas qu'il y ait des ralentissements.

    Ton plus gros problème est le nombre (et la complexité ) des boucles WHILE exécutées en parallèle. D'ailleurs, tu devrais ajouter dans les 2 du bas une petite tempo de 50 ms afin d'améliorer le multitâche (explication ici).
    Il manque aussi une vrai condition d'arrêt sur ces boucles. Je pense aussi que tu dois souvent tomber sur des TimeOut des fonctions de COM.

    Pour résumer, essaies l'astuce de la tempo. Si ca ne marche pas, je pense que tu devra refaire ton VI en y intégrant une seule vraie structure événementielle.

    voila pour mon humble avis.

    Bon courage

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Par défaut
    Salut,

    Je ne sais pas si ce que je vais proposer augmente la rapidité d'exécution. Mais pour simplifier ton code tu peux découper ton code en sous partie et faire des sous-VI.

    Voilà voilà

    A++

    GLDRX

Discussions similaires

  1. Augmenter la rapidité de recherche dans un fichier volumineux
    Par abdelkarim_1987 dans le forum Excel
    Réponses: 34
    Dernier message: 17/09/2013, 17h00
  2. [Toutes versions] IF - rapidité d'éxécution
    Par iperkut dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/01/2013, 18h41
  3. De la rapidité du code
    Par jfloviou dans le forum Contribuez
    Réponses: 233
    Dernier message: 29/05/2009, 02h17
  4. augmentation du temps d'éxécution avec hold
    Par Zhitoune dans le forum MATLAB
    Réponses: 6
    Dernier message: 06/05/2009, 10h04
  5. [Systeme] Processus en cours d'éxécution
    Par adiGuba dans le forum POSIX
    Réponses: 13
    Dernier message: 16/02/2003, 16h09

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