LabWindows/CVI c'est quoi ?

PDF
Imprimer
Envoyer

LabWindows/CVI LabWindows est un environnement de développement en langage C pour la réalisation de systèmes de test, mesure et d’instrumentation. Ainsi, il est possible de profiter à la fois de le puissance et la précision du langage C mais aussi des bibliothèques de fonctions dédiées à l'instrumentation et au traitement du signal de National Instruments.

Avec LabWindows/CVI, il est possible de développer :

  • des logiciels pour Windows (exe) ou UNIX, Linux,
  • des librairies (DLL, Active X, .NET),
  • des drivers d’instruments,
  • sur cibles embarquées,
  • sur cible temps réel.

 

Exemples de réalisations

Pour voir une idée des utilisations possibles de LabWindows/CVI pour la réalisation et le développement de projets, cliquez sur les liens suivants :

Les avantages de LabWindows/CVI

Utiliser LabWindows/CVI c'est la garantie d'un développement solide et d'une solution pérenne. Lisez plutôt les avantages suivants :

  • contrôles graphiques spécialisés pour l'industrie et les mesures scientifiques,
  • développement simplifié d'IHM,
  • fonctions intégrées d'analyse et traitement,
  • accès facilité aux instruments,
  • programmation en C, langage puissance, précis et connu par tous (toutes les écoles d'ingénieurs et de techniciens l'enseignent),
  • accès au SDK de Windows pour les développements très spécifiques.

Environnement de développement intégré (IDE)

L'interface de développement de LabWindows/CVI est assez similaire aux autres IDE, comme Visual Studio par exemple.

labwindows-cvi-screenshot-code
Capture d'écran de l'interface de développement de LabWindows/CVI, ici avec l'éditeur de code C

Il comporte les fonctions qu'on aime à retrouver :

  • un panneau du workspace (en haut à gauche) contenant une arborescence du ou des projets concernés par le développement et leurs fichiers sources,
  • un panneau des librairies et drivers d'instruments (en bas à gauche),
  • un panneau principal multi-usage :
    • éditeur des fichiers source en C (comme ci-dessus) avec coloration syntaxique, complétion des instructions...,
    • éditeur d'interface graphique (comme ci-dessous),
    • éditeur de "function panel" (aide à la programmation et documentation pour l'utilisation de drivers et autres composants logiciels),
    • navigateur de code source,
    • watch et view sur les variables avec visualisation avancée : on peut par exemple afficher les tableaux numérique sous forme de graph,
    • liste des modules chargés (DLL pour Windows) lors de l'exécution du code,
    • liste des taches,
    • liste de la pile de fonctions,
    • éditeur de la mémoire.

labwindows-cvi-screenshot-uir
Capture d'écran de l'interface de développement de LabWindows/CVI avec ici l'éditeur d'interface graphique

labwindows-cvi-librairies

Bibliothèques de fonctionnalités

En parcourant le menu des librairies (voir ci-contre), on remarque la présence de ce qu'il est nécessaires au développement d'applications modernes mais surtout de nombreuses fonctions pour :

  • la communication avec les cartes d'acquisitions (traditional NI-DAQ et NI-DAQmx),
  • le support de protocoles et normes les plus utilisés dans l'instrumentation (VXI, GPIB et 488.2, RS-232, NI-CAN, VISA, IVI),
  • l'échange de données sur le réseau (TCP, UDP, Internet, Network Variable),
  • la communication avec d'autres composants logiciels (DDE, ActiveX, DIAdem Connectivity, .NET),
  • la sauvegarde de données massives (TDM Streaming),
  • la programmation temps réel (Real-Time Utility),
  • le traitement des données de mesure (Advanced Analysis),
  • les aides et assistants pour les fonctions du langage C (ANSI C),
  • le traitement simplifié des chaines de caractères et des fichiers (Formatting and I/O),
  • la gestion des interfaces graphiques (User Interface)

 

 

 

 

labwindows-cvi-tools

Assistants

LabWindows/CVI comporte également plusieurs assistants (voir ci-contre) qui facilitent grandement de développement d'applications industrielles et scientifiques :

  • création de tâches de communication avec un instrument,
  • création de tâches d'acquisition de mesure,
  • création de drivers IVI.

mais aussi des assistants pour la communication avec d'autres composants logiciels :

  • création de contrôleur ActiveX,
  • création de serveur ActiveX,
  • création de contrôleur .NET.

Alternatives à LabWindows/CVI

Pour bénéficier des mêmes fonctionnalités que LabWindows/CVI pour d'autres langages, référez vous aux articles suivants :

  • langage C++, C# ou Visual Basic sous Visual Studio, lisez l'article "Measurement Studio",
  • langage Graphique, lisez l'article "LabVIEW",
  • pour les bancs de test, on utilise souvent LabWindows/CVI avec un séquenceur de test comme TestStand.

LabVIEW : banc de test pour le contrôle de gaz

Le rôle de cette banc de test est l'analyse et le contrôle de la qualité de bouteilles de gaz en usage dans les industries métallurgiques, chimiques, pétrochimiques, pharmaceutiques et...
Lire la suite...

LabVIEW : banc de validation d'Electronic Control Module (ECM)

Les modules de commande électronique sont des sous-ensembles se composant de CPUs, d'entrées et de sorties de signaux consacres a commander un composant dans le véhicule (voitures, camions...).Le...
Lire la suite...

LabVIEW : Logiciel de tests cliniques pour la pharmacologie et la cosmétologie

Ce logiciel permet de semi-automatiser les mesures de caractérisation de la peau au cours de tests cliniques de produits pharmaceutiques et cosmétiques en communiquant avec plus de 15 instruments...
Lire la suite...

LabVIEW : superviseur de contrôle de qualité du sable

LabVIEW est utilisé dans ce système pour programmer un superviseur contrôlant la qualité du sable, dans une carrière, avant le remplissage des camions; suivant les résultats des mesures de...
Lire la suite...

LabVIEW mobile : Mallette météo (sous Windows Mobile)

Le but de ce système est la collecte de données météo, la sauvegarde et la transmission à la base située à 5 km de distance. Le système est portable et résistant à un usage extérieur (pluie,...
Lire la suite...

LabVIEW temps réel : système frigorifique à deux niveaux de température

Ce système permet l'étude des systèmes frigorifiques et la mise en pratique des calculs de thermodynamique appliqués à la réfrigération. Sa particularité est qu'il est entièrement contrôlable par...
Lire la suite...

LabVIEW vision : inspection visuelle de boitier fusibles-relais automobile

Ce banc de test par vision a une double fonction pour la production de boitier fusibles-relais lors de l'assemblage de camion :il indique à l'opérateur les fusibles et relais optionnels à insérer...
Lire la suite...

LabWindows/CVI : banc de calibrage de sondes de puits de pétrole

Ce système est utilisé pour calibrer des sondes de mesure du pétrole. Les sondes ainsi calibrées permettent l'analyse avec précision des différents composants du pétrole au sein même des puits....
Lire la suite...

TestStand : banc de test d'autoradio

Ce banc de test est destiné à la validation des mesures électroniques de l'autoradio et principalement la qualité audio. Le système doit être assez souple pour géré plusieurs modèles d'autoradio...
Lire la suite...