luc desruelle's Blogue

Navigateur communautaire
annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 
Desruelle_luc
6250 Visites
0 Commentaires

Luc Desruelle, Francis Cottet, Michel Pinard

Éditeur Dunod / L'Usine Nouvelle - 3ème édition - 464 pages - EAN13 : 9782100724338 - Collection: Technique et Ingénierie,

Lien sur le site Amazon : http://www.amazon.fr/Luc-Desruelle/e/B00VOUMY4A/ref=dp_byline_cont_book_3

 

Couverture livre.jpgLabVIEW est un environnement de développement graphique particulièrement bien adapté au domaine de l’acquisition, de la mesure et du contrôle/commande. Son approche totalement graphique offre une souplesse et une dimension intuitive inégalée. Comparativement aux langages textuels il offre la même puissance de programmation mais sans le côté abstrait et complexe lié à la syntaxe.

 

Cet ouvrage permet au lecteur de s’initier aux bases puis aux techniques avancées du langage de développement LabVIEW afin de pouvoir réaliser une application dans les règles de l’art.

 

Il est structuré en six chapitres :

Les deux premiers sont consacrés à la prise en main de l’outil et la description des éléments de programmation graphique de base, illustrés par des exemples simples.

 

Le troisième chapitre aborde la programmation avancée en LabVIEW en définissant des techniques et architectures permettant au code d’être maintenable, évolutif et performant. Il présente des concepts nécessaireà l'examen CLD (Développeur Certifié LabVIEW).

 

Les trois derniers chapitres abordent les capacités spécifiques de LabVIEW pour l’acquisition, l’analyse et la présentation des données.

 

Des exemples concrets et détaillés permettent d’illustrer les domaines tels que l’acquisition de données, le pilotage d’instruments, les systèmes temps réel & FPGA, le traitement du signal, l’analyse mathématique, la sauvegarde des données et la génération de rapport.

 

 

Un lien vers un post du forum francophone qui parle de l’examen Certifié LabVIEW développeur (CLD) :

http://forums.ni.com/t5/Discussions-au-sujet-de-NI/CLD-pr%C3%A9paration/m-p/3082265/highlight/true#M...

 

Luc Desruelle | avatar_ld.gif| Voir le profil LinkedIn de Luc DesruelleVoir mon profil

CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
CLD : Certified LabVIEW Developer/ Certifié Développeur LabVIEW

Contact , Twitter.

Desruelle_luc
6831 Visites
0 Commentaires

I] Introduction

 

Sur un nouveau projet, afin de ne pas repartir d'une feuille blanche, les développeurs utilisent leur Framework de projet, qui correspond à leur structure de programme personnalisée.

Depuis la version LabVIEW 2012 un gestionnaire de projet permet d'ajouter ses modèles et de les distribuer facilement. voir

 

Partie 2/3 : Distribuer son Framework, modèle de projet personnalisé, avec le gestionnaire de projet...

 

Le modèle "simple" utilise la fenêtre de gestion "standard" de NI LabVIEW pour générer et modifier le code du projet.

 

Capture 5.PNG

 

Si comme moi, cete fenêtre ne correspond pas "entierement" à vos attentes, par exemple "elle ne fait que copier" l'arborescence du projet; mais je voudrai :

 

  • Renommer des dossiers suivant des options à ajouter
  • Ajouter le nom de application; le client; le copyright;...
  • Modifier la distribution du projet pour la génération de l'exe;
  • Modifier les options du build
  • Modifier le fichier ini
  • ...

 

 

 

Nous allons donc voir comment modifier les options de génération de la fenêtre de distribution de projet LabVIEW.

  • En utilisant le dossier \scripting
  • En modifiant via une class Enfant la "SpecPage"

 

Et pour cela nous allons :

 

  • Créer une class <MetaDataClass> enfant de la class MetaDataObj\MetaDataObj.lvclass
  • Créer une nouvelle "SpecPage.vi", qui va copier les nouvelles spécifications de la MetaDataClass personnalisée
  • Créer un code qui va réaliser les actions de personnalisation

 

Avant de commencer, il faut bien comprendre le fonctionnement du gestionnaire de projet de LabVIEW.

 

 

 

II] Fonctionnement "standard" du gestionnaire de projet

 

 

Le gestionnaire de projet utilise le code LabVIEW XXXX\resource\dialog\NewProjectWizard\Project Copying\CreateUserProject.vi Et il est configuré par les fichiers XML des projets.

 

1_ gestionnaire programme.png

Il repose sur une structure « state machine » classique ; avec des états et des transitions via un file d’attente ; ou FIFO Queue.

 

1_ gestionnaire programmecode.png

 

initialisation des données Case "Init Spec Page" du générateur de projet  : Les données de spécification du projet sont passées dans la « Data » privée d’une class « MetaData.class »

2_class metadataclass.png

 

Lors de la lecture du fichier XML du projet, si aucune class fille n’est spécifiée, le gestionnaire de projet va charger la class Parent, et ouvrira la fenêtre « standard » de spécification du projet

 

case "Open Spec Page" : lecture via property "Read Spec Page.vi" du chemin de la page de spécification

3_specpage.png

Après la page de spécification, la distribution du projet est réalisée par « createuserpojet.vi» qui exécute les actions de duplication du projet, selon les données de la class « MetaData.class ».

5_createuserprojet.png

 

Pour résumer :

Gestionnaire de projet standard de NI.png

 

 

III] Ajouter des options personnalisées au gestionnaire de projet

 

Nous allons utiliser trois tags optionnels du fichier XML du projet

 

XML   Tag

 

Description

 

Example Project

 

Optional Tags

 

<MetaDataClass>

 

Specifies the path to a class that defines custom behavior for the user interface   of the second page of the Create  Project dialog box.

 

Actor Framework

 

<CustomVIMode>

 

Determines when to run  a custom VI during the project  creation process. Select from the following values:

             
  • None—No custom VI runs. If you omit the <CustomVIMode> tag, None is the default value.
  • AfterPage1—After the user selects a project, the Create       Project dialog box closes, and the        custom VI runs.
  • AfterPage2NoUI—After the second page of the Create       Project dialog box creates the project, the        custom VI runs and completes.        Then, the Create       Project dialog box closes.
  • AfterPage2WithUI—After the Create       Project dialog box creates the project, the Create Project dialog box closes, and the custom VI runs. The custom VI is responsible for showing or        hiding its panel.
  •  
 

Simple   State Machine, Blank VI, Actor  Framework

 

<CustomVIPath>

 

Specifies the path to the custom VI you want to run  during the project creation process. If you set the <CustomVIMode> tag to None, LabVIEW ignores the <CustomVIPath> tag.
 
 

 

Actor Framework

 

Avec les valeurs :

  • <MetaDataClass> : chemin relatif de la class fille. Je vous propose de partir de l'exemple de l'Actor Framework, afin de créer la votre
  • <CustomVIMode> : AfterPage2WithNoUI qui va donc permettre de réaliser des actions personnalisées via le vi <CustomVIPath>

 

Nous pouvons avoir

 

<CustomVIMode>AfterPage2NoUI1</CustomVIMode>


<CustomVIPath>scripting/MetaDataObj/PostCopyScripting.vi</CustomVIPath> 


<MetaDataClass>scripting/MetaDataObj/MaMetaDataObj.lvclass</MetaDataClass>

 

Pour information, à partir de la version LabVIEW 2013 il existe des exemples de template, vit, pour

  • la page de spécification : SpecPage.vi
  • le code de "post copy scripting", code personnalisé après la code générique de copie : PostCopyScripting.vit

 

VI] Exemple distribution projet personnalisée

 

Lors de l'initialisation des données Case "Init Spec Page" du générateur de projet  : suite lecture du fichier XML du projet, le gestionnaire de projet va charger la class MaMEtaDataObj.lvclass

 

Dans le case "Open Spec Page" : lecture via property "Read Spec Page.vi" du chemin de la page de spécification.

Ouverture de la page de spécification personnalisée.

 

Après la validation de la page de spécification, la distribution du projet est réalisée par « createuserpojet.vi» qui exécute les actions de duplication du projet, selon les données de la class « MetaData.class ».

 

Dans le case "Open Custom Vi" : l'option <AfterPage2NoUI> du fichier XML va permettre de réaliser le code de <CustomVIPath> PostCopyScritping.vi

 

 

7_MetaDataClass Map.png

 

V] Synthèse des différentes méthodes

 

8_CustomProject Map.png

 

 

 

Luc Desruelle | avatar_ld.gif | Voir le profil LinkedIn de Luc DesruelleVoir mon profil

CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

Contact , About me. , Google+. , Twitter.

Desruelle_luc
4166 Visites
0 Commentaires

certified_lv_architect_l.jpgCLA ou Certifié LabVIEW Architecte (CLA-R pour re-certification) :

http://sine.ni.com/nips/cds/view/p/lang/fr/nid/13477

• Niveau le plus élevé de certification LabVIEW

• Démonstration d'une maîtrise de l'architecture et de la gestion de projets des applications LabVIEW

La certification Certified LabVIEW Architect est la dernière étape du processus de certification LabVIEW qui en comporte trois (CLAD, CLD et CLA).

Ce diplôme obtenu à l’issue d’un processus d’évaluation rigoureux par National Instruments, atteste d’une totale maîtrise de développement en environnement LabVIEW.

Des programmeurs Certified Architect peuvent guider et donner des conseils techniques, assurant que les développeurs moins expérimentés respectent de bonnes pratiques, tout en accroissant leurs compétences et leur efficacité. De plus, les programmeurs Certified Architect sont capables de concevoir l'architecture de l'application et de gérer le développement des autres ingénieurs.

Je suis CLA : Architect certifié LabVIEW (CLA-R) et CLD : Développeur Certifié LabVIEW (CLD-R)

CLA-R luc desruelle mesulog.pngCLD luc desruelle certifie labview developpeur.png

je suis également LabVIEW Champion

LabVIEW champion.png

A LabVIEW Champion is a top tier, National Instruments Platform enthusiast who has been recognized by National Instruments for their EXCEPTIONAL application development, technical depth and breadth, and leadership and contributions to the LabVIEW community.

A LabVIEW Champion is the first to stand up and defend the NI  Platform, but still has a healthy sense of critical evaluation of the platform, always pushing it to be easier to use and more powerful. The key is our Champions are positive contributors.

LabVIEW Champions are also credible technology experts from around the world who inspire others to learn and grow with LabVIEW through active technical community participation and face-to-face interactions.

LabVIEW Champions are not employees of National Instruments nor do they speak on National Instruments' behalf. LabVIEW Champions are third party individuals who have received recognition from National Instruments for their outstanding contributions to the success of LabVIEW.


Luc Desruelle | avatar_ld.gif| Voir le profil LinkedIn de Luc DesruelleVoir mon profil | Mon blog LabVIEW

CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW

Co-auteur livre LabVIEW : Programmation et applications

LabVIEW Champion

Contact

banniere Luc Livre.png