Affichage d'un tableau de cluster

Bonjour,
j'ai un petit probleme mais je ne sais plus quoi faire donc je viens demander l'aide aux experts.
Donc je créé mon tableau de cluster (contenant un ring et 3 indicateurs numeriques)  en indexant en sortie d'une boucle for, j'ai vérifié et les valeurs du tableau sont correctes (img1). Je prend ce tableau et je le rentre dans mon sous vi qui est juste une fenetre pop up qui est doit afficher le tableau de cluster (img2).
Le probleme est que les valeurs dans le cluster sont decalées, cad que le ring affiche toujours 0 et ce qu'il est sensé afficher est contenu dans l'indicateur numérique qui suit...et ainsi de suite . En img3 voila mon sousVi qui afffiche le tableau. Donc pourquoi mes valeurs dans le cluster se décalent? En espérant avoir été assez clair.
Merci
Cdt
Mélanie
Résolu !
Accéder à la solution.
Pièces jointes :
creation tableau cluster.png ‏13 KB
put the array in subvi.png ‏4 KB
sub vu pop up.png ‏19 KB

Bonjour,
C'est dû au point rouge de ton cluster dans ta fenêtre pop-up. Cela signifie que tu n'as pas exactement les mêmes types de données. Ici tu dois avoir un ordre différent des éléments dans tes clusters. Pour les réorganiser, il faut faire un clic droit sur le cluster puis Reorder Controls in cluster...
Si l'ordre est le même sur tes différents cluster cela devrait fonctionner.
Il existe une méthode pour éviter d'avoir ce genre de problème: il faut définir tes clusters comme des typedef (advenced=>customize) puis les enregister en .ctl
Cela permet de créer un "nouveau type de données" et donc tous tes clusters qui utilisent ce fichier de définition auront exactement les mêmes types de données.
Cordialement,
Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect

Similar Messages

  • Rendre visible ou invisible un élément d'un cluster le tout dans un tableau de cluster

    Bonjour
    J'ai un tableau de cluster. Chaque cluster contient quatres controls (numérique1, booleen1, menu déroulant1, numérique2).
    En fonction de la valeur du booléen1, je veux rendre visible ou invisible le numérique2.
    Ceci sur chaque cluster du tableau et de façon indépendante pour chaque cluster
    Est-il possible de réaliser celà?
    Merci
    Attachments:
    Labview.jpg ‏27 KB

    Here is my answer to your other posting translated to French. If the wording is wrong blame the Babel Fish Translator not me
    La réponse est oui et non. Il est possible de rendre différentes commandes dans un faisceau évidentes et invisibles. Cependant, ce n'est pas le même pour des rangées. Une rangée est une collection d'articles avec le SEUL differnce étant valeur. Tellement toutes les propriétés de chaque élément doivent être identiques. Vous pouvez programaticaly changer les propriétés de l'élément de rangée, mais notez que c'est élément. Une rangée n'a pas une collection d'éléments qu'elle a 1 élément et un groupe de valeurs. Imaginez la mémoire qui serait nécessaire si chaque propriété simple de chaque index devait être stockée. Ainsi vous pourriez rendre tous des commandes numeric1 invisibles, mais elle sera pour chaque faisceau. Vous ne pouvez pas la rendre évidente à l'index 1 et invisible à l'index 2.

  • Boucle FOR et tableau de cluster

    Bonjour,
    J'ai créé un tableau de cluster contenant deux éléments et je souhaite que l'indice de mon tableau corresponde au "i" d'une boucle FOR;
    ce qui me permettrait de remplir les valeurs de mes clés à chaque itération.
    Ci-joint mon VI.
    Cdt
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Test_Scenario.vi ‏12 KB

    Bonjour,
    Je t'invite à te renseigner sur l'auto-indexation des boucles FOR:
    Auto-Indexing Tunnels with For Loops and While Loops in LabVIEW
    L'auto-indexation va permettre que ta boucle FOR s'exécute autant de fois que tu as d'élément dans ton tableau.
    L'itération 0 prendra donc l'élément à l'indice 0 de ton tableau. 
    L'itération 1 prendra donc l'élément à l'indice 1 de ton tableau.
    Bonne journée,
    Valentin
    Certified TestStand Architect
    Certified LabVIEW Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France
    Pièces jointes :
    auto indexation.vi ‏11 KB

  • Passage d'un tableau de cluster a une DLL

    RR

    Merci pour les reponses.
    Je fais appel a la dll nifb.dll.l'une de ces fonctions me demande de passer un tableau de cluster, et pour cela j'utilise "Adapt to type".
    non de la fonction : nifError_t nifGetDeviceList
    Attachments:
    nifbus.h ‏11 KB
    nifbtest.c ‏14 KB
    FieldBus.vi ‏44 KB

  • Affichage d'un tableau

     bonjour à tous 
    j'ai une petite probleme lors de l'affichage de mes mesures sur un tableau.
    je veux affiche les mesures de chaque iteration à coter de l'autre avec un interval entre eux pour les distinguer.
    pour une temperature fixer au debut de l'iteration je recoit une colonne de C et une colonne de t puis un interval qui separe et les mesures de 2eme iteration s'affiche ainsi de suite,
    mais c pas le cas que je fais il m'affiche les resultat sucessive ,je veux un retour au colonnes pas en linges.cad si je change la temperature 4 fois cad 4iteration donc le tableau afficher sera 8colonnes sur 3 lignes
    voici un VI simplifier  pour mieux partager mes idee.
    Pièces jointes :
    02-05-2014 17-00-58.jpg ‏81 KB
    1.vi ‏17 KB

    Bonjour,
    C'est dû au point rouge de ton cluster dans ta fenêtre pop-up. Cela signifie que tu n'as pas exactement les mêmes types de données. Ici tu dois avoir un ordre différent des éléments dans tes clusters. Pour les réorganiser, il faut faire un clic droit sur le cluster puis Reorder Controls in cluster...
    Si l'ordre est le même sur tes différents cluster cela devrait fonctionner.
    Il existe une méthode pour éviter d'avoir ce genre de problème: il faut définir tes clusters comme des typedef (advenced=>customize) puis les enregister en .ctl
    Cela permet de créer un "nouveau type de données" et donc tous tes clusters qui utilisent ce fichier de définition auront exactement les mêmes types de données.
    Cordialement,
    Simon D.
    CLA | Certified LabVIEW Architect
    CTA | Certified TestStand Architect

  • NI teststand: affichage tableau dans le rapport

    Bonjour,
    Suite à des tests et des calculs, j'ai regroupé dans un tableau des temps de transmission par commande (image 1) j'aimerais afficher ce tableau dans un rapport TestStand après une séquence de test, cependant, l'affichage de ce tableau n'est vraiment pas esthétique ni pratique à lire (image 2), et encore moins lorsque j'ouvre le rapport xml sur internet explorer (image 3)
    J'ai cherché plusieurs solutions dans le forum mais rien ne fonctionne. Je voudrais que mon tableau s'affiche comme la première image.
    Quelqu'un pourrait m'aider svp ?
    Merci
    Mehdi
    Pièces jointes :
    tableau_tr.PNG ‏6 KB
    tableau_teststand.PNG ‏9 KB
    tableau_explorer.PNG ‏10 KB

    Bonjour,
    Ce temps permet à Teststand de se lancer. Il est donc normal de ne pas récupérer la référence par le GetEngine s'il n'existe pas encore
    A propos des fermetures de références : il faut les fermer une fois que vous n'en avez plus besoin. Ainsi, si vous avez créé une référence et que vous l'utilisez avec plusieurs noeuds de méthodes/propriétés, ne la fermez qu'à la fin.
    Cordialement,
    Mathieu P. | Certified LabVIEW Associate Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

  • Cluster en tableau avec différente données

    Bonjour je souhaiterai réaliser un cluster en tableau avec différentes données.
    Les données sont celles sur l'image en PJ.
    L'indice de mon tableau est le n° étape.
    Cdt
    Pièces jointes :
    Scenario.JPG ‏63 KB

    Bonjour,
    Dans l'exemple que je t'ai posté dans le lien ci-dessous, j'ai travaillé avec un tableau à 2 dimensions:
    Remplissage d'un tabeau pour réaliser un scénario
    Nénamoins, tu peux le modifier et ainsi travailler avec un tableau de cluster, le principe reste le même.
    Bonne journée,
    Valentin
    Certified TestStand Architect
    Certified LabVIEW Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France

  • Ne pas remplir un tableau avec les valeur par default

    Bonjour
    Voila mon problème.
    L'utilisateur doit selectionner une zone sur une image et l'ajouter à une liste.
    Il peut aller jusqu'à 3 zones. Il peut également choisir le mode de traitement de l'ensemble des zones.
    Lorsqu'il démare l'acquisition, on entre dans une boucle cadencé while, puis on regarde le boléan correspondant au mode, ensuite on entre dans un boucle for dont n est lié à la taille de la liste des zones.
    Le tableau est un tableau de cluster de 2 éléments.
    Dans certaines conditions, je ne veux pas remplir le tableau.
    le seul moyen que j'ai trouvé pour remplir le tableau selon ces conditions est grace au variables locales.
    Problème, cela prend trop de RAM et je suis limité ensuite.
    je joins un VI tres simplifié de mon probleme
    Merci
    Attachments:
    exemple.vi ‏85 KB

    Voila le VI.
    J'ai oublié de préciser que j'ai simulé un signal dent de scie avec un bruit blanc pour effectuer les essais et que les thermocouples seront cablées par la suite et reliées à un DAQ.
    Pièces jointes :
    exemple filtre 2.1.vi ‏74 KB

  • Lire partiellement un tableau de plusieurs millions de lignes

    Bonjour,
    Alors voici mon problème: j'ai un fichier texte contenant un tableau de 9 colonnes et environ 15 millions de lignes. J'utilise labview pour traiter ces données, ce qui ne pose pas de problème hormis pour un point: lire partiellement le fichier sans avoir à effectuer une lecture complète, qui sature la mémoire du pc.
    Par exemple, je veux extraire 1000 lignes de ce tableau, à partir de la 10 000 ème ligne.  J'ai essayé avec le sous VI: "lire un fichier tableur" mais celui-ci ne propose qu'un offset de caratère à la lecture et non un offset de lignes, et c'est compliqué de connaître simplement la relation entre le nombre de caractères et le nombre de lignes.
    Donc est ce que vous auriez une autre solution pour lire paratiellement un tableau ?
    Merci d'avance pour votre aide
    Résolu !
    Accéder à la solution.

    bonjour j'ai le sentiment qu'un fichier binaire conviendrait mieux, afin d'avoir une structure d'octets fixe par ligne et de pouvoir utiliser la capacité à récupérer facilement des données  à n'importe quel endroit du fichier du fait que nous connaissons le nombre d'octets nécessaire à l'écriture d'une donnée. via " Définir la position" qui est en octet. 
    Toutes les autres méthodes (sur fichier ASCII) seront consommatrices de ressource.
    Un autre fichier binaire est intéressant : le fichier journal, qui est un tableau de cluster (par exemple pour vous une ligne ou un ensemble fixe de ligne = un élément du journal).
    Le grand avantage de cette méthode est qu’il est très simple d’accéder en lecture à la valeur d’un des éléments du tableau (index d'un des clusteur). Il suffit uniquement de spécifier son numéro à la fonction « Définir la position dans le fichier journal LabVIEW ». En effet cette fonction travaille sur des valeurs qui sont en nombre d’enregistrement, et pas en offset d’octets comme les fonctions binaires standards. Il est ainsi plus simple d’exploiter les essais réalisés.
    Mais je ne sais pas si cela est possible pour vous.
    A+
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Modification de valeur dans un tableau

    Bonjour,
    Contexte :
    Je souhaite pouvoir remplir des données dans un tableau en appuyant sur le bouton suivant (incrémente l'indice)
    Revenir en arrière en appuyant sur le bouton précédent (donc à l'indice précédent) et modifier ses valeurs en appuyant sur le  bouton suivant.
    Problème :
    Dans mon VI cela fonctionne, mais ajoute des données supplémentaires à chaque fois que l'on appuie sur suivant, ce que je ne souhaite pas.
    Cordialement
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Tableau de cluster.vi ‏28 KB

    Bonjour,
    Voila une version modifié de ton VI qui doit répondre à ton problème.
    L'erreur venait du fait que quand tu cliques sur suivant tu ajoutes toujours un élément au tableau. J'ai donc rajouter une condition qui vérifie si on est au dernier élément du tableau et dans si c'est vrai, on ajoute une valeur, sinon on la remplace.
    Cordialement.
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   
    Pièces jointes :
    Tableau de cluster Modifie.vi ‏29 KB

  • Problème d'affichag​e après lecture fichier binaire

    Bonjour,
    J'utilise actuellement une communication CAN et chacune des trames échangées est enregistrée dans un fichier binaire.
    Une fois la communication finie, le fichier est ouvert, dépouillé pour sortir sous forme de string puis affiché dans un tableau 2D de string.
    Ce tableau est de 8 colonnes (une par type d'informations, comme le time stamp, l'identifiant etc)  et d'un nombre de lignes dépendant du nombre de trames échangées
    Le problème survient lors de l'affichage des données sur le tableau, à partir d'environ 50 000 lignes, il est indiqué que la capacité mémoire de LabView n'est pas suffisante.
    Existe-t-il une solution pour palier à ce genre de problème?
    Merci,
    Jull
    configuration : LV8.5.1
    Cordialement,
    Julien V.

    Bonjour,
    Quel est la configuration de votre ordinateur?
    Le problème intervient lors de la lecture du fichier ou de l'affichage dans un tableau?
    Quels est le code d'erreur qui apparait?
    Cordialement,
    Aurélien J.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Du 30 juin au 25 août, embarquez pour 2 mois de vidéo-t'chat ! Prenez place pour un voyage au coe...

  • Affecter des coordonnées à chaque case d'un tableau

    Bonjour,
    Esct ce qu'il est possible d'affecter des coordonnées X, Y a chaque case d'un tableau 2D. Exemple ds le tableau excel ci joint
    Par exemple je vx que la case (0,0) dont le contenu est 1 ait un systeme de coordonnées(0.0035,-0.0035).
    Merci d'avance,
    Pièces jointes :
    tab.jpg ‏33 KB

    Bonjour,
    Pourquoi ne pas tout simplement utiliser un tableau de cluster ? Cela parait plus simple....
    Cordialement,
    Pièces jointes :
    tableau_vi.vi ‏7 KB

  • Rendre non visible l'élément d'un tableau

    Bonjour,
    J'ai créer un tableau de cluster sur la face avant de mon application, ce tableau me sert de légende pour un graphe! J'aimerais pouvoir rendre non visible, ou simplement griser un élément de mon tableau mais je ne sais pas comment m'y prendre. J'ai regardé dans le property node mais je n'ai pas trouvé la bonne property. Le but de cette manip et de rendre invisble une légende dans le cas ou la trace n'est pas disponible.
    Cordialement
    Sébastien Kuenlin
    Résolu !
    Accéder à la solution.

    bonjour Une remarque : Si dans un tableau, d’éléments de type « cluster », vous désirez « griser » ou visuellement « montrer que non actif » un élément du tableau, alors que les éléments suivant du tableau sont actifs, vous ne pouvez pas juste « redimensionner » la taille du tableau. Vous pouvez  alors ajouter dans le cluster un booléen « actif » dont la couleur valeur « true » est « transparente » et la « false » à une image « semi-transparente grisée ». A+
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Indicateurs cluster redondants

    Bonjour,
    J'ai 95 indicateurs LED circulaire de type booléen dans un cluster en face avant.
    J'ai créé mes led, une par une, de sorte que leur étiquette soit différente, de "Booléen 1" à Booléen 95".
    J'ai réalisé un chenillard, dont je suis sûr du bon fonctionnement. (voir le VI que j'avais donné dans le forum pour une autre question: ici)
    J'ai juste ajouté la fonction "tableau en cluster" avant mon 'indicateurs-cluster' composé de 95 booléens, pour visualiser l'état de mes sorties.
    Cependant, je n'ai pas trouvé de moyen sur le diagramme ou à partir de la boite cluster de vérifier dans quel ordre sont rangés mes booléens. 
    Je n'arrive pas à avoir le détail du cluster.
    Cela ne me poserait pas de problèmes si les led s'allumaient dans l'ordre de Booléen 1 à Booléen 95, mais ce n'est pas le cas.
    Certaines de mes led s'allument même plusieurs fois.
    J'espère avoir été suffisament clair, et que vous pourrez m'indiquer comment obtenir le détail de mon cluster, ou une autre procédure.
    Résolu !
    Accéder à la solution.

    Bonjour,
    Pour savoir dans quel ordre sont rangés les commandes :
    Clique droit sur le cadre du cluster » Ordonner les commandes dans le cluster.
    Le redimensionnement automatique peut aussi etre utile...
    Cordialement,
    Da Helmut

  • Problème incrémentation décrémentation cluster 2 éléments.

    Bonjour à tous,
    Actuellement, je réalise un profil de consigne à appliquer à mon système. Le but est simple, je rentre des données ( amplitude et fréquence ) dans un tableau de cluster 2 éléments. Cela me génère un graphe, pour avoir un aperçu de se que je vais envoyer à mon système, puis après lancement mon installation génère la consigne que je souhaite appliquée. Je précise que normalement la consigne doit partir du points le plus bas pour rejoindre le plus haut tout en passant par les points intermédiaire puis une fois le points le plus haut atteint on retourne vers le point le plus bas.  ( voir photo 1 )
    En blanc la consigne à générée, en vert et rouge les limites hautes et basses de ma régulation.
    Exemple concret :
    Je souhaite générer une consigne devant passée par les points : 
    Fréquence  20    fréquence 500       fréquence 1000           fréquence 2500   fréquence 3500
    amplitude 0.1     amplitude     1        ampltidue 1                  amplitude 1         amplitude 0.1
    Une fois que la consigne a atteint une fréquence de 3500 et une amplitude de 0.1 alors le système doit lui même et de manière automatique décrémenter et réaliser ceci : 
    Fréquence  3500    fréquence 2500       fréquence 1000           fréquence 500     fréquence 20
    amplitude 0.1          amplitude     1          ampltidue 1                  amplitude 1         amplitude 0.1
    Et ainsi de suite, ....
    Je laisse le sous Vi chargé de réalisé cette fonction (vib_generate sweep ) ci _ dessous : 
    Cordialement
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Image 1.png ‏60 KB
    vib_generate sweep spectrum_2 (15).vi ‏26 KB
    vib_log ramp pattern.vi ‏12 KB

    Dans les blocs que j'ai posté, il n'y a pas la partie qui permet de voir la coube que l'on souhaite générer.
    Je vais donc t'envoyer mon projet entier. J'espere qu'il sera suffisament compréhenssible.. Le principe est le suivant :
    1°) On rentre les points de cassures, c'est à dire les points par lesquels la consigne que je vais générée doit forcement passé.
    2°) Une fois ceux-ci rentrée, le "spectre" de la consigne que je souhaite envoyer apparait.
    3°) Lorsque j'appuie sur le bouton start, on passe sur le second graphe ( avec les courbe de limites rouges et vertes ) et on voit mon système en temps réel qui va générer la consigne souhaitée.
    Le problème, c'est comme je l'expliqué, c'est que ma consigne doit faire des allez retour comme dans cette exemple :
    Points de cassures :
    fréquence 10   fréquence    50   fréquence 500     fréquence 1000
    amplitude 1     amplitude 1         amplitude   1        amplitude 2
    Une fois l'allez effectué, on réalise le retour
    fréquence 1000   fréquence    500   fréquence 50     fréquence 10
    amplitude 2     amplitude 1         amplitude   1        amplitude 1
    Une fois l'amplitude minimale atteinte on repart vers le point maxi etc etc ..
    j'ai choisi d'envoyer uniquement le sous vi " generate spec .." car je suis persuadé que j'ai comis une erreure à ce niveau ! Après je t'ai joins ci dessous tout mon projet...( excitation sinusoidale finie) mais remplace le bloc "generate sweep spectrum par celui en pièce jointe .
    La génération fonctionne très bien quand on va du sens croissant ou décroissant à l'allez. mais lorsqu'il sagit du retour, je ne sais pourquoi mais l'amplitude est à coté de ce que je souhaite. Mais la fréquence décrémente correctement.
    cordialement
    Pièces jointes :
    Shaker Control Source.zip ‏3005 KB
    Excitation Sinusoidale finie 100 ( + chrono ).vi ‏646 KB
    vib_generate sweep spectrum_ALLEZ RETOUR.vi ‏30 KB

Maybe you are looking for