le 06-08-2012 01:26 AM
Bonjour,
dans le cadre d'un stage je doit réaliser une interface permetant de gérer plusieur machine dont une camera. il faut que lorsque la camera enregistre une vidéo (qui sera une série de photo en jpeg) l'utilisateur puisse toucher aux autres machines. Mais lorsque le programme entre dans la boucle de la vidéo il ne permet plus au reste des actions de s'exécuter avant que la video ne soit terminé.
Après plusieur test, je suis venue a la conclusion que le probleme etait due aux structure condition qui ne peuvent pas s'executer en meme temps.
D'où ma question, est il possible qui deux structure condition qui ne sont pas géré par le meme bouléen s'active en meme temps et pas l'une après l'autre?
merci d'avance.
le 06-08-2012 01:47 AM
@nozeart wrote:
Après plusieur test, je suis venue a la conclusion que le probleme etait due aux structure condition qui ne peuvent pas s'executer en meme temps.
D'où ma question, est il possible qui deux structure condition qui ne sont pas géré par le meme bouléen s'active en meme temps et pas l'une après l'autre?
Je pense que tu t'es trompé dans ta conclusion, et je pense aussi ton l'architecture de ton programme n'est pas bien adaptée, peux tu montrer ton code afin qu'on puisse voir où ça coince et ce qu'on peut proposer comme modification?
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 06-08-2012 01:52 AM
Oui voila le code (il est assez concéquent ^^)
le 06-08-2012 02:17 AM
Tu as peut être confondu "structure condition" et "structure event", en effet un seul cas de la structure évèvement s'exécute à la fois ; un seul cas d'une structre condition aussi d'ailleur, par contre tu peux avoir deux strucures conditions séparées en parallèle (mais ce n'est pas ce dont tu as besoins).
En effet ton vi principal est assez gros (ce serait bien de nettoyer un peu pour que ça tienne dans un écran) mais il y a de la structure, tu le sais peut être ce modèle s'appelle "simple event handler", quand la structure évènement détecte un des évèvenements paramétrés, elle exécute le code qui se trouve dans le cas correspondant, une des limites avec ça c'est que pendant que le code correspondant à l'évènemetn s'exécute, les autre évènements ne sont pas détectés. Et apparemment c'est ton problème. C'est bien ça?
Avant de tout changer pour un autre modèle d'architecture, qu'est ce que tu souhaites pourvoir faire pendant que l'enregistrement de la vidéo?
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 06-08-2012 02:22 AM
Le probleme ce n'est pas les autres evenements de la structure mais le petit bout de code en bas (celui avec le commentaire ecrit tunics) qui n'est pas dans la structure. L'utilisateur doit pouvoir l'utilisé en meme temps que la vidéo sans que la video ne s'arrete pour autant.
le 06-08-2012 02:38 AM
Ah oui... j'avais pas vu cette partie du code... Je vois pas exactement ce que ça fait car j'ai pas les sous-VIs mais si je comprends bien c'est de la communication avec un périphérique VISA.
Mais qu'est ce qui se passe dans la la boucle while pendant l'enregistrement de la vidéo? rien? ça tourne mais ça marche pas?
J'ai pas regardé tout en détail mais si il n'y a pas de ressource utilisée par les deux boucle, ça doit pouvoir fonctionner.
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 06-08-2012 02:44 AM
En fait lorsque la video est lancée, le programme ne réagis plus que dans la boucle while de la video et ne veux plus rien entendre de ce qui se passe autour donc lorsqu'on apuie sur un bouton de l'interface Tunics, rien ne se passe.
le 06-08-2012 07:16 AM
Bonjour;
Je pense qu'il te faudrait une structure producteur consommateur pour gérer plusieurs événements qui s'enchaînent. La structure se compose d'une boucle While qui gère les événements, chaque événement met un élément sur une file d'attente. La lecture du premier élément de la file d'attente se fait dans une seconde boucle while et l'élément lu sur la file d'attente commande une structure condition, tu peux mettre le traitement de la vidéo dans cette structure condition. Lorsque l'élément est mis sur la file d'attente, la structure événement est à nouveau disponible.