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.
Distribuer Framework LabVIEW Personnalise par Luc Desruelle
1. Generated by Jive SBS on 2014-09-05-05:00
1
luc desruelle's Blogue: Partie 3/3 : Distribuer
son Framework de projet, modèle de projet
personnalisé, avec le gestionnaire de projet
LabVIEW - 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ées
au 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 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 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 de
distribution de projet LabVIEW.
• En utilisant le dossier scripting
• En modifiant via une class Enfant la "SpecPage"
Et pour cela nous allons :
2. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
2
• Créer une class <MetaDataClass> enfant de la class MetaDataObjMetaDataObj.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 XXXXresourcedialogNewProjectWizard
Project CopyingCreateUserProject.vi Et il est configuré par les fichiers XML des projets.
3. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
3
Il repose sur une structure « state machine » classique ; avec des états et des
transitions via un file d’attente ; ou FIFO Queue.
4. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
4
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 »
5. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
5
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
6. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
6
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 ».
Pour résumer :
7. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
7
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
8. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
8
<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
Actor Framework
9. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
9
the <CustomVIMode> tag to
None, 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'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
10. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Dans le case "Open Spec Page" : lecture via property "Read Spec Page.vi" du chemin de la
page de spécification.
Generated by Jive SBS on 2014-09-05-05:00
10
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
11. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
11
V] Synthèse des différentes méthodes
12. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
12
13. luc desruelle's Blogue: Partie 3/3 : Distribuer son Framework de projet, modèle de projet personnalisé, avec le
gestionnaire de projet LabVIEW - version distribution personnalisée
Generated by Jive SBS on 2014-09-05-05:00
13
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