06-08-2012 09:52 AM
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
06-08-2012 10:02 AM
06-08-2012 10:05 AM
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
06-08-2012 10:13 AM
Tu peux jeter un oeil à cette présentation de LVOOP, elle reprend l'exemple des différents instruments.
Sinon, le tableau de variants ça marche aussi.
06-12-2012 03:57 AM
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
06-12-2012 04:31 AM
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.
06-12-2012 06:01 AM
Voilà un peu le principe résumé, si tu as des questions...
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
06-14-2012 03:37 AM
@ 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!!
06-14-2012 04:00 AM
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: