Discussions au sujet de NI LabVIEW

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

Timed Loop (Right Data Node - offset ?)

Bonjour à tous,

 

J'essaye d'aller un peu plus loin avec la Structure "Timed Loop".

Je n'arrive pas à faire fonctionner (ou je n'arrive pas à comprendre) le paramètre "offset" dans le noeud de "sortie".

 

La doc dit ceci :

 

Offset (Last frame only)

Specifies the length of time the next iteration waits to begin execution.

The offset value is relative to the start of the next iteration and is specified in units of the timing source.

The default is -1, which means unchanged.

If you set an offset for the next iteration, you must set a new Mode value.

 

L'offset permet donc de spécifier le temps d'attente avant l'exécution de la prochaine itération.

 

Mais ... "If you set an offset for the next iteration, you must set a new Mode value." ... ici, je ne comprends pas, quelle nouvelle valeur ??

 

voici le code que j'utilise pour "expérimenter" cette Structure Timed Loop.

 

 

myTL.png

 

 

Concernant la "Timed Loop", il me semblait que cela aurait du fonctionner comme ceci :

 

a) 1sec d'attente avant la 1ere itération

b) ensuite 10 sec d'attente avant chaque itération suivante. (à cause de la valeur 10000 cablée sur l'offset du noeud de sortie)

(ceci dit, il reste une énigme concernant le paramètre "mode")

 

Mais cela ne semble pas si simple ! ça ne fonctionne pas comme espéré !

 

Un "Ancien" pourrait-il m'éclairer ?

 

Un grand merci.

0 Compliments
Message 1 sur 5
3 349 Visites

si tu m'expliques pour quelle application tu vas utiliser ça alors je répondrais à ta question.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 2 sur 5
3 334 Visites

salut Titou,

 

Aucune application précise pour le moment (avant d'utiliser, il faut "comprendre")

c'est une approche purement théorique.

Mette en évidence le fonctionnement de la chose de façon pratrique.

Une fois que l'on a testé et compris ... alors tout est possible.

 

(ici, c'est donc une pure machine à gaz ... je commence toujours comme ça avant "d'utiliser")

 

0 Compliments
Message 3 sur 5
3 323 Visites

Bonjour,

 

Comme l'indique l'aide, le Mode permet de choisir comment gérer les itérations manquées/en retard.

 

D'après le document suivant, le fait de définir un offset entraine le paramétrage obligatoire du Mode. C'est pourquoi il faut cabler une valeur (autre que "No Change" à ce noeud) : Configuring Settings of a Timed Structure

 

"In the last frame of a Timed Loop, you can use the Right Data node to change the offset for subsequent iterations of the loop dynamically. However, when you change the offset for subsequent iterations dynamically, you also must specify a mode by wiring a value to the Mode input of the Right Data node.

 

Note  You cannot wire No Change to the Mode input if you change the offset using the right data node. You must select a mode value."

 

C'est donc similaire à un argument de fonction. C'est obligatoire de définir le mode si on veut définir un offset dans le noeud de droite de la boucle cadencée.

 

J'ai également trouvé dans une demande d'action corrective l'information comme quoi les deux paramètres (mode et offset) doivent être modifiés ensemble. C'est donc réciproque. Il est prévu que l'information soit ajoutée ultérieurement dans l'aide.

 

Voici le paragraphe explicatif de la demande d'action corrective à titre informatif :

 

"When not updated from the previous loop, a Timed Loop with Discard Missed Signals unchecked, and Maintain Original Phase checked operates correctly.  However, if you update the next iteration’s mode to be the same thing with a constant, the loop runs as fast as it can.

It also appears that the number of times that you update the mode has an effect on the behavior.  Updating the mode only once does not show the behavior, but it seems that the more you update the mode, the more the timed loops seems to run out-of-sync, and as fast as possible."

 

 

Donc, pour résumer, la "nouvelle valeur" demandée pour l'entrée mode est tout simplement l'une des options de l'enum excepté "No Change". Et il est obligatoire de cabler ce noeud "Mode" lorsqu'on définit un offset dynamiquement.

 

Cordialement,

Jérémy C.
NI France

Message 4 sur 5
3 314 Visites

Merci Jérémy pour votre réponse et toutes ces précisions.

 

mais je suis dans une impasse, LV 2012 plante ...

 

J'ai posté le problème sur le forum US, http://forums.ni.com/t5/LabVIEW/Crash-LV-12-0f3/td-p/2321642

 

et un CAR a été attribué à ce problème (CAR #392545)

 

Tout ceci m'empèche de continuer mes recherches et expérimentations ...

 

et donc de comprendre réellement le fonctionnement des paramètres du noeud de sortie dans une "Timed Loop".

 

 

 

 

 

 

 

Message 5 sur 5
3 301 Visites