• Spécifications—Les E/S doivent avoir un cadencement matériel. Toutes les valeurs en sortie doivent être mises à jour simultanément à l'arrivée du front de l'horloge d'échantillonnage.
  • Solution—Utilisez la fonction ou le VI DAQmx - Attendre la prochaine horloge d'échantillonnage pour vérifier qu'il n'y a pas encore eu de nouveau front de l'horloge d'échantillonnage.

    Avantages

    • Vous êtes sûr que les échantillons en sortie de l'itération en cours sont alignés avec les échantillons en entrée de l'itération suivante.
    • NI-DAQmx renvoie une erreur si la fonction ou le VI DAQmx - Attendre la prochaine horloge d'échantillonnage n'a pas encore démarré quand le front suivant de l'horloge d'échantillonnage se produit.
    • La fluctuation des E/S est limitée à la fluctuation de l'horloge matérielle, qui est de l'ordre de quelques nanosecondes.

    Restrictions

    Les opérations de lecture, de traitement et d'écriture sont limitées au temps disponible entre le moment où le périphérique commence l'acquisition des données et celui où le front suivant de l'horloge d'échantillonnage survient.

  • Exemple d'application : E/S à cadencement matériel mises à jour simultanément

    Un exemple de ce genre d'application est une boucle de contrôle analogique qui lit des échantillons sur un nombre spécifique de voies d'entrée analogique, traite les données en utilisant un algorithme de contrôle (PID, par exemple) et écrit les nouvelles valeurs de contrôle sur les voies de sortie analogique.



    Exemple LabVIEW : E/S à cadencement matériel mises à jour simultanément

    Remarque Bien que cet exemple soit écrit pour les utilisateurs de LabVIEW, les principes sont les mêmes si vous utilisez un autre logiciel de développement d'applications, comme LabWindows/CVI.

    Exemple LabVIEW

    • Câblez le VI DAQmx - Attendre la prochaine horloge d'échantillonnage à une des tâches à cadencement matériel. Utilisez le câblage du flux de données pour assurer que le VI DAQmx - Attendre la prochaine horloge d'échantillonnage s'exécute après l'appel de AO Écrire.
    • Si le VI DAQmx - Attendre la prochaine horloge d'échantillonnage ne démarre pas avant l'arrivée du front suivant de l'horloge d'échantillonnage, il renvoie une erreur.

    Exemple de diagramme



    Remarque
    • N'utilisez qu'un seul VI DAQmx - Attendre la prochaine horloge d'échantillonnage dans une boucle LabVIEW. Si vous avez plusieurs tâches d'E/S point par point à cadencement matériel dans la même boucle LabVIEW, vous pouvez connecter le VI DAQmx - Attendre la prochaine horloge d'échantillonnage à n'importe quelle tâche point par point à cadencement matériel de cette boucle.
    • Si vous préférez recevoir une mise en garde plutôt qu'une erreur en cas de dépassement de cycle, définissez la propriété DAQmx - Temps-réel»Convertir les erreurs de retard en mises en garde à Vrai.
    • Le VI DAQmx - Attendre la prochaine horloge d'échantillonnage a deux modes de fonctionnement : Interrogation et Attendre une interruption. Pour changer ces valeurs, utilisez la propriété DAQmx - Temps réel»Mode Attendre la prochaine horloge d'échantillonnage. Le mode par défaut, Attendre une interruption, permet aux processus à priorités plus basses de s'exécuter quand la boucle à priorité critique attend la prochaine horloge d'échantillonnage. Le mode Interrogation permet des fréquences d'échantillonnage plus élevées, mais les processus à priorités plus basses ne peuvent pas s'exécuter pendant que la boucle à priorité critique attend l'horloge d'échantillonnage suivante.
    • Les appels de l'instance Analogique du VI DAQmx - Lire ont deux modes de fonctionnement : Interrogation et Attendre une interruption. Pour changer ces valeurs, utilisez la propriété DAQmx - Lire»Avancé»Mode d'attente. Le mode Attendre une interruption permet aux processus à priorités plus basses de s'exécuter pendant que la boucle à priorité critique attend que les échantillons demandés soient convertis. Le mode Interrogation permet des fréquences d'échantillonnage plus élevées, mais les processus à priorités plus basses du système ne peuvent pas s'exécuter pendant que la boucle à priorité critique attend les échantillons analogiques convertis.
    • L'application illustrée dans cette section suppose que le VI DAQmx - Attendre la prochaine horloge d'échantillonnage et l'instance analogique du VI DAQmx - Lire utilisent tous deux le mode Attendre une interruption. Pour changer ces valeurs, utilisez les propriétés DAQmx - Lire»Avancé»Mode d'attente et/ou DAQmx - Temps réel»Mode Attendre la prochaine horloge d'échantillonnage.