Bonjour,

Nous avons vu dans des articles précédents la file d’attente (FIFO), ainsi que le design pattern de base, la machine d’état. Nous allons donc les combiner pour avoir un design pattern plus puissant. La file d’attente permet de stocker les différents états sans les perdre par exemple si un état empile plusieurs actions successives a effectuer. Pour cela on créé une file d’attente, on empile l’état initialisation (afin de rentrer dans le code d’initialisation au début du programme), ensuite dans une boucle while les éléments (ordres) sont dépilés, une structure condition permet de choisir le code a exécuter. le code contiens une fonction pour empiler l’ordre ou les ordres permettant de choisir le code a exécuter.

Dans cet exemple, j’ai choisi de mettre mes commandes sous le format d’une chaine de caractère, mais on pourrait utiliser un énum ou un cluster…

Bon code à tous!

Publicités

Quelques notions avancées pour ceux qui préparent le CLAD. Le but de cet article est juste de montrer que ces notions existent et vous donne juste ce qu’il faut pour passer la certification, mais il est conseillé de creuser la question pour les utiliser dans des architectures avancées.

FIFO

Aujourd’hui j’aimerai introduire une notion sur ce blog, notion que je commence à beaucoup utiliser. Les queues, et donc la plus utilisées, la FIFO (First In First Out). Le principe est assez simple on crée une file d’attente (on peut en définir la profondeur), on viens écrire un élément dans la file (une chaine de caractères, un énum (par exemple l’état d’une machine d’état), un cluster, un variant, des numériques…) on peut ensuite « dépiler » un ou plusieurs éléments pour les traiter ensuite, dans une autre boucle par exemple, mais aussi dans un autre VI qui tourne en parallèle. Il suffit ensuite de détruire la file d’attente en fin de programme.

Les files d’attentes peut aussi être utilisées pour passer des données vers TestStand, file d’attentes qui existent aussi dans TestStand pour passer des données entre différentes séquences par exemple(elles fonctionnent de manière analogue à celles de LabVIEW).

Notifications

On peut utiliser un notificateur pour synchroniser des exécutions, un notificateur ne peut faire passer qu’un seul élément contrairement à une file d’attente. On l’utilise par exemple pour passer un booléen pour signaler qu’une action est terminée dans un autre thread et qu’il faut donc terminer une autre exécution.

Sémaphores

Un sémaphore est utilisé pour verrouiller une ressource afin que plusieurs tâches ne puissent accéder à une ressource simultanément, et donc éviter les « races conditions » deux tâches ne doivent pas écrire en même temps dans une variable.

 

Variables locales

Une variable locale permet de passer une donnée au sein d’un même VI (plus généralement au sein d’une même séquence dans TestStand). Cela permet par exemple de contrôler deux threads qui tournent en parallèle dans une exécution.

Variables partagées

Les variables partagées sont des variables stockées sur un serveur , et permettent de partager des données entre plusieurs VI.

CLAD

Publié: mars 13, 2011 dans LabVIEW

National Instruments propose 3 niveaux de formation pour LAbVIEW:

-Le CLAD Certified LabVIEW Associate Developer

-Le CLD Certified LabVIEW  Developer

-Le CLA Certified LabVIEW Architect

 

Je viens de recevoir mon certificat pour le CLAD… je voulais vous faire partager ma joie, et annoncer que le blog à dépassé les 500 visiteurs depuis sa création, j’espère qu’il continuera à être consulté. Merci à ceux qui passent dessus.

 

Dans les prochains articles je parlerais de TestSTAND et de mon parcours pour accéder au prochain niveau de certification, le CLD.

 

Pour mon projet tuteuré j’ai travaillé sur la microscopie acoustique. Le principe consiste à envoyer un signal RF sur un piézoélectrique, il se déforme, ce qui crée une onde (le piézo est collé sur un barreau de silicium) cette onde se propage dans le barreau jusqu’à une lentille acoustique (analogue à l’optique (Snell Descartes)) pour focaliser l’onde à l’endroit voulu. Par réflexion on obtient un signal de faible amplitude que l’on analyse (effet inverse du piézoélectrique il sert de traducteur).

Cette méthode est utilisée pour le contrôle non destructif des matériaux (mise en évidence de phénomènes de délamination par exemple) mais aussi il peut servir à déterminer le module d’Young d’un matériau avec une précision supérieure aux méthodes de traction mécanique.

Je disposait d’un châssis PXI 1062Q, d’un contrôleur 8108, d’une carte IF RIO 5641R, d’un circulateur et d’un traducteur piézoélectrique:

Voici une copie d’écran du logiciel réalisé:

Zoom sur l'écho de lentille

On observe un signal large et modulé de forte amplitude c’est le signal d’exitation du piézo, le pic au centre est le premier écho de lentille, placé à 34microsecondes du signal source.

 

A cause des modulations ajoutées par la carte qui pour le moment n’a que le driver en mode quadrature et pas interpolation… le microscope n’est pas encore exploitable. J’ai aussi travaillé sur une méthode d’intercorrélation pour augmenter la résolution du microscope.

Echographie

Publié: février 24, 2011 dans Capteurs

Principe physique

Un signal RF est généré, ce qui fait vibrer un matériau piézoélectrique, ce qui génère une onde acoustique,  cette onde est en partie transmise à l’interface entre deux milieux (de manière analogue à l’optique) et en partie réfléchie. La réflexion a lieu à cause de la rupture d’impédance entre les deux milieux, plus elle est grande plus l’onde est réfléchie. Pour un objet constitué de différentes couches de matériaux on obtient plusieurs réflexions séparées dans le temps, comme dans le graphique ci-dessous, ce qui nous donne une information sur le matériau en profondeur. L’amplitude du signal reçu par le traducteur (piézoélectrique) décroit donc dans le temps. Pour obtenir une image 2D, il faut donc soit déplacer le traducteur mécaniquement, soit utiliser une barrette de traducteurs décalés dans le temps par multiplexage par exemple

Résultats

En échographie médicale, on utilise donc un matériau piézoélectrique, avec un backing qui l’empêche de vibrer dans un sens (vers l’électronique) un barreau de silice transmet l’onde avec une lentille acoustique pour focaliser à la profondeur voulue. On utilise un liquide couplant (de l’eau avec un gélifiant) pour adapter l’impédance entre la silice et le corps humain, car avec une faible pellicule d’air on a presque 100% de réflexion.

L’échographie est peu coûteuse, sans danger, rapide, et permet d’obtenir des images en temps réel avec des résolutions allant jusqu’au dixième de millimètre.

 

Schéma du capteur:

 

 

J’ai aussi fait un TP sur le MEB, voici quelques images de pointes STM et AFM imagées lors de la séance:

On peut voir que les dimensions des pointes (du bout de la pointe est de l’ordre du micron voir au dessous)

Microscopie à effet tunnel

Publié: février 24, 2011 dans Capteurs
Tags:, , ,

La microscopie à force atomique est basée sur une approche différente. Les propriétés  utilisées pour réaliser ce type d’imagerie sont les forces attracto-répulsives de Van der Walls classiquement exprimées sous la forme d’un potentiel par paires de Lennard-Jones. La transformation de l’information (topographie de l’échantillon) se fait en deux étapes : une première consiste à transformer la distance en une force proportionnelle par l’intermédiaire d’un levier (corps d’épreuve) et une deuxième à transformer celle-ci en signal électrique par l’intermédiaire d’un système laser/diode mesurant la déflexion du levier.

Suivant la distance de la pointe du levier par rapport à l’échantillon, le domaine de forces varie.

J’ai utilisé 2 modes :

le mode contact : la pointe est placée au contact de la surface. Il en résulte une force de répulsion qui a tendance à éloigner la pointe de la surface et donc à provoquer une déflexion du levier. Une boucle de contre-réaction permet de maintenir la déflexion du levier constante en ajustant la position verticale du cantilever. On obtient donc une image de la surface par analyse des déplacements verticaux de la tête de mesure sur une ligne de scan.

le mode tapping : la pointe oscille autour d’une position centrale et vient frôler (tapping répulsif) ou toucher (tapping attractif) la surface par intermittence

Images des mesures:

La première image montre un réseau, la seconde est un zoom sur unemicro-pointe, la troisième est un disque blu-ray, la quatrième est un CD les échalles sont micrométriques.