Accès aux données d'E/S balayées (Real-Time, Windows)
- Mise à jour2025-08-27
- Temps de lecture : 6 minute(s)
Utilisez le moteur de balayage NI pour accéder point par point aux données d'E/S scannées.
Utilisation du moteur de balayage NI
Le moteur de balayage NI permet un accès point par point efficace aux ensembles de voies de données, comme les voies d'E/S, en utilisant un balayage qui stocke les données dans un mappage de mémoire global et qui met à jour toutes les valeurs à la même fréquence, appelée fréquence de balayage. Le moteur de balayage NI est installé par défaut sur LabVIEW pour Windows. Vous pouvez aussi installer le moteur de balayage NI sur les cibles LabVIEW supportées, comme les cibles CompactRIO et PXI de la série RT. Reportez-vous à la documentation se rapportant au matériel en question pour obtenir des informations sur le support du moteur de balayage NI.
(Module Real-Time) Par défaut, le moteur de balayage NI s'exécute dans un thread au-dessus de la priorité critique sur les cibles RT, bien que LabVIEW indique le thread de balayage dans la catégorie critique dans le rapport des statistiques d'utilisation du processeur. Lorsque vous exécutez le moteur de balayage NI à une priorité au-dessus de critique, vous devez synchroniser les sections déterministes de l'application avec la période du moteur de balayage pour assurer que le thread de balayage n'aura pas d'effet sur le déterminisme de l'application. Pour les applications dans lesquelles les E/S ne représentent pas la tâche à plus haute priorité, vous pouvez aussi configurer la priorité du moteur de balayage NI entre la priorité critique et la priorité de structure cadencée. Si vous n'avez pas l'intention d'utiliser de variables d'E/S sur une cible, n'y installez pas le moteur de balayage NI. Si le moteur de balayage NI est déjà installé sur la cible, vous pouvez utiliser Measurement & Automation Explorer (MAX) pour le désinstaller.
Configuration des paramètres du moteur de balayage NI
Utilisez la page Moteur de balayage pour configurer les paramètres du moteur de balayage, y compris la période de balayage, la fréquence de la publication sur réseau et le niveau de priorité du moteur de balayage NI.
Utilisez le Gestionnaire de systèmes distribués NI pour surveiller et gérer les défaillances et les modes du moteur de balayage. Sélectionnez Outils»Gestionnaire de systèmes distribués pour afficher le Gestionnaire de systèmes distribués NI. Vous pouvez aussi utiliser les VIs de la palette Moteur de balayage NI pour afficher et configurer les paramètres du moteur de balayage par programmation.
Déploiement et exécution du moteur de balayage NI
Après avoir configuré les paramètres du moteur de balayage NI dans la fenêtre de l'Explorateur de projet, vous devez déployer un élément du projet qui utilise le moteur de balayage NI, comme Poste de travail ou une cible RT pour que les paramètres entrent en vigueur.
(Windows) Le moteur de balayage NI commence à s'exécuter la première fois que vous déployez la cible et arrête de s'exécuter lorsque vous fermez le projet. Pour déployer automatiquement le moteur de balayage NI et les variables d'E/S lorsqu'une application construite s'exécute, vous devez activer l'option Inclure la configuration du matériel cible sur la page Avancé de la boîte de dialogue Propriétés de l'application avant de construire l'application.
(Module Real-Time) Lorsqu'il s'exécute sur une cible RT, le moteur de balayage NI démarre automatiquement lorsque vous démarrez la cible et s'exécute en continu jusqu'à ce que vous éteigniez la cible.
Un ordinateur ne peut exécuter qu'une seule instance du moteur de balayage NI à la fois. Par exemple, si vous créez une application construite Windows qui utilise le moteur de balayage NI, vous devez fermer le projet à partir duquel vous avez construit l'application pour pouvoir exécuter l'application sur le même ordinateur. Bien qu'il soit possible de configurer plusieurs instances du moteur de balayage NI dans plusieurs projets LabVIEW, le déploiement de projets ultérieurs avec le moteur de balayage NI échoue si une instance du moteur de balayage NI est en cours d'exécution. Pour exécuter une autre instance du moteur de balayage NI, vous devez d'abord arrêter l'instance actuelle.
Cadencement du moteur de balayage
Le moteur de balayage NI s'exécute régulièrement aux intervalles déterminés par la Période de balayage que vous spécifiez sur la page Moteur de balayage. Choisissez une période assez longue pour exécuter le balayage même et la logique de l'application, comme le montre l'illustration suivante :
Utilisez le VI Obtenir la période du moteur de balayage pour lire la période de balayage par programmation. Utilisez le VI Définir la période du moteur de balayage pour définir la période de balayage par programmation.
Synchronisation avec le moteur de balayage
(Module Real-Time) À moins d'avoir configuré le moteur de balayage NI pour qu'il s'exécute à une priorité inférieure à Critique, vous devez synchroniser le code critique avec la période de balayage pour ne pas avoir de collisions susceptibles d'avoir un effet sur le déterminisme de l'application.
Utilisez la source de cadencement Synchroniser avec le moteur de balayage pour synchroniser l'exécution de la structure cadencée avec le moteur de balayage. Si vous ne voulez pas utiliser de structure cadencée, vous pouvez utiliser le VI Synchroniser avec le moteur de balayage pour synchroniser avec le moteur de balayage. Ces deux méthodes de synchronisation déclenchent l'exécution à l'instant appelé Fin du balayage dans l'illustration précédente. Pour utiliser des variables d'E/S en tant qu'ensemble de données cohérent, assurez-vous que le code synchronisé finit de s'exécuter avant le lancement de l'itération de balayage suivante. Cependant, vous pouvez sauter des itérations de balayage si le code ne dépend pas d'un ensemble de données cohérent.
Modes du moteur de balayage NI
LabVIEW définit quatre modes pour le moteur de balayage NI :
| 0 | Mode Initialisation | Ne se produit que brièvement au démarrage. |
| 1 | Mode Configuration | Mode requis à la configuration des paramètres du moteur de balayage sur du matériel qui utilise les modes du moteur de balayage NI. |
| 2 | Mode Actif | Mode dans lequel le moteur de balayage s'exécute et met à jour les valeurs. |
| 3 | Mode Défaillance | Mode déclenché quand une défaillance majeure ou irrécupérable survient. |
Utilisez le Gestionnaire de systèmes distribués NI pour afficher et configurer le mode du moteur de balayage. Le Gestionnaire de systèmes distribués NI affiche la valeur du mode du moteur de balayage en utilisant l'élément d'état EngineState. Utilisez le VI Obtenir le mode du moteur de balayage pour lire le mode du moteur de balayage par programmation. Utilisez le VI Définir le mode du moteur de balayage pour définir le mode du moteur de balayage par programmation.