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 :
- Système de calibrage de sondes de puits de pétrole (description détaillée),
- Validation d'autoradio (description détaillée),
- Liste des projets développés sous LabWindows/CVI auxquels j'ai participé (descriptions rapides).
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),
-
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.
- caméra
- linux
- testexec
- VXI
- visual studio
- labview
- PXI
- OPC
- labwindows cvi
- protocole AK
- MXI
- embarqué
- série RS
- automate programmable
- citrix
- banc de test
- windev
- UHF
- modbus
- analyseur audio
- PCI
- unix
- vision
- embarqué temps réel
- bus de communication
- ARINC
- C sharp
- SCPI
- fortran
- profibus
- multimètre
- Cplusplus
- measurement studio
- I2C
- qbasic
- fieldpoint
- visual basic
- DIO
- PAC
- base de données
- DSC
- PC industriel
- matrice
- langage C
- pascal
- oscilloscope
- UPL
- dot NET
- carte acquisition
- GPIB
- CAN
- teststand
- temps réel
- VAN
- windows mobile
- windows
- excel
- formation
- Pocket PC
- générateur de signaux
- WIFI
- bluetooth
- PLC
- IVI driver