dimanche 20 février 2011

Nouveautés LabVIEW 2010 : du côté des palettes

LabVIEW200
Voici un petit tour d’horizon des nouveautés et changements apporté par LabVIEW 2010 en comparaison avec LabVIEW 2009 mais du point de vue des palettes de programmation et de contrôles. On notera qu’une bonne part des modifications visent l’aspect pratique.

Programmation : structures

programation-structures
On note la migration du la structure élément en place qui était déjà présente dans la version 2009 mais qu’on trouvait dans la palette gestion de la mémoire. Cette structure est bien utile pour optimiser la consommation de la mémoire, ce qu’on mais surtout en pratique pour les applications embarquées (compact RIO ou compact FieldPoint) et pour les logiciels sollicitant fortement la manipulation de données en mémoire (ceci réduisant le nombre de réallocations et facilitant la lecture du diagramme).
Les icones des variables partagées, globales et locales ont changé de look, c’est un peu plus parlant.

Programmation : numérique

programation-numérique
Ajout de la constante de type double. Avant il fallait positionner une constante de type entier puis changer sa représentation en double. Maintenant on pose directement la constante double sur le diagramme.

Programmation : booléen

programation-booléen
Modification de l’icone de la constante booléenne : il est plus compact. Au lieu d’afficher T/F, il n’affiche que T ou que F, ceci permet d’alléger le diagramme et de gagner de l’espace.

Programmation : E/S sur fichiers

programation-ES-sur-fichiers
Ici c’est E/S sur fichiers de waveform qui fait sont apparition. C’est la copie des mêmes fonctions qu’on trouve également dans la palette waveform. Elle est donc à deux endroit : palette E/S sur fichiers et palette waveform. L’intérêt c’est qu’on ne risque pas de se dire “bon dieu, mais elle est où cette fonction déjà ?”. Et oui, ce n’est pas incohérent de la mettre aussi là puisqu’on traite un fichier après tout.
programation-ES-sur-fichiers-TDMS-en-continu
La palette des fichiers TDMS a évolué avec l’ajout de fonctions avancées comme ci-dessous.
programation-ES-sur-fichiers-TDMS-en-continu-TDMS-avancéprogramation-ES-sur-fichiers-bibliotheque-empaquetee
Dans les fonctions de fichiers avancées, la gestion des bibliothèques empaquetées a été ajoutée. Mais c’est quoi donc ? Et bien pour ceux qui sont familiers avec le langage C, cela se rapproche des librairies statiques : ce sont des VIs compilés dans un même fichier .lvlibp. Les avantages sont : comme c’est déjà compilé ça fait gagner du temps lors de la génération d’un exécutable (pratique pour les gros exe), on peut distribuer ses fonctions à ses collègues plus facilement. Bref on les utilisera surtout pour des projets de grosse envergure et/ou chaque développeur travail sur sa partie.

Programmation : Dialogue et interface utilisateur

LabVIEW2010-dialogue-et-interface-utilisateur
La fusion des erreurs est désormais une fonction et non un sous-vi. Outre le côté pratique de cette fonction qui accepte N entrées en l’étirant (à la manière de la fonction construire un tableau), gageons que qu’elle sera plus rapide que la version antérieur en sous-vi. J’en profite pour insister sur l’importance du suivi des erreurs : je ne compte pas le nombre de fois où j’ai gagné du temps tant durant la phase de développement que de la maintenance pour identifier la source d’un bug.

Communication de données

LabVIEW2010-communication-de-donnees
Les fonctions de flux réseau font leur apparition. Elles permettent le transfert sans perte de données et en continue de type waveform. Pour données qui ne sont pas à “flux tendu” ont préfèrera les variables partagées qu’on publiera sur le réseau. C’est simple et c’est efficace.
On note ici aussi le changement de look des icones des variables.
LabVIEW2010-communication-de-donnees-client-HTTP
Au niveau des protocoles, c’est l’HTTP client qui a été ajouté. Ceci facilite la programmation car dans les versions antérieures, il fallait tout codé en utilisant les couches basses de la palette TCP. Désormais le dialogue avec un serveur Web est bien plus simple. Exemple d’utilisation : dialogue avec un serveur pour envoyer ou recevoir des informations, comme un mini serveur d’une carte ethernet low cost ou d’un serveur web embarqué dans un automate distant.