le 02-10-2022 12:33 AM
Bonjour,
Je débute dans Labview et je bloque sur le fonctionnement d'un programme :
D'après ce que je connais de Labview, il s'agit d'une boucle while ; je vois également que l'on compare la valeur d'un thermomètre avec une valeur de consigne ; la mesure se fait toutes les 100 ms.
Mais il y a plusieurs éléments que je ne maitrise pas notamment toute la ligne orange supérieure.
Quelqu'un peut-il m'aider ?
Merci
Résolu ! Accéder à la solution.
le 02-10-2022 01:12 AM
Il s'agit d'un registre à décalage. Je vous invite à lire cette aide et à revenir ici si des questions subsistent.
le 02-10-2022 01:31 AM
A chaque itération de la boucle, la valeur du thermomètre est ajoutée au début (index de la fonction d'insertion non défini >> valeur par défaut qui est 0 >> premier élément) du tableau.
Personnellement, j'utiliserai cette méthode plus simple pour arriver au même résultat :
Le reste du code reste identique et n'est pas représenté dans l'image ci-dessus.
le 02-10-2022 08:27 AM
Bonjour,
Donc, je mesure une température : cette valeur est insérée dans un tableau indicé par la valeur de l'itération qui commence à 0
On compare cette température à une consigne : si la valeur est supérieure ou si l'utilisateur stoppe l'acquisition, on sort de la boucle while.
A la sortie de la boucle, on transmet le tableau que l'on enregistre dans un document test.txt
Est-ce que mon raisonnement est juste ?
le 02-11-2022 01:14 AM
Juste à un détail près.
Comme l'indice de la fonction d'ajout au tableau n'est pas défini, LabVIEW utilise la valeur par défaut qui est 0. Ceci étant, la température la plus récente est ajoutée au début du tableau.
Comme expliqué, cette opération peut être simplifiée.
le 02-11-2022 09:23 AM
Merci pour ces précisions
le 03-03-2022 01:19 AM
Je me trompe peut-être, mais pour moi la valeur est ajoutée à la fin du tableau, et non au début.
le 03-07-2022 01:53 AM
Ce rapide essai vous donne raison.
Cela me surprend un peu car lorsqu'une entrée n'est pas définie, LV prend normalement la valeur par défaut --> 0. De toute évidence, cela n'est pas le cas pour cette fonction. De quoi corriger mes suppositions.
le 03-07-2022 02:22 AM
Je pense que cela dépend de la "logique" de l'action à mener. En général on ajoute un élément à la fin d'une liste, donc on prendra le dernier indice +1 dans le cas de cette fonction. Par contre, on lit bien les éléments d'un tableau dans l'ordre, donc la fonction indexer prendra 0 comme indice par défaut.
C'est en tout cas comme ça que je l'ai toujours interprété.
le 03-08-2022 01:26 AM
Ma "logique" se basait sur le fait que, quand une entrée n'est pas définie, LV prend la valeur par défaut (0 pour une valeur numérique). Cette approche me semble plus cohérente que celle basée sur le comportement par défaut d'une fonction (par ex ajouter à la suite du tableau mais retirer au début). De toute évidence, les développeurs NI sont d'un autre avis. 😀
Merci pour le correctif et bonne journée.