Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

priorité sous-programme

Bonjour,

 

Je suis intéressée sur le niveau de sécurité sous-programme,mais j'ai du mal à comprendre les explications.

 

Lorsqu'un VI s'exécute au niveau de priorité sous-programme, il prend contrôle du thread sur lequel il s'exécute, qui est le thread utilisé par le VI qui l'appelle. Aucun autre VI ne peut s'exécuter dans ce thread tant que le VI de priorité sous-programme n'a pas fini de s'exécuter, même si l'autre VI a aussi le niveau de priorité sous-programme. Dans les applications monothread, aucun autre VI ne s'exécute. Dans les systèmes d'exécution, le thread qui exécute le sous-programme ne traite pas d'autres VIs, mais le deuxième thread de ce système d'exécution, ainsi que les autres systèmes d'exécution, peuvent continuer à exécuter des VIs.

Non seulement l'exécution d'un VI à priorité sous-programme ne partage pas le temps avec d'autres VIs, mais elle est aussi optimisée de sorte que les commandes et les indicateurs de la face-avant ne sont pas mis à jour quand le sous-programme est appelé. La face-avant d'un VI à priorité sous-programme ne révèle rien de son exécution.

 

Y a-t-il quelqu'un a fait des démos pour ça? J'ai fait des tests en créant des VIs, mais j'en suis pas sûre de son fonctinnement.

 

Merci d'avance.

 

Lily

0 Compliments
Message 1 sur 4
3 319 Visites

Bonjour,

 

J'avoue ne pas trop comprendre la question au niveau sécurité... Le fait de mettre un VI en sub-routine permet de changer sa priorité d'exécution dnas le thread et donc d'en optimiser les performances en terme de temsp d'exécution. Pour visualiser cela il suffit de faire un bench pour mesurer le temps d'exécution du VI en mode "normal" et en subroutine et voir si cela améliore réellement les performances. (dans certains cas il n'y aura pas de gains dans d'autres le temps d'exécution va beaucoup diminuer).

 

Cordialement,

 

Rodéric L
Certified LabVIEW Architect
0 Compliments
Message 2 sur 4
3 307 Visites

Un niveau de priorité « sous-programme » monopolise toute la ressource CPU du thread tant que son exécution n’est pas terminée. Un des niveaux les plus prioritaires donc.

Il doit être un petit code (sous-programme) rapide à exécuter et pour des besoins spécifiques le développeur veut que ce dernier s’exécute le plus rapidement possible et monopolise pour cela toutes les ressources disponibles.

Le code doit être très rapide d’exécution.

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

Message 3 sur 4
3 302 Visites

bonjour,

 

Je fait un exemple avec 2 VIs identiques sauf la priorité, on voit bien que c'est bien le VI en priorité sous-programme qui exécute d'abord, ensuite l'autre.

 

Lily

Message 4 sur 4
3 255 Visites