distribuer framework labview personnalise par luc desruelle

13

Click here to load reader

Upload: luc-desruelle

Post on 08-Jul-2015

61 views

Category:

Software


1 download

DESCRIPTION

Distribuer son Framework de projet, modèle de projet personnalisé, avec le gestionnaire de projet LabVIEW - version distribution personnalisée. 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.

TRANSCRIPT

Page 1: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

Generated by Jive SBS on 2014-09-05-05:001

luc desruelle's Blogue: Partie 3/3 : Distribuerson Framework de projet, modèle de projetpersonnalisé, avec le gestionnaire de projetLabVIEW - version distribution personnalisée

Publié par luc desruelle 5 sept. 2014

I] Introduction II] Fonctionnement "standard" du gestionnaire de projet III] Ajouter des options personnaliséesau gestionnaire de projet VI] Exemple distribution projet personnalisée V] Synthèse des différentes méthodes I]Introduction Sur un nouveau projet, afin de ne pas repartir d'une feuille blanche, les développeurs utilisent leurFramework de projet, qui correspond à leur structure de programme personnalisée.Depuis la version LabVIEW 2012un gestionnaire de projet permet d'ajouter ses modèles et de les distribuer facilement. voir Partie 2/3 : Distribuerson Framework, modèle de projet personnalisé, avec le gestionnaire de projet LabVIEW - version Simple Le modèle"simple" utilise la fenêtre de gestion "standard" de NI LabVIEW pour générer et modifier le code du projet.

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 dedistribution de projet LabVIEW.

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

Et pour cela nous allons :

Page 2: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:002

• 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 projetde LabVIEW.

II] Fonctionnement "standard" du gestionnairede 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.

Page 3: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:003

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

Page 4: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:004

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

Page 5: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:005

Lors de la lecture du fichier XML du projet, si aucune class fille n’est spécifiée, legestionnaire 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 despécification

Page 6: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:006

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 dela class « MetaData.class ».

Pour résumer :

Page 7: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:007

III] Ajouter des options personnalisées augestionnaire de projet

Nous allons utiliser trois tags optionnels du fichier XML du projet

XML Tag

Description

Example Project

Optional Tags

Page 8: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:008

<MetaDataClass>

Specifies the path to a classthat defines custom behaviorfor the user interface of thesecond page of the Create Project dialog box.

Actor Framework

<CustomVIMode>

Determines when to run acustom VI during the project creation process. Select fromthe following values:

• None—No custom VI

runs. If you omit the<CustomVIMode> tag,None is the default value.

• AfterPage1—After theuser selects a project,the Create       Projectdialog box closes, andthe        custom VI runs.

• AfterPage2NoUI—Afterthe second page ofthe Create       Projectdialog box createsthe project, the        custom VI runs andcompletes.        Then,the Create       Projectdialog box closes.

• AfterPage2WithUI—After the Create       Project dialog boxcreates the project,the Create Projectdialog box closes,and the custom VIruns. The custom VI isresponsible for showingor        hiding its panel.

Simple State Machine,Blank VI, Actor Framework

<CustomVIPath>

Specifies the path to thecustom VI you want torun during the projectcreation process. If you set

Actor Framework

Page 9: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:009

the <CustomVIMode> tag toNone, LabVIEW ignores the<CustomVIPath> tag.

Avec les valeurs :

• <MetaDataClass> : chemin relatif de la class fille. Je vous propose de partir de l'exemple de l'ActorFramework, afin de créer la votre

• <CustomVIMode> : AfterPage2WithNoUI qui va donc permettre de réaliser des actions personnalisées viale 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 classMaMEtaDataObj.lvclass

Page 10: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:0010

Dans le case "Open Spec Page" : lecture via property "Read Spec Page.vi" du chemin de lapage 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 dela class « MetaData.class ».

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

Page 11: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:0011

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

Page 12: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:0012

Page 13: Distribuer Framework LabVIEW Personnalise par Luc Desruelle

luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec legestionnaire de projet LabVIEW - version distribution personnalisée

Generated by Jive SBS on 2014-09-05-05:0013

Luc Desruelle |

| Voir mon profil

CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW

CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

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

Pièces jointes:• CustomProjectTemplate Tree.vi (14.5 K)

265 Visualiser Tags : labview, custom, framework, france, distribution, de, template, architect, projet, desruelle,certifié, développeur, luc, grenoble, chambery, distribuer, son, anncey, modele, personnalisé, génération

Il n'y a aucun commentaire sur cette publication