Bonjour,
J'ai besoin de créer un waitbar qui permet de visualiser la progression d'un compteur simulink.
J'ai le code suivant où X correspond à Inputport(1) et Y correspond à Outputport(1).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function Output_GUI(obj, event, handles) rto1 = get_param('waitbar_test/Sub','RuntimeObject'); if((rto1.InputPort(1).Data == 1) & (rto1.OutputPort(1).Data ~= 1)) h = waitbar(0,'Please wait...'); steps = 10000; for step = 1:steps % computations take place here waitbar(step / steps) end close(h) end
Lorsque X = 1, le waitbar doit se lancer en parallèle avec le compteur Simulink. Une fois le compteur termine de compter, Y se met à 1 alors le waitbar doit être à 100%.
Pourtant ce n'est pas ce qui se passe. Lorsque X = 1, le waitbar se lance et Simulink est bloqué donc le compteur ne progresse plus. Le waitbar s'exécute alors en boucle et c'est qu'au moment où je ferme la fenêtre du waitbar que le compteur continue à compter. Je comprend c'est quoi exactement le problème.
Partager