Modèles et exemples de projets LabVIEW

Aperçu

LabVIEW dispose de modèles et d'exemples de projets intégrés qui constituent des points de départ spécialement élaborés et recommandés pour garantir la qualité et l'évolutivité d'un système. Tous ces modèles et exemples de projets sont libres et incluent une documentation détaillée conçue de façon à indiquer clairement le fonctionnement du code et les bonnes pratiques pour ajouter ou modifier des fonctionnalités. En plus de présenter les architectures recommandées, ces projets illustrent les bonnes pratiques pour documenter et organiser du code.

Vous pouvez créer un nouveau projet LabVIEW à partir d'un modèle ou d'un exemple de projet existant en cliquant sur "Créer un projet" à partir de la fenêtre de démarrage. La liste des options disponibles dépend des modules logiciels et des drivers que vous avez installés. Ce document recense les modèles et les exemples de projets fournis et supportés par NI.

Contenu

Modèles

Les modèles utilisent les briques élémentaires de la plupart des applications LabVIEW. Il n'est pas rare de devoir combiner plusieurs modèles pour construire des systèmes réels. Ces modèles fournissent des architectures courantes reposant sur des modèles de conception largement reconnus, que l'utilisateur peut modifier à sa guise pour construire un système.

Machine à états simple

Ce modèle simplifie la définition de la séquence d'exécution des sections de code. Souvent appelée machine de Moore, cette implémentation spécifique détermine l'état ultérieur en fonction des décisions prises pendant l'état en cours. La conception de ce modèle facilite l'insertion de nouvelles sections de code, la suppression de sections de code, ou la modification de l'ordre dans lequel ces sections s'exécutent – le tout sans devoir apporter de changements majeurs à la structure de l'application.

| Visionner la présentation multimédia

Gestionnaire de messages dans une file d'attente

Ce modèle facilite l'exécution simultanée de plusieurs sections de code et l'envoi de données entre elles. Chaque section de code représente un processus – comme l'acquisition des données –, et est conçue de la même façon qu'une machine à états. La séparation de ces éléments permet d'obtenir une interface utilisateur réactive et d'enregistrer les données en continu pendant que d'autres messages sont traités.

| Visionner la présentation multimédia

Framework d'acteur

Il s'agit d'un modèle pour créer des applications LabVIEW, composé de plusieurs tâches indépendantes qui doivent communiquer entre elles. Ce framework a été conçu pour se préparer à des scénarios de développement courants susceptibles de provoquer une duplication significative de code lors de l'extension de fonctionnalités ou de l'ajout de processus. Le Framework d'acteur est un modèle avancé qui s'appuie sur les Classes LabVIEW.

| Visionner la présentation multimédia

Exemples de projets pour PC de bureau

Les exemples de projets dédiés aux PC de bureau démontrent l'utilisation d'un ou plusieurs modèles dans une application réelle. Ces projets répondent aux exigences les plus courantes des applications de mesure sur PC de bureau, telles que les interfaces utilisateurs réactives, l'analyse asynchrone, l'enregistrement de données, les boîtes de dialogue utilisateur, la gestion d'erreurs, ainsi que de multiples tâches indépendantes.

Mesure finie

L'exemple de projet Mesure finie effectue une seule mesure et propose des solutions permettant de l'exporter dans un fichier. Cet exemple de projet est conçu comme une machine à états qui peut répondre à des requêtes de l'utilisateur pour configurer et exécuter une mesure*, effectuer des analyses, afficher des résultats et enregistrer des données sur le disque.

Lire la documentation

*NI-DAQmx 9.5.5 (ou toute version ultérieure) installe une deuxième version de cet exemple de projet qui utilise l'API NI-DAQmx pour configurer et acquérir une mesure réelle avec des E/S matérielles.

Mesure continue et enregistrement

L'exemple de projet Mesure continue et enregistrement acquiert des mesures en continu et les enregistre sur le disque. Il exécute cinq boucles en parallèle pour garantir que des tâches diverses et variées puissent être exécutées en même temps tout en répondant à des requêtes de l'utilisateur et en ajoutant ces dernières à une file d'attente. Ces cinq boucles permettent la gestion d'événements, la communication par messages de l'interface utilisateur, l'acquisition*, l'enregistrement et l'affichage des données.

*NI-DAQmx 9.5.5 (ou toute version ultérieure) installe une deuxième version de cet exemple de projet qui utilise l'API NI-DAQmx pour configurer et acquérir une mesure réelle avec des E/S matérielles.

Refroidisseur par évaporation à rétroaction

L'exemple de projet Refroidisseur par évaporation à rétroaction est construit à partir du modèle Framework d'acteur et met en œuvre un refroidissement par évaporation mettant en œuvre des matériels échangeables à chaud, des contrôleurs et des interfaces utilisateur. L'exemple de projet est constitué de plusieurs VIs fonctionnant indépendamment les uns des autres, appelés acteurs, qui représentent l'interface utilisateur, le refroidisseur, ses ventilateurs et son niveau d'eau. Chaque acteur a la capacité de transmettre aux acteurs apparentés des messages ressemblant à des commandes, ou de recevoir ce type de messages. Il est possible d'étendre l'architecture pour inclure davantage d'acteurs de manière statique ou dynamique.

Système de supervision et d'acquisition de données

Cet exemple de projet implémente la supervision et l'acquisition de données (système SCADA) sur un système CompactRIO et sur un système basé sur un automate programmable simulés. Avec un serveur et une architecture client dotée d'une interface homme-machine (IHM), il utilise le module DSC (LabVIEW Datalogging and Supervisory Control) pour le connecter à du matériel tiers et pour l'enregistrement d'alarmes et de données historiques dans une application serveur. Dans le cadre de l'application IHM client, il effectue des mises à jour de l'interface utilisateur en fonction d'événements et la charge dynamique des sous-panneaux, démontrant ainsi l'efficacité et la réactivité de cette architecture basée sur une interface utilisateur.

Remarque : Les fonctionnalités de cet exemple de projet nécessitent le module LabVIEW DSC.

Lire la documentation | Consulter le guide détaillé sur la Communauté NI | Visionner la présentation multimédia

Exemples de projets LabVIEW Real-Time et LabVIEW FPGA

Les systèmes embarqués nécessitent généralement une architecture capable de garantir une certaine fiabilité et des performances déterministes. Par conséquent, bon nombre d'applications embarquées nécessitent des processus dédiés à la surveillance de l'état des systèmes, à la gestion d'erreurs et aux horloges de surveillance (chiens de garde). Les exemples de projets LabVIEW pour systèmes CompactRIO et matériels d'acquisition de données PXI temps réel illustrent les bonnes pratiques destinées à répondre à ces besoins en fournissant des architectures logicielles recommandées qui peuvent être utilisées pour toute une variété de systèmes de contrôle et de surveillance embarqués. Ces exemples de projets déterminent également les bonnes pratiques relatives à la communication de données, à la connectivité réseau, aux routines de contrôle et à l'enregistrement de données, entre autres.

Exemples de projets CompactRIO

LabVIEW FPGA Control sur CompactRIO

Cet exemple de projet est conçu pour les applications qui nécessitent des performances élevées en matière de contrôle et/ou de logique de sécurité implémentée de façon matérielle. Au lieu d'exécuter l'algorithme de contrôle au niveau logiciel, le contrôle est implémenté dans le circuit FPGA, ce qui permet à vos boucles de contrôle d'atteindre des fréquences supérieures à 10 kHz avec un jitter minimal. Le VI FPGA contient également de la logique de sécurité qui met immédiatement toutes les sorties dans un état de sécurité en cas d'erreur critique ou d'une défaillance du logiciel temps réel pour une assurer une fiabilité optimale.

Lire la documentation | Consulter le guide détaillé sur la Communauté NI | Visionner la présentation multimédia

LabVIEW Real-Time Control on CompactRIO (interface de balayage sur RIO)

Cet exemple de projet est spécifiquement conçu pour des applications de contrôle qui nécessitent des performances déterministes avec des fréquences d'E/S point par point de 100 Hz ou moins. Il n'utilise pas le matériel FPGA mais exploite le processeur temps réel déterministe pour le contrôle, ainsi que l'interface de balayage sur RIO (Scan Interface) pour accéder aux données d'E/S en tant que variables au sein de l'application temps réel.

Lire la documentation | Visionner la présentation multimédia

LabVIEW FPGA Waveform Acquisition and Logging sur CompactRIO

Cet exemple de projet inclut une acquisition de données analogiques haute vitesse à partir du FPGA programmable, et enregistre les données acquises sur le disque au niveau du système temps réel lorsqu'une condition de déclenchement est remplie. Il est conçu pour fonctionner de manière autonome, sans interface, ou peut être connecté à l'interface utilisateur optionnelle proposée.

Lire la documentation | Visionner la présentation multimédia

LabVIEW Real-Time Sequencer sur CompactRIO

Cet exemple de projet met en œuvre un séquenceur qui exécute des séquences définies par l'utilisateur dans LabVIEW Real-Time pour les applications de contrôle/commande. Il inclut une interface utilisateur Windows qui génère des séquences définies par l'utilisateur, les déploie sur le CompactRIO et surveille l'état du séquenceur. L'interface utilisateur charge de façon dynamique les sous-panneaux afin de démontrer l'efficacité et la réactivité de cette architecture basée sur une interface utilisateur.

Lire la documentation | Consulter le guide détaillé sur la Communauté NI | Visionner la présentation multimédia

Exemples de projets temps réel (avec NI-DAQmx)

Les exemples de projets LabVIEW Real-Time (NI-DAQmx) sont conçus pour des applications qui font intervenir du contrôle temps réel et/ou de l'acquisition et de l'enregistrement de signaux.

LabVIEW Real-Time Control (NI-DAQmx)

Cet exemple de projet met en œuvre le contrôle déterministe logiciel d'une usine, par l'intermédiaire de NI-DAQmx. Il est conçu pour des applications de contrôle qui nécessitent des performances déterministes sur les E/S du système DAQ et qui utilisent les contrôleurs PXI temps réel et les interfaces DAQ de NI.

Lire la documentation

LabVIEW Real-Time Waveform Acquisition and Logging (NI-DAQmx)

Cet exemple de projet utilise NI-DAQmx pour acquérir des signaux et les enregistrer sur le disque en continu . Il inclut l'acquisition de données analogiques et enregistre les données acquises sur le disque au niveau du système temps réel lorsqu'une condition de déclenchement est remplie. Il est conçu pour fonctionner de manière autonome, sans interface, ou peut être connecté à l'interface utilisateur optionnelle proposée. Il est conçu pour des applications qui utilisent les contrôleurs PXI temps réel avec les interfaces DAQ de NI, ou les systèmes NI CompactDAQ autonomes.

Lire la documentation

Ajout de modèles et d'exemples de projets personnalisés

Les utilisateurs chevronnés peuvent enrichir la liste des modèles et des exemples de projets avec leurs propres créations ; aussi, la nouvelle boîte de dialogue "Créer un projet" est un excellent moyen de partager et de distribuer des modèles recommandés au sein d'une équipe de développeurs.

Dans le cadre de la création d'un modèle ou d'un exemple de projet personnalisé, la boîte de dialogue "Créer un projet" peut être modifiée de façon à inclure des éléments supplémentaires permettant de créer du code personnalisé. Pour en savoir plus sur la façon de créer et d'ajouter vos propres éléments à cette boîte de dialogue, cliquez ici.

Bien commencer avec un modèle ou un exemple de projet

Les modèles et les exemples de projets font appel à un large éventail de compétences et de concepts de programmation LabVIEW. La documentation fournie dans chaque projet énumère les concepts avec lesquels les utilisateurs doivent se familiariser. De plus, les indications qui apparaissent en bleu sur le diagramme expliquent clairement comment ajouter ou modifier du code.

Vous pouvez également consulter NI LabVIEW - Guide de développement des compétences pour obtenir une liste des compétences recommandées et des ressources de formation.