Affichage des articles dont le libellé est numérique. Afficher tous les articles
Affichage des articles dont le libellé est numérique. Afficher tous les articles

dimanche 20 février 2011

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

Résumé: LabVIEW 2010 a introduit des améliorations pratiques, notamment dans les palettes de programmation et de contrôles. Les structures de gestion de la mémoire optimisent l’utilisation de la mémoire, essentielles pour les applications embarquées. Les icônes des variables partagées, globales et locales ont été redessinées pour plus de clarté. Une constante de type double a été ajoutée pour simplifier la programmation numérique. L’icône de la constante booléenne a été compactée pour économiser de l’espace. Les fonctions de flux réseau et le client HTTP facilitent le transfert de données et la communication avec les serveurs Web, respectivement. Ces changements visent à améliorer l’efficacité et la lisibilité des diagrammes.

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.

Découvrez comment AJOLLY Testing peut apporter de la valeur à vos projets :
🌐 www.ajolly.fr

lundi 10 août 2009

Nouvelles fonctions de LabVIEW 2009

Résumé : LabVIEW 2009 (version 9.0) a introduit des améliorations significatives, notamment dans les commandes de face avant et les fonctions de diagramme. Parmi les nouveautés, on trouve des commandes numériques de type réservoir, des graphes 3D avancés, et des palettes enrichies pour la programmation numérique et les matrices. La gestion de la mémoire et les informations sur le processeur ont été optimisées, et de nouvelles fonctions pour les variables partagées et le moteur de balayage NI ont été ajoutées, facilitant ainsi la synchronisation et la gestion des défaillances. Ces évolutions visent à améliorer l'efficacité et la clarté du développement sous LabVIEW.

labview2 LabVIEW 2009 vient de sortir (on notera que le numéro de la version est en faite la 9.0). En plus des nouveautés annoncées par National Instruments sur son site, j’ai voulu faire un tour d’horizon des nouveautés dans les palettes de commandes en face avant et de fonctions pour les diagrammes. En voici la synthèse (les nouveautés sont encadrées en rouge :

Nouveautés dans les commandes (face avant)

  • Numérique
labview2009-moderne-numerique ajout de la commande de type réservoir
  • Graphe
labview2009-moderne-graphe ajout du tracé de compas, tracé à barres d’erreur, tracé de plume et matrice de tracés XY et ajout de la palette dédiée au graphe 3D
  • Graphe 3D
labview2009-moderne-graphe-graphe-3d ajout des graphes 3D de type nuage, barres, camembert, bâtons, rubans, contour, champ vectoriel, comète, surface, maillage et chute d’eau.

 

Nouveautés dans les fonctions (diagramme)

  • Programmation, numérique, virgule fixe
labview2009-programmation-numerique-virgule-fixe ajout de : adapter de virgule fixe à entier, adapter d’entier à virgule fixe
  • Programmation, tableau, matrice
labview2009-programmation-tableau-matrice nouvelle palette avec : taille de matrice, construire une matrice, redimensionner une matrice, transposée d’une matrice, obtenir la diagonale d’une matrice, obtenir les éléments d’une matrice, obtenir une sous-matrice, définir une diagonale de matrice, définir des éléments de matrice, définir une sous-matrice
  • Programmation, cluster, classe et variant
labview2009-programmation-cluster-classe-et-variant ajout de préserver la classe à l’exécution
  • Programmation, E/S sur fichiers, constantes de fichiers
labview2009-programmation-es-sur-fichiers-constantes-de-fichiers ajout de : obtenir le répertoire système et répertoire de l’application
  • Programmation, E/S sur les fichiers, XML, parseur XML
labview2009-programmation-es-sur-fichiers-xml-parseur-xml
  • ajout de : obtenir le premier nœud correspondant et obtenir tous les nœuds correspondants.
  • à noter le changement des icones nouveau et fermer.
  • Programmation, E/S sur les fichiers, TDM en continu
labview2009-programmation-es-sur-fichiers-tdm-en-continu ajout de : TDMS – convertir le format, créer des informations de mise à l’échelle
  • Programmation, contrôle d’applications, contrôle de mémoire
labview2009-programmation-controle-applications-controle-de-memoire ajout de : nouvelle référence de valeur de données, supprimer une référence de valeur de données
  • Programmation, contrôle d’applications, informations sur le processeur
labview2009-programmation-controle-applications-informations-sur-le-processeur nouvelle palette avec : information sur le processeur, nombre de niveaux de cache, taille du cache de données
  • Programmation, waveform, waveforme numérique
labview2009-waveform-waveform-numerique ajout de grouper les signaux numériques
  • Traitement du signal, opérations sur les signaux
labview2009-traitement-du-signal-operations-sur-les-signaux ajout de nœud de délai de transformée en Z
  • Mathématiques, équations différentielles, équations différentielles partielles
labview2009-mathematiques-equations-differentielles-partielles nouvelle palette avec : définir une EDP, définir un domaine d’EDP, définir la condition aux limites d’une EDP, définir la condition initiale d’une EDP, résolution d’EDP, rendu d’EDP
  • Communication de données, variable partagée
labview2009-communication-de-donnees-variable-partagee
  • ajout de fonctions pour simplifier l’utilisation des variables partagées : établir une connexion à la variable, lire une variable, écrire une variable, fermer une connexion à une variable, nœud de propriété de variable.
  • pour les variable PSP : ouvrir et vérifier la connexion d’une variable, établir une connexion à une variable en arrière plan.
    pour les variables
  • E/S : lecture par balayage de la variable, écriture par balayage de la variable, lecture directe de la variable, écriture directe de la variable
  • Entrées/Sorties de mesures, moteur de balayage NI
labview2009-es-de-mesures-moteur-de-balayage-ni nouvelle palette avec : synchronisation avec le moteur de balayage, obtenir la période du moteur de balayage, définir la période du moteur de balayage, obtenir le mode du moteur de balayage, définir le mode du moteur de balayage, rafraichir les modules locaux
  • Entrées/Sorties de mesures, moteur de balayage NI, contrainte
labview2009-es-de-mesures-moteur-de-balayage-ni-contrainte nouvelle palette avec : activer les contraintes de variables, désactiver les contraintes de variables, effacer les contraintes de variables, contraindre une variable, annuler une contrainte de variable

  • Entrées/Sorties de mesures, moteur de balayage NI, défaillances
labview2009-es-de-mesures-moteur-de-balayage-ni-defaillances nouvelle palette avec : obtenir une liste de défaillances, définir une défaillance, effacer une défaillance, effacer toutes les défaillances
  • Entrées/Sorties de mesures, moteur de balayage NI, configuration de défaillances
labview2009-es-de-mesures-moteur-de-balayage-ni-configuration-de-defaillances nouvelle palette avec : définir une configuration de défaillance, effacer une configuration de défaillance, obtenir toutes les configurations de défaillances

Découvrez comment AJOLLY Testing peut apporter de la valeur à vos projets :
🌐 www.ajolly.fr

lundi 27 juillet 2009

Utilisation de JAVA avec TestStand

Résumé : TestStand intègre désormais un adaptateur JAVA, permettant l'appel direct de classes JAVA dans les séquences de test. Compatible avec TestStand 3.0+, LabWindows 6.0+ et Java 2 v1.4, cet adaptateur enrichit les possibilités de TestStand, déjà apte à gérer divers composants tels que LabVIEW, DLL et .NET. Il se divise en trois groupes : StartStop pour la JVM, Methods et Static methods pour les appels de méthodes. Les sources en C de LabWindows/CVI offrent une personnalisation avancée, facilitant les tests numériques, de chaînes, de validation et d'actions pour des applications comme les cartes mères PC.

logoteststand On peut maintenant faire appel à des classes JAVA directement depuis les séquences TestStand.

On sait que TestStand permet d’appeler des composants de type LabVIEW (VI), LabWindows/CVI (.C, .obj, .lib, .dll), DLL (donc tous langages capable de produire des DLL : C++, Pascal Object avec Delphi, Visual Basic et autres….), ActiveX (et donc tous langages compatibles), .NET assemblies (et langages compatibles…), HTbasic. On pourrait se dire que ces adaptateurs (adapters in english) sont principalement des technologies Microsoft. Choix commercial peut être, mais c’est sans compter sur la possibilité de les programmer soit même, surtout que l’ont peut prendre exemple des sources des adaptateurs, précédemment listés, qui nous sont fournis avec TestStand.

Dans cette veine, un nouvel adaptateur nous est livré : l’adaptateur JAVA. Il comprend trois groupes :

  • StartStop : pour le démarrage et l’arrêt de la machine virtuelle JAVA (JVM).
  • Methods : appel à une méthode d’une classe
  • Static methods : appel à une méthode statique d’une classe

L’appel aux méthodes permet les types de pas suivants : Numeric Limit Test, String Value Test, Pass/Fail Test et Action.

Regardez ci-dessous un exemple d’une séquence (ici pour une carte mère d’un PC) écrit avec des pas JAVA (voir Java dans le dossier des exemples TestStand).

TestStand-java
Séquence de test en JAVA sous TestStand

Il est à noter que les sources des adaptateurs JAVA sont codés en C sous LabWindows/CVI. L’interface de configuration des propriétés ci-dessous est donc modifiable.

Java_EditJavaCall_db
Propriétés d’un pas JAVA sous TestStand

L’adaptateur JAVA est compatible avec TestStand 3.0 et supérieur, LabWindows 6.0 et supérieur et Java 2 version 1.4.

Découvrez comment AJOLLY Testing peut apporter de la valeur à vos projets :
🌐 www.ajolly.fr