Catégories
LabWindows-CVI

LabWindows/CVI c’est quoi ?

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.


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.


Capture d’écran de l’interface de développement de LabWindows/CVI avec ici l’éditeur d’interface graphique

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)

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.