SlideShare une entreprise Scribd logo
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
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
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 ?
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.

Contenu connexe

En vedette

Pictures of the Future Siemens Printemps 2012
Pictures of the Future Siemens Printemps 2012Pictures of the Future Siemens Printemps 2012
Pictures of the Future Siemens Printemps 2012
SiemensFrance
 
Livre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et ApplicationsLivre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et Applications
Luc Desruelle
 
Livre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applicationsLivre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applications
Luc Desruelle
 
Getting started with LabVIEW
Getting started with LabVIEWGetting started with LabVIEW
Getting started with LabVIEW
Yomna Eid
 
Wincc plant-intelligence
Wincc plant-intelligenceWincc plant-intelligence
Wincc plant-intelligence
Abdoul Karim
 
Certificate of completion
Certificate of completion Certificate of completion
Certificate of completion
Bilal Jamjama
 
SCADA Labview PLC TIA portal v13
SCADA Labview PLC TIA portal v13SCADA Labview PLC TIA portal v13
SCADA Labview PLC TIA portal v13
Mohsen Sadok
 
Colaimo 140330083749-phpapp01
Colaimo 140330083749-phpapp01Colaimo 140330083749-phpapp01
Colaimo 140330083749-phpapp01Mss Med
 
Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016
Soufiane KALLIDA
 
Exemple de CV professionnel
Exemple de CV professionnelExemple de CV professionnel
Exemple de CV professionnel
RAMZI EL IDRISSI
 
Presentation Android
Presentation AndroidPresentation Android
Presentation Android
Jean Collas
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
Harrathi Mohamed
 
Le télétravail chez Siemens au Luxembourg
Le télétravail chez Siemens au LuxembourgLe télétravail chez Siemens au Luxembourg
Le télétravail chez Siemens au LuxembourgNicole Turbé-Suetens
 
Facteurs orientation
Facteurs orientationFacteurs orientation
Facteurs orientation
clodo38
 
Activités janvier 2015
Activités janvier 2015Activités janvier 2015
Activités janvier 2015
SAINT JOSEPH CARPENTRAS
 
4 leyes de la espiritualidad
4 leyes de la espiritualidad4 leyes de la espiritualidad
4 leyes de la espiritualidad
Mari Amy FH
 
Los públicos
Los públicosLos públicos

En vedette (19)

Pictures of the Future Siemens Printemps 2012
Pictures of the Future Siemens Printemps 2012Pictures of the Future Siemens Printemps 2012
Pictures of the Future Siemens Printemps 2012
 
Livre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et ApplicationsLivre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et Applications
 
Livre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applicationsLivre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applications
 
Getting started with LabVIEW
Getting started with LabVIEWGetting started with LabVIEW
Getting started with LabVIEW
 
Wincc plant-intelligence
Wincc plant-intelligenceWincc plant-intelligence
Wincc plant-intelligence
 
Certificate of completion
Certificate of completion Certificate of completion
Certificate of completion
 
SCADA Labview PLC TIA portal v13
SCADA Labview PLC TIA portal v13SCADA Labview PLC TIA portal v13
SCADA Labview PLC TIA portal v13
 
Rapport cimat
Rapport cimatRapport cimat
Rapport cimat
 
Colaimo 140330083749-phpapp01
Colaimo 140330083749-phpapp01Colaimo 140330083749-phpapp01
Colaimo 140330083749-phpapp01
 
Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016
 
Exemple de CV professionnel
Exemple de CV professionnelExemple de CV professionnel
Exemple de CV professionnel
 
Presentation Android
Presentation AndroidPresentation Android
Presentation Android
 
Decodage d'adresse
Decodage d'adresseDecodage d'adresse
Decodage d'adresse
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Le télétravail chez Siemens au Luxembourg
Le télétravail chez Siemens au LuxembourgLe télétravail chez Siemens au Luxembourg
Le télétravail chez Siemens au Luxembourg
 
Facteurs orientation
Facteurs orientationFacteurs orientation
Facteurs orientation
 
Activités janvier 2015
Activités janvier 2015Activités janvier 2015
Activités janvier 2015
 
4 leyes de la espiritualidad
4 leyes de la espiritualidad4 leyes de la espiritualidad
4 leyes de la espiritualidad
 
Los públicos
Los públicosLos públicos
Los públicos
 

Similaire à Exemple code oop_labview

Code flow - Cocoaheads paris
Code flow - Cocoaheads parisCode flow - Cocoaheads paris
Code flow - Cocoaheads paris
CocoaHeads France
 
Dev ops - Contiuous delivery
Dev ops - Contiuous deliveryDev ops - Contiuous delivery
Dev ops - Contiuous delivery
Patrice Ferlet
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
VISEO
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
Calculus System SARL
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
Mohamed Abdennebi
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
Calculus System SARL
 
Py osv newsletter-062018
Py osv newsletter-062018Py osv newsletter-062018
Py osv newsletter-062018
FabMob
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptx
ThomasParaiso1
 
Py osv newsletter-042018
Py osv newsletter-042018Py osv newsletter-042018
Py osv newsletter-042018
FabMob
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
Kalilou DIABY
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Société ELOSI
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
JEAN-GUILLAUME DUJARDIN
 
Native script
Native scriptNative script
Native script
Neticoa Sénégal
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-fr
EmanBali
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
Normandy JUG
 
20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready
Geoffray Gruel
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
med_univ78
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
Kalilou DIABY
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
Stéphane Traumat
 

Similaire à Exemple code oop_labview (20)

Code flow - Cocoaheads paris
Code flow - Cocoaheads parisCode flow - Cocoaheads paris
Code flow - Cocoaheads paris
 
Dev ops - Contiuous delivery
Dev ops - Contiuous deliveryDev ops - Contiuous delivery
Dev ops - Contiuous delivery
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 
Py osv newsletter-062018
Py osv newsletter-062018Py osv newsletter-062018
Py osv newsletter-062018
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptx
 
Py osv newsletter-042018
Py osv newsletter-042018Py osv newsletter-042018
Py osv newsletter-042018
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
Native script
Native scriptNative script
Native script
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-fr
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
 
20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 

Exemple code oop_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.