Utilisation de la fonction ou du VI Démarrer une tâche
- Mise à jour2025-12-03
- Temps de lecture : 4 minute(s)
Pour démarrer explicitement une tâche, appelez la fonction ou le VI Démarrer une tâche. Vous démarrez une tâche automatiquement lorsque vous effectuez une autre opération qui démarre implicitement la tâche. Par exemple, l'appel d'une fonction ou d'un VI Lire ou Écrire peut démarrer implicitement la tâche si elle n'a pas déjà démarré. Comment spécifier ce comportement dépend de l'opération effectuée par la tâche. Par défaut, la fonction ou le VI de lecture ou d'écriture d'un seul échantillon démarre automatiquement une tâche.
Démarrage d'une tâche de mesure finie
Si vous avez spécifié une tâche qui doit effectuer une mesure finie, vous n'avez pas besoin d'appeler la fonction ou le VI Démarrer une tâche ni de modifier le comportement par défaut de la fonction ou du VI DAQmx Lire. Quand la fonction ou le VI Lire est appelé, la tâche démarre, la mesure finie est effectuée et la tâche est arrêtée quand le dernier échantillon est lu. La tâche retourne à l'état qu'elle avait à l'appel de l'opération de lecture. Cependant, si vous devez effectuer des opérations de lecture supplémentaires une fois la tâche arrêtée (autrement dit, si vous voulez lire des emplacements antérieurs dans le buffer), le comportement par défaut ne convient pas pour deux raisons :
- La tâche retourne à l'état Vérifiée et les échantillons ne sont plus accessibles.
- Les appels ultérieurs de la fonction ou du VI Lire lancent de nouvelles opérations de lecture plutôt que de lire les données de l'opération achevée.
Dans ce cas-là, programmez explicitement la tâche en appelant la fonction ou le VI Contrôler une tâche et en définissant le paramètre action à Programmer. Ensuite, après avoir effectué l'opération de lecture initiale mais avant d'effectuer les opérations de lecture suivantes, définissez l'attribut/propriété Démarrage automatique de Lire à Faux.
Démarrage d'une tâche de mesure continue
Pour une mesure continue, appelez explicitement la fonction ou le VI Démarrer une tâche, effectuez les opérations de lecture désirées et appelez la fonction ou le VI Arrêter une tâche pour arrêter la mesure continue. Lorsque vous effectuez une opération de lecture dans une boucle (que ce soit une lecture d'un échantillon sur demande ou une lecture de plusieurs échantillons avec un cadencement matériel), appelez la fonction ou le VI Démarrer une tâche avant d'entrer dans la boucle et la fonction ou le VI Arrêter une tâche après en être sorti.
Démarrage d'une tâche de sortie analogique
Le comportement de la fonction ou du VI Écrire est plus complexe. Lorsque la fonction ou le VI Écrire est appelé, la tâche passe toujours au minimum à l'état Programmée. La tâche passe ou non à l'état En cours d'exécution selon la valeur du paramètre Démarrage automatique.
Pour l'écriture d'un échantillon unique, appelez une instance 1 échantillon de la fonction ou du VI Écrire. Cet appel démarre implicitement la tâche, écrit l'échantillon et arrête la tâche. Pour l'écriture de plusieurs échantillons sur demande, appelez la fonction ou le VI Écrire, mais définissez aussi le paramètre Démarrage automatique à Vrai au lieu de garder la valeur par défaut, Faux. Cet appel démarre implicitement la tâche, écrit les échantillons et arrête la tâche.
Pour l'écriture de plusieurs échantillons avec un cadencement matériel, commencez par appeler la fonction ou le VI Écrire pour écrire les échantillons à générer, appelez explicitement la fonction ou le VI Démarrer une tâche, attendez que les échantillons soient générés en appelant la fonction ou le VI Attendre jusqu'à la fin, puis appelez explicitement la fonction ou le VI Arrêter une tâche.
Si vous essayez d'effectuer une génération à cadencement matériel en définissant le paramètre Démarrage automatique de la fonction ou du VI Écrire à Vrai, parce que vous l'avez défini à Vrai explicitement ou parce que vous utilisez une instance à 1 échantillon de la fonction ou du VI Écrire, l'opération risque d'échouer car les échantillons écrits ne sont pas transférés au périphérique à temps pour générer la waveform. Par conséquent, si vous effectuez des opérations à cadencement matériel, écrivez au moins une partie de la waveform à générer avant de démarrer la tâche.
Amélioration des performances avec la fonction ou le VI Démarrer une tâche
Il existe d'autres cas dans lesquels vous devriez appeler explicitement la fonction ou le VI DAQmx - Démarrer une tâche ou DAQmx - Arrêter une tâche, même si ce n'est pas obligatoire. Lorsque vous appelez la fonction ou le VI Lire ou Écrire dans une boucle, vous pouvez améliorer considérablement les performances en appelant explicitement la fonction ou le VI Démarrer une tâche avant d'entrer dans la boucle, et la fonction ou le VI Arrêter une tâche après en être sorti. Si vous n'appelez pas explicitement la fonction ou le VI Démarrer une tâche avant d'entrer dans la boucle, la tâche doit passer implicitement de son état actuel à l'état En cours d'exécution avant d'effectuer la lecture ou l'écriture. Une fois la lecture ou l'écriture terminée, la tâche doit passer implicitement de l'état En cours d'exécution à son état antérieur. Ces transitions d'états implicites se produisent à chaque itération de la boucle, ce qui n'est pas efficace.