LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

tableau polymorphe

 

Bonjour à tous,

 

Je travaille avec Labview 8.2.

Je réalise un programme capable de gérer 4 instruments identiques avec lesquels je communique en rs232. Il y a de nombreux paramètres à gérer pour chacun d'entre eux et je pensais réaliser un tableau avec tous ces différents paramètres. Ma question (et mon problème):

Est il possible sous Labview de faire un tableau polymorphe, càd avec des éléments de type différents (chiffres en virgule flottante, booléens, nom de port Visa, chaînes de caractères, etc....)?? J'ai aussi pensé à un cluster mais ça n'est pas comparable à un tableau, et il y moins d'outils et de fonctions applicables.

 

Merci d'avance,

Christophe

 

0 Kudos
Message 1 of 9
(3,416 Views)

Duplicate

    Benjamin R.


Senior LabVIEW Developer @Neosoft


0 Kudos
Message 2 of 9
(3,411 Views)

On ne peut pas faire un tableau d'éléments de type différent, cela dit on peut faire un tableau de variant et comme n'importe quel type peut être passé en variant, cela pourrait te permettre des définir 4 clusters différents (un par appareil), de les mettres en variant pour pouvoir ensuite mettre les 4 variants dans un tableau. L'inconvénient c'est que ensuite pour extraire les différents clusters de chaque variante, tu dois connaitre le type de chaque cluster, tu pourrais utiliser des typedef pour ça.

 

En fait, maintenant que j'y pense, c'est possible en LVOOP!

Tu peux définir une classe mère "appareil" avec 4 classes filles (un par type d'appareil et ainsi tu peux mettre 4 objects appareil différents (car ils ont un ancêtre commun) dans le même tableau, et avec le dynamique dispatch pas besoin de cast!


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 3 of 9
(3,410 Views)

Tu peux jeter un oeil à cette présentation de LVOOP, elle reprend l'exemple des différents instruments.

 

http://download.ni.com/pub/branches/france/2012/nidays/1-3-Demystifier-la-mise-en-œuvre-de-la-progra...

 

Sinon, le tableau de variants ça marche aussi.

Cordialement,


Micaël DA SILVA
0 Kudos
Message 4 of 9
(3,401 Views)

 

Bonjour et merci à tous pour vos réponses rapides et efficaces!!

 

C'est bien ce que je pensais, il n'est pas légitime de faire un tableau avec des données dont le type n'est pas le même!!

- Pour les clusters, j'ai tenté l'utilisation de ces derniers, mais comme je l'avais dit, les outils de manipulation des clusters ne sont pas aussi élaborés que ceux des tableaux, et leur manipulation est plus lourde aussi.

- Pour la prog orienté objet, je vois bien l'idée, créer une classe spécifique, etc.... mais le temps m'est compté. Peut être lorsque j'aurai plus de temps.

- Enfin, pour les variants, je ne sais pas trop en quoi cela consiste. Si vous pouviez m'expliquer brièvement svp.

 

Merci encore et bonne continuation

Christophe

0 Kudos
Message 5 of 9
(3,365 Views)

Christophe,

Il me faudrait un peu plus d'infos pour pouvoir t'aider :

 

Combien de paramètres as-tu à gérer et quels sont-ils ?

A quoi ressemblerait le tableau que tu veux créer?

Quels sont les traitements spécifiques que tu veux faire sur ces données ?

Quels blocages as-tu rencontré avec les clusters ?

 

Le mieux serait bien sûr de poster un bout de code ou une capture d'écran.

Cordialement,


Micaël DA SILVA
0 Kudos
Message 6 of 9
(3,360 Views)

Voilà un peu le principe résumé, si tu as des questions...

 

Example_VI_BD.png


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 7 of 9
(3,353 Views)

@ Micael_

C'est un peu compliqué à expliquer comme ceci mais je souhaitais stocker mes différents paramètres, les comparer, les modifier le cas échéant, les lire bien sûr, etc.... d'où l'idée du tableau. Le hic, c'est que les données sont de types différents (chaines de caractères, numérique en virgule flottante, booléen, etc....) Après je pourrais aussi tout transformer en chaine par exemple mais ça rajoute des couches et des couches de code.

 

J'ai tenté un peu les clusters, que j'ai organisé en tableau (en faisant des clusters identiques), mais c'est tjs pareil, on gère des clusters et non les éléments de ces derniers, à moins de déassembler les clusters, bref, je trouve l'intérêt d'un tableau de clusters très limité!!

 

@ Titou

Merci pour ton exemple. A priori d'après ce que j'ai cru comprendre, cela permet, à la différence des clusters simples, de faire des tableaux avec des éléments de type différents mais au final, il faut aussi tout mettre à plat pour manipuler les données.

 

Au final, j'ai fait mon programme sans tableau, simplement avec les paramètres de mes instru directement affichés. Le tout fonctionne bien mais le diagramme est vaste, même s'il est relativement organisé.

Merci à tous pour votre aide et vos commentaires constructifs et à bientôt!!

 

0 Kudos
Message 8 of 9
(3,329 Views)

Merci pour ce retour.

Pour stocker et modifier tes paramètres par l'intermédiaire d'un fichier ini, il existe des fonctions OpenG très pratiques qui marchent pour tous les types de données:

http://wiki.openg.org/Read_INI_Cluster

http://wiki.openg.org/Write_INI_Cluster

Cordialement,


Micaël DA SILVA
0 Kudos
Message 9 of 9
(3,324 Views)