lab windows 1

40
© National Instruments Corporation Guide d’évaluation LabWindows/CVI 1 LabWindows/CVI INTRODUCTION À LABWINDOWS/CVI 2 PRÉSENTATION D’UN PROJET 4 LES CONVENTIONS 4 EXÉCUTION DU PROJET 7 LA FENÊTRE DU CODE SOURCE 7 CONCEPTION DU PROJET 9 CONCEPTION DE LINTERFACE UTILISATEUR 10 GÉNÉRATION DE CODE 17 EXÉCUTION DU PROJET 20 COMPLÉTER LE PROGRAMME AVEC UN DRIVER D’INSTRUMENT 21 ACQUÉRIR DES COURBES AVEC UN DRIVER DINSTRUMENT 21 INITIALISER LINSTRUMENT 22 AFFICHER LA COURBE SUR LE GRAPHE 27 MODIFICATION DU PROGRAMME. 31 CONCLUSION 36 LABWINDOWS/CVI : LA SOLUTION IDÉALE 38 L’ENGAGEMENT DE NATIONAL INSTRUMENTS 40

Upload: feres51

Post on 03-Dec-2015

251 views

Category:

Documents


3 download

DESCRIPTION

labwindows course

TRANSCRIPT

© National Instruments Corporation Guide d’évaluation LabWindows/CVI1

LabWindows/CVI

INTRODUCTION À LABWINDOWS/CVI 2

PRÉSENTATION D’UN PROJET 4

LES CONVENTIONS 4EXÉCUTION DU PROJET 7LA FENÊTRE DU CODE SOURCE 7

CONCEPTION DU PROJET 9

CONCEPTION DE L’INTERFACE UTILISATEUR 10GÉNÉRATION DE CODE 17EXÉCUTION DU PROJET 20

COMPLÉTER LE PROGRAMME AVEC UN DRIVER D’INSTRUMENT 21

ACQUÉRIR DES COURBES AVEC UN DRIVER D’INSTRUMENT 21INITIALISER L’INSTRUMENT 22AFFICHER LA COURBE SUR LE GRAPHE 27MODIFICATION DU PROGRAMME. 31CONCLUSION 36

LABWINDOWS/CVI : LA SOLUTION IDÉALE 38

L’ENGAGEMENT DE NATIONAL INSTRUMENTS 40

© National Instruments Corporation Guide d’évaluation LabWindows/CVI2

INTRODUCTION À LabWindows/CVI

��������������������������������������������������������������������������������������������������En quoi consiste

��������������������������������������������������������������������������LabWindows

��������������������������/CVI

LabWindows/CVI est un environnement ANSI C intégré, spécialement conçu pour lesingénieurs et scientifiques désireux de créer des applications d’instrumentationvirtuelle. Typiquement, il s’agit de construire une application communiquant avec dumatériel de manière à prendre des mesures, analyser puis présenter les résultats àl’utilisateur final.Doté de bibliothèques d’entrées/sorties, de routines d’analyse et d’outils de créationd’interfaces utilisateurs, LabWindows/CVI offre tout ce dont vous avez besoin pourconstruire des systèmes de test et de mesure avancés. Que vous ayez à construiredes systèmes de test automatisés, à contrôler des applications ou à mener desexpériences en laboratoire, LabWindows/CVI simplifie toutes les tâches dudéveloppement.

Depuis le milieu des années 1980, le micro-ordinateur s’est peu à peu révélé être laplate-forme idéale pour la chaîne d’acquisition de données.En effet, mettre le PC au cœur des systèmes de mesure, c’est créer des systèmesavec des architectures ouvertes, standardisées, communicantes et intuitives.Par exemple, le PC possède pratiquement toutes les interfaces possibles etimaginables. Utiliser le PC, c’est profiter directement des innovations technologiquesde la micro-informatique : l’évolution des processeurs et la connectivité Internet sontdeux exemples caractéristiques. Par exemple, à coût égal, la puissance des PC estmultipliée par deux tous les deux ans.Mettre le PC au cœur des systèmes de mesure implique l’utilisation de logiciels. Celanous oblige à revoir notre conception de l’instrumentation. Dans ce cadre, on appelleinstrument virtuel une application qui, aux yeux de l’utilisateur final, se comporte àl’écran comme un instrument de mesure, mais qui, du point de vue matériel, met enœuvre tous les types de moyens de mesure (cartes d’acquisition, instrumentsconventionnels, etc.)Il suffit de combiner la technologie du PC (matériels et logiciels), pour construire soi-même un système qui répondra exactement à ses besoins. Plus important, cesystème est évolutif. En effet, il suffit de faire évoluer le matériel ou le logiciel pourvoir les performances découplées ou les fonctionnalités étendues. Ce typed’évolution n’est pas possible avec les instruments classiques dont les performanceset les fonctionnalités sont définies une fois pour toutes par le constructeur.Mettre le PC au cœur des systèmes de mesure nous oblige à utiliser différentsmoyens afin de rapatrier les mesures. Nous allons rapidement présenter certains deces moyens, ce qui nous permettra d’évoquer une partie de l’offre matérielle deNational Instruments.Cela fait déjà plus de 20 ans qu’ingénieurs et scientifiques utilisent les contrôleursGPIB de National Instruments pour relever des mesures par l’intermédiaired’instruments GPIB. L’offre est complète : des cartes de haute qualité faciles àinstaller, des transferts haute vitesse et des outils de développement et deconfiguration souples.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI3

Comme vous pourrez le voir dans l’annexe, l’utilitaire Measurement & AutomationeXplorer (MAX) simplifie la configuration des systèmes en mettant à votre dispositionun accès rapide et simple aux instruments ainsi qu’aux assistants en ligne « GettingStarted » et « Troubleshooting Wizards ».L’évolution des technologies électroniques permet d’insérer les instrumentsdirectement dans le PC et il est désormais possible de piloter l’instrument de mesureaussi simplement qu’un autre périphérique.National Instruments propose depuis plusieurs années, sous forme de solutionslogicielles et matérielles, des instruments comme des oscilloscopes ou desmultimètres. Jusqu’alors, la partie matérielle était assurée par des cartesmultifonctions qui pouvaient être dans certains cas mal adaptées aux besoins réels :surdimensionnées pour remplacer un multimètre ou sous-dimensionnées pourremplacer un oscilloscope. Le recours aux instruments traditionnels reliés par GPIB àun PC restait parfois inévitable. Les cartes instruments (sur PC) proposent unealternative aux instruments traditionnels et sont une extension naturelle del’instrumentation virtuelle. Elles offrent des performances similaires à celles desinstruments classiques mais permettent de profiter de la souplesse des PC et deleurs évolutions futures.Notez bien que nous sommes convaincus que de la même façon que le traitement detexte a remplacé la machine à écrire, la carte instrument va dans certains cas sesubstituer à l’instrument traditionnel.Un instrument de mesure, qu’il soit traditionnel ou virtuel, a toujours pour rôled’acquérir des données, de les analyser puis d’afficher l’information. La différencefondamentale entre les instruments traditionnels et les instruments virtuels résidedans la souplesse, infiniment plus grande, de l’instrument virtuel. En effet, ce dernierest défini par l’utilisateur, et non par le fournisseur.National Instruments propose un grand choix de cartes d’acquisition et deconditionnement du signal parmi lesquelles on retrouve les cartes multifonctions.Elles correspondent tout à fait à l’état d’esprit « instrumentation virtuelle »puisqu’elles peuvent être utilisées dans des applications très différentes.Afin d’automatiser un système de mesure, il faut utiliser un outil de développementpour élaborer l’application proprement dite.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI4

PRÉSENTATION D’UN PROJET���������������������������������������������������������������������������������������������������������������������������������������������������������Les conventions

LabWindows/CVI utilise les conventions des noms de fichiers standards et en définitquelques nouveaux. Les conventions suivantes sont utilisées pour les noms desfichiers..c Source C.h Fichier d’en-tête C.obj Fichier objet (fichier C compilé).lib Bibliothèque statique et importée.uir Interface utilisateur.fp Fichier contenant les fonctions du driver d’instrument

L’éditeur du code source ressemble à n’importe quel autre éditeur de code sourceque vous connaissez, mais il comporte en plus de nombreuses caractéristiques utilesau développement de vos applications comme la possibilité d’insérer les modèleshabituellement utilisés en C (boucle For, boucle While, etc.), codages de couleur,fenêtres partagées et tags.

La séparation de fenêtres (Split windows) offre la possibilité de visualiser deuxportions de votre code simultanément. Pour accéder à cette caractéristique, il suffitde tirer la double barre se trouvant dans la fenêtre de votre code source (juste endessous de la barre d’outils).

Les tags vous offrent la possibilité de poser des marques sur une ligne de codedonnée. Appuyez sur <Shift-F2> pour poser un tag à un endroit donné et vousutiliserez par la suite <F2> ou <Ctrl-F2> pour sauter d’un tag à l’autre (avant etarrière respectivement).

Développer un programme en LabWindows/CVILorsque vous programmez en LabWindows/CVI, il est conseillé de prendre deshabitudes communes à tous les environnements de programmation. C’est une bonneidée de commencer par un organigramme de votre programme avant d’écrire le codede celui-ci. N’oubliez pas de commenter votre programme, cela vous permettra unemeilleure gestion de votre code.

Note à propos de LabWindows/CVIAvec LabWindows/CVI, vous travaillerez essentiellement avec trois fenêtres quisont : la fenêtre du projet (.prj), la fenêtre du code source (.c) et la fenêtre del’interface utilisateur (.uir) .À la différence des autres fenêtres en LabWindows/CVI, le titre de ces fenêtreschange en fonction du programme sur lequel vous travaillez. L’extension est doncvotre indice. Par exemple si vous travaillez sur le projet Sample1, comme cela serale cas par la suite, vous remarquerez que l’extension du project est .prj et son titrec:\MeasurementStudio\cvi\tutorial\sample1.prj.Quand vous ouvrez le code source, vous avez accès à la fenêtre source avec .ccomme extension de fichier.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI5

������������������������������������������������������������������������������������������������������������������������������������������������������������������������Chargement d’un projet dans

��������������������������������������������������������������������������������LabWindows

��������������������������������/CVI

1/ Pour commencer, nous allons donc charger un projet existant, lequel ne contientpas d’interface utilisateur. Une fois que LabWindows/CVI est lancé, allez sur File etouvrez un projet.

Figure 1-12/ Vous remonterez l’arborescence pour aller chercher le projet sample1.prj qui setrouve dansc:\MeasurementStudio\cvi\tutorial. La fenêtre ci-dessous apparaît.

Figure1-2Maintenant, nous allons examiner quelques-unes des différentes fenêtres deLabWindows/CVI : les fenêtres « Project », « Standard I /O » et « Source ».

La fenêtre Project comporte une barre de menu avec les options suivantes :• Le menu File contient des sélections pour le chargement, la sauvegarde et la

création de nouveaux fichiers en LabWindows/CVI. Vous pouvez ouvrir n’importequel type de fichier (Project, Source, Header, ou User Interface).

• Le menu Edit contient des sélections pour ajouter ou supprimer des fichiers duprojet.

• Le menu Build contient des sélections de compilation.• Le menu Run contient des sélections pour l’exécution.• Le menu Window vous laisse le choix de naviguer rapidement vers les autres

fenêtres comme Source, User Interface (interface utilisateur) et Standard I/O.• Le menu Options vous permet de configurer différents aspects dans

l’environnement de programmation.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI6

Le projet que vous avez ouvert, sample1.prj, est un exemple de base, comportant unseul fichier de code source. La fenêtre Project affiche des informations concernant lestatut des fichiers qui comportent le projet.

Figure 1-3

1 Nom du fichier.2 Ce symbole vous indique si le fichier est ouvert.3 Un S à cette colonne vous indique qu’il a y eu des modifications depuis le

dernier enregistrement.4 Un C à cette colonne vous indique que le fichier doit être compilé avant

exécution.5 Un O à cette colonne vous indique que vous avez validé l’option « compiler à

l’intérieur de l’objet ».6 Un I à cette colonne vous indique que le fichier est un programme de driver

d’instrument.7 Date de la dernière modification.8 Heure de la dernière modification.

Les projets que vous mettrez en œuvre avec LabWindows/CVI peuvent consister ende multiples fichiers de différents types. LabWindows/CVI est compatible avec lesfichiers sources C, les bibliothèques partagées (DLL), les bibliothèques C, les fichiersd’interface utilisateur et les drivers d’instruments. Quand vous développerez desprojets plus avancés, vous aurez juste à sélectionner « Add File To Project » dumenu Edit et à sélectionner le type de fichier que vous souhaitez ajouter à votreprojet.

Figure1-4

© National Instruments Corporation Guide d’évaluation LabWindows/CVI7

������������������������������������������������������������������������������������������������������������������������Exécution du projet

Pour exécuter le projet, sélectionnez Run Project du menu Run. LabWindows/CVIva automatiquement compiler tous les fichiers sources, lier le projet auxbibliothèques utilisées et exécuter le code compilé. Notez que l’indicateur C disparaîtde la liste de projets après la compilation. Quand le projet commence à s’exécuter lemot Running apparaît dans le coin supérieur gauche de votre fenêtre Project.Le projet sample1.prj est un programme facile qui va générer 100 nombres aléatoireset les afficher dans une fenêtre Standard I/O.

Messages d’erreurSi des erreurs sont détectées durant la compilation ou le processus de liaison, alorsun message d'erreur apparaît. La fenêtre de message d’erreur contiendra le nombred’erreurs détectées dans chaque fichier source et leur description.

��������������������������������������������������������������������������������������������������������������������������������������������������������������La fenêtre du code source

La fenêtre du code source en LabWindows/CVI contient le code de votre projet.Après avoir exécuté votre projet, vous allez maintenant découvrir quelquescaractéristiques de cette fenêtre.

1. Fermez la fenêtre Standard I/O en appuyant sur n’importe quelle touche si elle estencore active.

2. Double-cliquez sur le nom du fichier sample1.c dans la fenêtre Project pourafficher le code source.

3. Le code source devrait apparaître comme ci-dessous.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI8

Le menu File de la fenêtre Source est similaire au menu File de la fenêtre Project.Avec le menu File, vous pouvez donc ouvrir, sauvegarder ou créer n’importe queltype de fichier reconnu par LabWindows/CVI.Avec le menu Edit, vous avez les outils relatifs à l’édition du code source.Pour sélectionner le mode d’exécution, vous vous servez du menu Run.Avec le menu Instruments, vous pouvez charger n’importe quel driver d’instrumentprésent dans votre système.Pour accéder aux bibliothèques LabWindows/CVI pour tout ce qui concernel’acquisition, l’analyse et l’affichage des données, vous vous servez du menuLibrary.

Les menus de la fenêtre Source sont étudiés plus en détails dans le manuel del’utilisateur de LabWindows/CVI.

La fenêtre Source est compatible avec les spécifications du ANSI C. Vous pouvezutiliser les structures du langage ANSI C ou bien les fonctions de bibliothèquestandard pour développer votre application. LabWindows/CVI possède des outils degénération de code, ce qui réduit votre temps de développement. Nous parleronsplus en détails de ces outils de génération de code par la suite. La fenêtre de codesource, la fenêtre des fonctions ainsi que la fenêtre d’affichage des variables ont desbarres d’outils pour un accès rapide aux fonctions d’édition et de débogage. Les info-bulles sont d’une aide précieuse pour la signification de telle ou telle icône de labarre d’outils. Et enfin vous avez la possibilité de personnaliser votre barre d’outils àpartir du menu Options.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI9

CONCEPTION DU PROJET

Maintenant que nous avons analysé un projet existant nous allons passer à l’étapesuivante qui consiste à réaliser son propre projet. Ouvrez un nouveau projet commeindiqué à la figure 2-1.

Figure 2-1

Répondez Yes à la question « Are you sure you want to unload the current project »car vous allez décharger le projet sample1.prj afin de créer un nouveau projet.LabWindows/CVI 6.0 permet de créer plusieurs projets dans un même espace detravail, mais dans cet exercice nous allons créer un nouveau projet dans un nouvelespace de travail.Lorsque la boîte de dialogue suivante apparaît (figure 2-2), choisissez l’option« Create Project In New Workspace » et cochez toutes les cases pour les options detransfert comme indiqué. (si par la suite vous avez une configuration particulièrecomme les options de compilation, d’exécution, etc., vous pouvez les transférer d’unprojet à un autre).

© National Instruments Corporation Guide d’évaluation LabWindows/CVI10

Figure 2-2

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Conception de l’interface utilisateur

Dans ce nouveau projet, nous allons simuler une acquisition de données et afficherles résultats dans un graphe.

Ouvrez une nouvelle interface utilisateur comme indiqué à la figure 2-3.

Figure 2-3

Vous avez donc une nouvelle interface utilisateur vide comme indiqué à la figure 2-4.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI11

Figure 2-4

Définir la taille et le titre du PanelLa taille et le titre de votre Panel (la fenêtre grise qui deviendra la fenêtre de votreapplication) d’interface utilisateur ne vous conviennent certainement pas. Vous allezdonc personnaliser votre interface utilisateur. Pour modifier la taille de ce Panel,utilisez comme d’habitude le pointeur de la souris. Placez-le sur le coin inférieur droitdu Panel (ce qui a pour effet de le transformer en une double flèche oblique),appuyez sur le bouton gauche de la souris, déplacez le pointeur jusqu’à ce que lePanel atteigne la taille souhaitée, puis relâchez le bouton de la souris.Double-cliquez n’importe où à l’intérieur de votre Panel pour lui attribuer un titre via laboîte de dialogue Edit Panel (figure 2-5). Dans le champ Panel Title, rentrez le nomAcquisition, puis cliquez sur OK. Vous pouvez consulter d’autres attributs enappuyant sur le bouton « Other Attributes ».

© National Instruments Corporation Guide d’évaluation LabWindows/CVI12

Figure 2-5

À l’aide du menu Create, placez un graphe dans votre interface utilisateur commeindiqué à la figure 2-6. Votre graphe apparaît dans votre Panel. Pour changer sataille, procédez exactement comme à l’étape précédente. Double-cliquez à l’intérieurdu graphe pour accéder à la boîte de dialogue d’édition des attributs. Dans le champLabel de la catégorie Label Appearance, donnez le titre de « Graphed’acquisition ». Le champ Constant Name spécifie le nom par lequel votre graphesera appelé dans le code source, par défaut son nom est GRAPH, vous pouvez lelaisser tel qu’il est, puisque c’est le seul graphe. Cliquez sur OK.Votre Panel apparaîtra comme indiqué à la figure 2-7. Utilisez le pointeur de la sourispour placer le titre de votre graphe où vous désirez.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI13

Figure 2-6

Figure 2-7

À présent, placez deux boutons de commande de type « Square Command Button »à l’aide du menu Create comme indiqué à la figure 2-8.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI14

Figure 2-8

Double-cliquez sur le premier bouton pour accéder à la boîte d’édition des attributs etremplissez les champs comme indiqué à la figure 2-9. Répétez l’opération pour ledeuxième bouton et remplissez les champs comme indiqué à la figure 2-10.

Figure 2-9

© National Instruments Corporation Guide d’évaluation LabWindows/CVI15

Figure 2-10

Une fois achevée, l’interface utilisateur sera celle de la figure 2-11.La prochaine étape va consister à générer le code de l’application. Pour cela, il fautau préalable enregistrer l’interface utilisateur dans le répertoire de votre choix (parexemple c:\Temp\). Nommez-le « PremierProjet.uir ».

© National Instruments Corporation Guide d’évaluation LabWindows/CVI16

Figure 2-11

© National Instruments Corporation Guide d’évaluation LabWindows/CVI17

��������������������������������������������������������������������������������������������������������������������������Génération de Code

Pour l’instant, nous avons créé une interface utilisateur.À présent, il s’agit de générer le code source avec « Code Builder » qui va gérernotre interface utilisateur.Nous pouvons définir le type d’événements auxquels notre programme va réagir.Pour cela, sélectionnez Code>>Preferences>>Default Control Events à partir del’interface utilisateur. Dans la boîte de dialogue « Control Callback Events »,sélectionnez le type d’événements auxquels le programme va répondre. Dans ceprojet, les commandes doivent réagir à un type particulier d’événements qui est« Event-Commit » (c’est-à-dire lorsque vous cliquez sur le bouton gauche ou sur<Enter>). Vérifiez que seul EVENT_COMMIT est sélectionné, puis cliquez sur OK.

Figure 2-12

Figure 2-13

© National Instruments Corporation Guide d’évaluation LabWindows/CVI18

Pour générer le code de votre interface utilisateur, servez-vous du menu Code etchoisissez génération de tous les codes (Generate, puis All code…), comme à lafigure 2-14.

Figure 2-14

Ensuite la boîte de dialogue apparaît comme à la figure 2-15.Dans le Champ « Target Files », sélectionnez « Create New Project » avec lemenu déroulant.Les noms par défaut attribués à notre projet et le code source sont PremierProjet.prjet PremierProjer.c ; ils sont placés dans le même répertoire que notre fichier .uir (iciPremierProjet.uir). Dans le champ « Program Termination » sélectionnez QuitPROGcomme indiqué. Ce champ détermine la fonction qui sera utilisée pour quitter leprogramme.Cliquez sur OK.Une fois que la génération du code est terminé, le projet est créé et il comprend deuxfichiers qui sont PremierProjet.c et PremierProjet.uir..

© National Instruments Corporation Guide d’évaluation LabWindows/CVI19

Figure 2-15

Il existe un troisième fichier PremierProjet.h qui a été généré au moment del’enregistrement de l’interface utilisateur que nous pouvons rajouter à notre projet.Pour le rajouter à notre projet, bien que cela ne soit pas nécessaire, c’est très simple,il suffit simplement de procéder comme indiqué à la figure 2-16. Vous remonterezl’arborescence pour aller le chercher à son emplacement, il est dans le mêmerépertoire que notre projet.

Figure 2-16

© National Instruments Corporation Guide d’évaluation LabWindows/CVI20

������������������������������������������������������������������������������������������������������������������������Exécution du projet

Le projet est à présent terminé. Pour le lancer, sélectionnez Run Project dans lemenu Run. Pour le moment la seule commande active dans l’interface utilisateur estle bouton QUIT. Dans le chapitre suivant, nous allons rajouter des fonctions à ceprogramme pour faire en sorte qu’une action sur le bouton Acquire permetted’afficher les données dans le graphe. Ensuite, nous obtiendrons une interfaceutilisateur complète capable d’acquérir et d’afficher des courbes.

Figure 2-17

© National Instruments Corporation Guide d’évaluation LabWindows/CVI21

COMPLÉTER LE PROGRAMME AVEC UN DRIVER D’INSTRUMENT

Dans le chapitre précédent, nous avons créé le projet PremierProjet.prj dansl’environnement LabWindows/CVI. Sachez toutefois qu’il ne s’agit que d’un squelettede programme. Dans ce chapitre nous allons utiliser un simple driver d’instrumentpour acquérir les données, et ensuite les afficher dans le graphe de l’interfaceutilisateur.

Un driver d’instrument se compose d’un ensemble de fonctions qui servent àprogrammer un instrument ou un groupe d’instruments associés. Les fonctions dehaut niveau figurant dans un driver d’instrument englobent un grand nombre defonctions de bas niveau, dont des opérations de lecture et d’écriture GPIB, VXI, RS-232, de conversion de données ou de mise à l’échelle. L’exemple de moduleprésenté dans ce chapitre ne communique pas avec un véritable instrument, maisillustre la façon dont on s’en sert pour acquérir une courbe depuis un oscilloscope.���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Acquérir des courbes avec un driver d’instrument

Pour être complet, il faut que le programme lise un tableau de données générées àpartir d’un driver d’instrument, puis qu’il les affiche dans un graphe. Pour ce faire,nous allons modifier la fonction AquirePROG dans le fichier source PremierProjet.c.

Certains drivers viennent avec le package « Measurement Studio », mais n’hésitezpas à consulter notre site Internet où vous trouverez un nombre considérable dedrivers d’instruments que vous pouvez télécharger gratuitement.Le driver d’instrument dont nous avons besoin se compose de plusieurs fichiers, tousprésents sur le disque dur. Nous pouvons le rajouter au projet facilement enquelques étapes :

Sélectionnez Add Files To Project>>Instrument (*.fp) dans le menu Edit de lafenêtre project.

Figure 3-1

Le fichier scope.fp que nous devons sélectionner se trouve dans le répertoire…MeasurementStudio\cvi\tutorial. Pour le rajouter au projet, il suffira de lesélectionner, puis de cliquer sur Add et ensuite sur OK.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI22

Dans la fenêtre Project, double-cliquez sur PremierProjet.c pour ouvrir la fenêtred’édition de Source. Puis dans la fenêtre du code, placez-vous au niveau de lafonction AcquirePROG pour rajouter du code.

Figure 3-2

Placez le curseur sur la ligne vierge qui se trouve juste au-dessous de l’instructionEvent_Commit, de la fonction AquirePROG comme indiqué à la figure 3-2.

������������������������������������������������������������������������������������������������������������������������������������Initialiser l’instrument

Nous allons à présent utiliser le driver d’instrument de l’oscilloscope pour générer ducode en vue d’acquérir une courbe. Le code sera généré au niveau de la fonctionAquirePROG. Rappelons que cette fonction s’exécute quand on clique sur le boutonAcquire.

Première étape : ouvrez le panneau de fonction1/ Sélectionnez l’option Sample Oscilloscope dans le menu Instrument.C’est le driver d’instrument que nous venons de charger, il comporte quatre fonctionssimples qui vont permettre au programme de communiquer avec notre instrument(oscilloscope).

Figure 3-3

2/ Sélectionnez la fonction Initialize et cliquez sur le bouton Select. Le panneau defonction d’initialisation de l’oscilloscope apparaît comme l’illustre la figure 3-5.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI23

Figure 3-4

Figure 3-5

Les panneaux de fonctions sont avant tout des représentations graphiques desfonctions. Ce sont des outils interactifs qui servent à construire et tester les appels defonction de votre bibliothèque. Ces panneaux de fonctions proposent une aide enligne complète. Cliquez avec le bouton droit de la souris sur le panneau de fonctionpour afficher l’aide en ligne de la fonction Initialize. Les panneaux de fonctionsgénèrent aussi du code. Lorsque vous entrez des valeurs dans les champs dupanneau de fonction, l’appel de fonction se crée automatiquement en bas de l’écran(dans la partie blanche de la fenêtre).

© National Instruments Corporation Guide d’évaluation LabWindows/CVI24

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Deuxième étape : initialiser la fonction driver d’instrument

1/ Entrez « 1 » dans le champ Address2/ Entrez « err » dans le champ Error3/ Vous devez déclarer la variable err, pour cela, pendant que le champ Error estactif, vous sélectionnez Declare Variable dans le menu Code. Cochez les deuxcases « Execute declaration… » et « Add declaration… » comme indiqué à lafigure 3-6, puis cliquez sur OK.

Figure 3-6

4/ Sélectionnez Run Function Panel dans le menu Code. Cliquez sur Yeslorsqu’une boîte de dialogue vous propose d’enregistrer toute modification avantl’exécution. Cette boîte de dialogue apparaît chaque fois que vous procédez à unemodification.

Si aucune erreur n’est détectée en cours d’exécution, le paramètre Error vaut 0.Sinon, vous pouvez cliquer avec le bouton droit de la souris sur le champ Error pourvisualiser l’aide en ligne correspondante.

Une fois que vous avez rempli les paramètres et validé la ligne de code, les étapessuivantes vont vous permettre d’insérer l’appel de fonction dans le code et effacer lepanneau de fonction à l’écran.������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Troisième étape : insérer la fonction dans le fichier source

1/ Sélectionnez Insert Function Call dans le menu Code pour recopier le code générédans la fenêtre d’édition de source.2/ Sélectionnez Close dans le menu File pour fermer le panneau de fonction.

L’appel de fonction pour initialiser le driver d’instrument devrait maintenant s’afficherdans votre code source à l’endroit où vous avez laissé le curseur.������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Lire les données de l’instrumentL’une des fonctions les plus importantes de tout driver d’instrument consiste à lire lesdonnées émises par un instrument et à convertir les données brutes obtenues en unformat directement utilisable par votre programme. Par exemple, un oscilloscopenumérique renvoie une courbe sous forme de chaîne de nombres ASCII séparés parune virgule. Ensuite, le driver d’instrument analyse la chaîne de caractères, met à

© National Instruments Corporation Guide d’évaluation LabWindows/CVI25

l’échelle les données en tension, puis les place dans un tableau en mémoire à votreplace.

1/ Sélectionnez Read Waveform dans le driver d’instrument Sample Oscilloscopedu menu Instrument. Le panneau de fonction Read Waveform s’affiche alors de lafaçon suivante (figure 3-7).

Figure 3-7

2/ Réglez le champ Channel sur 2. Channel 1 est une onde sinusoïdale et Channel 2un ensemble de données aléatoires.

Déclarer les variables dans les panneaux de fonctionLa fonction Read Waveform sert à présenter les données sous forme de tableau.Avant de pouvoir exécuter cette fonction, il faut déclarer un tableau. Vous pouvezdéclarer des variables, comme par exemple un tableau, à partir d’un panneau defonction. Pour ce faire, les étapes suivantes vont vous aider pour la déclaration.

1/ Cliquez sur le champ Waveform et tapez « tableau ».2/ Sélectionnez Declare Variable dans le menu Code pour déclarer la variable« tableau » en mémoire. Vous voyez alors apparaître une boîte de dialogue avec lavariable « tableau » automatiquement insérée dans le champ Variable Name.3/ Tapez « 100 » dans le champ « Number of Elements ».

© National Instruments Corporation Guide d’évaluation LabWindows/CVI26

4/ Vérifiez que les cases « Execute declaration » et « Add declaration to top oftarget file » sont bien cochées et cliquez sur OK.

Figure 3-8

Compléter le panneau de fonction Read WaveformTerminez la configuration du panneau de fonction avant de l’exécuter de la façonsuivante.1/ Cliquez sur le champ Sample Periode pour mettre en surbrillance.2/ Sélectionnez Declare Variable dans le menu Code.3/ Tapez Delta_t dans le champ Variable Name. Vérifiez que les cases « Executedeclaration » et « Add Declaration… » sont bien cochées et cliquez sur OK.4/ Cliquez sur le champ Xzero pour le mettre en surbrillance.5/ Sélectionnez Declare Variable dans le menu Code.6/ Tapez x_zero dans le champ Variable Name. Vérifiez que les cases « Executedeclaration » et « Add Declaration… » sont bien cochées et cliquez sur OK.

7/ Tapez err dans le champ Error. Cette variable a déjà été déclarée précédemment.

8/ Sélectionnez Run Function Panel dans le menu Code pour exécuter le panneaude fonction. Enregistrez les changements avant de lancer l’exécution. Si vous avezcorrectement exécuté la fonction Initialize, le champ Read Waveform Error devraitafficher 0. Une fois la fonction exécutée, vous voyez apparaître une rangée de casesdans le champ Waveform, ce qui signifie que les données figurent bien dans letableau.

9/ [Optionnel] Vous pouvez double-cliquer sur les tirets qui se trouvent dans lechamp Waveform. Cela activera l’éditeur de tableau et vous permettra d’inspecter lesvaleurs récupérées.

10/ Sélectionnez Insert Function Call dans le menu Code pour recopier le codegénéré dans la fenêtre d’édition de source.

11/ Fermez le panneau de fonction. La ligne de code suivante existe désormais dansvotre fonction AquirePROG.err = scope_read_waveform (2, tableau, &valeur, &X_zero);

© National Instruments Corporation Guide d’évaluation LabWindows/CVI27

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Afficher la courbe sur le graphe

À présent, notre programme peut acquérir des données. L’étape suivante consiste àutiliser la fonction Plot Y, qui sert à tracer le contenu d’un tableau de donnéesacquises dans le graphe de l’interface utilisateur.

Les étapes suivantes vont vous aider à afficher et à sélectionner la fonction Plot Y.1/ Ouvrez le panneau de fonction Plot Y. Il se trouve dans le menu Library>>UserInterface>>Controls/Graphs/Strip Charts>>Graph and Strip Charts>>Plottingand Deleting.

2/ Remplissez les champs du panneau de fonction comme indiqué à la figure 3-9.Panel Handle : panelHandleControl ID : PANEL_GRAPHEY Array : tableauNumber of Points : 100

Figure 3-9

Nota : Pour remplir les champs « panelHandle » et « Y Array », vous pouvez utiliserla fonction Select Variable du menu Code et sélectionner les variablescorrespondantes soient : « panelHandle » et « tableau ». Ces variables sont déjàdéclarées.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI28

Ensuite vous activez le champ Control ID en cliquant dessus, puis vous placez laconstante PANEL_GRAPHE avec l’option Select UIR Constant du menu Code3/ Dans le panneau de fonction Plot Y, sélectionnez Insert Function Call du menuCode pour insérer la fonction Plot Y dans votre code source.

4/ Fermez le panneau de fonction. Les modifications que vous avez apportées dansla fonction AquirePROG devraient correspondre au code source présenté dans lasection suivante. Enregistrez les modifications apportées.

������������������������������������������������������������������������������������������������������������������������������Afficher le programmeUne fois terminé, le fichier source doit comprendre le code suivant :

© National Instruments Corporation Guide d’évaluation LabWindows/CVI29

����������������������������������������������������������������������������������������������������Exécuter le projetNous disposons maintenant d’un projet complet, nommé PremierProjet.prj.Vous pouvez visualiser le statut de chaque fichier associé au projet de la fenêtreProject et modifier chacun d’entre eux.

Sélectionnez Run Poject dans le menu Run pour exécuter le code. Au cours duprocessus de compilation, LabWindows/CVI va reconnaître que votre programmenécessite le fichier d’en-tête scope.h. Il va donc proposer de l’insérer dans votre codesource. Cliquez sur Yes pour ajouter ce fichier inclus dans votre programme. Voiciles étapes qui se déroulent lorsque vous exécutez le programme.

• LabWindows/CVI compile le code source PremierProgramme.c qu’il lie ensuiteavec les bibliothèques correspondantes dans LabWindows/CVI.

• L’interface utilisateur s’affiche, prête à recevoir des informations du clavier ou dela souris.

• Lorsque vous cliquez sur le bouton Acquire, LabWindows/CVI exécute la fonctionassociée au bouton, soit AquirePROG.

La fonction AcquirePROG lit les données en provenance de l’instrument simulé avantde les afficher sur le graphe de l’interface utilisateur.

Remarque : lorsque vous cliquez sur Acquire plusieurs fois de suite, les données desacquisitions précédentes restent affichées. Vous pouvez modifier la fonctionAquirePROG en incluant la fonction DeleteGraphPlot comme dans l’extrait de codesuivant. Cela permet de n’afficher qu’une seule courbe à chaque fois qu’il y a actionsur le bouton Acquire.

Le panneau de la fonction DeleteGraphPlot se trouve dans le menu Library sousUser Interface>>Controls/Graphs/Strip Charts>>Graphs and StripCharts>>Graph Plotting and Deleting.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI30

© National Instruments Corporation Guide d’évaluation LabWindows/CVI31

����������������������������������������������������������������������������������������������������������������������������������������������������������������������������Modification du programme.

Sachant que le driver d’instrument peut générer une sinusoïde ou bien une courbealéatoire, nous allons modifier le programme pour permettre à l’utilisateur de choisirla courbe qu’il souhaite tracer.

Pour cela, ouvrez votre interface utilisateur et placez un « Menu Ring » comme ci-dessous et agrandissez-le en vous servant du pointeur de souris. Puis double-cliquezdessus pour accéder à la boîte de dialogue d’édition d’attributs.

Figure 3-10

Dans le champ Label, donnez le titre « Selection » à votre menu Ring.Ensuite double-cliquez sur le bouton Label/Values Pairs… pour accéder au panneauéditeur du Label.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI32

Figure 3-11

Une fois que vous accédez au panneau éditeur du Label (Edit Label/Values Pairs),tapez « Sinusoïde » dans le champ Label et « 1 » dans le champ Value commedécrit à la figure 3-12, ensuite cliquez sur le bouton Below, puis tapez « Aléatoire »dans le champ Label, et « 2 » dans le champ Value. Cliquez sur OK pour fermer lepanneau d’éditeur du Label et à nouveau sur OK pour fermer la boîte de dialogue« Edit Ring ». Enregistrez les modifications et fermez l’interface utilisateur.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI33

Figure 3-12

Ouvrez votre fenêtre code source afin de le modifier pour prendre en compte leschangements apportés à votre interface utilisateur.

Placez votre curseur à l’intérieur de la fonction AcquirePROG sur une ligne vierge etapportez les modifications suivantes. Le but de l’exercice est de récupérer la valeurretournée par la sélection de l’opérateur (PANEL_RING) et ensuite de l’utiliser dansla fonction de lecture scope_read_waveform. Si le choix de l’opérateur est« Sinusoïde », la valeur retournée est 1 et si le choix est « Aléatoire », la valeurretournée est 2.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI34

Pour récupérer le choix de l’opérateur, vous utiliserez la fonction Get Control Value.Elle se trouve dans Library>>User Interfaces>>Controls/Graphs/StripCharts…/General Functions. Vous accédez au panneau de la figure 3-14.

Figure 3-13

© National Instruments Corporation Guide d’évaluation LabWindows/CVI35

Figure 3-14

Remplissez votre panneau comme ci-dessus (figure 3-14), puis déclarez votrevariable « function » qui doit récupérer la valeur du choix de l’opérateur. Vérifiez quepour la déclaration vous avez coché les deux cases comme à la figure 3-15.

Figure 3-15

© National Instruments Corporation Guide d’évaluation LabWindows/CVI36

À présent, nous allons modifier la fonction de lecture pour prendre en compte lavariable « function ».Pour cela, placez votre pointeur de souris sur la fonction scope_read_waveform,cliquez droit et choisissez l’option « Recall Function Panel » (Figure 3-16).Sélectionnez le champ Channel, puis appuyez sur <Ctrl> + T. Puis, dans ce mêmechamp tapez « function » ensuite insérez votre fonction Code>>Insert FunctionCall. Dans la boîte de dialogue qui s’ouvre par la suite, choisissez l’option Replace.

Figure 3-16

Une fois ces modifications faites, votre « Callback » AcquirePROG devraitressembler à la portion de code ci-dessous.

����������������������������������������������������������������������Conclusion

Si aucune erreur de programmation n’a été faite, le programme doit être compilécorrectement puis exécuté.En résumé, à chaque clic sur le bouton Acquire, le programme exécute la fonctionassociée. L’ancienne courbe est effacée et une nouvelle courbe est tracée.L’opérateur peut à tout moment choisir le type de courbe à afficher.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI37

Figure 3-17

© National Instruments Corporation Guide d’évaluation LabWindows/CVI38

LabWindows/CVI : LA SOLUTION IDÉALE

Bien que vous ayez terminé la lecture de ce guide d’évaluation, rappelez-voustoutefois que vous n’avez fait qu’effleurer la programmation avec LabWindows/CVI.En effet, ses capacités vont bien au-delà de ce que vous avez abordé jusqu’àprésent. LabWindows/CVI offre une solution idéale pour vos besoins deprogrammation en matière d’instrumentation, avec des caractéristiques enperpétuelle amélioration et un grand nombre de boîtes à outils complémentaires.

Des caractéristiques supplémentaires pour répondre à vos besoins

National Instruments ne cesse d’améliorer et d’augmenter les possibilités deLabWindows/CVI en ajoutant des boîtes à outils et des options de support matériel.

LabWindows/CVI garantit une entière compatibilité avec les outils de programmationstandards. Toutes les bibliothèques d’instrumentation, d’analyse et d’interfaceutilisateur de LabWindows/CVI sont disponibles sous forme de DLL standards 32 bitspour les environnements de programmation C/C++ de Microsoft, Borland, Symantecet Watcom. En plus des fichiers standards exécutables (.exe), LabWindows/CVI vouspermet également de construire des DLL 32 bits compatibles non seulement avecvos outils C/C++ à usage universel, mais aussi avec Visual Basic et LabVIEW.

Comme toujours, LabWindows/CVI vous offre la solution de driver d’instrument laplus complète du marché : soit quelque 600 drivers pour des instruments proposéspar plus de 65 instrumentiers différents. La bibliothèque de drivers d’instrumentsinclut des drivers pour les instruments GPIB, VXI, série et CAMAC. En outre,l’Aliance Systems VXIplug&play a adopté LabWindows/CVI comme technologieessentielle et fondement à la normalisation industrielle.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI39

Des boîtes à outils complémentaires

National Instruments propose toute une série de boîtes à outils complémentaires àLabWindows/CVI qui vous serviront dans des domaines d’applications bienspécifiques. Ces boîtes à outils sont des bibliothèques ou des utilitaires quirépondent aux besoins des marchés, industries ou domaines d’applications trèsspécialisés.

• SQL Toolkit (Windows uniquement) : il s’agit d’un ensemble de bibliothèquesque vous pouvez utiliser pour vous connecter à plus de 30 bases de donnéeslocales ou déportées. Avec ces bibliothèques, vous pouvez connecter vosprogrammes de test directement à une base de données pour enregistrer lesrésultats ou télécharger les paramètres de test.

• PID Control Toolkit : il s’agit d’un ensemble d’algorithmes pour le contrôle PIDque vous pouvez intégrer dans vos applications de gestion et de contrôle deprocessus.

• Internet Developers Toolkit (Windows uniquement) : il s’agit d’unebibliothèque de fonctions qui vous aide à créer un serveur Web en vue d’affichervos panneaux d’interface utilisateur LabWindows/CVI sur Internet. Les utilisateursdu Web peuvent ainsi cliquer sur ces panneaux pour interagir avec vosapplications LabWindows/CVI. Vous pouvez également envoyer des E-mail àpartir de vos applications et de vos fichiers de transfert vers et depuis lesserveurs FTP.

• Digita Filter Design Toolkit : il s’agit d’un outil de conception polyvalent destinéau conditionnement de signaux, aux systèmes de commande ainsi qu’autraitement de signaux numériques.

• Third-Octave Analysis Toolkit (Windows uniquement) : il s’agit d’un analyseursur PC en tiers d’octave prêt-à-l’emploi.

© National Instruments Corporation Guide d’évaluation LabWindows/CVI40

L’ENGAGEMENT DE NATIONAL INSTRUMENTS

LabWindows/CVI est le fruit d’un engagement de longue date pris par NationalInstruments : offrir des outils qui simplifient le développement de systèmesd’instrumentation en utilisant des langages standards. En choisissantLabWindows/CVI comme environnement de développement, vous enrichissez lenombre de scientifiques et d’ingénieurs qui profitent déjà de la puissance de laprogrammation C ANSI et de la souplesse de Windows pour leur systèmed’instrumentation.

La formation des clients

National Instruments propose des cours de formation approfondis de trois jours surLabWindows/CVI. Vous y apprendrez à construire rapidement vos applications. Lesinformations et les astuces de développement qui vous y sont présentées peuventaccroître votre productivité dans LabWindows/CVI. Ces cours sont proposés tous lesmois dans nos locaux. Sachez en outre que vous sont également proposées desformations de deux jours sur le GPIB et l’acquisition de données qui devraient vousrenseigner sur les systèmes dans leur totalité.

Le programme Alliance

Le programme Alliance est un réseau de conseillers et de développeurs tierce partie,tous spécialistes de LabWindows/CVI. Le manuel National Instruments Solutionsrépertorie les bibliothèques et les utilitaires supplémentaires développés par lesmembres de notre programme Alliance pour vous aider à utiliser LabWindows/CVI. Ilvous fournit par ailleurs les coordonnées des spécialistes LabWindows/CVI que vouspouvez solliciter pour vous aider à personnaliser vos applications.

Le support technique

National Instruments vous fournit une multitude de précieuses informations qui vousaideront à compléter vos applications. Vous pouvez utiliser nos sites Internet (Web etFTP) pour télécharger des informations importantes ou des exemples de produits,des documents informatifs ou des astuces relatives au développement technique. Unforum technique sur LabWindows/CVI existe sur Internet pour que vous puissiezdiscuter de vos difficultés avec d’autres utilisateurs de LabWindows/CVI. Par ailleurs,National Instruments vous propose les services d’ingénieurs hautement qualifiés quivous assurent une assistance technique rapide et efficace.

Les clients de National Instruments peuvent contacter notre service supporttechnique par :

E-mail : [email protected] : 01 48 14 24 14