Distribuer Framework LabVIEW Personnalise par Luc Desruelle
Click here to load reader
-
Upload
luc-desruelle -
Category
Software
-
view
61 -
download
1
description
Transcript of 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 :
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.
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.
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 »
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
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 :
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
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
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
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
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
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
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