Par défaut, si vous démarrez plusieurs appels asynchrones du même VI, LabVIEW effectue les appels en série, en les forçant à s'exécuter un par un, ce qui rallonge la durée d'exécution cumulative. Utilisez la procédure suivante pour exécuter les appels en parallèle, ce qui empêche un appel de retarder l'exécution d'un autre appel.

Éléments utilisés

Utilisez les objets du diagramme de la figure suivante pour démarrer de manière dynamique un appel asynchrone d'un VI réentrant et recueillir les sorties du VI par la suite :

Comment procéder

Créez le diagramme de la figure suivante pour démarrer plusieurs appels asynchrones d'un VI réentrant puis recueillir les résultats.



La liste suivante décrit d'importants détails concernant le diagramme précédent.

Remarque L'Aide LabVIEW affiche les marqueurs d'option de la fonction Ouvrir une référence de VI en représentation hexadécimale. Par conséquent, changez toujours le format d'affichage de l'entrée constante numérique au format hexadécimal pour être sûr de passer la valeur correcte.
Remarque Si vous voulez ignorer les résultats des appels asynchrones, n'utilisez pas le nœud Attendre un appel asynchrone et utilisez le marqueur d'option 0x80 au lieu du marqueur d'option 0x100.

Mises en garde et recommandations

Les propriétés et méthodes du VI Serveur ne peuvent pas modifier les instances parallèles d'un appel de VI asynchrone. Si vous appelez une propriété ou méthode du VI Serveur sur une référence 0x40, la propriété ou méthode ne peut pas modifier le clone de VI appelé en réalité par le nœud Démarrer un appel asynchrone. Par contre, la propriété ou méthode a un effet sur le VI cible d'origine. Pour appliquer des propriétés ou méthodes VI Serveur au clone de VI appelé réellement par le nœud Démarrer un appel asynchrone, appelez la propriété ou la méthode dans le VI cible.

Exemples

Reportez-vous au VI Asynchronous Call and Collect (Using Option 0x40).vi du répertoire labview\examples\Application Control\VI Server\Asynchronous Call By Reference pour consulter un exemple d'appels asynchrones d'instances parallèles d'un VI pour diminuer le temps d'exécution.

Reportez-vous au VI Benchmarking Asynchronous Calls.vi, dans le répertoire labview\examples\Application Control\VI Server\Asynchronous Call By Reference pour comparer plusieurs approches synchrones et asynchrones permettant d'effectuer la même tâche.