Archives de la catégorie ‘LabVIEW’

Point d’inflexion

Publié: janvier 13, 2011 dans LabVIEW
Tags:,

Sur un forum, j’ai trouvé une question qui peut intéresser d’autres gens, il s’agissait de savoir calculer un point d’inflexion avec LabVIEW. J’ai donc fait un programme qui permet de calculer les points d’inflexion d’une fonction. Le point d’inflexion est le point d’une courbe ou la dérivée seconde s’annule et change de signe. Le programme réalisé n’est pas très optimisé mais je ne voulais pas mettre de sous VI afin de rendre mon code lisible sur une seule image. Dans un premier temps j’ai créé une fonction, Arctangeante, décalée de (1 ;1), puis j’ai calculé la dérivée seconde, et trouvé le point d’inflexion (sa marche pour plusieurs). Vous noterez que la dérivée seconde a des pics au début et à la fin, ceci est du à la méthode d’intégration numérique, et n’a pas de réalité physique. Ce programme utilise aussi quelques fonctions de base sur les tableaux ce qui le rend intéressant, de plus on pourrait éliminer les points « défectueux » de la courbe de la dérivée seconde (sa serait plus propre).

Ce diaporama nécessite JavaScript.

Publicités

Exemples de programmes

Publié: décembre 20, 2010 dans LabVIEW
Tags:, ,

Voici trois exemples de programmes/interfaces:

-Traitement du signal: filtrage, et FFT, détection de pic (à partir du cours LabVIEW in 6hours)

-Remplissage d’une cuve à partir de trois autres cuves

-Convertisseur de degrés Celsius en degrés Farenheit ou en Kelvin (très inspiré d’un cours récupéré sur internet)

 

 

Ce diaporama nécessite JavaScript.

Traitement d’images

Publié: décembre 20, 2010 dans LabVIEW
Tags:, ,

Dans cet article je parlerais de traitement d’image basique en LabVIEW. Le programme que j’ai créé permet de créer une image, d’ouvrir une image sélectionnée par l’utilisateur, de l’afficher, d’obtenir les valeurs des pixels (en U32), puis de lui faire effectuer une rotation de 90 degrés. C’est très classique, mais sa permet de comprendre les bases de la vision en LabVIEW, et d’ensuite choisir ses propres fonctions de traitement d’images.

 

Ce diaporama nécessite JavaScript.

Pilotage d’un GBF Agilent

Publié: décembre 20, 2010 dans LabVIEW
Tags:, ,

Pour communiquer avec le GBF, j’utilise un câble USB et le protocole VISA. Il me suffit d’ouvrir une communication en spécifiant la ressource VISA (mon GBF), puis d’envoyer des commandes (que l’on trouve dans la doc du GBF).

Le programme ci-dessous permet de choisir une fonction sinus, carré, ou rampe, une fréquence, une tension d’offset et une amplitude au signal

 

Pour écrire la commande, on concatène différentes chaines contenant les informations pour la génération du signal par le GBF.

Structure condition

Publié: décembre 19, 2010 dans LabVIEW
Tags:, , ,

Aujourd’hui nous allons parler de la structure condition dans LabVIEW, à travers 4 exemples classiques.

Dans le premier cas, la structure la plus commune, un booléen permet de choisir parmis deux conditions vrai ou faux.

Dans le second cas, on sélectionne le booléen sur « vrai », et on exécute la condition correspondante à l’indice du booléen. On peut donc placer n conditions.

Dans le troisième cas, la condition est commandée par une chaine, c’est donc un mot qui permet de sélectionner la condition à exécuter.

Dans le dernier cas, c’est une commande énumération qui permet de choisir la condition voulue, ici aussi on peut utiliser n conditions.

Je vous invite à tester ces différentes structures dnas vos prochains programmes.

 

A bientôt…

Projet Master 1

Publié: décembre 13, 2010 dans LabVIEW
Tags:, ,

Bonjour,

 

Je vais parler dans cet article d’un projet réalisé avec mes camarades de master 1 l’an dernier. Une petite partie ayant été réalisée en LabVIEW, mais c’est plus pour montrer des applications que pour parler de programmation. Il s’agissait de concevoir et réaliser un banc de test pour valider un réacteur plasma, et réaliser des études simples de physique « de base », notamment tracer des courbes de Paschen, des caractéristiques Courant-Tension, spectroscopie, réaliser un film d’une décharge plasma, sonde de Langmuir…

 

La partie sous LabVIEW consistait à mesurer la Température de la pièce (reproductibilité des mesures), et mesurer la pression au sein du réacteur plasma, l’unité utilisée dans le domaine étant le Torr(millimètre de Mercure), je l’ai affichée en mBar ainsi qu’en Torr. Une boucle For permettait aussi d’enregistrer la pression au cours du temps, et donc de caractériser les fuites du réacteur (pour estimer la qualité du vide, mais aussi pour vérifier l’étanchéité des hublots).

 

J’ai aussi ajouté une simulation réalisée pour simuler les parcours des ions et électrons dans le plasma, ainsi que la représentation du champ électrique entre les électrodes.

 

Ce diaporama nécessite JavaScript.

Bonjour,

Aujourd’hui nous allons voir comment on peut simuler une jauge de réservoir d’essence de voiture. Dans cet exemple de code, on utilise un slider pour simuler le niveau d’essence, et une architecture en machine d’état pour gérer les différents cas: réservoir rempli, niveau moyen, niveau bas. Il y a 4 états, « départ » pour choisir quel cas niveau haut, milieu, ou bas correspondant chacun a un état. On pourrait mettre le noeud de propriété en dehors de la structure condition pour plus d’optimisation, mais c’est un détail…

Ce diaporama nécessite JavaScript.

 

Détails:

L’état est une variable interne à la structure, qui permet de déterminer quelle partie du code on va exécuter. Ici j’utilise une définition de type sur une constante énumération, l’avantage c’est que si j’édite l’énumération elle sera éditée dans tout mon programme (ou d’autres sous programme éventuellement utilisés avec cette fonction. La constante est reliée à une structure condition (le case en C par exemple), cela marche exactement comme si on reliait un booléen à la différence qu’ici on peut utiliser plus de deux valeurs différentes (ici 4 possibilités) .

Un registre à décalage permet de passer la valeur de la constante énumération entre les itérations de la boucle while.

Ensuite de simple comparateurs permettent de déterminer l’état suivant. Par exemple, en algorithmique:  Si la valeur est inférieur à 15 aller dans l’état « Froid », sinon aller dans l’état « Chaud ».

N’hésitez pas à demander des précisions plus spécifiques.