Affichage et contrôle à distance de faces-avant avec le serveur Web

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)

Vous pouvez afficher et contrôler la face-avant d'un VI à distance, soit à partir de LabVIEW, soit à partir d'un navigateur Web, en vous connectant au serveur Web intégré de LabVIEW. Lorsque vous ouvrez une face-avant distante à partir de l'ordinateur d'un client, le serveur Web envoie la face-avant au client, mais le diagramme et tous les sous-VIs restent sur l'ordinateur du serveur. Vous pouvez interagir avec la face-avant de la même façon que si le VI s'exécutait sur le client, mis à part le fait que le diagramme s'exécute sur le serveur. Utilisez cette fonctionnalité pour publier des faces-avant entières ou pour contrôler vos applications à distance de manière sûre, aisée et rapide.

Remarque  Utilisez le serveur Web de LabVIEW si vous voulez contrôler des VIs entiers. Utilisez les variables partagées pour lire et écrire des données sur une commande unique de la face-avant d'un VI.

Configuration du serveur pour les clients

Côté serveur, l'utilisateur doit d'abord configurer le serveur pour qu'un client puisse visualiser et contrôler une face-avant à distance en utilisant LabVIEW ou un navigateur Web. Configurez le serveur Web en sélectionnant Outils»Options et les pages Serveur Web dans la liste Catégorie. Utilisez ces pages pour contrôler l'accès au serveur et spécifier les faces-avant qui seront disponibles à distance. Vous pouvez également utiliser ces pages pour fixer une limite au temps de contrôle autorisé à un client distant lorsque d'autres clients sont en attente du contrôle du VI.

Le serveur Web permet à plusieurs clients de se connecter simultanément à la même face-avant, mais un seul client peut contrôler la face-avant à la fois. L'utilisateur à l'ordinateur serveur peut reprendre le contrôle de n'importe quel VI à tout moment. Quand l'utilisateur qui contrôle le VI change une valeur sur la face-avant, toutes les faces-avant client reflètent ce changement. Cependant, les faces-avant client ne reflètent pas tous les changements. De manière générale, les faces-avant client ne reflètent pas les modifications apportées à l'affichage des objets de la face-avant, mais bien celles apportées aux valeurs réelles de ces objets. Par exemple, si l'utilisateur qui a le contrôle change le mode de représentation ou l'espacement des marqueurs d'une échelle d'un graphe déroulant ou s'il affiche et cache une barre de défilement, seule la face-avant de cet utilisateur reflétera ces modifications.

Affichage et contrôle de faces-avant dans LabVIEW ou à partir d'un navigateur Web

Un client peut afficher et contrôler une face-avant à distance à partir de LabVIEW ou d'un navigateur Web.

Les ordinateurs client et serveur doivent exécuter la même version de LabVIEW. Si vous utilisez un navigateur pour visualiser et contrôler une face-avant distante, vous devez utiliser une version du moteur d'exécution de LabVIEW qui est compatible avec la version de LabVIEW sur l'ordinateur serveur. Par ailleurs, veuillez contacter l'administrateur du serveur pour qu'il ou elle s'assure que le document HTML spécifie la bonne version du moteur d'exécution de LabVIEW.

Remarque  Avant de pouvoir visualiser et contrôler une face-avant à distance, vous devez activer le serveur Web sur l'ordinateur serveur où se trouve le VI ou l'application à visualiser et à contrôler.

Affichage et contrôle des faces-avant dans LabVIEW

Pour afficher une face-avant distante en utilisant LabVIEW comme client, sélectionnez Exécution»Se connecter à une face-avant distante pour afficher la boîte de dialogue Connexion à une face-avant distante. Utilisez cette boîte de dialogue pour spécifier l'adresse Internet du serveur et le VI que vous voulez afficher. Par défaut, la face-avant de VI distante est initialement en mode observateur. Vous pouvez demander le contrôle en cochant l'option Demander le contrôle dans la boîte de dialogue Connexion à une face-avant distante lorsque vous demandez un VI. Quand le VI apparaît sur votre ordinateur, cliquez avec le bouton droit de la souris n'importe où sur la face-avant et sélectionnez Demander le contrôle dans le menu local. Vous pouvez aussi accéder à ce menu en cliquant sur la barre d'état située en bas de la fenêtre de la face-avant. Si aucun autre client n'a le contrôle à ce moment-là, vous avez le contrôle de la face-avant. En revanche, si un autre client contrôle le VI à ce moment-là, le serveur gardera votre demande dans une file d'attente jusqu'à ce que l'autre client abandonne le contrôle ou que la limite de la durée du contrôle soit dépassée. Seul l'utilisateur à l'ordinateur serveur peut surveiller la liste des clients dans la file d'attente en sélectionnant Outils»Gestionnaire de connexions à une face-avant distante. Si vous souhaitez enregistrer les données générées par un VI s'exécutant sur un ordinateur distant, utilisez TCP au lieu des faces-avant distantes.

Tous les VIs susceptibles d'être visualisés et contrôlés par les clients doivent être en mémoire sur l'ordinateur serveur. Si le VI demandé est en mémoire, le serveur envoie les données de la face-avant du VI au client demandeur. Si le VI n'est pas en mémoire, la section État de la connexion de la boîte de dialogue Connexion à une face-avant distante affiche un message d'erreur.

Affichage et contrôle de faces-avant à partir d'un navigateur Web

Pour pouvoir visualiser ou contrôler une face-avant à distance via un navigateur Web, les clients qui n'ont pas LabVIEW installé sur leur ordinateur doivent installer le moteur d'exécution de LabVIEW. Le moteur d'exécution de LabVIEW inclut un module "plug-in" LabVIEW de navigation qui s'installe dans le répertoire plug-in du navigateur Web. Le média de LabVIEW contient un installeur pour le moteur d'exécution de LabVIEW.

(Linux) Si vous avez installé Netscape, Mozilla ou Firefox à l'emplacement par défaut, le programme d'installation de LabVIEW installe automatiquement le module plug-in de navigateur nécessaire pour afficher et contrôler des faces-avant à distance au moyen d'un navigateur Web. Sinon, vous pouvez installer manuellement le module plug-in de navigateur en installant le moteur d'exécution LabVIEW, puis en copiant /usr/local/lib/LabVIEW-2012/LV2012NPlugin.so dans le répertoire du module plug-in de navigateur comme, par exemple, /usr/lib/netscape/plugins, /usr/lib/mozilla/plugins ou /usr/lib/firefox/plugins.

Les clients installent le moteur d'exécution de LabVIEW et l'utilisateur à l'ordinateur serveur crée un fichier HTML comprenant un tag <OBJECT> et <EMBED> qui référence le VI que les clients pourront visualiser et contrôler. Ce tag contient une référence URL vers un VI et des informations qui guident le navigateur Web pour transmettre le VI au module plug-in de navigation de LabVIEW. Les clients naviguent vers le serveur Web en entrant l'adresse de celui-ci dans le champ d'adresse ou d'URL situé tout en haut de la fenêtre du navigateur Web. Le module plug-in affiche la face-avant dans la fenêtre du navigateur Web et communique avec le serveur Web de façon à ce que le client puisse interagir avec la face-avant distante. Les clients demandent le contrôle en sélectionnant Demander le contrôle du VI en bas de la fenêtre de la face-avant distante dans leur navigateur Web ou en cliquant n'importe où sur la face-avant avec le bouton droit de la souris et en sélectionnant Demander le contrôle du VI dans le menu local.

Si aucun autre client n'a le contrôle à ce moment-là et si aucune autre fenêtre de navigateur sur la même connexion n'a le contrôle, vous avez le contrôle de la face-avant. En revanche, si un autre client contrôle le VI à ce moment-là, le serveur gardera votre demande dans une file d'attente jusqu'à ce que l'autre client abandonne le contrôle ou que la limite de la durée du contrôle soit dépassée. Seul l'utilisateur à l'ordinateur serveur peut surveiller la liste des clients dans la file d'attente en sélectionnant Outils»Gestionnaire de connexions à une face-avant distante.

Plusieurs clients contrôlant en même temps des faces-avant

Plusieurs clients peuvent contrôler une application ou un VI à distance en même temps. Pour permettre le contrôle simultané d'un VI, le VI doit être réentrant. Pour faire en sorte qu'un VI soit réentrant, sélectionnez Fichier»Propriétés du VI, puis Exécution dans la liste Catégorie et cochez ensuite l'option Exécution réentrante avec copie partagée ou Exécution réentrante avec copies préallouées. LabVIEW ouvre un clone du VI réentrant pour chaque demande client de face-avant distante. Vous pouvez utiliser la propriété Serveur Web:Liste d'accès aux VIs pour limiter par programmation l'accès aux clones déjà en mémoire pour les connexions à des faces-avant distantes.

Fonctionnalités non supportées dans la visualisation et le contrôle des faces-avant distantes

La liste suivante comprend les fonctionnalités non supportées et les recommandations dont il faut tenir compte lors de la visualisation et du contrôle de faces-avant distantes.

  • Du fait des contraintes imposées par un navigateur Web, les applications de type interface utilisateur qui essaient de manipuler les dimensions et la position d'une face-avant ne fonctionnent pas correctement lorsque la face-avant est affichée en tant que partie d'une page Web. Bien que le serveur Web et le module plug-in de navigation de LabVIEW essaient de conserver la fidélité des applications dont l'interface utilisateur est complexe (en particulier celles qui présentent des boîtes de dialogue et des fenêtres de sous-VIs), certaines applications peuvent ne pas fonctionner correctement dans le contexte d'un navigateur Web. National Instruments vous recommande de ne pas exporter ces types d'applications pour les utiliser dans un navigateur Web.
  • Évitez d'exporter des VIs qui comportent des boucles While, mais pas de fonction d'attente. Ces VIs empêchent les tâches en arrière-plan de s'exécuter en un laps de temps raisonnable, ce qui rend les faces-avant inertes et sans réponse lorsqu'elles sont affichées ou contrôlées à distance.
  • Certains VIs peuvent ne pas fonctionner exactement de la même façon à partir d'un ordinateur distant que lorsqu'ils s'exécutent localement. Les contrôles .NET et ActiveX intégrés ne s'affichent pas sur un client distant car ils fonctionnent presque indépendamment de LabVIEW. Si un VI présente la boîte de dialogue de fichier standard, le contrôleur reçoit une erreur car vous ne pouvez pas naviguer à distance dans un système de fichiers. De plus, le bouton Parcourir d'une commande chemin est également désactivé dans les faces-avant distantes.
  • Il se peut que des clients affichant une face-avant à distance observent un comportement différent si la face-avant à laquelle ils se connectent provient d'un exécutable. En particulier, si la face-avant provient d'un exécutable, tous les changements effectués par programmation à la face-avant avant que le client ne se connecte à celle-ci ne sont pas reflétés sur l'ordinateur du client. Par exemple, si un nœud de propriété modifie le sous-titre d'une commande avant qu'un client ne se connecte à la face-avant, le client verra le sous-titre original de la commande et non pas le sous-titre modifié.
  • Seul un contrôleur est en mesure d'afficher à distance la face-avant d'un VI chargé de manière dynamique qui est ouvert et exécuté à l'aide du VI Serveur ou la face-avant d'un sous-VI configuré pour afficher la face-avant lorsqu'il est appelé. Les clients qui ne contrôlent pas le VI ne peuvent pas afficher la face-avant.
  • Il se peut que des diagrammes qui arrivent à obtenir certains effets de type interface utilisateur grâce aux propriétés d'une commande de face-avant soient moins performants lorsque vous contrôlez le VI à partir d'un ordinateur distant. Vous pouvez améliorer les performances de ces VIs en utilisant la fonction Attendre une activité sur la face-avant.
  • LabVIEW ne peut pas générer l'événement Face-avant fermée pour un VI qui est actuellement visualisé ou contrôlé à distance. Si vous être en train de visualiser ou de contrôler un VI à distance, LabVIEW ne peut générer des événements que pour la classe Commandes, qui n'est ni dans la classe VI ni dans la classe Application.

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

Pas utile