Lorsque vous effectuez une opération de sortie numérique, vous pouvez effectuer des générations à cadencement logiciel ou matériel.

Générations à cadencement logiciel

Avec une génération à cadencement logiciel, le logiciel contrôle la fréquence à laquelle les données sont générées. Le logiciel envoie une commande distincte au matériel pour initier chaque génération numérique. Dans NI-DAQmx, les générations à cadencement logiciel sont appelées cadencement à la demande. Les générations à cadencement logiciel sont également appelées opérations immédiates ou statiques. Elles sont généralement utilisées pour écrire une seule valeur.

Pour les générations à cadencement logiciel, si une voie DO d'un module série numérique est utilisée dans une tâche à cadencement matériel, aucune voie de ce module ne peut être utilisée dans une tâche à cadencement logiciel.

Générations à cadencement matériel

Avec une génération à cadencement matériel, un signal matériel numérique contrôle la fréquence de génération. Ce signal peut être généré en interne sur le contrôleur ou fourni en externe.

Les générations à cadencement matériel présentent plusieurs avantages par rapport aux acquisitions à cadencement logiciel :

  • Le délai entre les échantillons peut être beaucoup plus court.
  • Le délai entre les échantillons est déterministe.
  • Les acquisitions à cadencement matériel peuvent utiliser le déclenchement matériel.

Mode point par point avec cadencement matériel (HWTSP)

Avec le mode HWTSP, les échantillons sont acquis ou générés en continu en utilisant un cadencement matériel et sans bufférisation. Vous devez utiliser les types de cadencement par horloge d'échantillonnage ou détection de changement. Aucun autre type de cadencement n'est supporté.

Utilisez le mode HWTSP pour savoir si une boucle s'exécute dans un temps donné, comme dans une application de contrôle, par exemple. Comme il n'y a pas de buffer, si vous utilisez le mode HWTSP, vous devez vous assurer que les lectures ou écritures s'exécutent suffisamment rapidement pour suivre le cadencement matériel. Si une lecture ou une écriture s'exécute en retard, une mise en garde est renvoyée.

Sortie numérique bufférisée

Un buffer est un stockage temporaire dans la mémoire de l'ordinateur pour les échantillons générés. Dans une génération bufférisée, les données sont déplacées d'un buffer hôte vers la FIFO intégrée du contrôleur CompactRIO avant d'être écrites dans les modules de la Série C.

L'une des propriétés des opérations d'E/S bufférisées est le mode d'échantillonnage. Le mode d'échantillonnage peut être fini ou continu :

  • Fini—La génération en mode d'échantillonnage fini désigne la génération d'un nombre d'échantillons de données prédéterminé et spécifique. Une fois le nombre d'échantillons spécifié écrit, la génération s'arrête.
  • Continu—La génération continue fait référence à la génération d'un nombre non spécifié d'échantillons. Au lieu de générer un nombre défini d'échantillons de données et d'arrêter, une génération continue se poursuit jusqu'à ce que vous arrêtiez l'opération. Il existe trois modes différents de génération continue qui contrôlent la manière dont les données sont écrites. Ces modes sont la régénération, la régénération embarquée et la non-régénération :
    • En mode de régénération, vous définissez un buffer dans la mémoire hôte. Les données du buffer sont continuellement téléchargées dans la FIFO pour être écrites. De nouvelles données peuvent être écrites dans le buffer hôte à tout moment sans perturber la sortie.
    • Avec la régénération embarquée, la totalité du buffer est téléchargée sur la FIFO et régénérée à partir de là. Une fois les données téléchargées, les nouvelles données ne peuvent plus être écrites sur la FIFO. Pour utiliser la régénération embarquée, l'intégralité du buffer doit pouvoir tenir dans la taille de la FIFO. L'utilisation de la régénération embarquée présente l'avantage de ne pas nécessiter de communication avec la mémoire de l'hôte principal une fois l'opération démarrée, ce qui évite les problèmes pouvant survenir du fait d'un trafic excessif sur le bus ou du temps de latence du système d'exploitation.
      Remarque Installez des modules DO parallèles dans les emplacements 1 à 4 pour maximiser la taille de la FIFO accessible, car l'utilisation d'un module dans les emplacements 5 à 8 réduira la taille de la FIFO accessible.
    • Avec la non-régénération, les anciennes données ne sont pas répétées. De nouvelles données doivent continuellement être écrites dans le buffer. Si le programme n'écrit pas de nouvelles données dans le buffer à une vitesse suffisamment rapide pour suivre la génération, ceci provoque un débordement négatif du buffer et engendre une erreur.