Enseignement Société Événements NI Developer Zone Support Solutions Produits et Services Contacter NI MyNI
1 rating:
 1 out of 5     Rate this Document

Règles élémentaires à respecter pour réduire le temps d’exécution d’un VI.

French Prim Software: LabVIEW Development Systems
French Prim Software Ver: 7.0
French Fixed Ver: N/A
French Sec Software: N/A

Problème: Je souhaite réduire au maximum le temps d’exécution de mon VI, mais je ne sais pas sur quels paramètres jouer. Quels sont les principales règles de programmation qui permettent d’optimiser un VI en termes de timing ?

Solution: Les principaux moyens sous LabVIEW pour gagner en vitesse d’exécution sont :
- les opérations d’E/S (fichiers, contrôle d’instrumentation, acquisition de données…)
- l’affichage à l’écran (commandes et graphiques)
- l’utilisation de la mémoire (utilisation des tableaux, structures de données complexes…)

· Opérations d’E/S
La meilleure façon de réduire les temps d’opération des E/S est de minimiser les appels aux ressources liées aux E/S. Pour cela, il est préférable de transférer le plus de données possible à chaque appel plutôt que de transférer une donnée par appel.

· Affichage de la face-avant
La mise à jour des indicateurs de la face-avant prend également du temps lors de l’exécution d’un VI. Bien que la plupart des indicateurs ne soient pas remis à jour lorsque la valeur n’a pas changé, les graphiques sont, eux, entièrement redessinés. Pour minimiser ces problèmes, gardez une face-avant aussi simple que possible en réduisant le nombre d’objets affichés. Désactivez la mise à l’échelle automatique des graphes, les grilles et les marqueurs d’échelle, vous augmenterez ainsi leur efficacité.

· Appels aux sous-VIs
Comparé aux opérations d’E/S et à l’affichage, l’appel à un sous-VI n’entraîne pas une augmentation importante du temps d’exécution. Cependant, si un sous-VI est appelé dans une boucle un grand nombre de fois, il vaut mieux intégrer la boucle dans le sous-VI.

· Appels aux variables globales et locales
L’appel aux variables globales et locales doit se faire avec parcimonie. En effet, la lecture d’une de ces variables entraîne la création d’une copie de la donnée dans un nouveau buffer de la mémoire du PC. Plus les données à transférer sont lourdes, plus la mémoire utilisée est grande et, par conséquent, plus la vitesse d’exécution ralentit.

· Appels aux nœuds de propriété et références à la commande
L’utilisation des nœuds de propriété et des références à la commande peut ralentir de manière drastique l’exécution d’un VI. L’utilisation d’un nœud de propriété pour actualiser la valeur d’un objet de la face-avant est moins performante que l’accès par variable locale. Dans tous les cas de figures, la méthode la plus efficace consiste à directement relier les données du diagramme par un fil.

· Structure à boucles parallèles
Lorsque plusieurs boucles tournent en parallèle et que certaines d’entre elles sont moins critiques que les autres, il est conseillé d’utiliser une temporisation dans les boucles les moins importantes. Ceci permettra aux sections critiques (boucle d’acquisition de données) d’être exécutées plus fréquemment que d’autres sections (interface utilisateur) moins critiques.

· Traitements
De manière générale, il faut supprimer tout calcul ou traitement inutile dans une boucle et si possible extérioriser le code hors des boucles While ou For.


Liens rattachés:

Pièces jointes:





Date du rapport: 12/05/2003
Dernière mise à jour: 12/05/2003
ID du document: 3441APK4

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit