Cours Labview

Manuel complet d’utilisation de LabView pas à pas


Télécharger Manuel complet d’utilisation de LabView pas à pas

★★★★★★★★★★3.5 étoiles sur 5 basé sur 2 votes.
Votez ce document:

Télécharger aussi :


Cours d’initiation au logiciel  labVIEW

 

Nicolas POUSSET

 

Le Conservatoire national des arts et métiers (Cnam)

Omnes docet ubique :

Enseigner à tous et partout

Fondé 1794parl’AbbéGrégoire

Missions Cnam

JC. WETZEL/Cnam

Formation des adultes tout                   long

professionnelle

Recherche

Diffusion                 culturescientifique technique

Le Conservatoire national des arts et métiers (Cnam)

Quelqueschiffres

centresrépartis France,dans DOMTOM l’étranger payspartenaires enseignantschercheurspermanents auditeurs/an

heuresd’enseignement/an

million diplômésactifs                                 

Objectifs du cours

Présenter labVIEW et ses fonctionnalités

Comprendre les composants d'un Instrument Virtuel (appelé VI)

Établir une application simple d'acquisition de données

Créer un sous programme dans labVIEW

Travailler avec les tableaux, les graphiques, les clusters et les structures

Connaître des dispositifs d’impression et de documentation d’un VI

Développer différentes architectures de programmation

Publier des VI ou des données sur un réseau ou sur le Web

Maîtriser les bases de communications par liaison GPIB et Série Connaître les outils d’acquisition et de traitement d’images

Comprendre les concepts de base du développement temps réel

          Appréhender le Datasocket                                         

Partie I    

Introduction à LabVIEW

Partie II  

Les Sous VI

Partie III

Acquisitions de données

Partie IV

Boucles, registres à décalage et introduction aux graphiques

Partie V

Tableaux et fichiers

Partie VI

Fonctions des tableaux et graphiques

Partie VII

Chaînes de caractères, clusters et traitement d’erreurs   

Partie VIII

Structures Condition et Séquence Boîte de calcul          

Partie IX

Variables

Partie X              

Tables et nœuds de propriétés                                          172

Partie XI

Impression et documentation de VI

Partie XII

Programmation Evénementielle

Partie XIII

Architectures de programmation à boucle unique          

SOMMAIRE

Partie XIV               Outils de publication sur le Web

Partie XV                 Contrôle d’instruments                         235

Partie XVI               Module Vision

Partie XVII              Exercices d’applications                                                    

Partie XVIII            Développement d’applications temps réel                       

Partie XIX               DataSocket                                            334

Partie                       Sujets complémentaires

Remarque

version labVIEWutiliséepour coursd’initiation

version

 

Partie I Introduction à LabVIEW

Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW

Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

 

Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW

Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

   

National instruments : Société à l’origine de la programmation graphique

(NI)

et, par conséquent, de labVIEW

Date création

1976

Siègesocial

Austin,Texas,EtatsUnis

Implantations

plus          pays

Clients

plus                     entreprisesdans pays

Nombred’employés

dans monde

Résultats

croissanceconstantedepuis1976

millions dollars 2008

                                         classédepuis ans,par  FORTUNEMagazine (crée 1930

parmi               meilleursentreprisesaméricaines                     


Instrumentation Virtuelle avec LabVIEW

 

LabVIEW Laboratory irtualnstrument ngineering orkbench

                       environnement développementgraphiquequi

permet créerdesapplicationsmodulaires(notion sousVI) extensibles,pour conceptiond’applications mesure, contrôle test

LabVIEW est un outils acquisition analyseet de présentation de données.

   

Acquisition avec LabVIEW

LabVIEW permet l’acquisition données par l’intermédiaire diverses connectiques

                  PCI (Peripheral Component Interconnect)                 USB (Universal Serial Bus)

                   CompactFlash                          GPIB (IEEE 488) (General

                   LAN (Local Area Network)           Purpose Interface Bus)

                   PXI (PCI eXtensions for Instrumentation)           Firewire (IEEE 1394)

                   PCMCIA (Personal Computer Memory           Ethernet

              Card International Association)    Série (RS 232, RS 449, RS

                                Fi (IEEE 802.11 b/g/n) (Wireless        422, RS 423, RS 485)

Fidelity) VXI (VME eXtensions for Bluetooth       Instrumentation)

IrDA (Infrared Data Association)

IEEE : Institute of Electrical and Electronics Engineers

Analyse avec LabVIEW

LabVIEW inclut des outils pour l’analyse des données

Traitement du signal : Convolution, analyse spectrale, transformées de Fourier,…

Traitement d’images : Masque, détection de contours, profils, manipulations de pixels,…

Mathématiques : Interpolation, statistiques (moyennes, écart type,…), équations différentielles,…

 

Présentation avec LabVIEW

LabVIEW inclut des outils d’aide présentation  (communication)

des données

Graphiques, tableaux, images, génération de rapport,…

                                                                                                                                       l’intermédiaire d’internet                                                                  outils

publication      web,     serveur     datasocket, TCP/IP, envoie d’alertes     email,…

 

Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW

Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

 

Un peu d’histoire

 

Un peu d’histoire

 

Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW

Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

 

LabVIEW

Outil programmation intuitif portée   tous

Exemple LEGO Mindstorms NXT destiné initialement aux enfants partir ans

NXT

                                                                            Sortie   2006

 

LEGO Mindstorms NXT

Environnement de développement graphique

 

Possibilité d’utiliser

LEGO Mindstorms NXT directement LabVIEW pour la

programmation et la gestion

Autres exemples conceptions d’éléments plus complexes à l’aide de compléments logiciel  téléchargeables gratuitement


NXT

Vidéos Youtube

Rukik’s cube et Joconde

Joconde démo outils vision, détection contours

Démo Lego Mindstorms NXT 2.0

Logiciel LM NXT 2.0

LabVIEW (Etat batterie, ultrasons v1 et v2)

 

                                                                                 Exemple   Etat          batterie

   

Exemple : Test de l’émetteur/récepteur à ultrasons

 

Exemple : Test de l’émetteur/récepteur à ultrasons

Téléchargement du programme via l’interface « NXT terminal » dans le NXT et affichage de l’information de distance sur l’ordinateur


Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW

Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

 

Les programmes LabVIEW appelés Instruments Virtuels ou Virtual Instruments (VI)

 
Composantes d’un VI            Les VI se composent de

trois éléments principaux :

Face avant

Interface utilisateur

Contrôles » = entrées

Indicateurs » = sorties

Diagramme

Fenêtre de programmation et d’affichage du code source

Interaction entre face avant et   diagramme : Ctrl+E

Icône/Connecteur

 

Face avant d’un VI

   

Icône/connecteur d’un VI

Chaque      affiche une icône dans     coin     supérieur droit fenêtres      face avant diagramme    Une      icône    une

Icône par défaut représentation graphique d’un permet l’identifier   sein d’un autre

                                                                      connecteur           ensemble

terminaux correspondant   commandes indicateurs    sont

                                                                                              accessibles                                    

Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW

Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

 

 

Aperçu de la Description

                                                                                                                                     Modèles de VI  face avant                                                                               du VI

 

Recherche d’exemples

 

Recherche d’exemples

 

VI vide

 

Rechercher un élément

diagramme (fonctions

base,

Express,…

   

Par Nicolas POUSSET                                                                     42

Palettes de fonctions

 

Les Fonctions, les VI et les VI Express

Les Fonctions de base éléments d’exploitation fondamentaux de LabVIEW.

Les VI Standards : VI qui peuvent être personnalisés.

Les VI Express : VI interactifs avec une page de dialogue configurable mais limitée.


Palette d’outils

Utilisée pour agir sur les objets de la face avant et du diagramme (disponible dans la barre des menus : “ Fenêtre”).

Possibilité de changer d’outils à l’aide de la touche tabulation du clavier de l’ordinateur lorsque la sélection automatique de

l’outil est désactivée. Outil sélection automatique

(actif lorsque la LED verte est allumée)Outil déplacement

 Outil d’arrêt

Outil d’action sur la face avant

 Outil sonde

Outil déplacement et taille

 Outil copie couleur

Outil texte

Outil connexion par fils

Outil raccourci menu

Barre d’outils de la face avant

 

Barre d’outils du diagramme

Fonctionnalités classiques des programmes Barre des menus standards mais également spécifiques

 

Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

   

propriétés numérique

Clic droit constante) numérique

Clic droit constante) numérique

                 gamme     (avec

incrément)

   

   

                                                                                                        Par Nicolas POUSSET                                                                54

Fonction de base

Astuces de connexions

            Points de Connexions       Trois types de sélection

   

Programmation par flux de données

 

plupart       langages        programmation textuel (Visual Basic, C++, Java,… utilisent    modèles flux        commandes     C’est l’ordre séquentiel

                éléments           programme            détermine   l’ordre

                d’exécution      programme

Les options d’aide

   

Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW

Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

 

Exercice 1 Conversion de C en F et en K

 

Réaliser     qui permet d’effectuer une conversion    celsius kelvin (K)      fahrenheit    partir     fonctions    base      labVIEW

Conversion Conversion

 

Exercice        Conversion

Exemple de solution possible

()

 

Généralités

Un peu d’histoire

LEGO Mindstorms NXT

Vocabulaire LabVIEW

Environnement LabVIEW

Composants d’une application LabVIEW

Outils de programmation LabVIEW

Exercice 1 : Conversion de C en K et en

Aides au débogage

 

Aides aux débogages

Trouver des erreurs

                                             Cliquer           symbole          flèche coupée

Une fenêtre Windows nommée Liste des erreurs apparaît avec erreurs contenues dans

 

Aides aux débogages

Animer l’exécution

Cliquer sur le bouton ci contre. Les données dans des bulles sont animées. Des valeurs sont alors indiquées sur les fils.

                           Exécution du VI étape par étape

Sonde (Probe)

Exemples                                                                                          sondes personnalisées

Partie II Les sous VI

Qu’est ce qu’un sous VI ?

Assigner les terminaux d’entrée/sortie et réaliser une icône pour un sous VI

Sauvegarde du VI

Utiliser un VI en tant que sous VI

Quelques raccourcis clavier

 

Sous VI

 

Icônes et Connecteurs

Une icône représente dans  autre diagramme d’un plus haut niveau

2 cases en entrées pour les commandes

                                                                                                                                            connecteur montre

terminaux disponibles pour transfert données

1 case en sortie pour l’indicateur

 

Sous VI

   

Étapes de création d’un sous VI

Créer l’icône

Visualiser le connecteur

Assigner les terminaux

Sauvegarder le VI

Insérer le VI dans un VI de plus   haut niveau

 

Créer une icône

Cliquez avec bouton droit l’icône face avant haut droite), l’icône diagramme choisir “Éditer l’icône” personnalisation l’icône tout facultative

 

Visualiser le connecteur

Cliquer avec le bouton droit sur l’icône (face avant seulement) et choisir “Visualiser le connecteur”.

     

Sauvegarde du VI

Choisir un emplacement adéquat

Organiser par fonctionnalités

Sauvegarder les VI similaires dans un même répertoire

Outils    mathématiques,      traitement  d’images,    gestion multimètres, gestion moteur,…

Organiser par applications

Sauvegarder tous les VI utilisés pour une application spécifique dans un répertoire ou une librairie.

(ex : Étalonnage micromètres objet, Pilotage TGV,…)

Les librairies (.llb) combinent plusieurs VI dans un seul fichier. Ceci est idéal pour transférer des applications complètes vers d’autres ordinateurs.

 

Insérez le sous VI dans un VI de niveau supérieur

haut niveau.

Autre méthode de création d’un sous VI

•    Sélectionner une zone à convertir en sous VI

•    Sélectionner dans la barre des menus “Édition” : “Créer un sous VI”

   

Astuces pour travailler dans LabVIEW

Quelques raccourcis clavier

<Ctrl+H>

Activer/désactiver la fenêtre d’aide contextuelle

<Ctrl+B>

Supprimer les connexions erronées du diagramme

<Ctrl+E>

Basculer entre la face avant et le diagramme

<Ctrl+T>

Mosaïque verticale des fenêtres

<Ctrl+Z>

Annuler (aussi dans le menu Édition)

<Ctrl+C>

Copier un objet

<Ctrl+V>

Coller un objet

Alternative au copier coller dans labVIEW

Ctrl + cliquer glisser relâcher >

Partie III Acquisition de données

Introduction à l’acquisition de données

Outil « Measurement and Automation Explorer » (MAX)”

Acquisition de données DAQ

(DAQ : Data AQuisition

DAQ Traditionnel

DAQmx

Exemples de matériels dédiés à l’acquisition

 

Introduction à l’acquisition de données

Conversion du flux de Conversion du lumière (photons) en signal analogique Flux de         courant électrique     en signal lumière (électrons) numérique

 

Phénomène

                                                                                                     Capteur      Chaîne de traitement du signal

physique

(amplification, filtrage, échantillonnage,…)

capteur convertit phénomène physique signal (généralement nature électrique) mesurable par système d’acquisition données

 

Exemple de chaîne d’acquisition de

 

Exemple de capteurs

 

Exemple de capteurs

Deux catégories de capteurs :

Capteurs actifs

                                       comportent comme des générateurs          sont                                comme étant des

générateurs    charge,  tension, courant dont       valeur directement reliée mesurande (Photodiode, photomultiplicateur,…

Capteurs passifs

                                       comportent comme des impédances          sont                                comme étant des

          résistances, inductance        capacité dont      valeur        directement reliée

         mesurande (thermistance, jauge      contrainte,…

 

Measurement and Automation Explorer (MAX)

 

Measurement and Automation Explorer (MAX)

                                  Affiche         liste           périphériques         instruments

                            connectés      système

                                  Permet    d’exécuter             tests    pour  vérifier               bon

                            fonctionnement        périphériques connectés faire avant

                                       lancer dans     programmation sous labVIEW

                                  Permet     configuration      matériel

                                  Permet         créer        modifier          voies,             tâches,

                           interfaces,       échelles,…                                      

Measurement and Automation Explorer

 

Acquisition de données (DAQ) avec LabVIEW

 

DAQ traditionnel (Ancien driver)

Acquisition/génération d’un signal grâce     standards correspondant   anciens drivers

 

DAQmx (Assistant DAQ : VI Express)

Acquisition/génération d’un signal grâce à l’assistant DAQ

 

Terminologie de l’acquisition de données

Résolution  Détermine la valeur minimale de la variation du signal pouvant être mesurée.

Plus la résolution est importante, plus la représentation du signal est précise.

Exemple : un voltmètre indique 10 volts. Une variation de 0,1 volts fait bouger l’aiguille alors qu’une variation de 0,05 volts ne fait pas bouger l’aiguille. La résolution du voltmètre est de 0,1 volts.

                  Gamme  Valeurs minimales et maximales du signal.

Plus la gamme est petite, plus la représentation du signal est précise (à condition d’avoir une bonne résolution).

Gain  Amplifie ou atténue le signal afin de l’adapter au mieux à la gamme.

 

Catégorie de sources de signaux d’entrée

                                                                                       signal      référencé        masse  système

Exemples alimentations, générateurs signaux, tout qui connecte dans une prise secteur référencée terre…

Référencé

signal n’est pas référencé une masse Exemples piles, thermocouples, transformateurs,…

Non référencé

Trois modes mise masse sont disponibles mode choisit dépend nature signal

Mode     DIFFERENTIEL (DIFF)           meilleur)

Mode      RSE (Referenced Single Ended)  (pas recommandé)

(Mode référencé    une masse commune)

Mode      NRSE (Non Referenced Single Ended)                  (bon)

(Mode masse commune non référencé)

DIFFERENTIEL

RSE

NRSE


Exemples de matériels dédiés à l’acquisition

Connectivité directe des capteurs pour une mise en œuvre rapide

analogiques,

SCXI

connexion d'E/S blindé pour signaux d'E/S avec des

matériels enfichables DAQ équipés

broches

Exemples de matériels dédiés à l’acquisition

Ensemble d'instruments virtuels       oscilloscope, multimètre numérique, générateur       fonctions,… ELVIS     pour prototypage    laboratoire       l’enseignement

CompactDAQ

Acquisition par USB (Avantages plug and play connectique unique universelle

grand nombre mesures

Partie IV Boucles, registres à décalage et introduction aux graphiques

Boucle “for”

Boucle while

                                                     Registre   décalages

Graphiques

Affichages plusieurs courbes même graphique

                                                    Exercice  utilisation d’une boucle

   

Les boucles

1. Choisissez votre boucle 2. Encadrer le code qui doit être répété. dans la sous palette « structures

3. Placez les nœuds additionnels (contrôle booléen : bouton stop par exemple) et reliez


        Pour       signal assez bruité         pourrait avoir envie,   exemple, d’afficher une moyenne

valeurs

        Pour     faire         possible d’utiliser      registre    décalage

                       registre    décalage prend des données       côté droit          reporte                        côté

        gauche    l’itération suivante

 

possible d’utiliser  registre     décalage avec une boucle while   une boucle

Création : clic droit sur un des bords de la boucle >> « Ajouter un registre à décalage

 

Attention !! L’initialisation du registre à décalage est importante pour éviter les erreurs !

 

 

Commandes >> Toutes les commandes >> Graphes

Techniques de connexion dans les graphiques

 

Exercice 2 Utilisation d’une boucle

           Créer                 qui   génère

nombre aléatoire avec temps d’attente que l’utilisateur peut modifier

           L’arrêt        programme

           l’aide        bouton stop            face

avant

Exercice 2 Utilisation d’une boucle

Exemples de solutions possible

()

 

Action mécanique booléenne

 

                                                                                                                             Par Nicolas POUSSET                                                               105

Pour contrôles booléen nous avons possibilité paramétrer l’action mécanique ceux “commutation jusqu’au relâchement”, “commutation



                                                                                                                                                     l’appui”, “armement                                                                        l’appui”…

Partie V Tableaux et fichiers

Un tableau : Qu’est ce que c’est ?

Construire un tableau manuellement

Construction automatique de tableaux

Écrire dans un tableau

Lire à partir d’un tableau

Exercice 3 : Stocker et analyser des données

 

Un tableau,…mais pour faire quoi ?

Les tableaux combinent des données  même type dans une structure    données

Les tableaux sont utiles, par exemple, pour stocker des données générées, plupart temps, dans des boucles lors chaque itération

                            possible        construire des tableaux                données numériques,

booléens,    chemins,      clusters, chaînes  caractères,… n’est cependant pas possible créer des tableaux  tableaux

 

Philosophie d’un tableau

Exemple de tableau

Chaque éléments d’un tableau est accessible par son indice

Ainsi valeur (l’élément) 658384 l’indice L’élément 659422

                                                                        l’indice                                                


A partir de la palette Commandes >> Toutes les commandes >> Tableau et Cluster, sélectionnez Tableau.

 

A partir de la palette Fonctions >> Toutes les fonctions >> Tableau, sélectionnez Tableau

     

Tableau de Tableau de constantes contrôles

Possibilité créer tableau sous forme d’une ligne d’une colonne suivant besoins l’application


Créer un tableau 1D avec une boucle

 

Créer un tableau 2D avec deux boucles

 

Créer des tableaux 2D manuellement

 

Tableau en entrée d’une boucle For

Terminal (N) de décompte

 

Terminal (i) d’itérations

l’indexation automatique activée pour tableau câblé entrée d’une boucle For, terminal (N) décompte s’adapte automatiquement taille tableau boucle For s’exécute alors nombre fois égal nombre d’éléments tableau

Tableau en entrée d’une boucle For

 

                         deux tableaux sont connectés      entrée boucle ainsi que                            terminal

                            décompte (N), alors     boucle effectuera           nombre d’itérations égal

plus petit nombre disponible

Dans l’exemple dessus, premier tableau éléments, second valeur câblée Donc boucle For s’exécute que fois

 

Fichiers

             Fichiers           passer des données vers et depuis des fichiers.

Les fichiers peuvent être des éléments binaires, du texte, ou des tableaux. crire / lire le fichier IEW easurements (*.lvm) à l’aide de VI Express.

                         Écrire dans un fichier *.lvm      Lire un fichier *.lvm

 

Écrire dans un fichier LabVIEW Measurement

Inclut les fonctions ouvrir, écrire, fermer et gérer les erreurs.

Gère le formatage des chaînes avec soit une tabulation soit une  virgule comme délimiteur.

La fonction “Fusionner les signaux” sert à combiner des données

dans un type de données dynamiques.

 

Exercice 3 Analyser et stocker des données

                     Créer              qui génère        nombre

                      aléatoire toute      secondes

                     Calculer     moyenne,     valeur min

max    sauvegarder données dans fichier

Exercice 3 Analyser et stocker des données

Exemple de solutions possible

(donné)

 

Partie VI Fonctions des tableaux et graphiques

Les fonctions de base d’un tableau

Utiliser les graphiques

Créer plusieurs courbes dans les graphiques

Exercice 4 : utilisation de graphiques

Exercice 5 : suite de l’exercice 1 (boucle, registres à décalage, graphe)

 

Les fonctions d’un tableau les bases

Commandes >> Toutes les commandes >> Tableau et cluster >> Tableau

 

Les fonctions du tableau les bases

 

Les graphiques

Sélectionner depuis la palette Commandes, la sous palette « Graphe

Commandes >> Toutes les commandes >> Graphe

Graphe déroulant   Trace     données continu, plaçant anciennes données     gauche   nouvelles       droite

anciennes données disparaissent                                mesure

nouvelles arrivent

Graphe        Trace        tableau       nombres       fonction     leurs

indices

Graphe            (Express)     Trace une courbe       fonction

deux tableaux

Graphe numérique Trace des bits depuis des données binaires.

Les graphiques

             Faire        clic droit             graphique  sélectionner “propriétés”

pour personnaliser l’affichage (échelle, couleurs, curseurs,…

 

             Exemples   graphe numérique

L’utilisation des clusters sera abordée dans la partie VII

                                                                                                                   Graphe numérique

 

Exercice 4 utilisation de graphiques

           Générer              qui simule

signal sinusoïdal  signal carré dont peut modifier fréquence      l’amplitude ainsi que rapport cyclique (pour signal carré)

Afficher deux courbes même graphe

 

Exercice 4 utilisation de graphiques

Exemple de solution possible

()

 

Exercice 5 utilisation d’une boucle, de registres à décalage et d’un graphe

                                                                                                                                                                                partir l’exercice                                                                            créer

programme équivalent celui présenté gauche respectant mise forme (organisation, couleur, style,…

Les valeurs températures celsius kelvin fahrenheit sont affichées graphique

Une temporisation permet régler temps entre l’affichage deux températures

Exercice 5 utilisation d’une boucle, de registres à décalage et d’un graphe

Exemple de solution possible

()

 

Partie VII Chaînes de caractères, clusters et traitement d’erreurs

Chaînes de caractères

Fonctions de chaînes

Création de clusters (groupe / agrégat)

Fonctions des clusters

Cluster d’erreur

Récapitulatif sur les types de connexions

Exercice 6 : utilisation de clusters et graphiques

 

                                            Les chaînes de caractères sont représentés en rose

Une chaîne de caractères est une séquence de caractères (ASCII).

Utilisations possibles : affichage de messages (boîte de dialogue),

communications avec des instruments, fichiers d’entrée/sortie,…

Les contrôles ou indicateurs de chaînes sont dans le menu :

Commandes >> Commandes Texte ou Indicateur Texte

 
Différents modes d’affichage des chaînes de caractères sont disponibles
 
Exemples permettant chaînes

“Longueur d’une chaîne”, “Concaténer chaîne”, “Remplacer une portion “Formater      chaîne”,…

 

Dans certains     par exemple, pour     communiquer    avec

instrument par l’intermédiaire

port série nécessaire d’avoir comme séparateur décimal point non une

virgule  faut donc ajouter format

Sous ensemble d’une chaîne


Clusters

Structures qui regroupent plusieurs données.

Les données peuvent être de différents types.

Les éléments doivent tous être, soit des contrôles, soit des indicateurs.

Cela est similaire au câblage de fils dans une même gaine :

facilite la gestion du programme

 

Créer un cluster

Sélectionner un modèle de cluster :

Commandes >> Toutes les commandes >> Tableau et

                    Cluster    Fonctions >> Toutes les fonctions >> Cluster

 

La sous palette Clusters

Dans le sous menu Clusters de la palette Fonctions >> Toutes les fonctions.

 

                                                                                                                        Par Nicolas POUSSET                                                               142

Également accessible par clic droit sur un terminal de cluster dans la fenêtre diagramme.

Type de données

Désassembler

Étiquette

Désassembler par nom


Clusters d’erreurs

Un cluster d’erreur permet la visualisation d’un problème lors de l’exécution d’un VI. 

Un cluster d’erreur contient les informations suivantes :

État rapporte si une erreur se produit (valeur booléenne).

Code rapporte le code spécifique de l’erreur (Entier 32 bits).

Source donne des informations sur l’erreur (Chaîne de caractères).

Exemple :

                              Pas d’erreur                        Erreur                     

Techniques de manipulations d’erreurs

L’information d’erreur est passée d’un sous VI au suivant.

Si une erreur se produit dans un sous VI, tous les sous VI suivants ne sont pas exécutés de la façon habituelle.

Gestion d’erreur automatique.

Types de connexions

                  Numériques         Scalaire            Tableau 1D

Réels

Entiers

Booléen

Chaîne de caractères

Données Dynamiques

 

Exercice 6 utilisation de clusters et de graphiques

Générer un VI qui simule le déplacement d’un pointeur laser sur une photodiode quatre quadrants.

On simulera dans un premier temps un déplacement continu

du pointeur puis un déplacement discret

 

Exercice 6 utilisation de clusters et de graphiques

Exemple de solution possible

()

Déplacement discret

Déplacement continu

Partie VIII Structures Condition Séquence, Boîte de calcul

Fonctionnement de la structure Condition et de la structure Séquence

Mise en œuvre d’une boîte de calcul et du VI Express

Formule

Exercice 7 : Cluster, manipulation d’erreurs et

structure condition

Exercice 8 : Luminance spectrique du corps noir

 

Condition

Dans la sous palette Structures de la palette de Fonctions

Uniquement un seul cas est visible à la fois.

peut être, peut être pas,…

Sélecteur : 0, 1, 2,…

 
 
   

                 Sélecteur : Vrai, faux,                       

Condition pour la gestion d’erreurs

Lorsque que l’on câble cluster     d’erreur terminal      sélection d’une structure condition, celle

affiche  conditions   Pas d’erreur vert) Erreur  rouge)

structure Condition

reconnaît que valeur booléenne état cluster

d’erreur

                                                                             Séquence déroulée                           empilée

Palette Fonctions et sous palette Structure

Exécute le diagramme de façon séquentielle.

Clic droit sur la structure pour ajouter une nouvelle étape.

 

Boîte de calcul

Dans la sous palette Structures Implémenter des équations compliquées.

Les variables sont créées sur le bord.

Chaque énoncé doit se terminer par un point virgule (;) La fenêtre d’aide contextuelle montre des fonctions

 

Avantage de la boîte de calcul (à droite) : rapidité d’exécution du code par rapport à l’utilisation des fonctions de base (à gauche).       

 

Utilisation d’une interface calculatrice sont présentes plupart des fonctions d’une calculatrice

scientifique classique

condition

                        Générer              qui permet

visualiser une erreur lorsque l’on essaye calculer racine carré d’un nombre négatif


            condition              Exemple de solution possible

()

 

            condition           Exemple de solution possible

()

 

             condition  Alternative possible pour signaler l’erreur

 

Exercice 7 Cluster, manipulation d’erreurs et structure condition

Complément

()

 

corps noir radiateur thermique idéal qui absorbe complètement toutes les radiations incidentes quelles que soient leur longueur d’onde, leur direction et leur état de polarisation.

 

2hc2

L (?,T)=   hc e,?

 
 

?5(e?kT ?1)

                 Vitesse           lumière dans    vide

                 Constante       Planck

                 Constante      Boltzmann

 
 

Par Nicolas POUSSET                                                              160

             Loi      Planck

Générer qui permet tracer      luminance spectrique corps noir pour une température donnée


 

Allure du spectre d’une lampe halogène à filament

de tungstène dans le visible

(380 780 nm

Température ? 3000 K

Exemple de solution possible

()

 

rayonnement corps noir commence voir qu’au delà (rouge sombre) d’où choix l’expression corps noir puisqu’à température ambiante

corps naturels émettent dans l’Infrarouge (IR)

 

Partie IX Variables

Variables locales

Variables locales de séquence

Variables globales

                                                  Exercice    utilisation de variables locales

 

Variables locales

 

Variables locales de séquence

 

Variables globales

   

Générer qui permet donner temps ms) entre deux appuis boutons

utilisera une structure séquence empilée

avec, soit variables locales, soit variables locales séquences ainsi fonction suivante

Exemple de solution possible

()

 

Exemple de solution possible

()

 

Partie X Tables et nœuds de propriété

Tables

Nœuds de propriété

Enregistrement dans un fichier Excel

                    Exercice             utilisation de nœud de propriété

   

Nœud de propriété

 

faut l’objet qui

ici) valeurs

Objectif : on souhaite remplir une table et l’enregistrer dans un fichier Excel.

   

exemple résultats

format

exemple résultats

 

                          dialogue nous invitant    changer      nom      fichier apparaît

Exercice 10 utilisation de nœuds de propriété

Créer programme qui permet rendre visible invisible bouton face avant régler taille d’un afficheur type LED

 

Exercice 10 utilisation de nœuds de propriété

Exemple de solution possible

(Nœud de propriété.vi)

 

Partie XI Impression et documentation

Imprimer depuis l’onglet imprimer barre menus

                    Générer      rapport       formaté

Documentation

Ajouter commentaires dans face avant diagramme

Impression

Fichier » Imprimer

Différentes options d’impression sont disponibles

Icône, description du VI, face avant, diagramme, hiérarchie des VI, sous VI, historique des VI…

Impression du panneau VI (impressions programmables de la face avant)


 

Générer un rapport (Palette de Fonctions » Sortie » Rapport)

 

double cliquant

Express nous avons possibilité paramétrer formatage rapport

 

                         Génération des signaux         Génération du rapport

   

Documentation sur les VI

Fichier » Propriétés du VI » Documentation

Fournit une description et une aide à propos du VI.

A compléter par le développeur pour de nouveaux VI.

 

Fichier » Propriétés du VI » Historique

Enregistre les changements des différentes versions d’un VI.

 

Documentation sur les VI

 

Partie XII Programmation Evénementielle

Qu’est programmation événementielle? événement qu’est c’est?

                       Quels     sont      avantages

                          Fonctionnement                   structure Evènements

Exercice utilisation d’une structure Evènements

 

Introduction

                           programmation      évènementielle     permet                 gestion

d’évènements asynchrones crées notamment par des actions l’utilisateur    face avant

Les fonctionnalités programmation évènementielles sont uniquement disponibles dans versions professionnelles labVIEW

 

Les évènements? les avantages?

Lesévènementspeuventprovenir face avant (changement valeur d’une commande, une saisie

touches      clavier,      clic      souris,…

d’entrées/sorties externes (compteurs, trigger,… d’autres parties    programme,…

Les évènements permettent d’exécuter     code spécifique      synchronisé par exemple, avec une action l’utilisateur      face avant    Sans cela programme serait obligé d’interroger l’état des objets  face avant dans une boucle,      qui nécessite beaucoup   ressources    processeur   plus, dans possible    manquer      changement d’état rapide      face avant    Avec      programmation  évènementielle      pas perte d’évènements

 

Par défaut   terminal  Timeout Cela signifie qu’il faut attendre indéfiniment qu’un évènement produise

Structure évènement

 

Exercice 11 utilisation d’une structure évènements

Créer programme qui permet d’effectuer copie d’une valeur numérique d’une chaîne caractères d’une

commande dans         indicateur

d’activer indicateur type LED lorsque l’on appui bouton type booléen

 

Exercice 11 utilisation d’une structure évènements

Exemple de solution (Boucle é)

 

Partie XIII Architectures de programmation à boucles uniques

L’architecture simple du VI

L’architecture générale du VI

L’architecture de type « machine d’états (simple et complexe)

Exercice 12 : gestion de feux tricolores

 

L’architecture simple du VI

Le VI fonctionnel présente des résultats probants

Pas d’option marche/arrêt.

Convient pour des tests très simples, de petits calculs,…

Exemple :                                                

L’architecture générale du VI

Trois étapes principales :

Initialisation

Application principale Fermeture

Exemple pour l’acquisition continue d’une image

                  Initialisation        Application principale Fermeture

 

L’architecture de machine d’états (simple)

Avantages

Possibilité de changer d’état.

Modification et débogage facile.

Inconvénients

Pertes possibles d’événements s’il y en a deux qui arrivent en même temps.

 

L’architecture de machine d’états (simple)

 

Gestion d’évènements sur l’interface utilisateur : Utilisation de la boucle évènementielle dans une boucle while et de listes d’attente

 

Dans premier temps nous allons étudier face avant programme qui repose une architecture type machine d’états pour comprendre fonctionnement général ainsi que différentes fonctionnalités

Nous étudierons ensuite      détail   diagramme programme

 

                                                                                                         Onglet     Image

 

                                                                                                         Onglet      Météo

 

                                                                         Onglet      Enregistement      données

 

Cette présentation des différents onglets face avant permis d’avoir aperçu général des fonctionnalités programme

faut également voir, que celui fonctionne continu (grâce une boucle While) qu’il possible commencer, par exemple, par une lecture des paramètres météo, ensuite d’acquérir des données enregistrer, puis, pourquoi pas réaliser masque d’une

image

Dans     type d’architecture    aucune notion  séquençage qui laisse une liberté totale  paramétrage face avant

           

Générer     qui permet      gérer   feux tricolores d’un carrefour

utilisera, entre autre, une structure conditionnel avec constantes énumération, clusters

vert, Est

Ouest

rouge

Nord

orange

 

orange, Est

Ouest

rouge

Nord

rouge

 

rouge, Est

Ouest

vert

Nord

rouge

 

rouge,

Est

Ouest

Aide à la conception

Nord               vert

orange

Exemple de solution

(Exercice 9 - Feux tricolores )

 

Exemple de solution

 

Exemple de solution

 

Exemple de solution

 

Exemple de solution

 

partir votre précédent simuler déplacement voitures votre face avant comme explicité dans étapes chaque fois qu’une voiture réapparaît face avant (transition entre l’étape par exemple) changera couleur façon aléatoire utilisera commandes booléennes pour représenter voitures nœuds propriétés pour déplacer

Etape 3

Etape 2

Etape 1

 

Etape 4

 

Exemple de solution (Exercice 9 - Feux tricolores V3).vi

 

Exemple de solution

 

Exemple de solution

 

Exemple de solution

 

Exemple de solution

 

Partie XIV Panneaux de contrôle à distance

Visualisation contrôle face avant d’un programme LabVIEW, partir d’un navigateur Web (Internet Explorer, Firefox,…

Les clients éloignés observent directement changements mises jours programmes LabVIEW grâce serveur Web disponible dans labVIEW

Plusieurs clients peuvent regarder même face avant simultanément seul client fois peut contrôler face avant distance

 

Outil de publication de face avant sur le Web

Outils » Outil de publication pour le Web

Cliquez sur « Enregistrer sur disque » et le VI est encapsulé dans un fichier HTML. 

Une fois sauvegardé, le fichier peut être ouvert à nouveau et personnalisé dans tout éditeur HTML.

Ne pas oublier d’activer le serveur web pour permettre au(x) client(s) d’accéder aux données.

Outil de publication de face avant sur le Web

Application fonctionnant sur le PC où est installé LabVIEW

Panneau de contrôle à distance Ressources

NI  Developer Zone

() 

Recherche de panneaux de contrôle à distance.

)

Téléchargement de Tutoriaux et Instructions.

Support sur l’incorporation de Webcams dans les panneaux de contrôle à distance.  

Partie XV Contrôle d’instruments

Communication par liaison GPIB

Présentation et caractéristiques techniques

Measurement and Automation Explorer (MAX) : Outils de test

Fonctions de base pour la mise en œuvre du bus Utilisation de VI type

Communication par liaison Série

Présentation et caractéristiques techniques

Fonctions de base pour la mise en œuvre du bus Utilisation des exemples disponibles

Drivers d’instruments

 

Introduction

                         Dans           communications par liaisons GPIB

Série, l’acquisition  données    fait par l’intermédiaire d’un instrument autonome (multimètre, oscilloscope,…

                                                sein     duquel     sont     effectuées             opérations

d’entrées/sorties des signaux mesurés programme développé sert uniquement configuration l’instrument,  récupération, l’analyse présentation des données
 

Introduction

           liaison GPIB (General Purpose Interface Bus) appelée aussi IEEE                                                           (IEEE

Institute       Electrical and Electronics Engineers)       devenue depuis                                             apparition

1965 (crée par Hewlett Packard) standard communication qui permet aujourd’hui contrôler plupart des instruments mesures (oscilloscopes, multimètres, générateurs fonctions, …

première normalisation bus date  1987 sous référence IEEE     Une deuxième normalisation       bus  intervenue      1992 avec référence IEEE pour préciser       précédente qui était incomplète,  ceci        précisant

protocole communication, définissant formats données, 1990 document “Standard Commands Programmable Instrumentation (SCPI)” incorporé norme Celui définit certain nombre commandes auxquelles chaque instrument doit pouvoir obéir Cela permet ainsi une interopérabilité matériels différents fabricants

                                                                                                                                      Connecteur GPIB

 

Measurement and Automation Explorer (MAX)

 

Measurement and Automation Explorer

(MAX)      Clic sur un instrument : par exemple « Instrument0

 

VI type

 

   

Par Nicolas POUSSET

242

Fonctions de base dans labVIEW

Introduction

Bien que progressivement délaissée pour l’USB (Universal Serial Bus),                                                                                                  liaison

Série (RS                                                                                  moyen                                                                                         communication,



encore aujourd’hui, répandu pour transmission données entre ordinateur périphérique (imprimante, instrument mesure programmable,…

              liaison Série         une liaison asynchrone c’est      dire qu’elle      transmet pas

signal d’horloge donc aucune synchronisation entre l’émetteur récepteur Pour que récepteur puisse interpréter convenablement l’information transmetteur, faut que deux éléments soient configurés même façon

              faut spécifier quatre paramètres pour          type     communication                                  débit

transmission bauds, nombre bits données, polarité parité (paire impaire), nombre bits stop

                                                                                                                          Port Série                                      

Caractéristiques techniques

Voici le format type d’une trame envoyée par le port série :

                                                                                   Bit de                                                                      Bit de                                                   Bit de

                                                                                   Start      B0          B1          B2          B3          B4          B5          B6       Parité                                                  Stop

                                 Niveau haut                                                            

Niveau bas

                                                           start qui indique qu’une information              être envoyée                                                               permet

synchronisation         récepteur

                                                    données                      avec                     poids faible (LSB)

poids fort (MSB))

                                          parité qui permet      détecter       éventuelles erreurs                               transmission

                                                  stop Après        transmission       ligne         positionnée   repos pendant

périodes d’horloges         récepteur                                                                               


 

              VISA   Virtual Instrument Software Architecture

   
 

245

Fonctions de base dans labVIEW

Exemples de VI

 

Drivers d’instruments

Les drivers d’instruments sont des bibliothèques qui permettent contrôler instrument programmable

Accessible sur le site de NI à l’adresse suivante :

Ou par labVIEW à partir de l’arborescence suivante : « Outils > Instrumentation

> Base de drivers d’instruments (ou « rechercher des drivers d’instruments Exemple : Multimètre KEITHLEY modèle 2002 :

 

Partie XVI Module Vision

NI Vision Assistant

Acquisition d’une SEULE image avec une webcam par USB

Acquisition continue d’images avec une webcam par USB

NI Vision Assistant

Vision Assistant      permet paramétrer    caméra utilisée, procéder    l’acquisition d’images     séquences d’images, permet procéder une      multitude     traitement d’images     permet  générer automatiquement      facilement code     LabVIEW

opérationnel


Acquisition

 

Acquisition

 

Paramétrage

Réglage des paramètres vidéo

Ces paramètres sont intrinsèques

                                                                                                                                                                                                                                                                                         caméra    utilisée                                                                                                                         seront

différents pour d’autres types

caméras

Réglage des paramètres liés aux images

Traitement d’images

 

Traitement d’images

 

Génération automatique de code

 

Génération automatique de code

 

Programme LabVIEW de détection de bord de trait et de calcul de centre généré automatiquement.

 

 

Outils de visualisation

 

Acquisition d’une SEULE image

Webcam

Acquisition CONTINUE d’images

 

Partie XVII Exercices d’applications

Création d’une mire sans les outils vision

Création d’une mire avec les outils vision

Ouverture d’une image

Création d’un masque sur une image

Calibrage d’une image

Composteur de matière organique à assistance électronique Mise en garde

Propriétés d’un

Génération de fractales

Tirage aléatoire

                      LEGO Mindstorms    Système d’alarme                 


étape Création d’un motif unique dont

coordonnées  deux coins indiqués sont entrées dans   tableau

 

Réaliser un       VI   qui permet  de    visualiser l’affichage d’un motif sur un fond noir.

Pour        ce    faire        nous utiliserons des graphiques d’intensité ainsi que les VI suivants  (voir        diapo suivante).

Nous utiliserons les VI standards suivants :

Aide contextuelle

 

Exemple de solution possible

 

ème étape Création d’une ligne motifs identiques Pour cela nous allons décomposer

problème créant sous génère seul motif puis l’utiliser dans une boucle For sein d’un principal pour création d’une ligne

Création du sous VI

Création d’une icône facilement reconnaissable


sans

Exemple de solution possible

 

Réaliser un VI qui permet de visualiser l’affichage d’une ligne de motifs identiques sur un fond bleu.

 

pas x

Exemple de solution possible

 

ème étape Création d’une mire motifs identiques Pour cela nous allons utiliser deux

boucles For pour    création   lignes colonnes

Réaliser un VI qui permet de visualiser l’affichage d’une mire de motifs identiques sur un fond noir.

 

Exemple de solution possible

 

avec

                      étape Création           variable image    l’aide

standard unique

IMAQ Create

d’un motif

 
 

Par Nicolas POUSSET

274

avec

                                                                                                                   Réaliser    un    VI    qui permet                                                      de

visualiser l’affichage d’un motif ovale sur un fond noir dans deux modes de visualisation différents.

Pour ce faire nous utiliserons les VI standards suivants :

 

Exemple de solution possible

 

Exemple de solution possible

 

                                           ème étape Création d’une ligne      motifs

identiques

Étapes du programmes :

-    Créer un fond noir de 100 x 100 pixels par exemple.

-    Calculer le nombre de motifs par ligne.

-    Répéter l’inscription d’un motif à chaque tour.

-    La position du motif est incrémentée à chaque tour en incrémentant les éléments (x1, x2) du tableau de position du motif et en remplaçant l’ancien tableau de position par le nouveau.

Réaliser un VI qui permet de visualiser l’affichage d’une ligne de motifs ovales sur un fond noir.

Exemple de solution possible

 

ème étape Création d’une mire motifs identiques Pour cela nous allons utiliser deux

boucles For pour   création   lignes colonnes

Réaliser un VI qui permet de visualiser l’affichage d’une mire de motifs identiques sur un fond noir.

 

Ouverture d’une image

Réaliser un programme qui ouvre et affiche un fichier image dans une fenêtre externe.

On utilisera entre autre les VI Standards suivants :

 

Ouverture d’une image

Exemple de solution possible

   

(Version noir et blanc)

Réaliser un programme qui permet de créer un masque sur une image donnée en noir et blanc.

                                                                                                 Masque crée

Sélection de la zone de l’image à garder


On utilisera entre autre les VI Standards suivants :

 

Exemple de solution possible

   

Réaliser un programme qui permet de créer un

(Version couleur) masque sur une image donnée en couleur.

   

Exemple de solution possible

   

Calibrage d’une image

Réaliser un programme qui permet de créer le calibrage d’une image déformée.

Calibrage d’une image

Exemple de solution possible

 

assistance électronique

Réaliser programme assure gestion électronique d’un composteur matière organique présenté dans brevet fictif rédigé

téléchargeable                                                                    l’adresse


assistance électronique

Principales caractéristiques du cahier des charges :

Acquisition de deux tensions issues d’une sonde de température et d’hygrométrie

On fixe les seuils de température aux valeurs suivantes : U1 = 60°C et U2 = 40°C

On fixe le seuil d’hygrométrie à la valeur suivante : U3 = 45%

Ces seuils correspondent à l’allumage de voyants à LED de couleurs vertes associé à une action corrective spécifique :

(5.1) : « Arrosage requis »

(5.2) : « Ajout de matières azotées (déchets de table, plantes jeunes, gazon,… »

(5.3) : « Ajout de matières carbonées (résidus de jardin, feuilles mortes,…) »

(5.4) : « Retournement du compost (Attention !! Oter la barre métallique) »

Si la température mesurée est supérieure à U1, les voyants (5.3) et (5.4) s’allument. Si la température est comprise entre U1 et U2, aucun voyant n’est allumé. Si la température est inférieure à U2, le voyant (5.2) s’allume.

Si le taux d’humidité est supérieur à U3 aucun voyant ne s’allume. Si le taux d’humidité est inférieur à U3, le voyant (5.1) s’allume.

assistance électronique

Exemple de solution possible

assistance électronique

Exemple de solution possible


Réaliser programme permet d’effectuer l’affichage d’une mise garde fonction température actuelle (Ta)

 

Pour      faire nous utiliserons, entre autre,     fonction                              Sélectionner

 

Cahier des charges

inférieure égale Tmin affiche message Attention Risque gel allume LED mise garde supérieure égale Tmax affiche message

Attention Risque canicule allume LED mise garde

comprise entre Tmin Tmax alors affiche message Aucun Risque LED mise garde reste éteinte inférieure égale Tmin affiche une boite

dialogue avec peut plus durer comme J'arrête programme arrête programme fait même lorsque

                             supérieure      égale    Tmax

Exemple de solution possible

 

Propriétés d’un VI

Réaliser      programme       permet d’effectuer      tâches suivantes

-        Faire apparaître ou non la barre des menus et la barre de titre

-        Centrer le VI par rapport à l’écran d’ordinateur

-        Exécuter le VI en transparence (dans ce cas on doit avoir la possibilité de la paramétrer)

 

Propriétés d’un VI

Exemple de solution possible

 

Génération de fractales (idée de T. BADR (LNE INM))

terme fractale introduit Benoit Mandelbrot cours années dans Les Objets Fractals désigne manière

simpliste   objet dont  motifs  répètent      l’infini  toutes échelles    

Génération de fractales

L'ensemble Mandelbrot consiste décrire tous points d'un plan complexe calculés partir d’une transformation exprimée

                                                                                                        ou                        

                                               sont        nombres complexes        fixe        comme étant égal

varier  représente    point     l’image  cours calcul) Pour chaque valeur     abscisse (partie réelle) ordonnée (partie imaginaire)),       calcul     compare module  nombre complexe calculé       valeur    module supérieur      divergence suite  affecte alors comme couleur pixel      point     valeur

nombre d’itérations obtenus module nombre complexe diverge jusqu’à nombre limite d’itérations fixera met pixel

             (noir)                                                                                     


Réaliser      programme       permet d’afficher      fractale            type Mandelbrot

Pour cette exercice utilisera graph d’intensité pour afficher fractale, une boucle For pour calcul points abscisse une boucle For pour calcul points ordonnées Une boucle While intégrera l’intégralité code développé

cherchera      créer      programme   permettre paramétrer       résolution      figure Une option zoom pourra également être implémentée

   

Exemple de solution possible

 

Exemple de solution possible pour un sous

 

        Réaliser       programme        permet       générer

manière aléatoire une série     nombre compris entre

         Chaque chiffre         doit apparaître qu’une fois

         chaque tirage doit respecter une           distribution

rectangulaire

face avant programme devra être similaire celle représentée droite

Une étape intermédiaire doit vous permettre

vérifier   tirages suivent bien une

distribution rectangulaire représenté figure   gauche

Pour réaliser        programme      pourra utiliser     éléments suivants

 

Pour faciliter       lecture        programme        réalisera        sous                        permettra

générer   nombre compris entre suit une  distribution rectangulaire

Dans principal fera appel sous plusieurs fois pour générer série nombres aléatoires

 

Exemple de solution possible pour le sous VI

(Loi )

 

Exemple de solution possible pour VI principal

       

Système d’alarme

1)      Réaliser un programme  permet

               détecter    présence d’un objet      d’une personne   l’aide       capteur             ultrasons

d’émettre         sons lorsqu’il      une détection

d’acquérir une image          l’objet                 personne tant   capteur détecte une

présence      lorsque        appui           capteur     contact

d’envoyer stocker serveur FTP images acquises d’afficher l’état batterie LEGO

L’arrêt    programme   appuyant bouton stop  face avant bien       appuyant capteur   contact   LEGO Mindstorms

2)     Réaliser une page web html pour visualiser images partir d’un navigateur web d’une connexion internet

   

   

Aide à la conception : VI principal contenant 3 sous

   

Partie XVIII Développements d’application temps réel

Qu’est ce que le temps réel ?

Terminologie, principe de développement

Architecture

Exemples d’applications, cibles

 

Qu’est ce que le temps réel ?

                                                               informatique industrielle,    parle

d'un système temps réel lorsque système informatique contrôle pilote) procédé physique une vitesse adaptée

                                              l'évolution       procédé contrôlé

Le temps réel ne signifie pas forcément rapide.

temps réel garantit une fiabilité absolue

systèmes temps réel ont des contraintes temporelles qui doivent être atteintes sans aucun échec      que système   déterministe
 

Terminologie temps réel

Déterminisme caractéristique d’un système qui indique niveau    fiabilité   répondre   événement effectuer une tâche dans délai imparti

Temps  boucle     temps pris pour exécuter   cycle boucle

Jitter variation temps boucle réel par rapport temps boucle souhaité

Embarqué caractérise    système autonome (pas clavier,    souris,     d’écran,…

 

Principe de développement temps réel

1. Développer sur un ordinateur hôte

 
Ordinateur hôte

2. Télécharger le code sur une cible

 

Principe de développement temps réel

 

Développer des programmes avec le lego Mindstorms NXT et vous ferez du temps réel


Architecture typique

                                          Cible RT (Real Time)            PC hôte

     
 

Boucle de l’application

(déterministe)

Priorité temps critique

 

Boucle de communication

(non déterministe)

Priorité normale

 

Application cliente

   
     
   
   
 

Par Nicolas POUSSET

328

 

Programme du PC hôte

                                   Exécuté                  hôte

Pas nécessaire

                                   Gère       tâches non déterministes

Communication avec programme cible envoi des paramètres l’interface utilisateur récupération des données Enregistrement     analyse des données

                                                         Emission     des     données     vers                       d’autres

systèmes
 

Programme de la cible

Les tâches priorité plus élevée gardent main tâches priorité moins importante

Les tâches qui nécessitent d’être déterministes sont des tâches dites “temps critique” Toutes autres auront une priorité moins importante

 

Qu’est que le multithread ?

Extension        principe      multitâche

Multitâche      capacité système d’exploitation      basculer entre différentes tâches

                         Une tâche        généralement une application           part entière telle que

LabVIEW

multithread étend principe sein même d’une application

Des opérations spécifiques sein d’une même application peuvent être réparties chacune dans thread spécifique temps processeur peut être réparti threads

                        Capacité    avoir des niveaux      priorité                              

Exemples d’applications temps réel

Performances déterministes

                                                                                                                           Autonomie

Gestion d’un airbag

Fiabilité des performances

Tests de résistance et d’endurance

Exemples de cibles temps réel avec LabVIEW

PC de bureau ou industriel

Déterminisme pour les systèmes PCI

                                                                                                                                                                                                                                                                                    Contrôleurs PXI embarqués

                                                                                                                                                                                                                                                                                                                                                      Haute vitesse, haute densité                                                                                                                                                                                                                                     /S multiples

                                                                                                                                    CompactRIO           Compact Vision

                                                                                                                                E/S reconfigurables  Automate de vision industrielle

               Compact FieldPoint               environnement durcis

Encombrement réduit environnement durcis

Partie XIX DataSocket

                                           Qu’est            DataSocket

                                           Protocole transfert DataSocket

Fonctions DataSocket

Exemple labVIEW Messenger

 

Qu’est que DataSocket ?                     

DataSocket une bibliothèque fonctions qui permet d’échanger des données entre différentes applications même ordinateur entre différents ordinateurs connectés même réseau

Les données sont publiées   serveur DataSocket puis

client contacte  serveur DataSocket   demande récupération des données

                            données                      Serveur DataSocket

Protocole de transfert DataSocket

DataSocket Transfer Protocol (DSTP) peut être utilisé dans   une    URL Uniform Resource Locator), autrement une adresse,     même façon que l’on utilise HTTP pour     pages web dstp 163.173.45.98 temperature

Protocole        Adresse IP de la machine Nom de la donnée qui publie les données

 

Mise en pratique

Sélection du type de liaison : Datasocket

Type d’accès au données : lecture et/ouécriture Chemin d’accès au données

Mise en pratique

   

       

Partie XX Sujets complémentaires

Communications TCP/IP

Module de développement pour PDA

Programmation de FPGA,…

Pour aller plus loin…

Exemples de programmes (Aide » Recherche d’exemples…) Quelques ressources supplémentaires sur internet

              Site web      National Instruments www

                 Forum d’entraide entre développeurs  http //forums                            com/ni/

une réponse toujours donnée, soit autre utilisateur, soit salarié

Bibliothèque drivers d’instruments contrôlent instrument programmable http //www com/devzone/idnet/f/ Nicolas POUSSET

Docteur Ingénieur      Enseignant Formateur

Institut national de métrologie

Conservatoire national des arts et métiers (Cnam

61 rue du Landy

93210 La Plaine Saint Denis France

. : 01.58.80.89.03 email :

Site web pro

Site web perso  

 



540