Méthodes de communication de données dans LabVIEW

Aide LabVIEW 2014

Date d'édition : June 2014

Numéro de référence : 371361L-0114

»Afficher les infos sur le produit
Télécharger l'aide (Windows uniquement)

LabVIEW dispose de plusieurs méthodes de communication de données, chacune adaptée à une situation d'utilisation particulière. Afin de vous assurer que vous implémentez la méthode de communication de données appropriée pour votre application, reportez-vous à l'aperçu présenté dans cette rubrique. Pour obtenir des informations détaillées sur une méthode particulière de communication des données, cliquez sur le nom de la méthode que vous souhaitez consulter.

Type de communication de données : Éléments de flux de données Interfaces buffer Interfaces de type variable
Utilisation : Envoi de données entre la plupart des objets du diagramme. Envoi de données entre plusieurs emplacements lorsqu'il est important d'éviter d'écraser ou de perdre des valeurs. Stockage d'une valeur facilement accessible en mémoire et lorsque la valeur la plus récente prime. À utiliser avec précaution pour éviter les situations de compétition.
Exemples : Transfert de données d'une sortie de VI à une entrée de VI. Acquisition d'une waveform, envoi d'un message ou d'une commande, diffusion d'une image en continu. Surveillance de la température actuelle, surveillance de l'état du système.
Catégories :

— Fil

— Registre à décalage

— Nœud de rétroaction


Sur la cible ou l'ordinateur

— File d'attente

— FIFO RT

— Événements utilisateur

— Asynchronous Message Communication (AMC) Reference Library



En réseau

— Flux réseau

— TCP

— Simple TCP Messaging (STM) Reference Library



Sur un FPGA

— FIFO de cible

— FIFO définie par VI

— DRAM



Entre un FPGA et un hôte

— FIFO DMA



De FPGA à FPGA

— FIFO P2P (Peer-to-Peer)


Sur la cible ou l'ordinateur

— Variable locale

— Variable globale

— Variable globale fonctionnelle (VGF)

— Variable partagée à processus unique

— Référence de valeur de données

— Current Value Table (CVT)



En réseau

— Variables partagées publiées sur réseau

— API Variable partagée programmée

— Services Web

— UDP



Sur un FPGA

— Variable globale

— Élément de mémoire

— Élément de registre



Entre un FPGA et un hôte

— Lire/Écrire à une commande (Read/Write Control)

— Moteur de balayage NI et variables

— Variable d'E/S définies par l'utilisateur




Éléments de flux de données

Pour tirer parti de l'environnement de programmation par flux de données dans LabVIEW, il vous est conseillé d'utiliser des fils de liaison, des registres à décalage et des nœuds de rétroaction comme principale méthode de communication de données dans votre application.

Méthode Attributs
Fil de liaison
  • Méthode principale de transfert de données entre les objets du diagramme
Registre à décalage
  • Méthode principale de transfert de données entre les itérations de boucle
Nœud de rétroaction
  • Méthode principale de transfert de données entre les itérations de code (ne requiert pas de boucle)



Interfaces buffer

Utilisez des interfaces buffer lorsque vous devez envoyer des données d'un emplacement à un autre et que vous ne souhaitez pas écraser ni perdre de valeurs. Une interface buffer est souvent représentée comme un buffer FIFO (first-in, first-out) à un ou plusieurs éléments dans lequel une ou plusieurs sources d'écriture ajoutent des données à une extrémité du buffer et une source de lecture récupère des données à l'autre extrémité.

Sur la cible ou l'ordinateur

Méthode Attributs
File d'attente
  • Taille et options d'accès flexibles
  • Non déterministe
FIFO RT (Module Real-Time)
  • Déterministe
  • Le mode Interrogation (par défaut) gère les temps d'attente de lecture et d'écriture de manière déterministe, mais augmente le temps système du processeur
  • Le mode Blocage optimise l'utilisation du processeur pendant les temps d'attente d'écriture et de lecture, mais ne gère pas les opérations de manière déterministes
  • Moins flexible que les files d'attente à cause de la taille fixe et des options d'accès limitées
Événements utilisateur
Asynchronous Messaging Communication (AMC) Library

(Disponible sur ni.com)

  • Communication par messages envoyés dans un processus ou entre des processus
  • Plus facile d'emploi que les files d'attente lorsqu'un framework de messagerie est désigné
  • Inclut le modèle Gestionnaire de messages dans une file d'attente (GMF)

    Remarque Il s'agit d'une ressource de la communauté dont le contenu est soumis aux dispositions du document Sample Code License Terms, disponible sur ni.com/samplecodelicense.


En réseau

Méthode Attributs
Flux réseau
  • Communication un à un
  • Plus facile à implémenter que le TCP
  • Gère automatiquement les déconnexions et reconnexions
  • Unidirectionnel
  • Disponible uniquement pour les systèmes Windows et temps réel
TCP
  • Des fonctionnalités étendues pour les applications qui requièrent une communication réseau avec des périphériques sans support de flux de réseau
  • Un protocole de bas niveau qui introduit une certaine complexité dans l'implémentation
Simple TCP Messaging (STM) Reference Library

(Disponible sur ni.com)

  • Wrapper de messages pour les fonctions TCP de bas niveau
  • Utilisée pour implémenter une communication de type 1:N, d'un serveur unique vers plusieurs clients

    Remarque Il s'agit d'une ressource de la communauté dont le contenu est soumis aux dispositions du document Sample Code License Terms, disponible sur ni.com/samplecodelicense.


Sur un FPGA

Méthode Attributs
FIFO de cible (Module FPGA)
FIFO définie par VI (Module FPGA)
  • Les options d'implémentation spécifient le type de stockage utilisé par la FIFO : bascules flip-flop, table de correspondance ou bloc de mémoire
  • Évite les conflits de ressources dans les sous-VIs réentrants en dupliquant la ressource pour chaque instance
  • Facilite la réutilisation du code pour les VIs utilisés dans plusieurs projets
  • Non visible ni personnalisable à partir de la fenêtre de l'Explorateur de projet
DRAM (Module FPGA)
  • Interface avec mémoire vive dynamique (DRAM) utilisant un élément de mémoire ou une interface CLIP
  • Fournit un large espace mémoire tampon en comparaison des FIFO de cible ou définies par un VI
  • Latence d'accès non déterministe
  • Non disponible sur toutes les cibles


Entre un FPGA et un hôte

Méthode Attributs
FIFO DMA (Module FPGA)


De FPGA à FPGA

Méthode Attributs
FIFO P2P (Peer-to-Peer) (Module FPGA)



Interfaces de type variable

Utilisez les interfaces de type variable lorsque vous devez stocker en mémoire une valeur à laquelle les sources de lecture et d'écriture peuvent accéder avec peu ou pas de contrôle de flux. Notez qu'il faut utiliser des variables lorsque la valeur la plus récente prime et qu'il est acceptable d'écraser les valeurs précédentes. À utiliser avec précaution pour éviter les situations de compétition.

Sur la cible ou l'ordinateur

Méthode Attributs
Variable locale
  • Stocke des données accessibles à partir d'un seul VI
Variable globale
  • Stocke des données accessibles à partir de plusieurs VIs dans une même instance d'application LabVIEW
Variable globale fonctionnelle (VGF)
  • VI qui utilise des registres à décalage non initialisés pour stocker des données globales
  • Capable d'implémenter des variables globales simples, ainsi que des structures de données plus complexes, telles que des piles ou des buffers de files d'attente
  • Aide à éviter les situations de compétition en définissant des opérations spécifiques que le code appelant peut exécuter sur la variable
Variable partagée à processus unique
Référence de valeur de données
  • Stocke de grands ensembles de données
  • Aide à gérer la mémoire et à éviter la copie des données
Current Value Table (CVT)

(Disponible sur ni.com)

  • Référentiel de données commun aux variables dans des applications comprenant des composantes séparées
  • Utilise moins de ressources informatiques que les variables partagées en centralisant les opérations d'E/S

    Remarque Il s'agit d'une ressource de la communauté dont le contenu est soumis aux dispositions du document Sample Code License Terms, disponible sur ni.com/samplecodelicense.


En réseau

Méthode Attributs
Variable partagée publiée sur réseau
  • Option déterministe disponible
  • Idéal pour le suivi des valeurs
  • Stocke les valeurs sur un serveur de données en réseau (Moteur de variables partagées)
  • Gestionnaire de connexions intégré pour les configurations réseau 1:N et N:1
API Variable partagée programmée
  • Rend la conception plus évolutive en offrant un accès dynamique aux variables au lieu d'une liaison statique basée sur un nœud
  • Accès à plusieurs variables à l'aide d'une seule fonction de l'API Variable
  • Accès aux variables d'E/S publiées sur réseau
Services Web
  • Communication de données en réseau utilisant les protocoles HTTP standard
  • Lecture en continu de données de type MIME standard, comme du texte, des images et des vidéos
  • Construction et déploiement de services Web en utilisant les VIs LabVIEW
UDP
  • Supporte l'unicast (1:1) et le multicast (1:N) pour des communications de bas niveau entre les processus de périphériques
  • Plus performant que le protocole TCP dans les applications qui ne requièrent pas de transfert de données sans perte
  • Un protocole de bas niveau qui introduit une certaine complexité dans l'implémentation
  • Ne garantit pas que les clients reçoivent les données


Sur un FPGA

Méthode Attributs
Variable globale
  • Stocke des données accessibles à partir de plusieurs VIs dans une même instance d'application LabVIEW
Élément de mémoire (Module FPGA)
  • Capable de stocker les valeurs en de multiples points de données
  • Les options d'implémentation spécifient le type de stockage utilisé par l'élément de mémoire : bloc de mémoire, table de correspondance ou DRAM
  • Choix possible entre élément de cible (configuré dans le projet) et élément défini par un VI (configuré dans un VI pour une utilisation réentrante)
Élément de registre (Module FPGA)
  • Capable d'afficher un état à chaque cycle d'horloge
  • Choix possible entre élément de cible (configuré dans le projet) et élément défini par un VI (configuré dans un VI pour une utilisation réentrante)
  • Consomme moins de ressources sur le FPGA que les FIFO


Entre un FPGA et un hôte

Méthode Attributs
Lire/Écrire à une commande (Module FPGA)
  • Lit ou écrit une valeur dans une commande ou un indicateur dans le VI FPGA de niveau principal sur la cible FPGA.
Moteur de balayage NI et variables

(Module FPGA et support du moteur de balayage NI installés sur votre cible)

  • Communication simple et périodique de données d'E/S FPGA vers ou à partir d'un hôte RT
  • Réduit la quantité de code requise pour transférer des données d'E/S entre une cible FPGA et un hôte RT
Variable d'E/S définies par l'utilisateur (Module FPGA)
  • Envoi de données définie par l'utilisateur lorsque le moteur de balayage est utilisé en mode hybride
  • Transfert de données entre un VI FPGA et un VI hôte LabVIEW RT
  • Transfert de données d'E/S de processus FPGA personnalisées


CET ARTICLE VOUS A-T-IL ÉTÉ UTILE ?

Pas utile