Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Condition avec une chaine de caractère

Résolu !
Accéder à la solution

Bonjour tout le monde,

 

Je vous suscite aujourd'hui pour savoir comment faire une condition avec une chaine de caractère,

 

Je m'explique; je travaille sur un banc d'essai moteur, il y a 3 marques différentes de moteurs qui peuvent être testées :

- Lycoming

-Continental

-Rotax

 

L'acquisition des données pour le Lycoming et le Continental se fait de manière très similaire, j'utilise les mêmes "DAQmx : Lire", en revanche, pour le Rotax j'aimerais Lire d'autres données...

Je voulais donc savoir s'il était possible de faire la lecture de certaines données si l'utilisateur à sélectionné en amont la marque "Rotax" à l'initialisation du programme, ou plutôt de faire la lecture d'autres tâches si l'utilisateur à sélectionné une autre marque ? (les tâches non utilisées ne seront donc pas lues en fonction de la marque choisie)

 

(J'ai joins une capture d'écran du sous VI où se pose mon problème pour que ça soit plus clair)

 

J'espère avoir été assez clair ! 

 

En vous remerciant par avance !

 

0 Compliments
Message 1 sur 2
731 Visites
Solution
Accepté par l'auteur du sujet BgsLou

Bonjour,

 

Il est tous à fait possible de conditionner du code pour qu'il s'exécute suivant une chaîne de caractère (ou mieux : enumérateurs) en entrée.

Pour ce faire on utilisera une "Structure Condition" :

 

Loc_fr_0-1684514223558.png

 

 

Néanmoins tu vas être confronter au fait de devoir gérer tous les types de données nécessaire pour tous tes cas. Et ceux même lorsque tu n'en auras pas besoin.

 

Ton code est pour l'instant relativement simple et petit pour cette méthodes fonctionnent tout en restant humainement supportable à maintenir.

 

Pour aller plus loin il faudra alors parler d'abstraction et d'interface. Cela se traduit par l'utilisation de programmation orienté objet (OOP et en LabVIEW LVOOP).

Il existe quelques présentations assez intéressantes qui explique comment on passe de ton code à une version avec de l'OOP :

Traditional Versus Object Oriented Programming in LabVIEW - NI Community

- Introduction to OOP and Hardware Abstraction Layers - NI

 

Les méthodes mises en œuvrent ici permettent de faire la même chose sans avoir a :

- Gérer unitairement tous les cas des structures conditions

- Ajouter des modes/instruments sans avoir à modifier le code appelant (Plus haut niveau)

 

Tout en offrant plus de perspectives d'évolutions.

 

Mais encore une fois, au vu de ta capture d'écran, gérer tes différents modes avec des structures conditions et tout à fait acceptable et semble adapter a ton niveau.

(Mais ton code est aussi suffisamment petit et simple pour tenter une approche orienté objet...)

 

En espérant t'avoir aider.

 

Loïc

Message 2 sur 2
695 Visites