Transfert continu des données et envoi de commandes entre applications
- Mise à jour2025-08-27
- Temps de lecture : 4 minute(s)
Flux continu de données entre des applicationsL'envoi de données par flux continu et l'envoi de commandes sont des modèles de communication permettant d'envoyer des données entre deux applications LabVIEW. Utilisez des flux réseau pour réaliser ces tâches. Un flux réseau est une voie de communication unidirectionnelle entre deux points, une extrémité scripteur et une extrémité lecteur. Utilisez les fonctions de la palette Flux réseau et les propriétés d'Extrémité de flux réseau pour concevoir des applications qui utilisent des flux réseau.
Vous pouvez utiliser des flux réseau pour transférer n'importe quel type de données LabVIEW, à l'exception des classes LabVIEW et de la plupart des refnums. Le seul refnum transférable avec des flux réseau est le type de données Vision Image. Les vitesses de transfert sont les plus rapides pour les types de données suivants :
- Scalaires numériques
- Booléens
- Tableaux 1D de scalaires numériques
- Tableaux 1D de booléens
Les figures suivantes représentent certaines des configurations possibles des flux réseau pour le transfert de données.
Dans la figure précédente, un flux réseau transfère les données entre deux applications sur des ordinateurs différents.
Dans la figure ci-dessus, un flux réseau transfère les données entre une application construite et un service Web.
| Remarque Pour faciliter les communications réseau, les flux réseau requièrent plus de temps système que les méthodes de transfert de données sans réseau. Pour transférer des données entre des boucles se trouvant dans la même application, National Instruments vous recommande d'utiliser les méthodes suivantes :
|
Dans la figure précédente, un flux réseau transfère les données entre une application sur un ordinateur et deux applications sur un autre ordinateur.
Dans la figure précédente, un flux réseau transfère les données d'une application sur un ordinateur vers deux applications sur d'autres ordinateurs.
Moteur de flux réseau
Chaque extrémité utilise un buffer FIFO pour transférer les données. Le moteur NSE (Network Streams Engine) utilise LogosXT pour transférer les données du buffer FIFO sur l'extrémité scripteur au buffer FIFO sur l'extrémité lecteur.
La figure suivante représente le flux de données dans un flux réseau.
Dans la figure précédente, les données circulent dans l'ordre suivant.
- L'extrémité scripteur écrit les données dans un buffer FIFO.
- Le NSE transfère les données via un réseau à un autre buffer FIFO sur l'extrémité lecteur.
- L'extrémité lecteur lit les données de ce buffer FIFO.
Détermination de quand utiliser des flux réseau plutôt que des variables partagées
Utilisez des variables partagées pour publier la toute dernière valeur d'un ensemble de données sur plusieurs ordinateurs. Par contre, utilisez des flux réseau pour enregistrer chaque point de données sur un ordinateur.
Supposons, par exemple, que vous utilisez un accéléromètre pour détecter les vibrations d'une pompe qui met du gaz naturel sous pression dans un pipeline. Vous traitez les données de vibration sur une cible CompactRIO pour surveiller les défaillances de palier et vérifier que la pompe ne tombe pas en panne. Cependant, la cible CompactRIO n'a pas assez de mémoire pour analyser les données. Vous devez donc envoyer les données à un ordinateur de bureau qui a suffisamment de mémoire pour stocker, analyser et afficher les données.
Comme les variables partagées sont optimisées pour publier la dernière valeur des données, elles risquent de ne pas représenter un point de données critique. Par contre, comme les flux réseau envoient tous les points de données à l'ordinateur réseau, vous pouvez surveiller la condition du moteur.
| Remarque Les flux réseau peuvent introduire du jitter dans les boucles temps critique en temps réel (RT). Par conséquent, si vous souhaitez établir un flux de données émanant d'une boucle temps critique avec des flux réseau, National Instruments vous recommande de commencer par partager les données avec une boucle à priorité plus faible. Vous pouvez ensuite utiliser des flux réseau pour transférer les données à une autre application. |