FI/3/99

LabVIEW User Group Meeting

Christophe.Salzmann@epfl.ch , Institut d'automatique

La dernière réunion du User Group LabVIEW a eu moins de succès qu'à l'accoutumée, ceci provient probablement de la date choisie (vacances scolaires!). Pour tous ceux qui n'ont pas eu la chance de venir, je propose ci-après un résumé des points importants de la journée.

Que faire ?

Vous avez remarqué que beaucoup de nouvelles fonctionnalités de LabVIEW ne sont disponibles que sur PC. Que faire? La réponse est simple: «faire entendre notre voix», il y plusieurs moyens d'agir. Le plus efficace est d'informer NI que vous aimez bien voir toutes ces nouveautés sur Mac/Linux/votre-plate-forme-préférée en remplissant la page suivante (LabVIEW wish list):

http://digital.natinst.com/lvwish.nsf/lv+wish

Cette page est regardée par les gens (marketing) qui décident des futures directions à donner aux produits NI. S'ils se rendent compte qu'il y a un marché, ils vont aller dans cette direction.

Il y a également une lettre ouverte à NI pour que LabVIEW reste indépendant de la plate-forme. Vous pouvez la signer et la retourner à son auteur, Urs Lauterburg (UNI BE). Pour ce faire, vous pouvez vous connecter à la page suivante:

http://iawww.epfl.ch/LV_WWW/LV_Petition/LV_Petition.html

Afin de mieux connaître la répartition des différentes versions de LabVIEW effectivement utilisées dans notre école, je vous demande à vous, utilisateur ou responsable, de m'envoyer un courriel à l'adresse: christophe.salzmann@epfl.ch m'indiquant le nombre des licence LabVIEW effectivement utilisées dans votre unité, ainsi que le type de machine et l'OS sur lequel elles fonctionnent.

Exemple:

Unité Responsable Machine OS nombre de licences Hardware additionnel*
*optionnel
DGM-IACh. SalzmannPowerMac 604/200MacOS 8.520PCI-1200
DGM-IACh. SalzmannPowerMac G3/333MacOS 8.54PCI-1200
DGM-IACh. SalzmannPentium II/400 Win952-




LabVIEW 5.1

Nouvelles plates-formes

National Instruments suit les tendances du marché et supporte Linux (fonctionnant sur des processeurs de la famille Intel) en plus des plates-formes courantes. Par contre les drivers (NI-DAQ) pour les cartes de NI ne sont pas encore portés sous Linux et sont uniquement proposés par des tierces parties (voir http://www.natinst.com/linux pour plus d'information). Les futurs investissements dans cette direction se feront en fonction de l'intérêt des utilisateurs; si vous êtes intéressés, faites-vous connaître de National Instruments. Pour ces mêmes contraintes de marché, NI ne propose qu'une version corrigeant les bugs (5.0.2) sans nouvelles fonctionnalités pour Windows 3.x, Solaris 1.x, Macintosh non PowerPC et HP-UX 9.x. Il n'y aura plus de développement pour ces plates-formes dans le futur.

Nouvelles fonctionnalités

Il est désormais possible de sauver dans une version antérieure de LabVIEW, pour le moment 5.0.x. Ceci sera peut-être étendu à des versions plus anciennes. Si une fonction n'existe pas dans la version demandée, le VI est quand même sauvé (sans la fonction manquante) et un fichier d'erreur est généré (fig.1).

Figure 1: Sauvegarde dans une version antérieure

Une fonctionnalité attendue depuis longtemps permet de redimensionner automatiquement les éléments de la face avant (front panel) d'un VI en fonction de sa taille. Il est possible de sélectionner les éléments à redimensionner ou d'agir sur l'ensemble des éléments (fig.2). Il est également possible de fixer une taille de fenêtre minimum et de l'ajuster en fonction de la résolution de l'écran.

Figure 2: Redimensionnement automatique des objets du front panel

En plus du picture toolkit qui est livré en standard avec la version 5.1, LV propose de nouveaux contrôles graphiques 3D (Surface Graph, Parametric Graph & Curve Graph) au format ActiveX (lisez Windows only) directement adaptés de HiQ. Le Graphisme 3D et un VI (wrapper) permettant d'accéder aux propriétés courantes sont combinés avec le diagramme dans lequel il sont insérés. Les autres propriétés du Graphisme 3D sont accessibles par d'autres sous VIs (fig 3).

Figure 3: Graphiques 3D

A l'aide des ActiveX Events, il est possible d'accéder de manière générale aux événements ActiveX. L'architecture employée est similaire aux DAQ Events. Il faut commencer par créer/configurer une queue d'événements, attendre l'événement, le traiter et détruire la queue une fois le travail terminé. Les données associées aux événements sont accessibles depuis le diagramme LabVIEW (fig. 4).

Figure 4: Exemple d'ActiveX Events. Attend un événement en provenance d'un bouton de ComponentWorks et met à jour l'indicateur lorsque la valeur change

Pour rester dans les fonctionnalités importées de HiQ via ActiveX, LV intègre la génération de rapports. Ce groupe de VIs gère, pour le moment, uniquement du texte, les graphiques sont prévus dans une version ultérieure.

Plusieurs boîtes à outils vendues séparément se trouvent maintenant partiellement ou complètement intégrées dans LabVIEW. C'est le cas du Picture toolkit, du G-Math toolkit, de l'Application Builder qui au passage a subi une grosse cure de simplification, des VIs gérant les sons ainsi que de l'Internet toolkit qui a été réécrit en C (fig. 5).

Figure 5: Outils pour la génération des rapports

Les différentes étapes nécessaires à la création d'une application LV (création d'une llb, puis création de l'exécutable et sur PC création du kit de distribution) sont désormais regroupées en une opération pilotée depuis un seul dialogue (fig. 6). La taille du code généré est beaucoup plus petite, car LV utilise un run-time DLL.

La version intégrée du serveur HTTP permet la publication automatique de Fronts Panels en continu (.monitor) ou de manière unique(.snap). Cette version ne permet pas la gestion des CGIs, pour cela il faut la version complète de l'Internet toolkit.

Figure 6: Nouvelle interface pour la création d'applications LV

Un nouveau type de script node permet d'écrire des scripts en HiQ ( 4.1) ou Matlab (5.0). LV n'exécute pas directement ces scripts, mais fait appel à un serveur qui route, à l'aide d'ActiveX, les scripts vers les applications concernées qu'il faut avoir sur sa machine. Il est possible d'importer et d'exporter des scripts de et vers HiQ et Matlab (fig. 7).

Figure 7: Nouveau Call HiQ script (Matlab script) node

Il est illusoire de vouloir résumer toutes les nouveautés de LV 5.1 dans ces quelques pages. Je n'ai pas mentionné les nouveautés de l'interface utilisateur tel que le menu comprenant les derniers fichiers ouverts, les icônes en couleur, les nouveaux contrôles, etc. De nouvelles fonctionnalités ont été ajoutées à LV dans le but de simplifier la tâche de l'utilisateur, par exemple, il y a la possibilité de combiner 2 VIs (merging) ce qui peut être très utile pour faire des templates. Plusieurs options permettent une meilleure gestion des projets, il est possible de comparer 2 VIs, de mesurer la complexité de ces VIs, etc. National Instruments propose un nouveau standard: DataSocket, qui est une nouvelle manière d'échanger des données entre applications se trouvant sur la même machine ou sur des machines distantes.

LabVIEW Real Time

LabVIEW RT est la solution de NI pour le temps réel. Elle est composée d'une carte processeur (486/133) embarquée dans un châssis PXI (également disponible pour PCI) à laquelle est connectée un carte d'acquisition AD/DA standard. Une version spéciale de LabVIEW a été développée pour l'OS de cette carte, ce qui veut dire que les VIs que vous avez développés fonctionneront, sans modification, sur la carte embarquée. Il y a toutefois quelques restrictions (pas d'accès au réseau, pas de système de fichiers, pas de DDE ni d'ActiveX), ceci dans l'idée de supprimer toute cause de variation dans le temps d'exécution. L'idée principale étant de garantir le déterminisme de l'exécution d'un VI, chose qui ne peut pas être garantie sous WinXX ou MacOS. Une période de l'ordre de la milliseconde peut-être garantie pour un simple régulateur PID.

Avant son exécution, le VI est téléchargé depuis la mémoire de l'ordinateur hôte sur la carte Embedded LV. Une fois dans la mémoire de la carte, le VI fonctionne de manière autonome et le PC peut même être redémarré sans perturber le fonctionnement des VIs embarqués.

La visualisation des données pendant que le VI est exécuté peut se faire de trois manières. Le cas le plus simple est l'affichage du panneau frontal sur l'écran de l'ordinateur hôte. Cette manière de faire est similaire à l'exécution standard d'un VI. Elle a l'inconvénient d'être lente, car les données transitent de la carte embarquée vers l'ordinateur hôte, puis vers l'écran. L'autre solution est l'échange de messages entre LV se trouvant sur la carte embarquée et une autre version de LV se trouvant sur l'ordinateur hôte. Ceci se fait à l'aide des outils TCP/IP qui ont été adaptés pour accéder à la carte LV-RT. Cette manière de faire est plus rapide mais requiert une bonne dose de programmation de la part de l'utilisateur. De plus, une réorganisation de l'application est aussi à planifier. L'utilisateur doit clairement identifier les VIs d'interface et d'affichage fonctionnant sur l'ordinateur hôte et ceux qui doivent fonctionner sur la carte embarquée (fig. 8).

Figure 8. Echange des données entre LabVIEW RT et l'ordinateur hôte

La dernière solution, la plus rapide, permettant d'atteindre des vitesses d'exécution de l'ordre du kHz remplace l'échange des messages TCPI/IP par une zone de mémoire partagée entre LV-RT et l'ordinateur hôte. Cette mémoire est relativement petite (quelques kB) et la gestion est complètement laissée à l'utilisateur. Il n'y a pas de notion de zone critique protégée par des sémaphores. Aussi bien le PC que LV-RT peuvent accéder en même temps à la mémoire. Ceci peut poser des problèmes dans certains cas où par exemple un tableau est mis à jour pendant que l'autre application accède au tableau. Si cela est critique, c'est à l'utilisateur d'empêcher l'accès au tableau pendant l'écriture. L'accès à la mémoire se fait à l'aide de peek & poke à une adresse donnée. Là encore, c'est à l'utilisateur de faire attention au format et à la localisation de ces variables. Les performances maximum sont à ce prix.

En conclusion

En regardant de plus près toutes les nouveautés proposées par NI, on remarque une ombre au tableau: beaucoup de ces nouveautés demandent ActiveX pour fonctionner, mais ActiveX existe uniquement sur PC. Le sous-ensemble ActiveX pour Mac n'est employé, à ma connaissance, que par les applications MS. Ceci diminue considérablement le nombre des nouveautés pour les autres plates-formes.

Disponibilités

A l'heure où vous lisez ces lignes, LabVIEW 5.1 devrait être disponible à l'EPFL. Quant à LabVIEW RT, il devrait être commercialisé d'ici l'été. Pour de plus amples informations, vous pouvez accéder au site de NI (http://www.natinst.com/labviewrt/ ).

retour au sommaire du Flash informatique du mois d'avril 1999
retour à la page principale des Flash informatique
Vos commentaires
© FI-3-99 du 13 avril 1999