Presentation du socle technique Java open source Scub Foundation
Exemple de-code-oop-avec-labview
1. luc desruelle's Blogue: Exemple de code OOP
avec LabVIEW
Generated by Jive SBS on 2014-09-04-05:00
1
Publié par luc desruelle 16 févr. 2014
Le code LabVIEW est dans le post
Suite à une demande sur le forum, un exemple de OOP avec LabVIEW
La demande : Pouvoir configurer le même logiciel avec 2 cartes d'acquisition différentes.
L'initialisation, boite de dialogue de configuration, acquisition et close des références seront
donc différents en fonction des cartes.
Donc:
• Une class Deformation avec 2 enfants ConditionneurExterne et CarteSpecifique
• 1 méthode configuration, avec dans chaque class enfant une méthode en dynamic dispatch
pour la fenêtre de configuration spécifique, qui ser donc appelée lors de la définition de
l’objet de la carte utilisée
• Idem pour les méthodes acquisition, méthode acquisition en dynamic dispatch
• Les données spécifiques à une carte sont donc dans la donnée privée de la class de l’enfant.
J’ai fait un « brouillon d’architecture ». Je précise car le code n’est pas
totalement « propre ».
Le projet UML
En LabVIEW cela va ressembler à
Dans le projet
2. luc desruelle's Blogue: Exemple de code OOP avec LabVIEW
Generated by Jive SBS on 2014-09-04-05:00
2
et sur la hiérarchie des class
Une class Deformation avec 2 enfants
> ConditionneurExterne
et
> CarteSpecifique
il y a un vi exemple
avec en face avant
en fonction du boolean "Conditionneur Externe", l'objet sera du type d'une carte ou de
l'autre. Le code de la class correspond sera alors exécuté.
liens sur le site de National Instruments : LabVIEW Object Oriented Programming Resource
Directory
3. luc desruelle's Blogue: Exemple de code OOP avec LabVIEW
Generated by Jive SBS on 2014-09-04-05:00
3
Luc Desruelle |
| Voir mon profil
CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW
Contact
Pièces jointes:
• MesureDeformation-LV2012.zip (191.6 K)
100 Visualiser Tags : labview, dynamic, object, france, oop, class, goop, architect, uml, g#, objet, exemple,
desruelle, certifié, développeur, luc, grenoble, dispatch, intégration, developpeur, programmation, annecy, chambéry,
liens
3 mars 2014 08:12 Ficare
question annexe (mais applicable à d'autres projets utilisant OOP) : comment faire pour
partager "proprement" des classes OOP entre plusieurs projets ?
4. luc desruelle's Blogue: Exemple de code OOP avec LabVIEW
Generated by Jive SBS on 2014-09-04-05:00
4
Un des intérêts de l'OOP est la réutilisation, donc logiquement, il est interessant de
maintenir un seul source, utilisé dans plusieurs projets. Faut-il faire un répertoire spécifique,
qu'on intégre systématiquement dans chaque nouveau projet ? Dans ce cas comment se
passe la gestion avec le CCS ?
Bonne journée ...
3 mars 2014 16:19 luc desruelle Ficare en réponse à
Bonjour, très bonne question à aborder lors de la prochaine rencontre LUGE !
J’espère que vous serez avec nous!!.
Nous avons effectivement du code objet que nous utilisons dans beaucoup de
projets. Certains sont des toolkits « propriétaires », d’autres sont téléchargés via
le LabVIEW Tools Network. S’ils ne sont pas de NI LabVIEW, ils sont localisés sous
le dossier « user.lib ».
Dans mon cas, le code est réalisé pour les besoins d’un client. Contractuellement
il a accès à l’ensemble du code. L’ensemble du code est donc distribué au client.
Donc même le code de la « user.lib » est « copié » dans le dossier « Windows
» du projet client, et n’est plus localisé sur le disque c:.... Cette opération est
réalisée à un moment « défini » du projet.
Nous avons un dépôt SCC par projet, donc il y a du code commun entre les dépôts SCC.
Cela présente des inconvénients et des avantages. En avantages, nous pouvons
citer de « figer » une version exacte du code avec la version logicielle validée, le
code peut être « ouvert » sur n’importe quel PC. En inconvénient une duplication
du code entre les dépôts SCC.
Pour résumer, seulement le code « lié » à la version de LabVIEW n’est pas
distribué dans le dépôt SCC du projet.