Discussions au sujet de NI LabVIEW

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

Réentrance : autorisation d'appels simultanés au même sous-VI

Résolu !
Accéder à la solution

oui Jb, faute de frappe, je travaille bien avec une PCI 6254.

 

As tu des pistes pour m'aider? 

0 Compliments
Message 11 sur 16
1 697 Visites

Cette carte DAQ ne permet pas de démarrer une nouvelle tâche AI alors qu'une autre est déjà en cours. Ce qui n'exclue pas le démarrage d'une tâche comportant plusieurs AI.

Voir ton code permettrait une réponse plus certaine mais il me semble évident que cela est la source de ton problème. Je suppose que le driver NI-DAQmx retourne une erreur pour indiquer ce conflit de ressource.

 

Quelle est la durée d'une acquisition AI ?

 

Si la durée n'est pas trop longue, une solution consiste à mettre en place un verrou pour garantir un accès unique à la carte de mesure. Cela peut se faire facilement à l'aide d'un sémaphore. Voici le principe à implémenter dans le VI déclenchant la mesure AI et dont plusieurs instances peuvent être exécutées en parallèle en raison de sa réentrance :

  1. Attendre que la carte de mesure soit libre
  2. Réserver accès à la carte
  3. Réaliser mesure
  4. Libérer accès à la carte

Suffisamment clair ?

0 Compliments
Message 12 sur 16
1 693 Visites

Complément d'information : si la durée de l'acquisition représente la grande majorité du temps d'exécution du VI, tout cela n'apportera quasi rien en termes de parallélisme. Autant supprimer la réentrance du VI car cela évitera aussi les accès multiples à la carte de mesure.

 

Selon les fonctions de ton VI, la méthode appropriée pourrait donc être autre que celle suggérée qui garantit un accès exclusif à la ressource unique qu'est la carte de mesure.

 

PS : Difficile d'apporter une aide précise quand la description du problème est du genre avare.

0 Compliments
Message 13 sur 16
1 675 Visites

Bonjour JB, 

 

Je te remercie pour ces infos, je vais eassyer de trouver la solution à mon problème. 
Le temps d'aquisition peut aller jusqu'à deux heures-trois heures. 

Peut-être que que j'ai mal compris le rôle de la réentrance. En effet la durée de l'acquisition représente la grande majorité du temps d'exécution du VI. 


Encore merci, 

 

Alexandra

 

0 Compliments
Message 14 sur 16
1 622 Visites
Solution
Accepté par ddepann

Le sujet ne semble pas bien pressant...

 

Si une acquisition dure aussi longtemps, il faut soit :

  • utiliser une carte DAQ par voie --> aucun conflit de ressources
  • en conservant une seule carte DAQ, mesurer toutes les voies à la fois et extraire les données correspondantes à celle de l'instance du VI
0 Compliments
Message 15 sur 16
1 605 Visites
Solution
Accepté par ddepann

Bonjour JB, 

 

En effet, la solution était de mesurer N voies en mêmes temps plutôt que de faire N tâches associé à chaque voie. 

Analogique>> voies multiples >> échantillons unique >> DBL 1D ou Waveform 1D

 

Je te remercie pour ton aide, 

 

Alexandra Falkiner-Andrews. 

0 Compliments
Message 16 sur 16
1 601 Visites