Discussions au sujet de NI LabVIEW

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

tableau et structure évenement

Résolu !
Accéder à la solution

Bonjour tout le monde, 

J'ai fait un tableau de cluster, mais je voudrais savoir comment savoir qu'elle case d'un tableau a été modifier par l'utilisateur (bouton par exemple).

Cordialement Fabien

0 Compliments
Message 1 sur 12
152 Visites

Bonjour Fabien,

 

Cela peut grandement être amélioré, surtout si ton cluster possède beaucoup d'éléments. Mais voici une première piste pour aiguiller ta réflexion :

 

PinguX_0-1743781933884.png

 

0 Compliments
Message 2 sur 12
141 Visites

Je te remercie, je vais regarder ça avec attention 🙂. Par contre dans mon cluster, j'ai une valeur qui va varier (affichage d'un réservoir), bien sûr lors de l'irrigation, mais aussi perte en eau etc. Il y aurait un moyen pour l'ignorer

noir_desir_fab_0-1744012065577.png

 

0 Compliments
Message 3 sur 12
112 Visites

Bien sûr !

Il suffira de sauter la recherche pour l'index de ce contrôle.

 

Par exemple avec ton cluster de 4 éléments, si la jauge est le troisième contrôle. Tu feras des recherches successives des clusters suivants :

- T, F, F, F (actif)

- F, T, F, F (stress)

- F, F, F, T (unité ?)

Et tu sautes ainsi la recherche :

- F, F, T, F (jauge)

 

Bien sûr cela aura des répercussions dans l'évènement "Value Change" de ta structure.

Il faudra gérer correctement le cas où la valeur changée était celle d'une jauge.

Message 4 sur 12
106 Visites
Solution
Accepté par l'auteur du sujet noir_desir_fab

@noir_desir_fab  a écrit :

Je te remercie, je vais regarder ça avec attention 🙂. Par contre dans mon cluster, j'ai une valeur qui va varier (affichage d'un réservoir), bien sûr lors de l'irrigation, mais aussi perte en eau etc. Il y aurait un moyen pour l'ignorer

 

 


La valeur d'affichage ne devrait pas déclencher d'événement. L'événement value change est déclenché lorsque la valeur d'un contrôle est modifiée à partir de l'interface usagé, d'un événement usagé ou d'un noeud de propriété value change (signaling). En supposant que l'affichage d'un réservoir ne déclenche pas d'événement le code suivant devrait suffire à déterminer l'index de l'élément du tableau qui a été modifié. J'utilise l'index 0 de la fonction Delete from Array pour éliminer cet élément de la comparaison (l'élément numeric dans l'exemple mais dans ton cas ce devrait être l'index de l'indicateur réservoir).

 

note: je suppose avec ce code que le contrôle numeric ne sera pas modifié via l'IU

 

snippet.png

Message 5 sur 12
95 Visites

Merci pour la solution, ça fonctionne comme je le voulais :), par contre, je n'avais au début par ordonner mon cluster correctement (à savoir le tanker en dernier).

0 Compliments
Message 6 sur 12
85 Visites

J'ai mis ça pour récupérer l'indice d'un tableau à deux dimensions.

 

noir_desir_fab_0-1744114791681.png

Par contre je voudrais recupérer avec mon ref commande la référence du cluster qui a été modifier afin de pouvoir agir sur le reste du cluster, par exemple l'appuie sur stress mais la barre de remplissage en rouge. Je l'ai fait pour un emplacement seul, ça fonctionne mais je n'arrive pas à trouver juste les ref de mon cluster (et l'interieur de mon cluster).

0 Compliments
Message 7 sur 12
76 Visites

Tu ne pourra pas changer la couleur d'un élément d'un seul cluster à l'intérieur d'un tableau, les propriétés sont communes à tous les éléments du tableau.

 

Ben

0 Compliments
Message 8 sur 12
70 Visites

Ah mince ^^'.

Ca veut dire que je vais devoir scripter et créer mes boutons à la volé pour qu'il est une référence différente?

0 Compliments
Message 9 sur 12
65 Visites

Ca veut dire qu'il faut tricher un peu avec le visuel.

 

Par exemple la jauge peut être mise en transparente et avoir une ColorBox derrière elle.

En configurant le remplissage du slider "vers le haut", on peut obtenir quelque chose du style :

PinguX_0-1744122341683.png

 

Message 10 sur 12
59 Visites