le 12-26-2009 11:52 AM
Bonjour,
J'utilise un tableau de clusters dans lequel il y a une entrée (un booléen) et une sortie (un booléen). Mon problème vient du fait que j'écrase mes entrées lorsque je désassemble puis réassemble mon cluster ligne par ligne.
En C ou autre langage, il est possible de lire à un champ d'une structure de données et d'en écrire un autre indépendament. Avec Labview, apparemment, on doit écrire tous les champs (fonction assembler ou assembler par nom)
Dans mon exemple, quand j'augmente la taille du tableau et que j'enlève la tempo de la boucle while, les modifications que je fais sur mon booléen d'entrée ne sont plus pris en compte.
Comment faire pour éviter ce problème?
Merci. 
le 12-28-2009 03:59 AM
Ce que je comprends de votre message est que vous ne prenez pas en compte le principe élémentaire de LabVIEW => le flux de données.
Une structure ne s'éxécute que si toutes ses entrées sont renseignées et ne libère les données que lorsque toutes ses sorties sont disponibles.
Dans votre exemple, vous dépilez votre tableau par auto-indexation dans une boucle For. C'est à dire que le fait de relier le tablau à la boucle créé un noeud ou les données sont figées à l'instant t comme entrée à la structure Boucle. En ajoutant une tempo, vous laissez du temps au système pour recharger le tableau entre 2 modifications. Si vous l'enlevez, le process est tellement rapide que le temps entre la lecture et la ré-écriture du tableau est tellement courte que vos modifications de sont pas prises en compte.
Il faut éviter ce genre de code en préférant une structure Event avec détection de changement d'état. Et attention à l'utilisation de 'Initialiser un tableau'. Cf. Image