luc desruelle's Blogue

Navigateur communautaire
annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 
Desruelle_luc
5852 Visites
2 Commentaires

Un an après la sortie officielle de la première version de LabVIEW NXG, à NIWeek 2017, et après avoir bien travaillé avec les versions 1.0, puis 2.0, et actuellement la 3.0 beta, je vous présente mes 7 fonctionnalités préférées. Ce sont souvent des fonctionnalités que les développeurs réclamaient sur le forum « LabVIEW idea exchange ».

 

1- Le zoom et les objets vectoriels font leur apparition

C’est la fonctionnalité la plus acclamée, voir la plus applaudie, lors des présentations dévoilant la nouvelle génération de LabVIEW.

  • Sur l’interface : Avec NXG les objets graphiques sont vectoriels et il devient possible de zoomer sur l’interface avec un rendu de très grande qualité.
  • Sur le diagramme : Zoomer dans un diagramme est une demande autant décriée par certains que réclamée avec insistance par d’autres. Les détracteurs l’associent à un manque de modularité. Les partisans réclament de pouvoir gérer la visualisation globale ou sur un détail du code. LabVIEW étant un langage graphique, qui représente le code par un schéma, je pense qu’il est légitime de permettre de zoomer

 

Le zoom et les objets vectoriels font leurs apparitionsLe zoom et les objets vectoriels font leurs apparitions

 

2 - Construire une application Web avec les WebVIs. Disponible dans le module LabVIEW NXG Web.

C’est surement la deuxième fonctionnalité la plus attendue. Avec la généralisation des tablettes et smartphones, les développeurs réclament la possibilité d’utiliser leur logiciel au travers d’une interface Web. Mais toujours dans l’esprit de LabVIEW donc sans faire de code textuel. Depuis la version 2.0, NXG répond à cette demande. L’éditeur permet de placer des contrôles HTML5 et de générer le code. Il est possible de modifier le code source HTML, soit pour ajouter des fonctionnalités avec du code JavaScript, soit pour personnaliser l'apparence des contrôles en utilisant une feuille de style CSS (Cascading Style Sheets). Dans la version standard, il existe déjà une fonctionnalité permettant de se connecter à la face-avant d’un VI depuis une interface web. Mais cette fonctionnalité nécessite d’installer le RunTime LabVIEW, qui ne supporte pas toutes les plates-formes, et d’activer un plugin Web qui n’est compatible qu’avec certains navigateurs internet. Avec NXG finit les limitations. Les WebVIs peuvent être déployés sur toutes les plateformes, sur n'importe quel navigateur et sans plug-ins.

 

La fonctionnalité est très bien. J'adore! Il est possible de connecter très facilement l'application Web à un vi LabVIEW ou à un gvi LabVIEW NXG.    

 

Construire une application Web avec les WebVIs sous LabVIEW NXGConstruire une application Web avec les WebVIs sous LabVIEW NXG

 

 

3 - L’Unicode devient natif.

Malgré la réalisation d'applications qui devaient gérer plusieurs langues (à l'affichage), je n'ai jamais sollicité cette évolution. Mais beaucoup de développeurs réclamaient cette évolution depuis plusieurs années!!

L’intérêt de l’Unicode est de pouvoir gérer de façon unique un caractère indépendamment de la langue. Dans la version standard de LabVIEW, il faut changer les paramètres du système d’exploitation pour gérer correctement les différentes langues. NXG gère le standard Unicode en natif (UTF8). Il est maintenant possible d’afficher des textes en français ou chinois ou russe en même temps et sans changer les paramètres de l’OS.

 

L’Unicode devient natifL’Unicode devient natif

 

 

4 - Génération de rapport Excel, sans Excel.

Permet de générer des rapports Excel sans Excel... permet de limiter l'achat de licence, donc forcement cela permet de généraliser l'utilisation de cette technologie.

Amélioration des outils de génération de rapport au format Microsoft, sans avoir Word ou Excel installés sur l’ordinateur. Vous avez la possibilité d'exporter vos mesures dans un fichier au format Microsoft Excel existant ou de créer un nouveau fichier par programmation.

 

5 - NI Package Manager (NIPM).

C’est le nouveau gestionnaire de paquets de National Instruments.

Il remplace l’incontournable VI Package Manager (VIPM). Le gestionnaire automatise le processus d’installation, de désinstallation et de mise à jour de paquets. Avec la nouvelle version NXG, National Instruments modifie sa philosophie de gestion des fichiers informatiques en généralisant l’utilisation de ce format.

 

 

NI Package Manager (NIPM) remplace le VIPMNI Package Manager (NIPM) remplace le VIPM

 

6 - SystemDesigner.

C'est la fonctionnalité mise en avant par National Instruments. 

En mode En Ligne : Rechercher, identifier, configurer et documenter les éléments de votre système matériel à partir d’une interface interactive, et intégrée à NXG.

En mode Conception, il est possible de créer une configuration, avec du matériel non connecté, en utilisant l'intégralité des produits du catalogue de National Instruments.

 

 

Intégré dans NXG : Rechercher, identifier, configurer et documenter les éléments de votre système matérielIntégré dans NXG : Rechercher, identifier, configurer et documenter les éléments de votre système matériel

 

7 - Capture et analyse des données de l’environnement de développement.

Pour finir, ma fonctionnalité préférée.

Sa portée est très vaste, puisqu’elle est utilisable dans l’ensemble de l’environnement NXG. Elle permet aussi bien la capture et l’analyse de signaux d’acquisition sur le matériel connecté que la mise au point de code pour le développeur. Je trouve cette fonction très bien pensée. Les données collectées sont ensuite disponibles dans la fenêtre d'affichage des données capturées (Data Viewer).

Je me demande encore comment j'arrivais à mettre au point une application sans (?)

 

 

Capture et analyse des données de l’environnement LabVIEW NXGCapture et analyse des données de l’environnement LabVIEW NXG

 

Pour en discuter...

 

 

Cet article est détaillé dans le Chapitre 7 de la prochaine version du livre 
"LabVIEW programmation et application - Introduction à LabVIEW NXG" - 4ème édition
qui sortira le 22/08/2018, aux éditions DUNOD - 560 pages - EAN13 : 978-210078283 Lien livre LabVIEW sur le site Amazon. Description détaillée du livre ici

 

 

Desruelle_luc
3098 Visites
0 Commentaires

 LabVIEW User group de la région Rhône-Alpes prochaine rencontre à Barraux (38), dans les environs de Grenoble

La prochaine rencontre aura lieu le 14 juin 2018 de 13h à 18h à Barraux (38) dans les environs de Grenoble

Le groupe est encadré par une équipe de développeurs passionnés et compétents. Convivialité rime avec compétence. Sont présents à nos rencontres des certifiés architectes / développeurs LabVIEW et TestStand, ainsi que des LabVIEW Champion.

Le seul mot d'ordre : "partager, apprendre, découvrir ce que permet LabVIEW, avec enthousiasme et bonne humeur" !

 Venez apporter votre pierre à la réussite de ces rencontres.

Dans le partage et la convivialité, l’objectif est d’amener les participants à franchir des paliers dans leur pratique de LabVIEW. Sont régulièrement au programme les bonnes règles de développement, l’utilisation des exemples de projets, la découverte de nouvelles technologies, l’analyse de code, l’assistance sur un code problématique, les interfaces utilisateurs.

A+

 

 

LabVIEW User Group de la région de Grenoble (LUGE)LabVIEW User Group de la région de Grenoble (LUGE)

 

 

 

Desruelle_luc
6544 Visites
6 Commentaires

Disponible depuis LabVIEW NXG 2.0, l'utilisation du module LabVIEW NXG Web permet de réaliser des applications Web à partir des WebVIs. 

  

Cet article est détaillé dans le Chapitre 7 de la prochaine version du livre 
"LabVIEW programmation et application - Introduction à LabVIEW NXG" - 4ème édition
qui sortira le 22/08/2018, aux éditions DUNOD - 560 pages - EAN13 : 978-210078283 Lien livre LabVIEW sur le site Amazon. Description détaillée du livre ici

 

C’est surement une des fonctionnalités les plus attendues de LabVIEW NXG 2.0.

 

Avec la généralisation des tablettes et smartphones, les développeurs réclament la possibilité d’utiliser leur logiciel au travers d’une interface Web. Mais toujours dans l’esprit de LabVIEW donc sans faire de code textuel. LabVIEW doit permettre de créer facilement des applications Web en s’appuyant sur des technologies standards.

 

Depuis la version 2.0, NXG répond à cette demande. L’éditeur permet de placer des objets HTML5 et de générer le code. Il est possible de modifier le code source HTML, soit pour ajouter des fonctionnalités avec du code JavaScript, soit pour personnaliser l'apparence des contrôles en utilisant une feuille de style CSS (Cascading Style Sheets). Vous pouvez modifier des propriétés telles que la police, la couleur, la forme ou la disposition d'un contrôle.

 

Dans la version standard de LabVIEW, il existe déjà une fonctionnalité permettant de se connecter à la face-avant d’un VI depuis une interface web. Mais cette fonctionnalité nécessite d’installer le RunTime LabVIEW, qui ne supporte pas toutes les plates-formes, et d’activer un plugin Web qui n’est compatible qu’avec certains navigateurs internet. Avec NXG finit les limitations. Les WebVIs peuvent être déployés sur toutes les plateformes, sur n'importe quel navigateur et sans plug-ins.

 

 

 

Application Web avec les WebVIs de LabVIEW NXGApplication Web avec les WebVIs de LabVIEW NXG

 

Figure 7.10 –NXG permet de concevoir et de déployer des interfaces web

 

L'utilisation du module est décrit en détail dans le livre "LabVIEW Programmation et applications - Introduction à LabVIEW NXG"  – 4iéme édition parution 2018 aux éditions DUNOD.

 

Desruelle_luc
9035 Visites
7 Commentaires

  

Cet article est détaillé dans le Chapitre 7 de la prochaine version du livre 
"LabVIEW programmation et application - Introduction à LabVIEW NXG" - 4ème édition
du 22/08/2018, aux éditions DUNOD - 560 pages - EAN13 : 978-210078283 Lien livre LabVIEW sur le site Amazon. Description détaillée du livre ici

 

7.1.1 - L’annonce de la Nouvelle génération en 2017

Chaque année, la société National Instruments organise sa grande manifestation « NIWeek » au Texas. NIWeek consiste en un grand show d’une semaine pendant lequel alternent, autour d’une salle d’exposition, des conférences de presse (« keynotes ») et des conférences techniques. Des experts reconnus y présentent en détails les produits matériels et logiciels de l’entreprise. Lors de la conférence d’ouverture de la manifestation, National Instruments annonce ses grandes nouveautés. Pour les ingénieurs et scientifiques qui utilisent des systèmes de test automatisé, c’est un peu Noël avant l’heure, c’est l’évènement de l’année à ne pas manquer.

Lors de la NIWeek 2017, National Instruments a dévoilé une très grande nouveauté, que la société préparait depuis quelques années. En effet, alors que nous étions habitués depuis 2009 à avoir une version de LabVIEW par millésime, National Instruments a présenté deux nouvelles versions : LabVIEW 2017, la version « Standard », et LabVIEW NXG 1.0, la « Nouvelle génération » (NeXt Generation).

 

LabVIEW 2017 est l’évolution annuelle de LabVIEW. C’est la version « Standard » (figure 7.1). L’environnement de développement est totalement dans la continuité de son prédécesseur LabVIEW 2016, ou que de son successeur LabVIEW 2018. En tant de développeur professionnel, mon avis est qu’elle n’apporte pas d’améliorations majeures. Je découvre quelques nouvelles fonctionnalités, certaines très intéressantes, mais que je qualifierais « de petites améliorations ». Les versions suivantes du LabVIEW millésimé resteront dans cette branche logicielle dite « standard ».

LabVIEW 2017LabVIEW 2017

 Figure 7.1 – LabVIEW 2017 est l’évolution annuelle de LabVIEW. C’est la version « Standard ».

 

LabVIEW NXG est la nouvelle génération du logiciel LabVIEW. Il n’est plus question d’évolutions mais de révolution (figure 7.2). Fruit de plusieurs années de recherche et développement, cette première version de NXG est bien le lancement de la nouvelle génération de LabVIEW. Au fil des années, elle doit devenir une « Better LabVIEW », une version plus crédible, plus ergonomique et plus performante de LabVIEW.

Pour des raisons évidentes le nom LabVIEW a été conservé. Mais ne nous y trompons pas, nous sommes bien sur deux versions indépendantes et incompatibles de l’environnement de développement. Le code de la version « standard » doit être migré, via un utilitaire, pour être utilisé sur la version « NXG ». Suite à cette conversion un « VI » devient un « GVI ». Par contre, il est impossible de faire le chemin inverse. Il n’est pas possible de convertir un code compilé dans l’environnement « NXG » vers la version « Standard ».

 

 LabVIEW NXG Panneau de mesureLabVIEW NXG Panneau de mesureLabVIEW NXG exemplesLabVIEW NXG exemples

Figure 7.2 – LabVIEW NXG est la nouvelle génération du logiciel LabVIEW.

 


7.1.2 L’anecdote historique, par les yeux du professionnel

NXG est né de la volonté d’un retour aux idées d’origine de la création de LabVIEW. Les idées « encore à implanter » que décrient Jeff KODOSKY dans la préface du livre, « revenir en mode invention, avec la possibilité d’aboutir à une réalisation aussi innovante que l’était LabVIEW 1 ».

 

Au détour de petites confidences faites par des membres de National Instruments, nous trouvons trace de l’idée de faire une « Better LabVIEW » ou nouvelle génération de LabVIEW au début des années 2000. Dans les années 2010, le programme prend de l’ampleur pour accélérer en 2014 avec les premières présentations à un cercle restreint de partenaires.

 

C’est un avis qui n’engage que moi (Luc DESRUELLE), mais je mets en parallèle l’effort énorme de NI pour développer cette version qui doit révolutionner « LabVIEW », et le sentiment que la version « standard » n’a plus d’ajout de fonctionnalités majeures depuis 2014.

 

Dès 2015, en tant que « Certifié Architect LabVIEW », j’ai eu le privilège de participer aux tests de la version « préliminaire » de NXG. Avec d’autres confrères, j’ai ainsi intégré le programme « Platform Developper Preview (PDP) ». La finalité de ce programme était d’ouvrir les tests de la version « Alpha » à des développeurs extérieurs à la société National Instruments. Je me souviens notamment avoir été sollicité, avec mon ami Olivier JOURDAN (LabVIEW Champion), pour la nouvelle traduction en français de « front-panel ». En effet par référence à la face-avant d’un instrument physique, la version « standard » utilise le terme anglais « front-panel » pour désigner l’interface utilisateur du programme, qui est un « Instrument Virtuel » en LabVIEW. La nouvelle version anglaise de NXG utilise le terme « Panel », dans l’objectif d’éloigner LabVIEW du lien trop étroit avec l’instrumentation physique et d’affirmer le code G en tant que langage de programmation plus général. Dans la version française fallait-il utiliser Panneau ? Face ? Panel ? UI ? Après de longues conversations, à peser les mots et leurs conséquences, la « face-avant » va devenir « Interface » (figure 7.3). C’est l’interface visuelle du programme, dans l’éditeur c’est l’interface entre le code et le développeur. Participer à cette aventure, même modestement, voire comment était géré un nouveau logiciel prochainement utilisé par des milliers d’utilisateurs dans le monde, a été un réel plaisir et une expérience enrichissante.

 

Peu à peu le programme de test de la version « Beta » a été ouvert à un public élargi au travers du « Software Technologie Preview ». Fin 2016, National Instruments a subtilement orchestré les fuites d’une nouvelle génération de logiciel. Des fonctionnalités très attendues par les développeurs ont été annoncées « En développement » sur le forum « LabVIEW idea exchange », l’espace de discussion des suggestions d’évolutions.

 

La nouvelle génération NXG version 1.0 a été officiellement annoncée le 23 mai 2017 lors du salon NIWeek. Cette première version ne présentait pas encore toutes les fonctionnalités de LabVIEW Standard, loin de là. Sous le slogan « Aussi productif que LabVIEW, la programmation en option », elle focalise l’attention sur le premier pilier de cette version qui est une nouvelle approche de l’automatisation des mesures, dans un seul logiciel et sans programmation. Cette première version est incomplète. Elle ne possède pas l’ensemble des fonctionnalités nécessaires à la programmation, ni l’ensemble du support matériel. Elle n’est qu’une première étape. Avec cette version incomplète, le public interprète parfois, et à tort, que cette version est juste un nouvel outil pour faciliter l’acquisition de données.

 

En 2018, elle sera suivie par la version NXG 2.0 et vraisemblablement par une autre version (dévoilée) lors de NIWeek 2018. Cette deuxième version amène véritablement les outils de développement nécessaires à la programmation en code G. C’est le deuxième pilier de la révolution. De nouvelles fonctionnalités sont dévoilées, comme les WebVIs. Cette révolution est tellement ambitieuse, qu’elle se déroule par étapes successives. Il faudra attendre 2019 pour avoir une grande partie des concepts et toolkits équivalents à la version standard, dans cet environnement innovant, modernisé et résolument tourné vers le futur de LabVIEW.

 

A l’heure où j’écris ces lignes, il est toujours possible de s’inscrire au programme « Aperçu Technologie des logiciels de NI » pour obtenir et tester la version « Béta » la plus récente du logiciel LabVIEW NXG. Il est ainsi possible de faire des commentaires et proposer des idées qui auront un impact direct sur le développement du logiciel.

Et vous, êtes-vous prêt pour cette révolution ?


La peur de ne pas retrouver l’outil de ses rêves.

En 2015 lors d’une avant-première de la version Alpha de NXG, dans une salle feutrée au public confidentiel, ma première pensée aura été la peur. Cela peut sembler exagéré. Mais lorsque nous maitrisons un outil, que nous l’utilisons au quotidien, que nous prenons beaucoup de plaisir à l’utiliser, c’est bien la peur du changement qui est le premier sentiment qui me vient. La peur de ne plus retrouver ses habitudes. La peur de ne pas retrouver l’outil de ses rêves. Mais il faut accepter le changement. Sortir de sa zone de confort. A l’identique de la théorie de l’évolution de Charles Darwin, « Dans la lutte pour la survie, les espèces les plus fortes sont celles qui s’adaptent le mieux au changement de leur environnement ». Il est vrai que pour survire il faut s’adapter, évoluer pour s’améliorer. Cela est également vrai dans le monde du logiciel.

 

7.1.3 Ce qui n’a pas changé : LabVIEW reste LabVIEW

« Vous avez aimé LabVIEW, vous aimerez LabVIEW nouvelle génération », sont les premiers mots que les ingénieurs de National Instruments prononcent lorsqu’ils dévoilent le nouvel environnement. Cette promesse doit nous rassurer. C’est évidemment un des premiers piliers du cahier des charges de NXG. Avant de décrire en détail ce qui a changé avec LabVIEW NXG, commençons ce chapitre par ce qui n’a pas changé.

 

Pour faire un petit rappel théorique du chapitre 1 sur « les concepts et l’environnement de programmation », LabVIEW propose un cadre de programmation graphique, basé sur le principe de « flux de données » et enrichi des deux extensions « mémorisations » et « structures de programmation ». Ce langage de programmation est appelé « langage G » ou « code G ». L’intérêt premier de la programmation graphique est que le code est représenté par un « schéma », par opposition aux « mots » du langage textuel. Le code obtenu est ainsi plus intuitif et naturel. Comme il a été également détaillé dans le chapitre 3, LabVIEW est un langage compilé. La compilation signifie que le code G est traduit en code machine, et qu’il est exécuté directement par l’ordinateur. Ce processus travaille pour nous en optimisant fortement le code pour améliorer la gestion mémoire et les performances d’exécution (cf §3.1.2).

 

L’environnement de développement LabVIEW permet de manipuler une grande variété de concepts, tel que :

  • Les terminaux, représentent la production et consommation de données ;
  • Les nœuds, traitement à effectuer qui sont représentés par une figure, et possèdent des connexions d’entrée et de sortie ;
  • Les fils de liaison, relient nœuds et terminaux, ils permettent le passage des données ;
  • Le flux de données, propagation des données, par les fils de liaison entre les terminaux et les nœuds. Un nœud ne s’exécute que si l’ensemble des données d’entrées sont disponibles ;
  • La mémorisation des données, pouvoir réutiliser des données produites ;
  • Les structures de programmation, gérer des choix et des itérations ;
  • La programmation objet, la gestion évènementielle, l’encapsulation, le typage de données, etc.

 

La nouvelle génération NXG reste LabVIEW (voir figures 7.3 et 7.4). Un environnement de développement, orienté test et mesure, qui permet de programmer en code G dans un diagramme. Le code graphique reste. L’ensemble des concepts qui en font la puissance reste inchangé. Les terminaux, les nœuds, les structures, la propagation du flux de données sont présents (ou seront présents dans les versions prochaines). Les bibliothèques d’intégration du matériel d’acquisition (DAQmx) et des instruments (VISA, IVI) restent. Les outils sont toujours disponibles au-travers d’une palette.  Le principe et la philosophie de la programmation en code G restent inchangés. Un point également très important à retenir, le compilateur est le même (cf §3.1.2).

 

 

LabVIEW NXG reste LabVIEWLabVIEW NXG reste LabVIEW Figure 7.3 – LabVIEW NXG reste LabVIEW

 

 

Le même code en LabVIEW Standard et NXGLe même code en LabVIEW Standard et NXG

 Figure 7.4 – Le même code en LabVIEW Standard et NXG.

 

LabVIEW reste le même LabVIEW que celui que nous aimons. Lorsque j’entends cette nouvelle et je l’écris avec beaucoup d’humour, et en tant qu’auteur du livre je pousse un soulagement. Je n’ai pas besoin de réécrire l’ensemble du livre.

  • En effet le chapitre 1 qui décrit les concepts et l’intérêt de la programmation graphique, qui permet de représenter du code par un schéma, reste inchangé.
  • De même le chapitre 3 qui décrit les « bonnes règles » de développement afin que le code soit maintenable, évolutif, performant et compréhensible par d’autres concepteurs d’applications est toujours valable.
  • Pour les chapitres 4 et 5, là encore, les principes et structures pour acquérir, analyser et présenter les données par programmation sont toujours vrais.

 

Sur le fond, les compétences que doit avoir « un bon programmeur G » s'appliquent toujours. Pour aller dans ce sens les certifications délivrées par National Instruments et qui ont été obtenues avec la version standard de LabVIEW sont toujours valables : certifications développeur « CLAD » & « CLD » et certification architecte « CLA ». Les fondements de LabVIEW sont inchangés. Un LabVIEW Champion est toujours compétent sous NXG. Ce qu’un développeur peut faire dans LabVIEW 2018, il sera capable de le faire dans LabVIEW NXG, dans quelques années lorsque cette version aura toutes les fonctionnalités.

 

Sur la forme, l’éditeur de l’environnement NXG a évolué pour être plus intuitif et s’éloigner du concept de l’instrument physique. De nouveaux concepts apparaissent, comme des interfaces interactives pour réaliser des mesures sans programmation. Le développeur devra donc changer quelques habitudes. Le chapitre 2 qui présente les éléments de base de la programmation LabVIEW, ainsi que la démarche à suivre pour l’élaboration d’un programme dans l’environnement « Standard » vont donc être repris dans ce chapitre, avec la version NXG.

 

Bousculer les habitudes, pour apporter une amélioration

Dans le domaine du test et de la mesure, la plate-forme de développement LabVIEW est le logiciel de référence. « Bousculer » les habitudes des utilisateurs est un exercice qui peut s’avérer parfois périlleux. National Instruments prend des risques avec cette version. Tout en gardant la philosophie et les principes du succès de LabVIEW « Standard », la nouvelle version a l’ambition de révolutionner deux concepts :

  • Pour les non développeurs, permettre de réaliser simplement des mesures sans faire de code ;
  • Pour les développeurs, moderniser l’environnement de développement et ajouter des nouvelles fonctionnalités très attendues.