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 :

Gestion entrées/sorties modèle Simulink


Sujet :

Simulink

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut Gestion entrées/sorties modèle Simulink
    Bonjour à toutes et tous,

    Je viens vers vous après avoir passé des heures de recherches sur Google et ce forum, sans trouver mon bonheur. Je n'ai probablement pas cherché au bon endroit, mais sait-on jamais...

    J'ai actuellement un modèle Simulink qui comporte 15 "boîtes noires" (MATLAB Function), 33 entrées (actuellement données via des Constant) et 28 sorties (actuellement données via des Display).

    J'aimerais, au moyen d'une interface graphique, pouvoir donner mes entrées, lancer la simulation et afficher mes sorties.

    Je pense pouvoir gérer la partie interface graphique grâce aux tutos du site, c'est pourquoi je poste cette question dans le forum Simulink.

    Par contre, je ne sais pas comment lier une table de l'IG aux entrées du modèle et vice versa pour les sorties. Dois-je changer mes Constant (Display) en From File (To File)? Dans ce cas, comment rassembler toutes les valeurs en un seul fichier exploitable par l'IG?

    Y a-t-il un autre outil de Simulink pour ce faire?
    Ou dois-je passer par un autre fichier MatLab?

    Voilà, si quelqu'un peut m'aider, ce serait super!
    D'avance merci.

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Tu dois pouvoir laisser ton modèle en l'état. Pour paramétrer Simulink depuis MATLAB tu as la fonction SET_PARAM (et GET_PARAM).

    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci beaucoup pour cette réponse utile! La fonction set_param fonctionne à merveille, et je pourrai l'intégrer dans mon IG. Idem pour la fonction get_param.
    Néanmoins, je n'arrive pas via cette dernière à ressortir la valeur d'un Display. Je n'ai pas trouvé le paramètre y correspondant...

    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_param('mon_modele/mon_display','Value')
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_param('mon_modele/fct_1/out_1','out_1')
    mais j'obtiens respectivement "Display block does not have a parameter named 'Value'" et "Outport block does not have a parameter named 'out_1'".

    As-tu une idée?

    Merci d'avance!

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Pour le Display ca va être plus compliqué effectivement.

    Une façon de faire consiste à récupérer la propriété RunTimeObject de ton bloc (normalement tous les blocs ou presque doivent avoir cette propriété). Celà te renvoie un Objet qui te permet ensuite de récupérer les informations comme la valeur des signaux.

    Par contre tu ne peux récupérer cet objet que si la simulation tourne.

    Une autre solution beaucoup plus simple à mettre en oeuvre, surtout si tu ne veux récupérer que les valeurs finales consiste à utiliser des blocs Outport (en plus ou à la place de tes blocs Display) pour récupérer les valeurs dans le workspace de MATLAB et les lire facilement.
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut
    Merci!!!!!

    Comme tu me l'as conseillé, j'ai utilisé des Outport, qui remplissent une matrice dans le Workspace. Il me suffira de récupérer cette matrice pour mon IG.

    A propos de cette IG, je n'ai pas trouvé le moyen (que ce soit par "GUIDE" ou "à la main") de personnaliser un tableau... Explications.

    Je désire afficher deux tableaux : l'un avec les entrées, l'autre avec les sorties.
    Celui des entrées contient 3 colonnes : dénomination, valeur, unités. J'aimerais pouvoir fixer chaque dénomination et son unité correspondante, et laisser la colonne valeur éditable pour l'utilisateur du modèle. Ce sont ces valeurs que j'utiliserai pour "setter" les entrées du modèle.
    Le tableau des sorties contiendra les mêmes colonnes, à la différence que les dénominations sont différentes (et donc les unités) et que la colonne valeur reprendra les sorties du modèle (donc non éditable).
    J'ai essayé de créer une matrice contenant des "String" mais il n'en a pas voulu.

    As-tu une idée de cette personnalisation? Je sais déjà personnaliser l'intitulé des colonnes, mais pas le contenu des cellules...

    Encore merci pour ton aide précieuse!

  6. #6
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Pourrais-tu montrer le code que tu utilises pour créer ces tableaux?

    Quel composant utilises-tu? UITABLE?
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut
    Actuellement, j'utilise GUIDE pour faire mes tableaux. Je pense qu'il utilise uitable, ce que j'ai essayé aussi à la main (bien que mon tableau ne se soit jamais affiché...).

    Je te mets en pièce jointe mon projet actuel d'IG (essais_base avec GUIDE et test_gui_man à la main (fortement basé sur le tuto lol où je n'ai mis que le tableau en plus)).
    Fichiers attachés Fichiers attachés
    • Type de fichier : rar IG.rar (5,5 Ko, 165 affichages)

  8. #8
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Pour définir les données à mettre dans ton tableau, il faut que tu règles la propriété Data.
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut
    Encore une fois, merci.

    Il m'a fallu un peu de temps, mais j'ai enfin trouvé... Mes tableaux sont tout beaux!

    Problème suivant : j'utilise ce code pour lancer la simulation depuis l'IG :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    % --- Executes on button press in simul_button.
    function simul_button_Callback(hObject, eventdata, handles)
    % hObject    handle to simul_button (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    answer=questdlg('Voulez-vous lancer la simulation avec les paramètres actuels?',...
        'Lancer simulation','Oui','Non','Non');
    if strcmp(answer,'Oui')
        sim('nom_de_mon_modele');
    end
    Une fois le bouton cliqué, l'ordi travaille et puis rien. Quand j'exécute le modèle depuis Simulink, les sorties se mettent dans une matrice que je pourrai alors manipuler pour afficher les résultats. Mais via l'IG, aucune matrice n'est créée. Où ai-je donc perdu le train?

  10. #10
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Bonjour,

    Cette discussion m'intéresse car je me pose les mêmes questions en ce moment. Par contre, j'ai loupé le train au passage... Qu'est-ce que l'IG svp ? J'ai une question subsidiaire à cette discussion : comment exécuter un modèle simulink depuis une fonction matlab ? [car, si j'ai bien compris, sim('nom_de_mon_modele') permet juste d'ouvrir le fichier "nom_de_mon_modele.mdl"]

    (Désolé pour le squat de la discussion... mais comme vous venez juste d'en parler et que c'est directement lié...)

    J'essaierai d'apporter mon grain de sable à l'édifice même si je ne pense pas pouvoir aller bien loin (je commence tout de même avec ce lien qui explique comment gérer les entrées-sorties matlab/simulink pour les néophytes).

    @marco_acmfan : pourras-tu faire un petit bilan de ce que tu auras appris de cette discussion à la fin, si c'est pas trop difficile à faire bien sûr, stp ?

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Alors IG=interface graphique.

    Pour ce qu j'ai appris, voici une liste :

    - gérer les paramètres du modèle via le Workspace (et donc via une fonction ML)
    - utiliser les bons blocs Simulink en fonction de ce que je veux sortir
    - utiliser la fonction Data des tableaux pour y inclure les valeurs de départ que je désire

    Problèmes suivants : lancer la simulation via le code du bouton adéquat et inclure dans le code les fonctions de remplissage des tableaux via une fonction ML déjà faite.

  12. #12
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Alors pour la commande SIM, elle ne permet pas d'ouvrir le modèle mais bien de l'exécuter.
    Le problème qui se pose avec cette commande SIM est que par défaut le modèle récupère les paramètres, les entrées et renvoie les sorties dans le workspace de base de MATLAB ce qui n'est pas très pratique quand on travaille avec des fonctions.

    Pour pouvoir travailler avec le workspace de la fonction, il faut changer la propriété SrcWorkspace du modèle, ce qui est possible avec la commande SIM:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sim('mon_modele', 'SrcWorkspace', 'current')
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  13. #13
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Merci pour ces réponses. Que signifie "ML" ?

    Sinon, je n'ai pas de réponse pour ta question, mais je la repose pour ne pas perdre le fil :
    Problèmes suivants : lancer la simulation via le code du bouton adéquat et inclure dans le code les fonctions de remplissage des tableaux via une fonction ML déjà faite.

    ps @marco_acmfan : merci pour ta liste, mais je pensais en fait la mettre à la toute fin, quand tu auras toutes tes réponses et que le sujet n'évolue plus... là ça peut être intéressant de faire le bilan... en y mettant donc les problèmes que tu as eu et en mettant les solutions en face.
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  14. #14
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Citation Envoyé par tachmou Voir le message
    Que signifie "ML" ?
    Je pense que c'est MATLAB

    Citation Envoyé par tachmou Voir le message
    Problèmes suivants : lancer la simulation via le code du bouton adéquat et inclure dans le code les fonctions de remplissage des tableaux via une fonction ML déjà faite.
    Es-tu sur que lors du lancement de la simulation, la matrice de sortie n'est pas créée dans le workspace de base de MATLAB.

    Question corrolaire: Quels blocs utilises-tu pour exporter les sorties (des Outport)? Comment as-tu paramétré cela?
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut
    En effet, ML veut dire MatLab. Abréviation courante dans mon école...

    Lorsque j'exécute le modèle via le fichier .mdl, les résultats sortent en effet dans le Workspace général de ML. Toutes les sorties désirées de mon modèle sont raccordées à des Outport, et ML remplit une matrice "yout" contenant toutes les valeurs des Outport. C'est à partir de cette matrice que je peux exploiter les résultats.

    Lorsque j'exécute le modèle depuis le Workspace, la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    simout=sim('mon_modele')
    me renvoie une matrice vide. Par contre, la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    simout=sim('mon_modele','SrcWorkspace','current')
    me renvoie un "Simulink.SimulationOutput" duquel je récupère mon yout via la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    results=transpose(simout.get('yout'))
    Lorsque j'insère cette commande dans le code de mon bouton,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    % --- Executes on button press in simul_button.
    function simul_button_Callback(hObject, eventdata, handles)
    % hObject    handle to simul_button (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    answer=questdlg('Voulez-vous lancer la simulation avec les paramètres actuels?',...
        'Lancer simulation','Oui','Non','Non');
    if strcmp(answer,'Oui')
        simout=sim('mon_modele','SrcWorkspace','current');
        results=transpose(simout.get('yout'));
    end
    rien ne se passe...
    Il y a encore des choses que je ne saisis pas...!

    Pour ce qui est des tableaux, ils sont préremplis par l'IG avant (via GUIDE). Mes deux tableaux de caractères sont (théoriquement mais pas visiblement) créés dès la création de l'IG :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    % --- Executes just before essais_base is made visible.
    function essais_base_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   command line arguments to essais_base (see VARARGIN)
    [S1,S2]=set_data_in(1);
    où set_data_in est la fonction qui crée les tableaux.
    Ceci me permettra d'utiliser le nom de ma variable ainsi que son numéro pour manipuler les résultats.
    Il me reste donc à pouvoir entrer dans la table pour y lire un résultat ou y écrire un zéro lors d'un reset par exemple. Mais c'est là que les Romains s'empoignèrent... Je ne vois pas comment insérer ce code dans celui donné par GUIDE. Il semble que je ne puisse pas accéder aux 2 uitable. C'est possible?

  16. #16
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Citation Envoyé par marco_acmfan Voir le message
    rien ne se passe...
    Je ne pense pas... As-tu vérifier le contenu de ta variable (simout) en mettant un point d'arrêt sur ta ligne avec SIM (ou juste après)? Elle doit contenir soit un vecteur soit, comme dans ton cas, un objet Simulink.SimulationOutput.
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut
    En effet, tu as raison...
    Que ce soit pour les tableaux S1 et S2 ou les résultats, la création fonctionne bien et on les voit avec le point d'arrêt. Le problème, c'est que tout disparaît une fois que l'on arrive dans la fonction suivante (quelle qu'elle soit)...
    Je suppose que c'est quelque part en mémoire, mais où?

  18. #18
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Pour l'instant nul part puisque chaque fonction a son propre workspace qui est détruit lorsqu'on sort de cette fonction...

    Heureusement il y a une solution (même plusieurs), ce que je te conseillerais c'est de jeter un oeil sur ce tutoriel et plus précisément sur la méthode GET/SETAPPDATA.
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  19. #19
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 44
    Points : 10
    Points
    10
    Par défaut
    J'ai relu ce tuto, et modifié mon code en conséquence.
    Pourtant, avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    answer=questdlg('Voulez-vous lancer la simulation avec les paramètres actuels?',...
        'Lancer simulation','Oui','Non','Non');
    if strcmp(answer,'Oui')
        simout=sim('mon_modele','SrcWorkspace','current');
        results=transpose(simout.get('yout'));
        setappdata(gcf,'Resultats',results);
        l2=length(results);
        h=findobj('parent',gcbf,'style','uitable','tag','uitable2');
        for i=1:l2
            set(h,'Valeur',num2str(results(i)));
        end
    end
    je n'ai pas de mise à jour de mon tableau de résultats (je commence par celui-là pour le moment). Pour rappel, il contient 3 colonnes ('Dénomination','Valeur' et 'Unité'). La colonne 'Valeur' dont les lignes sont initialisées à 0 doit être modifiée et prendre les valeurs de "results". Il me semble que le code est semblable à celui du tuto, mais le rafraîchissement ne s'opère pas. Serait-ce ma ligne "set(...)" qui pose problème?

  20. #20
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Il me semble que c'est la propriété Data du tableau qu'il faut régler avec le SET.

    D'ailleurs, n'obtiens-tu pas un message d'erreur avec ce code là?
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Gestion d'entrée/sorties dans simulink
    Par RB60200 dans le forum Simulink
    Réponses: 0
    Dernier message: 24/12/2013, 18h21
  2. gestion entrée sortie
    Par ineszbh dans le forum Simulink
    Réponses: 5
    Dernier message: 09/11/2012, 15h02
  3. [TP] Gestion d'entrées-sorties
    Par P52022 dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 30/10/2007, 05h28
  4. Gestion des erreurs entre sorties sans la STL
    Par Djobird dans le forum SL & STL
    Réponses: 2
    Dernier message: 13/02/2007, 21h22
  5. gestion des entrées-sorties
    Par bandit_debutant dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 25/11/2006, 14h55

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