IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Simulink Discussion :

Changer en temps réel paramètre block via GUI


Sujet :

Simulink

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Changer en temps réel paramètre block via GUI
    bonjour,

    mon problème est dans le titre ...

    Pour bien poser le problème, voici une description plus détaillée :

    Je souhaite faire du traitement audio à l'aide de Simulink. J'ai décris mon système sous simulink qui est composé de différents blocs et sous-systèmes.

    Je souhaiterais savoir s'il est possible de changer via un GUI, la valeur d'un paramètre d'un bloc de simulink en temps réel.

    Prenons un exemple : un fichier audio est joué et je voudrais, par l'interface du GUI et sans redémarrer la simulation, changer le retard (delay) du signal. Cependant, le bloc delay (de la toolbox SignalProcessing) comporte plusieurs champs.

    J'ai bien déjà essayé le set_param, mais sans succès ...

    Si vous avez une idée de la possibilité de cette manip' !?

    Je vous remercie par avance

  2. #2
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    set_param doit fonctionner
    exemple: A GUI to Set Simulink Model Parameters
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai bien essayé la commande set_param, et je suis comme vous convaincu que c'est cette commande qui permet de faire ce que je souhaite.

    En revanche, set_param nécessite en arguments le bloc, le champ, et la valeur du champ : set_param(cheminDuBloc, nomDuChamp, valeurDuChamp);

    Le problème est que je n'arrive pas à trouver le nom du champ correspondant à la valeur du Delay(samples) du bloc Delay(z-1) de la toolbox Processing Signal.

    J'ai parcouru la doc sans réponse... Alors soit je suis un peu bigleux soit je n'ai pas cherché au bon endroit, d'où mes excuses vis à vis de la création de ce topic !

    Merci,

    Bassmax.

    PS : je vais voir du coté de add_param voir si c'est possible de passer par là !

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Tu as un moyen d'accéder à la liste des paramètres d'un bloc, enfin en 2 étapes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    get_param(bloc,'dialogparameters');%correspond aux paramètres que tu vois quand il y a une boite de dialogue, je crois
    get_param(bloc,'objectparameters')
    Voir ici.
    Une solution pour savoir à quoi correspond le champ que tu veux modifier (attention aux yeux) :
    Récupérer les 'objectparameters' sous forme de structure et leurs valeurs.
    Modifier la valeur à la main.
    Vérifier quelle valeur a changé.
    (sisi je te jure c'est faisable, mais comme je n'ai pas Simulink, je ne peux t'aider plus).

    Après tu dois pouvoir aussi trouver cette liste dans la doc, mais c'est vrai qu'il y a tellement de paramètres que ce n'est pas toujours évident.

    Je ne pense pas que ADD_PARAM soit la bonne solution puisque cette commande est censée créer de nouveaux paramètres et non pas agir sur des paramètres existants.
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci de vos réponses.

    J'ai en effet testé la commande get_param, et après quelques essais sur le nom du champ, j'ai réussi à le trouvé (la doc détaille les champs des blocs de bases mais pas ceux de la toolbox Signal Processing...).

    Dès lors, je me suis dis "chouette", je n'ai plus qu'à faire un set_param avec la valeur que je souhaite mais ...
    ... DOMMAGE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ??? Error using ==> set_param
    Cannot change parameter 'Delay (samples): (delay)' of 'AudioSignalProcessing/Effects/DelayL/Delay' while simulation is
    running.
    Voilà, il n'est pas possible de modifier les champs de ce bloc pendant la simulation, ce qui était mon but. Dommage que Simulink ne permette pas celà.

    Maintenant, il ne me reste plus qu'à abandonner cette option ou de coder ma propre fonction.

    Merci pour vos réponses

    Bassmax.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/08/2014, 20h12
  2. [Débutant] Lire et modifier en temps réel un richtextbox via .txt
    Par synolog dans le forum C#
    Réponses: 1
    Dernier message: 09/11/2011, 10h16
  3. [Débutant] Acquisition d'une vidéo (en temps réel) via webcam
    Par WhiteTigerZ dans le forum Images
    Réponses: 2
    Dernier message: 11/03/2011, 23h49
  4. Réponses: 1
    Dernier message: 24/02/2011, 18h15
  5. passage de paramètres en temps réel
    Par mickael.be dans le forum Langage
    Réponses: 6
    Dernier message: 28/04/2006, 12h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo