FLASH INFORMATIQUE FI



public averti Etendre Labview à l’aide de Labview


LabVIEW est un environnement de programmation graphique pour l’acquisition et le traitement de données. Son usage est très répandu dans les milieux scientifiques et industriels. Jusqu’à récemment, il n’était pas possible de l’étendre. National Instruments a décidé d’ouvrir les API de LabVIEW aux développeurs externes afin de leur permettre de façonner le logiciel à leurs besoins.



LabVIEW is a graphical programming environment for data acquisition and data processing. It is widely used among scientists and in industries. Until recently LabVIEW could not be user enhanced. National Instruments decided to open LabVIEW APIs to external developers to allow them to craft LabVIEW to their needs.


Christophe SALZMANN


LabVIEW est un environnement de développement spécialisé dans l’acquisition et le traitement des données. La grande force de LabVIEW est de proposer en standard une interface logicielle au matériel connecté à votre ordinateur. En résumé, vous insérez votre carte d’acquisition sur le bus interne de votre machine (p. ex. PCIe) ou sur un bus externe (p. ex. USB). Vous installez l’environnement multiplateforme LabVIEW fourni sur plusieurs DVD. Après le redémarrage de votre machine, vous êtes prêt à faire votre première mesure. LabVIEW est un environnement graphique qui se programme à l’aide d’icônes représentant des fonctions de base (p. ex. addition) ou des fonctions complexes (p. ex. FFT). Toutes les structures d’un langage de programmation sont disponibles dans LabVIEW, y compris la récursivité et la programmation orientée objet. La principale différence avec un langage textuel est la manière dont le code est exécuté : ce n’est pas l’ordre dans lequel les icônes sont assemblées qui définit l’exécution, mais la disponibilité des données à l’entrée de celles-ci. Dans un premier temps, cette manière de programmer est souvent déconcertante. C’est pourquoi LabVIEW propose des Assistants ou Wizards. Un Wizard est une application qui vous guide dans les étapes successives d’une opération complexe. Une fois la séquence d’opérations définie, le Wizard génère le code LabVIEW prêt à l’emploi. Il est ensuite possible de modifier le code généré pour personnaliser votre application. Les figures ci-contre illustrent en trois étapes comment employer un Wizard pour générer une application qui va lire en continu une entrée de votre carte d’acquisition.

JPEG - 4.5 ko
Configurez votre tâche d’acquisition à l’aide du wizard
JPEG - 3.4 ko
Ouvrez votre tâche dans LabVIEW et générez le code
JPEG - 8.2 ko
Le code et l’interface sont générés automatiquement, il ne reste qu’à l’exécuter
JPEG - 5.1 ko
Le code et l’interface sont générés automatiquement, il ne reste qu’à l’exécuter


Jusqu’à récemment, la création de Wizards était réservée à National Instruments car les outils et API nécessaires n’étaient pas disponibles pour les développeurs externes.
Les raisons de la non-disponibilité de cette option sont multiples. Parmi les principales, citons le manque de documentation et la relative complexité du processus de création. Néanmoins, de gros projets ont fait appel de manière importante à la possibilité de scripter LabVIEW, le plus important est probablement l’environnement de développement pour les LEGO Mindstorms . L’éditeur a été écrit entièrement en LabVIEW de même que le cross-compilateur qui génère du code pour les boitiers Lego NXT.

JPEG - 7.2 ko
LabVIEW déguisé en éditeur LEGO Mindstorms

Depuis peu, National Instruments propose officiellement un installer  pour scripter LabVIEW 8.6 et 2009. Une fois installé, il est possible de contrôler LabVIEW dans les moindres détails. La communauté des développeurs, qui attendait une telle solution depuis plusieurs années, a rapidement montré son enthousiasme. L’attrait de scripter LabVIEW n’est pas uniquement la génération de code de manière automatique, mais également la possibilité d’étendre les fonctions de LabVIEW durant l’édition.
LabVIEW expose les API de script interne au travers du VI  server de la même manière que le contrôle des Instrument Virtuels (VI : applications LabVIEW). La seule manière de les différencier est la couleur bleue des API de scripts. Une fois que vous avez obtenu une référence sur un objet désiré, vous pouvez le modifier ou le paramétrer à l’aide de l’une des très nombreuses propriétés ou méthodes relatives à l’objet considéré.
L’exemple ci-après génère un nouveau VI qui effectue l’addition de deux nombres. Pour des raisons de clarté, la gestion des erreurs et la fermeture de référence aux objets ont été omises. La première étape est la création du VI et l’ouverture de celui-ci, puis la fonction Add est ajoutée au Diagram. Deux contrôleurs et un indicateur sont ensuite ajoutés au Front Panel. Il ne reste qu’à obtenir une référence sur chaque terminal et à les connecter entre eux. En regardant le Diagram, il est facile de se rendre compte de la complexité de telles opérations même pour des opérations simples. Cette possibilité sera donc réservée momentanément à des opérations bien précises et surtout répétitives.

JPEG - 16.8 ko
Génère un VI avec une sortie qui correspond à la somme des deux entrées
JPEG - 9 ko
Le Diagram du VI généré

La deuxième utilité de scripter LabVIEW est d’étendre les fonctionnalités de LabVIEW principalement durant la phase d’édition de VI. Vous avez la possibilité de coder ces extensions vous-même, mais l’opération peut prendre un certain temps… Vous pouvez aussi employer un framework existant, à savoir JKI Right-Click Framework   . Jim Kring et son équipe proposent un outil qui s’active lorsque l’on clique sur le bouton droit de la souris. Vous pouvez alors sélectionner une opération prédéfinie à effectuer. Plusieurs opérations sont fournies de base sous la forme de plugins écrits en LabVIEW. Vous avez la possibilité d’écrire et d’ajouter vos propres plugins qui contrôlent LabVIEW au travers de scripts. Il est, par exemple, possible d’automatiser la connexion de tous les tunnels d’une Case Structure non encore connectés et ainsi de vous faire gagner un temps significatif durant l’édition de votre diagram.

JPEG - 7.5 ko
L’action sélectionnée va connecter automatiquement tous les tunnels non connectés

De la même manière vous pouvez écrire des plugins pour les actions QuickDrop  . Elles ont été introduites avec LabVIEW 8.6 et vous permettent d’associer un raccourci clavier à un objet à placer sur le diagram ou le front panel.
Pour conclure, la possibilité de scripter LabVIEW permet de l’étendre d’une manière qui n’était pas possible précédemment, tout particulièrement lors de l’édition. Toutefois, dans sa version actuelle, cette possibilité est relativement lourde à mettre en oeuvre et l’installation d’extensions de parties tierces permet d’avoir un point de départ solide.
Vous trouverez plus d’information sur le site de National Instruments   ainsi que sur les forums du users group LAVA   .



Glossaire

VI
Virtual Instrument, programme de Labview qui modélise l’apparence et les fonctionnalités d’un appareil physique.


Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.