Discussions au sujet de NI LabVIEW

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

Interruption boucle for

Résolu !
Accéder à la solution

Salut,

 

Effectivement, si tu utilises la fonction de Ouadji dans un sous-vi, cela ne fonctionnera pas tel quel.

 

La solution qui me semble la plus simple, c'est effectivement de te recréer un compteur sur lequel tu t'autorise l'interruption 🙂

 

Par exemple comme ceci:

Compteur.png

0 Compliments
Message 11 sur 19
2 947 Visites
Solution
Accepté par Sergreyn

la tempo (structure event) dans un sous-VI ...

 

dans le "Main", le Booléen ... dont je passe la Référence au sous-VI

 

VI joint en LV 2011

Message 12 sur 19
2 939 Visites

Merci, ça réponds parfaitement au sujet.

0 Compliments
Message 13 sur 19
2 925 Visites

Je reste quand même d'avis que ce n'est pas une utilisation "propre" de la structure évènement.

Mais si cela te convient, tant mieux.

 

Bon courage pour la suite.


Cdt,


Michael.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 14 sur 19
2 898 Visites

Bonjour,

 

Effectivement je travail sur ta solution.

Je me ça dispo dès que j'ai terminé.

0 Compliments
Message 15 sur 19
2 886 Visites

@Michael.C : " Je reste quand même d'avis que ce n'est pas une utilisation "propre" de la structure évènement."

 

En effet, ici, je n'utilise pas la structure event dans son rôle premier ...

 

ce, dans la mesure ou son fonctionnement principal se base sur le "timeout" ... qui lui, n'est pas de l'événementiel.

 

Ceci dit, je te défie d'implémenter une temporisation que l'on peut interrompre instantanément d'une autre façon.

 

(j'insiste sur le côté instantané de l'arrêt)

 

Quant au côté "propre" ... cette remarque est tout à ton honneur ... j'aime les développeurs qui ont des "principes", une éthique de développement.

 

Donc ... "en gros", bravo pour ta rigueur.

 

Ceci dit, quand on développe, rien n'interdit de "détourner" et de jouer d'astuces. (vision perso)

 

 

Message 16 sur 19
2 869 Visites
Solution
Accepté par Sergreyn

Voilà,

 

Plus besoin d'intérompre le diaporama car il il ne bloque plus l'execution de mon VI principale.

 

Merci à vous pour les explications et votre apport qui me permet d'évoluer grandement sur mon projet.

 

Bonne continuation et encore merci,

 

 

0 Compliments
Message 17 sur 19
2 862 Visites

Ouadji,


Mon propos était juste une remarque pour les développeurs "débutant".

En effet, quand on a une expérience suffisante de labview, il n'est pas interdit d'utiliser ce type d'astuce, à mon sens.

 

Je voulais juste mettre la personne en garde sur une utilisation excessive de cette méthode au début d'un projet, car je pense que dans le temps, la maintenabilité du programme peut s'en trouver altérée.

 

Après ne s'agissant pas de temp réel, il est vrai que ta méthode sera celle qui donne le résultat la plus proche de l'instantanée.

-> Question facultative : Connais tu le temps d'itération d'un event timeout pour la vérification des évènements (en clair, qu'elle est la réactivité maximum que l'on peut attendre d'une boucle event) ?

 

A savoir que de mémoire, je ne sais plus d'où je tire cette information, une temporisation de 150 ms dans un programme n'est pas ressenti par l'opérateur en cours de manipulation.


Bonne journée,


Michael.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 18 sur 19
2 859 Visites

mais ta "remarque" était justifiée, il n'y a pas de soucis.

Pour un débutant il est en effet préférable de s'en tenir à une stricte utilisation canonique des choses.

 

qu'elle est la réactivité maximum que l'on peut attendre d'une boucle event ?

 

Je n'en sais strictement rien !

De toute façon, même avec une structure event ... tout dépendra des priorités établient à l'instant " t " par le gestionnaire des tâches de l'OS.

Mais même si on ne parle que du code interne de LV, je n'ai aucune idée du temps de boucle d'un "timeout" (via une While),

ni du temps de réponse d'une structure event à une action utilisateur.

Ceci dit, intuitivement, et sans compter les retards provoqués par l'OS (uniquement le code interne de LV) ... je pense que l'on doit être bien en dessous de 150ms.

 

une temporisation de 150 ms dans un programme n'est pas ressenti par l'opérateur en cours de manipulation

 

oui, d'accord .... mais pas plus !

Un retard de 2/10 de seconde commence a être perceptible.

 

 

0 Compliments
Message 19 sur 19
2 842 Visites