Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Les micro-nuggets à la Française

 

MicroNug.png

Bonjour à tous,

En voyant ce titre vous avez surement du vous demander ce qu'était ce  nouveau (et bizarre) sujet sur le forum.

En fait un "nugget" est un article présentant rapidement une astuce de programmation ou d'utilisation (de LabVIEW ou non).

Vous pouvez en avoir quelques exemples ici : Micro Nuggets

Pourquoi recréer un tel sujet sur le forum français ?

Et bien justement, je pense que la communauté française des utilisateurs de LabVIEW (et autres logiciels et matériels NI) n'est pas assez dynamique (sur le forum) par rapport à la communauté anglophone.

Aussi, même si la pratique de l'anglais commence à se généraliser, les "nuggets" en anglais ne sont peut être pas à la portée de tout le monde surtout lorsque l'on doit faire la traduction entre les interfaces d'une version de LabVIEW en anglais et une version de LabVIEW français.

Cela permettra de partager nos connaissances entre français (n'y voyez rien de chauvin là dedans) et de montrer les aptitudes de chacun et pourquoi pas mieux se connaitre.

Je vous propose donc de partager vos "nuggets" ici, qu'ils concernent LabVIEW, LabWindows/CVI, TestStand, etc...que vous partagiez un simple raccourcis qui peut être très utile, ou un VI de scripting, n'hésitez pas à poster.

Que vous soyez ingénieur d'application, débutant sous LabVIEW ou architecte banc de tests, n'hésitez pas à poster vos trucs et astuces.

 

 


 

 


 

Pour ma part voici la première "astuce" que j'ai à donner.

 

Dans le dossier C:\Program Files\National Instruments\LabVIEW 2010\vi.lib\Utility\ de LabVIEW il y'a un VI qui a pour nom "High Resolution Relative Seconds.vi" ce VI n'est pas présent sur la palette par défaut et c'est bien dommage.

 

Celui-ci permet d'obtenir avec une grande précision la valeur de l'horloge en seconde (en comparaison au VI "Compteur d'impulsions").

 

La sortie de ce VI est un entier double précision contrairement au VI "Compteur d'impulsions" qui n'est qu'un entier non signé de 32 bits.

 

Voyez par vous même :

 

nugget1.PNG

 

Voilà pour aujourd'hui.

Da Helmut
Voir le profil de Maxime M. sur LinkedIn - View Maxime M.'s profile on LinkedIn
Message 1 sur 125
7 859 Visites

Salut Maxime,

Très bonne idéede reprendre le concept dans la communauté française.

 

Je ne manquerai pas de poster des Tip & Tricks ainsi que des exemples de code.

 

PS: tu peux surement mettre un Snippet à la place d'un simple imprime écran du diagramme 😉

 

HighRes.png

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 2 sur 125
7 827 Visites

Salut Benjamin,

 

J'imagine que tu dois avoir moulte astuce et technique à partager 🙂 N'hésite pas ! Smiley tirant la langue

 

J'ai pas encore le réflexe du snippet mais ça viendra 🙂

 

Bonne journée.

 

 

 

 

Da Helmut
Voir le profil de Maxime M. sur LinkedIn - View Maxime M.'s profile on LinkedIn
0 Compliments
Message 3 sur 125
7 820 Visites

Bonjour à tous,

 

Voici une fonctionnalité très partique pour formater des chaînes de manière dynamique.

 

Depuis LabVIEW 8.0 la fonction Format en en chaîne vous permet de spécifier un ordre pour les entrées qui apparaitront dans la chaîne résultante.

 

Par exemple, si vous avez quatre chaînes câblées en  entrée de la fonction, et que votre chaîne de format est "% s% s% s% s", la chaîne de sortie ne sera que ces quatre chaînes et dans l'ordre où elles ont été connectées.

Mais comme vous pouvez le voir dans le snippet ci-dessous, il ya maintenant un moyen de spécifier l'ordre des entrées dans le spécificateur de format. Dans l'exemple ci-dessous, en utilisant le «% n $ s", où «n» est le numéro de l'entrée, vous pouvez modifier dynamiquement la position des entrées dans la chaîne de sortie.

 

FormatToStringFA.png

 

FormatToString.png

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 4 sur 125
7 775 Visites

Quelques raccourcis utiles :

 

CTRL+E : permet de passer de la face-avant au diagramme et inversement.

 

CTRL+B : permet de supprimer automatiquement tout les fils brisés sur le diagramme.


CTRL+MAJ+B : permet d'ouvrir le navigateur de classe. Cela permet alors d'avoir la liste des méthodes et propriétés associés aux VIs, aux applications, aux ActiveX ou encore aux assemblys .NET, très utile.

 

3.PNG

 

CTRL+R : permet d'executer un VI.

 

CTRL+. : permet d'arrêter l'exécution d'un VI.

 

CTRL+M : permet d'obtenir la version éditable d'un VI. Cela est très utile quand on a N clones d'un VI en mémoire et que l'on souhaite retrouver la version d'origine qui peut être modifiée.


CTRL + ESPACE puis CTRL+T : ouvre la fenêtre de placement rapide puis place les étiquettes à droite pour les comandes et à gauche pour les indicateurs dans le diagramme sur les terminaux.

 

1.PNG2.PNG

 

A noter qu'avec la version française il faut patcher LabVIEW pour que les raccourcis de placement rapide fonctionnent.

 

Voila principalement les raccourcis que je trouve très utiles et que j'utilise quasiement tous les jours.

 

Quelques fonctions utiles :

 

palette.PNG

 

La palette "Comparaison" regorge de fonctions très utiles. On a notamment : Pas un nombre / chemin / refnum qui permet, comme son nom l'indique de vérifier si l'on a bien en entrée un nombre, un chemin, ou une référence. Cela est très utile pour vérifier la qualité de notre entrée avant toute opération, par exemple si l'on veut passer une référence de VI afin de changer l'arrière plan de la face avant :

 

extrait.png

 

Attention de bien noter que cette fonction renvoi "vrai" uniquement si il ne s'agit PAS d'un nombre / chemin / référence.

 

Sur la même palette on retrouve également : Chemin vide, tableau vide qui permettent d'éviter la manière "old school" présentée dans cet extrait de VI :

 

extrait.png

 

Rien de bien spécial pour la plupart d'entre vous je pense, mais très utile à savoir lorsque l'on débute et que l'on est assomé par toutes les fonctions présentent sur la palette !

Da Helmut
Voir le profil de Maxime M. sur LinkedIn - View Maxime M.'s profile on LinkedIn
Message 5 sur 125
7 746 Visites

Voici quelques structures très utiles :

 

La structure "élément en place" :

 

palette_e_in_pa.PNG

 

Elle permet d'optimiser la façon dont le compilateur effectue certaines opérations sur les tableaux, clusters, et référence de données (cf Aide LabVIEW). D'après ce que j'ai pu lire, cela optimise l'utilisation de la mémoire et permet de réaliser certaines opérations plus rapidement qu'en utilisant les fonctions seules (désassembler / assembler par nom, indexer un tableau, remplacer, etc). Cela est également plus élégant sur le diagramme, par exemple :

 

element_en_place.png

 

Vous trouverez cette structure sur la palette Structure à partir de LabVIEW 8.6 (il me semble) et sur la platte "Contrôle de la mémoire" pour les versions inférieures.

 

Plus d'infos sur le blog Thinking In G .

 

La structure à condition désactivée permet d'accéder à certaines variables d'environnement :

 

condt.PNG

 

cndition.PNG

 

Cela est très utile par exemple pour savoir si l'on est sous l'environnement de développement ou en exécutable, voici un exemple lorsque l'on veut quitter l'application en exécutable mais PAS sous l'envrionnement de développement (fermeture de LabVIEW) :

 

quitter.png

 

Au lieu de faire comme ça :

 

quitter2.png

 

 

Da Helmut
Voir le profil de Maxime M. sur LinkedIn - View Maxime M.'s profile on LinkedIn
Message 6 sur 125
7 737 Visites

Merci Maxime.... cela fait peut être beaucoup d'un seul coup 😉

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 7 sur 125
7 731 Visites

 


BenjaminR a écrit :

Merci Maxime.... cela fait peut être beaucoup d'un seul coup 😉


 

Merci Maxime pour cette initiative. Toutefois, je rejoins la remarque de Benjamin et je suggère de se limiter en règle générale à 1 nugget/message pour augmenter la lisibilité.

 

Francophone, j'utilise les versions anglaises de LabVIEW. Par conséquent, il me sera difficile de poster des nuggets... du moins s'ils font appel à la terminologie exacte de la version française de LabVIEW !

Message 8 sur 125
7 706 Visites


BenjaminR a écrit :

Merci Maxime.... cela fait peut être beaucoup d'un seul coup 😉


 

Merci Maxime pour cette initiative. Toutefois, je rejoins la remarque de Benjamin et je suggère de se limiter en règle générale à 1 nugget/message pour augmenter la lisibilité.

 

Francophone, j'utilise les versions anglaises de LabVIEW. Par conséquent, il me sera difficile de poster des nuggets... du moins s'ils font appel à la terminologie exacte de la version française de LabVIEW !

 


 

Bonjour JB et Benjamin,

 

J'avoue avoir fait un petit peu d'excès de zèle Smiley très heureux...Je me limiterai la prochaine fois Smiley heureux

 

JB, si tu utilises une version anglaise, certes cela peut être limitant pour ce thread, mais n'hésite pas à poster des exemples de codes ou autre chose que tu trouves utile le principal est que l'explication soit en français. Avec les snippets on peut facilement faire le lien entre versions localisées.

 

Bonne journée.

 

Da Helmut
Voir le profil de Maxime M. sur LinkedIn - View Maxime M.'s profile on LinkedIn
0 Compliments
Message 9 sur 125
7 693 Visites

Perso j'utilise aussi la version anglaise 🙂 .

Donc quand j'aurai le temps, je posterai des nuggets à la sauce anglo-saxonne !!.

J'ai bien dit, quand j'aurai le temps :S.

Bonne continuation à tous !!

 

Pierre R...

Certified LabVIEW Developer
Message 10 sur 125
7 672 Visites