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
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 :
Nous allons donc voir comment modifier les options de génération de la fenêtre de distribution de projet LabVIEW.
Et pour cela nous allons :
Avant de commencer, il faut bien comprendre le fonctionnement du gestionnaire de projet de LabVIEW.
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.
Il repose sur une structure « state machine » classique ; avec des états et des transitions via un file d’attente ; ou FIFO Queue.
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 »
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
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 :
Nous allons utiliser trois tags optionnels du fichier XML du projet
XML Tag |
Description |
Example Project |
Optional Tags |
||
|
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 |
|
Determines when to run a custom VI during the project creation process. Select from the following values:
|
Simple State Machine, Blank VI, Actor Framework |
|
Specifies the path to the custom VI you want to run during the project creation process. If you set the |
Actor Framework |
Avec les valeurs :
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
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
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.
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
Pour ajouter un commentaire ici, vous devez être inscrit. Si vous êtes déjà inscrit, connectez-vous. Dans le cas contraire, inscrivez-vous puis connectez-vous.