LabVIEW ? Vous avez dit LabVIEW ?

 

 NI LabVIEW, pour en donner une première version simple, est un outil qui permet de réaliser des logiciels orientés « projets de tests et mesures ». Il dispose de nombreuses fonctions permettant de piloter facilement des cartes d'acquisition et instruments, de filtrer et d’analyser les signaux, puis présenter et sauvegarder les données.

Image

Pour être plus précis, le nom complet est NI LabVIEW contraction de Laboratory Virtual Instrument Engineering Workbench, et c’est un Environnement de Développement Intégré dit EDI. C’est donc un logiciel de création d'applications qui rassemble tous les outils de développement qui vont permettre de :

  • Créer du code source dans un langage appelé code G pour Graphique ;
  • Permettre la compilation du code source en code machine ;
  • Déboguer le code à l’aide d’outils avancés ;
  • Générer un exécutable au format binaire ;

NI LabVIEW est un environnement de développement complet, graphique, compilé et particulièrement bien adapté au domaine de l'acquisition et de la mesure. Son approche totalement graphique offre une souplesse et une dimension intuitive inégalée. Comparativement aux langages textuels, il offre la même puissance de programmation, mais sans le côté abstrait et complexe lié à la syntaxe.

NI LabVIEW est un des premiers langages de programmation graphique destinés au développement d'applications d'instrumentation. Un logiciel d'instrumentation pourrait être défini comme un programme permettant de contrôler, depuis un ordinateur, un système allant du capteur à la chaîne d'acquisition ou de commande jusqu'à l'édition du rapport final. Les utilisateurs disposent avec NI LabVIEW d'un puissant outil intégré d'acquisition, d'analyse et de présentation des données, une solution qui entraîne un gain notable de productivité comparable à celui obtenu par l'introduction des tableurs dans les logiciels financiers. Pour cela, le langage utilise toute la convivialité des interfaces interactives des ordinateurs actuels en fournissant des objets proches graphiquement des objets réels (voyants, curseurs, interrupteurs, boutons, graphes, etc.), mais aussi des commandes système (pour une représentation plus standard) ainsi que des outils familiers et simples d'utilisation pour la programmation (structures de programmation, fonctions arithmétiques, fonctions logiques, comparateurs, etc.).

Le code est représenté par un schéma composé de fonctions, de structures et de fils qui propagent les données. L'approche visuelle, l'interface entre le code et le développeur s'opposent sur la forme et la philosophie aux langages textuels, comme le C. LabVIEW n'a rien à envier aux autres langages.

Une des différences fondamentales de LabVIEW (par rapport aux langages classiques) est qu'il suit un modèle de flux de données, et non de flux d'instructions. Cela signifie que pour un langage textuel, ce sont les instructions qui ont la priorité, alors qu'avec LabVIEW, ce sont les données. Une fonction s'exécutera donc à partir du moment où elle dispose à ses entrées de toutes les données dont elle a besoin. Lorsqu'un langage classique est ainsi séquentiel, LabVIEW est naturellement prédisposé au parallélisme. Ce qui augmente encore sa puissance et la rapidité d'exécution du code.

Pour illustrer nos propos, la fenêtre suivante contient le code source d’une application qui est appelée le diagramme.

Diagramme Labview

Un programme ou VI, développé dans l'environnement LabVIEW, se compose principalement de deux éléments étroitement associés et regroupés sous le même nom « nom_application.vi » (l'extension .vi permet une reconnaissance immédiate par l'environnement LabVIEW). Ainsi nous avons :
· La « face-avant » (Front panel) qui est l'interface utilisateur du programme au sens génie logiciel: définition des entrées/sorties de données accessibles par l'utilisateur du programme.

meis

Exemple d'une « face avant » réalisée avec LabVIEW (application développée par Mesulog)
Le « Diagramme » (diagram) qui est le programme de l'application ou code source. Il écrit sous la forme d'un diagramme flux de données en langage G : ensemble des icônes et des liaisons entre ces icônes utilisées. Cette partie de l'application est ce que l'on appelle le code source par opposition à l'interface utilisateur.

Image

Ce langage s’adresse à tous les techniciens ou ingénieurs qui désirent développer une application de mesures, de tests, de supervision ou de contrôle/commande avec une interface utilisateur de très grande interactivité. Mais plus généralement à tous les développeurs qui désirent utiliser un langage intuitif, puissant et ouvert sur la totalité du génie logiciel.

 

Les dix commandements du développeur LabVIEW

 

Le développeur LabVIEW devra suivre la synthèse des commandements suivants pour s'assurer que son code est conforme aux règles de développement. 


1. Sur un seul écran ton code tiendra.
2. De gauche à droite tu coderas.
3. Les fils tu ne croiseras pas.
4. La gestion de l'erreur tu ne transgressas pas.
5. Le connecteur de type 4x4 toujours tu utiliseras.
6. Les contrôles, indicateurs et sous-VI judicieux tu nommeras.
7. Le flux de données tu respecteras.
8. Ton code toujours et immédiatement tu documenteras.
9. Des sous-VI tu feras.
10. La structure séquence empilée tu refuseras.

Contacter un partenaire certifié du « Programme Alliance »

Pour une expertise, un besoin ponctuel ou pour sous-traiter un développement, vous pouvez faire appel aux « partenaires NI » (ex National Instruments) du Programme Alliance.

La société Mesulog est partenaire de NI (Ex-National Instruments - Emerson), membre du Programme Alliance.

En temps que partenaire, nous avons reçu, après évaluation, l'agrément certifiant de notre compétence en matière de programmation et de connaissances générales sur le logiciel NI LabVIEW. La liste des partenaires est disponible sur le site de National Instruments. Vous aurez ainsi accès à des professionnels disposant des niveaux Certifié LabVIEW Architecte (CLA). 

  Centr'Alp - Parc du Pommarin
Bâtiment C
137, rue de Mayoussard
38430 MOIRANS France

Mesulog
Nerys