LabVIEW

LabVIEW est un environnement de programmation graphique particulièrement adapté à l’instrumentation, au test, à la mesure, ainsi qu’à l’automatisation. Le but n'est pas de faire ici une présentation exhaustive. Il existe une documentation ou une aide en ligne,  de LabVIEW, qui fournit une description complète de l'ensemble des possibilités de ce logiciel.

On va juste proposer ici quelques bases sur ce puissant outil.

Qu'est-ce que LabVIEW?

LabVIEW  signifie  « Laboratory Virtual Instrument Engineering Workbench ».  Il a été crée par la société NATIONAL  INSTRUMENT en 1983 ; la version distribuée en 1986 tournait sur une plate-forme MAC-OS. Ce n'est qu' en 1992 que les premières versions sous WINDOWS apparaissent. Actuellement plusieurs plateformes en sont compatibles: WINDOWS, MAS-OS, LINUX, Sun, HP-UX. 

L’environnement LabVIEW offre la souplesse et la puissance d’un langage de programmation tel que le C, ou le Pascal, sans les difficultés ni la complexité  correspondante ; grâce à son mode graphique, plus intuitif que les langages textuels.

Couplé à des cartes d’entrées-sorties ;  des boîtiers industriels endurcis ; ou  des cartes de développements,  il permet de traiter des informations analogiques ou numériques;  venant des capteurs par exemple ; de créer ou de simuler des instruments de mesures tels que des oscilloscopes, ou des multimètres, ou d’autres types d’instruments.

LabVIEW  dispose de plusieurs boîtes à outils destinées à faciliter le développement d’applications spécifiques :

  • Le traitement et l’acquisition d’images ;
  • La programmation de systèmes temps réels ;
  • La programmation des FPGA ;
  • La gestion des protocoles internet ;
  • La programmation à l’aide du GRAFCET ;
  • Des interfaces vers d’autres langages de programmation ;
  • Etc…

image lv1

Dans l’industrie de nombreuses applications ont été développées grâce à LabVIEW ;  on citera par exemple des bancs de tests, des systèmes de contrôle qualité, des systèmes de régulation, ....

 

Ce type de langage de programmation présente toutes fois des avantages et des inconvénients :

Avantages :

  • Facile à utiliser par des personnes pas très à l’aise avec les langages de programmation textuels ;
  • Les symboles graphiques ou les images ont davantage de signification que les mots ; de plus il n’y a pas la barrière des langues ;

Inconvénients :

  • Un programme de grande taille présente des difficultés à être visualisé en totalité à l'écran on est obligé d'utiliser une architecture modulaire;
  • L’interprétation des symboles graphiques ;
  • Avoir un environnement de développement efficace, cet inconvénient est finalement résolu par LabVIEW.

 

Comment fonctionne LabVIEW?

Un programme LabVIEW permet réaliser des contrôles à partir d’un ordinateur, au lieu d’un pupitre à boutons ;  cela conduit tout naturellement à la notion d’instrument virtuel.

Sous labVIEW, un programme est appelé Instrument Virtuel (Virtual Instrument :  VI) ; et est reconnaissable par une extension « .vi ».

Un VI est composé de deux éléments principaux :

  1. Une face-avant : c’est l’interface utilisateur. Elle comprend des entrées ou commandes; les sorties ou indicateurs.
  2. Un diagramme : c’est le code graphique en d'autre termes c'est le programme.

image lv2

Dans un VI, on trouve :

  • Des terminaux : qui permettent de faire le lien avec l’extérieur soit en entrée (on dit aussi qu’ils consomment des données), ou en sortie (c'est-à-dire qu’ils produisent des données) ;
  • Des nœuds : qui effectuent les traitements sur les données. Ils sont souvent représentés par une image qui illustre leur fonction ;
  • Des arcs orientés : qui permettent de relier les nœuds et terminaux. Un arc orienté peut se séparer en plusieurs arcs, par contre plusieurs arcs ne peuvent pas être fusionnés pour n’en former qu’un.

 

Exemple : Calcul du discriminant d’une équation du second degré à une inconnue

                                               ∆ = b 2 - 4 ac

On aura 4 terminaux d’entrée : a, b, c et la constante 4, 

Un terminal de sortie : ∆

Les nœuds sont tous reliés par des arcs orientés pour effectuer le traitement désiré.

image lv3

Seuls les terminaux apparaitront  sur la face avant du VI.

Chaque terminal  a, b, c ou 4 produit un jeton sur sa (ou ses) sortie(s). Lorsqu'un nœud reçoit un jeton sur chacun de ses terminaux d'entrée, il peut être exécuté. Les jetons à l'entrée d'un nœud sont consommés, puis celui-ci produit des jetons sur ses arcs de sortie et ces jetons sont consommés par le terminal de sortie ∆.

A partir de ce fonctionnement on en déduit que :

  • Plusieurs nœuds peuvent être exécutés simultanément : on retrouve de façon implicite la notion de parallélisme ;
  • On peut faire de l’encapsulation, c'est-à-dire englober un ensemble de nœuds dans un seul noeud, pour créer une fonction ;
  • On ne peut pas relier deux sorties entre-elles, ou une entrée à une autre entrée;

Si un traitement effectué par un nœud dépend du résultat (R1 par exemple), d’un terminal de sortie, il faudrait d’abord le mémoriser. (Voir figure ci-après).

Situation impossible car on ne connaît pas la valeur initiale de R1!

image lv4

Il faut mémoriser d’abord la sortie, puis lui donner une valeur initiale.

image lv5

Ce mode fonctionnement fait de LabVIEW un langage de programmation flux de données.

 

Pour clore cette première partie, depuis sa création LabVIEW n'a jamais cessé d'évoluer. Au moment où est écrit cet article (avec LabVIEW 2016), la version actuelle (2019) s'est encore enrichie de nouvelles fonctionnalités en matière de conception de machines et d'équipements industriels intelligents; pour la validation ou la vérification des systèmes électroniques; et pour le développement de systèmes de tests de production.