Les bonnes pratiques pour gérer les applications NI LabVIEW à l’aide de l’Explorateur de projet

Aperçu

Cet article fait partie d’une série de documents relatifs aux pratiques et outils de génie logiciel pour le développement d’applications d’envergure dans LabVIEW.

Cliquez ici pour visualiser la liste des autres articles


Cet article passe en revue le Projet LabVIEW et fournit des recommandations sur la façon de gérer et d’organiser vos applications LabVIEW. Utilisez ces recommandations pour établir des lignes de conduite et des procédures avant de commencer le développement afin que votre application soit adaptée à un grand nombre de VIs et de développeurs.

Contenu

Définir et identifier les fichiers d’application

Établir des lignes directrices pour stocker et gérer des fichiers nécessite de prévoir comment l’application sera structurée, de quelle façon les fonctionnalités seront réparties, et les types de fichiers au-delà du code source dont il faudra tenir compte. Réfléchissez bien à la façon dont les fonctionnalités seront réparties dans le code et comment collaborer avec des développeurs sur les emplacements de stockage de fichiers et les fichiers ou ressources supplémentaires dont ils auront besoin pour le bon fonctionnement de l’application. Utilisez ces informations dans le prochain paragraphe pour déterminer les critères à utiliser afin de regrouper les fichiers sur disque.

Organiser les fichiers sur disque

L’organisation des fichiers sur disque doit faire l’objet d’une réflexion préalable. Une mauvaise organisation des fichiers constitutifs d’une application d’envergure accroît le temps passé à déplacer et à renommer les fichiers en cours de développement. Si vous traitez un grand nombre de fichiers, n’oubliez pas que ces opérations peuvent présenter un risque considérable pour l’intégrité des liens dans LabVIEW et, par conséquent, pour le comportement de votre application. Établir ces pratiques le plus tôt possible évite de devoir déplacer de grands ensembles de fichiers assez tard dans le processus. Les développeurs peuvent ainsi facilement retrouver des fichiers et déterminer l’emplacement où en enregistrer de nouveaux.

Un grand nombre de développeurs logiciels ont déjà mis en place un certain nombre de pratiques et de systèmes pour déterminer où les fichiers doivent être stockés. Enfin, il existe toute une variété de pratiques et de structures possibles, mais celles qui suivent sont des pratiques courantes qui se sont révélées adaptées à des applications volumineuses. Stocker les fichiers dans un répertoire racine unique garantit que tout ce dont vous avez besoin est facilement accessible, et appliquer une convention de nommage aide les utilisateurs à savoir où trouver les fichiers et où en placer de nouveaux. Les répertoires du disque dur sont souvent utilisés pour regrouper ou catégoriser les fichiers et, par conséquent, séparer les sous-VIs des appelants. Inversement, les structures de répertoires plates rendent difficile l’accès aux fichiers ou la localisation du VI de niveau principal et sont, par conséquent, déconseillées même pour un petit nombre de VIs. Les critères généralement utilisés pour regrouper ces fichiers sont une combinaison de trois éléments : les fonctionnalités, le type et le niveau hiérarchique du fichier dans l’application. En fait, l’organisation sur disque devrait être le reflet des relations entre les fichiers et le code dans l’application.

Figure 1: Cette capture d’écran présente un exemple d’application organisée sur disque sans utiliser l’Explorateur de projet LabVIEW.

La Figure 1 illustre le fait d’organiser tous les fichiers dans un répertoire racine, le fait de séparer le VI de niveau principal des dépendances, et les différents critères selon lesquels « remplir » les fichiers dans des répertoires.

Recommandations

  • Stockez tous les fichiers dans un seul répertoire racine
  • Divisez votre application en parties logiques de taille raisonnable
  • Utilisez des conventions de nommage descriptives et logiques
  • Séparez les VIs de niveau principal des autres codes source
  • Commencez par un diagramme de haut niveau qui contient les principaux composants de votre application (par exemple, le diagramme pourrait inclure des sections séparées pour la configuration, l’acquisition, l’analyse, l’affichage des données, l’enregistrement de données et la gestion d’erreurs).
  • Regroupez ou « remplissez » des fichiers en fonction des critères prédéterminés

Considération spéciale pour les dépendances dynamiques et le code partagé

Les fichiers chargés dynamiquement posent un problème supplémentaire qui mérite souvent une attention particulière. Étant donné que ces fichiers ne sont pas liés de façon statique par des appelants dans l’application, ils peuvent être facilement placés au mauvais endroit ou bien tout simplement oubliés lors du changement d’emplacement ou de chemin vers les fichiers.

Pour faciliter le maintien des liens vers les fichiers appelés de façon dynamique, vous pouvez les regrouper dans un dossier séparé et y faire référence en utilisant des chemins relatifs. Ainsi, s’il est nécessaire de déplacer ou de distribuer l’application, vous aurez la certitude d’avoir les fichiers dont vous avez besoin uniquement en incluant le dossier.

Si des applications volumineuses partagent du code, il est important de garder à l’esprit où ces fichiers sont stockés et que des changements risquent d’affecter d’autres appelants. La réutilisation de code est courante et encouragée pour accélérer le développement en profitant du travail déjà accompli. Les applications semblables peuvent nécessiter les mêmes fonctionnalités, ou différentes branches d’un code peuvent faire référence à un même ensemble de VIs communs. Faire référence à la même copie de code implique que ces fichiers se trouvent en-dehors du répertoire racine de l’une des application au moins. Toutefois, si vous envisagez d’apporter des changements à ces VIs communs, faites des copies locales pour les tester et les intégrer ultérieurement.

Vous pouvez aussi utiliser des fournisseurs de contrôle du code source pour suivre de près les nombreuses versions des logiciels et comparer les changements effectués entre plusieurs itérations. Vous pouvez aussi en savoir plus sur l'utilisation du contrôle de source dans LabVIEW.

Recommandations

  • Conservez les dépendances chargées de façon dynamique dans un dossier commun.
  • Utilisez des chemins relatifs pour référencer des dépendances dynamiques.
  • Minimisez les changements dans le code partagé par des applications.
  • Consacrez du temps à la gestion et à l’intégration des changements dans le code partagé.
  • Utilisez un système de contrôle de code source.

Résumé de l’organisation de fichiers sur disque

Organiser des applications sur disque est essentiel pour garantir que le développement soit adapté à la taille de l’application et au nombre grandissant de VIs. Toutefois, ceci n’est que la première étape d’un processus. Il y a toujours un grand nombre de défis inhérents dont vous pouvez limiter la portée en utilisant des pratiques et des outils plus sophistiqués comme l’Explorateur de projet LabVIEW.

L’Explorateur de projet LabVIEW

L’Explorateur de projet a été introduit dans LabVIEW 8.0 pour offrir aux développeurs une visualisation au niveau système des fichiers dont ils ont besoin pour une application. L’objectif de l’Explorateur de projet LabVIEW est d’aider les développeurs à trouver et organiser facilement des fichiers dans l’environnement de développement et de fournir des fonctionnalités supplémentaires répondant aux défis de la gestion et du développement d’applications LabVIEW d’envergure. Depuis la sortie initiale de l’Explorateur de projet LabVIEW, NI a incorporé plusieurs nouvelles fonctionnalités suite aux commentaires des clients. Pour en savoir plus sur la dernière version de la fenêtre de l’Explorateur de projet, consultez la rubrique Gestion d’un projet dans LabVIEW de l’Aide LabVIEW.

Figure 2: Ce projet présente la façon dont l’application que nous avons vue à la Figure 1 peut être organisée dans l’Explorateur de projet LabVIEW.

Utilisez les projets LabVIEW pour regrouper des fichiers LabVIEW et d’autres fichiers, créer des spécifications de construction, et déployer ou télécharger des fichiers sur cibles. Lorsque vous enregistrez un projet, LabVIEW crée un fichier .lvproj qui contient des références aux fichiers sur disque, des variables, des liens hypertextes, des informations relatives à la configuration, à la construction et au déploiement, etc.

L’Explorateur de projet LabVIEW ne reproduit ni ne copie vos fichiers dans d’autres emplacements sur le disque. Il propose une nouvelle méthode pour afficher les fichiers sur le disque et offre des raccourcis vers les emplacements des fichiers. Grâce à l’Explorateur de projet LabVIEW, vous pouvez :

  • facilement accéder aux fichiers et les parcourir sans quitter LabVIEW
  • personnaliser et filtrer l’organisation des fichiers
  • conserver les liens lors du déplacement ou du renommage des fichiers sur disque
  • éviter, détecter et résoudre les liens incorrects
  • gérer du code pour des cibles matérielles spécifiques1
  • gérer les configurations de construction1
  • intégrer l’interface avec un gestionnaire de contrôle du code source1

1Ceci n’est pas traité dans cet article.

Notez que certaines des fonctionnalités décrites dans cet article sont disponibles uniquement dans LabVIEW 8.5 ou version ultérieure. Pour en savoir plus sur les nouvelles fonctionnalités de la dernière version de LabVIEW, consultez l’article Quelles sont les nouveautés de LabVIEW?

Gestion de vos fichiers dans l’Explorateur de projet

Il y a deux pages pour visualiser les fichiers dans le projet LabVIEW : la page Éléments et la page Fichiers.

Figure 3: La page Fichiers présente une vue filtrée de tous les éléments du Projet au fur et à mesure qu’ils sont localisés sur disque et permet aux utilisateurs d’effectuer des opérations de copie et de renommage.

La vue par défaut est la page Éléments, qui offre une arborescence des éléments que vous avez ajoutés au Projet LabVIEW et qui les regroupe par cible matérielle. Vous pouvez créer des dossiers dans cette vue pour personnaliser la façon dont les fichiers sont organisés ou pour les synchroniser vers un emplacement particulier sur disque. C’est la vue que vous allez utiliser le plus souvent.

Vous ne pouvez pas effacer les fichiers sur disque de la page Éléments. Cela permet aux utilisateurs d’éviter de supprimer du code par inadvertance. Vous pouvez cependant organiser votre code en fichiers sur votre ordinateur en cliquant avec le bouton droit sur les éléments de la vue Fichiers et en sélectionnant Déplacer sur le disque...

La page Fichiers affiche l’emplacement physique sur le disque des fichiers constitutifs du projet. Utilisez cette vue pour effectuer les mêmes opérations sur fichiers que vous feriez normalement depuis votre explorateur de fichier système, comme par exemple déplacer, copier ou effacer. Dans la mesure où LabVIEW est au courant des changements, il est capable de mettre à jour les appelants et de conserver les liens lorsque des changements sont apportés.

Vous pouvez personnaliser la hiérarchie des fichiers dans l’Explorateur de projet LabVIEW sans modifier la disposition des fichiers sur disque : il est tout de même conseillé que l’organisation du Projet LabVIEW reflète la hiérarchie que vous avez déjà sur disque de façon aussi fidèle que possible.

Utilisation de dossiers dans le projet LabVIEW

Vous pouvez organiser le contenu de votre projet LabVIEW en utilisant deux types de dossiers : les répertoires virtuels et les répertoires remplis automatiquement. Avec les répertoires virtuels, vous pouvez personnaliser l’organisation des éléments du projet sans apporter de modifications sur le disque.

Figure 4: Les utilisateurs peuvent choisir des dossiers virtuels ou remplis automatiquement en organisant les fichiers dans l’Explorateur de projet LabVIEW.

Les dossiers virtuels sont tout à fait adaptés si vous voulez modifier l’organisation des fichiers dans LabVIEW sans apporter de modifications à leurs emplacements de stockage sur disque. Si vous ajoutez un dossier sur disque dans l’Explorateur de projet LabVIEW sous forme de dossier virtuel, son contenu correspondra à un instantané des fichiers sur le disque au moment où vous l’avez ajouté. Si vous procédez à d’autres changements ultérieurs, comme l’ajout de nouveaux fichiers, ces changements n’apparaissent pas dans le Projet LabVIEW. Cependant, vous pouvez effectuer des changements de façon manuelle en glissant de nouveaux fichiers dans le Projet LabVIEW ou convertir de façon temporaire le dossier virtuel en dossier automatiquement rafraîchi.

Avec ces dossiers virtuels, vous pouvez regrouper des fichiers en provenance de deux emplacements ou plus sur disque dans l’Explorateur de projet LabVIEW. Ils servent aussi à filtrer les informations affichées dans l’Explorateur de projet LabVIEW pour vous aider à déterminer si les fichiers sont regroupés avec d’autres éléments inutiles.

NI a introduit les dossiers remplis automatiquement dans LabVIEW 8.5 pour refléter de façon automatique le contenu des dossiers sur disque. Les dossiers remplis automatiquement sont synchronisés vers un dossier physique, ce qui signifie qu’ils affichent toujours n’importe quel changement ou modification apporté(e) à cet emplacement en dehors de l’environnement de développement LabVIEW. Utilisez les dossiers remplis automatiquement autant que possible pour conserver la hiérarchie des dossiers sur le disque dans l’Explorateur de projet LabVIEW. Les dossiers remplis automatiquement ne sont pas conseillés pour gérer des bibliothèques de projets ni des classes LabVIEW ou pour essayer de résoudre une grande quantité de références croisées.

Recommandations

Utilisez les dossiers remplis automatiquement et virtuels pour mettre en place l’organisation et la structure pour les fichiers de vos applications dans l’Explorateur de projet LabVIEW. Les dossiers remplis automatiquement sont idéaux pour préserver et maintenir la structure des fichiers sur le disque dans le projet, mais il existe des cas où vous ne pouvez pas les utiliser ou alors une personnalisation est nécessaire. Dans ces cas-là, utilisez des dossiers virtuels pour personnaliser l’organisation des fichiers dans l’Explorateur de projet LabVIEW.

Dépendances

LabVIEW charge automatiquement tous les sous-VIs liés de façon statique en mémoire lorsque vous ouvrez le VI appelant. La partie Dépendances de l’Explorateur de projet LabVIEW est automatiquement occupée par ces mêmes sous-VIs s’ils n’ont pas été ajoutés au Projet LabVIEW au moment où le VI appelant est chargé dans l’Explorateur de projet LabVIEW. Depuis LabVIEW 8.5, les dépendances des utilisateurs sont séparées du contenu du vi.lib pour faciliter l’identification des fichiers écrits par les développeurs des applications.

L’ajout de fichiers au Projet LabVIEW indique à LabVIEW quels fichiers et ressources vont être utilisés dans une application. Vérifiez la partie des dépendances pour vous assurer que vous avez bien ajouté tout ce dont vous avez besoin dans votre Projet LabVIEW. Si ce n’est pas le cas, les fichiers restants figurent dans cette section. C’est une étape importante pour s’assurer que vous utilisez bien les sous-VIs voulus.

Un VI de votre projet peut être lié de façon incorrecte à un sous-VI, auquel cas lors de l’ajout dans le Projet LabVIEW du sous-VI que vous souhaitez utiliser, LabVIEW signale qu’un ou plusieurs VIs appelants risquent d’être liés à un sous-VI différent de celui attendu, portant le même nom. On parle de référence croisée. 

Référence croisée

LabVIEW ouvre des sous-VIs depuis l’emplacement stocké dans le VI appelant en utilisant des chemins relatifs. Si LabVIEW ne trouve pas de sous-VI à l’emplacement voulu, il recherche le sous-VI par nom. LabVIEW charge en mémoire le premier sous-VI qu’il trouve sous ce nom et informe l’utilisateur des liens modifiés. Dans la mesure où plusieurs VIs aux différentes fonctionnalités peuvent partager un nom commun (comme par exemple initialize.vi), ou deux versions du même VI peuvent exister dans des emplacements distincts, LabVIEW peut établir un lien vers le mauvais fichier.

Empêcher les références croisées

Une référence croisée se passe habituellement après avoir déplacé ou copié de grands ensembles de fichiers pour reproduire une hiérarchie de code dans un nouvel emplacement sur disque. Si des chemins relatifs changent, des liens peuvent être corrompus et votre application risque d’être liée à un mauvais ensemble de dépendances, de façon inexpliquée.

LabVIEW ne peut pas charger en mémoire deux VIs différents portant le même nom. Par conséquent, en ouvrant deux applications qui font référence à des sous-VIs séparés mais portant le même nom, cela signifie que l’une des applications s’exécute en utilisant la mauvaise dépendance.

 Recommandations

Il existe plusieurs mesures à prendre pour empêcher la référence croisée :

  • Évitez de travailler simultanément sur plusieurs applications avec des dépendances en commun sur la même machine
  • Utilisez des applications de contrôle du code source pour préciser avec exactitude là où les fichiers doivent se trouver et pour conserver des appelants correctement liés
  • Évitez de déplacer ou de copier des segments de votre application
  • Ajoutez tous vos fichiers dans un Projet LabVIEW pour indiquer quelles ressources vous avez l’intention d’utiliser
  • Évitez d’utiliser des noms courants comme initialize.vi
  • Qualifiez des noms communs en utilisant les bibliothèques de projets pour dissocier l’appel à deux fonctions portant le même nom

Identifier les conflits

Garantir une liaison correcte est un défi commun à tous les langages de programmation. Avancer avec précaution peut minimiser les références croisées et offrir des sauvegardes de fichiers correctement liés, mais cela reste un problème important pour les fournisseurs qui développent des applications volumineuses. Le Projet LabVIEW de LabVIEW 8.5 a introduit plusieurs nouvelles fonctionnalités qui visaient à aider les développeurs à détecter et à résoudre des références croisées.

Figure 5: LabVIEW est capable d’avertir de façon automatique l’utilisateur de la présence de conflits.

La fonctionnalité la plus utile en termes de références croisées est le fait que le Projet LabVIEW détermine si un VI est en train d’appeler un sous-VI portant le même nom qu’un fichier que vous avez ajouté au Projet LabVIEW. LabVIEW vous en informe par un indicateur jaune sur l’icône du fichier. Il existe alors plusieurs méthodes pour trouver davantage d’informations sur les fichiers afin de déterminer lequel est la bonne version :

  • Cliquez avec le bouton droit de la souris sur le fichier .lvproj dans l’Explorateur de Projet LabVIEW et choisissez « Trouver les éléments sans appelants ». Si vous avez des VIs non liés en dehors de votre VI de niveau principal, ils figurent ici.
  • Cliquez avec le bouton droit de la souris sur un VI et choisissez Trouver >> Appelants pour identifier quel VI est en train de l’appeler ou s’il n’a pas d’appelants.
  • Dans la barre d’outils du menu, choisissez Projet >> Afficher les chemins des éléments pour voir l’emplacement sur disque de tous les fichiers de la page Éléments.
  • Cliquez sur l’icône de la barre d’outils « Résoudre les conflits... » pour obtenir des informations détaillées sur tous les VIs à références croisées.

Une fois que vous avez identifié les références croisées et déterminé la façon de solutionner les liens, vous pouvez procéder aux corrections de façon manuelle ou utiliser les outils de l’Explorateur de projet LabVIEW pour avancer dans le processus.

 Résolution des conflits

Il existe de nombreuses méthodes pour résoudre les conflits une fois que LabVIEW les a détectés. Suivre les conseils ci-dessous va vous permettre de préserver les liens vers les sous-VIs tout en effectuant les changements nécessaires.

Recommandations

  • S’il y a des conflits dans un dossier rempli automatiquement, vous devez stopper le rafraîchissement automatique ou résoudre les conflits en renommant les éléments sur la page Fichiers.
  • Si un ou plusieurs appelants sont mal liés à un sous-VI en dehors de l’Explorateur de projet LabVIEW, il faut que vous reliiez ces VIs au sous-VI approprié dans le Projet LabVIEW. Cliquez avec le bouton droit sur un VI en conflit dans la fenêtre de l’Explorateur de projet LabVIEW et sélectionnez « Remplacer » dans le menu local pour choisir le bon sous-VI sur disque. Répétez ce processus pour n’importe quel autre conflit persistant.
  • Si les appelants font référence à plusieurs éléments portant le même nom, mais que seul un élément existe sur disque, vous pouvez cliquer avec le bouton droit sur un élément en conflit et sélectionner « Remplacer par l’élément trouvé par le projet » dans le menu local.
  • Si plusieurs éléments portant le même nom ont été ajoutés au Projet LabVIEW et que vous voulez les utiliser tous les deux dans votre application, renommez-les et ajoutez-les à des Bibliothèques de projet séparées afin de qualifier leurs noms.

Vous pouvez automatiser ces conseils avec la boîte de dialogue « Résoudre les conflits ». Sélectionnez Projet » Résoudre les conflits dans la fenêtre de l’Explorateur de projet LabVIEW pour afficher cette boîte de dialogue. Vous pouvez aussi cliquer sur la barre d’outils « Résoudre les conflits » ou cliquer avec le bouton droit sur un élément en conflit dans la fenêtre de l’Explorateur de projet LabVIEW et sélectionner « Résoudre les conflits » dans le menu local pour afficher cette boîte de dialogue. 

Figure 6: La boîte de dialogue « Résoudre les conflits » invite les utilisateurs à choisir le bon sous-VI.

Cette boîte de dialogue comprend les éléments suivants :

  • Conflits : affiche les conflits du projet par nom qualifié.
  • Comparer : compare deux VIs en conflit.
  • Utiliser l’élément choisi : résout le conflit lorsque vous sélectionnez un élément à utiliser. Si la liste de conflits contient uniquement des éléments de niveau principal, LabVIEW supprime du Projet LabVIEW tous les éléments de la liste de conflits à l’exception de l’élément sélectionné. LabVIEW ne peut pas modifier les dossiers remplis automatiquement dans la boîte de dialogue « Résoudre les conflits du projet ». Vous pouvez résoudre manuellement ces éléments ou désactiver le dossier rempli automatiquement en cliquant avec le bouton droit sur le dossier et en sélectionnant « Arrêter le remplissage automatique » dans le menu local.

Utilisez cette boîte de dialogue pour résoudre les conflits en redirigeant les éléments en conflit de façon à appeler des éléments dépendants à partir du bon chemin.

Résumé

En suivant les conseils de cet article, vous pouvez établir des lignes directrices de développement et de gestion d’applications qui vous permettront de développer des applications d’envergure. N’oubliez pas d’accorder une attention particulière à l’organisation des fichiers sur disque et d’établir des critères pour trier les fichiers. Utilisez l’Explorateur de projet LabVIEW pour une visualisation au niveau système de votre application afin d’accéder et de naviguer facilement dans les fichiers, et de tirer parti des outils pour détecter des références croisées.

Was this information helpful?

Yes

No