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 :

[RTW] Lier Simulink et un GUI via Real Time Workshop


Sujet :

Simulink

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut [RTW] Lier Simulink et un GUI via Real Time Workshop
    Bonjour,

    J'essaye de m'initier à Real Time Workshop...mais je ne comprends rien!!

    Qu'est ce donc exactement? Quel est son but? Comment l'utiliser avec mon modèle Simulink?...etc

    J'ai essayé sur le site de Mathworks et les FAQ...mais je ne vois toujours pas...

    Quelqu'un pourrait-il m'expliquer comment on s'en sert avec des mots simples?

    Merci d'avance
    MATLAB Version 7.3.0.267 (R2006b)
    Simulink Version 6.5 (R2006b)
    Sous Windows

  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
    Tu as un modele Simulink et tu veux protéger intellectuellement certains de tes sous systemes ou tout simplement tu veux le deployer sur des machines où MATLAB n'est pas installé, alors dans ce cas là RTW est ton ami!

    En gros RTW est à Simulink ce que MATLAB Compiler est à MATLAB....bon maintenant si tu n'as jamais entendu parler du ML Compiler ....cette remarque ne t'aidera pas
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut
    lol...oki merci...

    En effet, c est totalement pour proteger les sous systemes et le deployer sur des machines ou Matlab n est pas installe!!!

    Donc si j ai bien compris RTW va m aider...cool...
    Pour l instant j ai pas le compiler apparemment donc je peux juste voir les codes en C.

    En realite mon sujet de stage est de lier un GUI (Graphic User Interface) avec un modele Simulink via Real Time Workshop...afin d avoir une interface simple pour le client sans qu il ait Matlab (et son environnement) et qu il puisse toucher a tout!!!

    Quelqu un aurait il une idee ou saurait si ca a deja ete realise?

    Merci encore pour les reponses
    MATLAB Version 7.3.0.267 (R2006b)
    Simulink Version 6.5 (R2006b)
    Sous Windows

  4. #4
    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
    Regarde les modèles de demo de RTW
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rtwdemo_rsim_param_tuning
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  5. #5
    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
    Autre lien qui peut t'interesser
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  6. #6
    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
    et enfin ce lien qui te mache tout ton boulot!

    voilà tu peux déjà faire un compte-rendu de stage!
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut
    LOOOL...
    J ai pas encore lu mais ton message me fait delirer...(pour le compte rendu de stage)...

    Merci encore pour ces reponses ca gere !!!
    MATLAB Version 7.3.0.267 (R2006b)
    Simulink Version 6.5 (R2006b)
    Sous Windows

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut
    Bonsoir tout le monde,

    Alors merci bien encore Tug83 pour tes liens... J ai pu comprendre plusieurs trucs. Toutefois, dans le dernier exemple (http://www.mathworks.com/support/sol...ution=1-27DUK5)
    j ai du mal à concevoir où se fait la "traduction" et liaisons entre les fichiers du GUI et ceux de Simulink. Ils different totalement...n est ce pas?

    De plus, il y a un bout du code que je ne comprends pas du tout (je le mets en gras) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    % --- Executes on button press in Run_model.
    function Run_model_Callback(hObject, eventdata, handles)
    % hObject    handle to Run_model (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    x = [0.2 handles.In1 handles.In2]';
    save Input.mat x
    !SL_model.exe
    load Output.mat
    set(handles.FinalOutput2,'String',num2str(Out(end)))
    guidata(hObject,handles)
    Et derniere question : comment remplir les fichiers 'Input.mat' et 'output.mat'?

    Merci d avance pour vos reponses.
    MATLAB Version 7.3.0.267 (R2006b)
    Simulink Version 6.5 (R2006b)
    Sous Windows

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut
    Bon mes questions ne doivent pas etre tres claires ou sont peut etre triviales...

    Dans ce cas j explique un peu plus ce que je dois faire (pour le moment).

    - J'ai un GUI (Graphic User Interface) avec 4 sliders (Gain1,Gain2, frequency, Amplitude) et deux boutons radios pour le manual switch (un "interrupteur").
    - Ce GUI controle un modele Simulink simple qui comporte : un bloc "Sine Wave", deux blocs "Slider Gain", un bloc "Switch" et un "Scope".

    Je mets ces deux derniers en piece jointe (.rar) pour bien comprendre.

    Mon but est, vous l'avez compris, de creer un modele autonome executable sans avoir besoin des licences MATLAB et sans que le client est acces aux donnees. De plus, je dois pouvoir regler et changer les parametres (frequence,amplitude, gain...) pendant la simulation !!!

    Lorsque je "build" sur Real Time Workshop (RTW) tout se passe sans problemes, il me fait mon executable Simulink "StageVrai2.exe".
    Je l'ai donc compile apres avec "Lcc C version 2.4.1 in C:\PROGRA~1\MATLAB\R2006b\sys\lcc", l'interface se lance mais des que j essaye de jouer avec les parametres, j ai le droit a des erreurs du genre "set_param n est pas definie pour un 'char'..."

    J ai du soit me rater dans mon modele Simulink (Surement sur l utilisation du "Input.mat" et "Output.mat")soit dans mon code des Callback...

    Voici mon code "RealStage.m" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
     
    function varargout = RealStage(varargin)
    % REALSTAGE M-file for RealStage.fig
    %      REALSTAGE, by itself, creates a new REALSTAGE or raises the existing
    %      singleton*.
    %
    %      H = REALSTAGE returns the handle to a new REALSTAGE or the handle to
    %      the existing singleton*.
    %
    %      REALSTAGE('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in REALSTAGE.M with the given input arguments.
    %
    %      REALSTAGE('Property','Value',...) creates a new REALSTAGE or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before RealStage_OpeningFunction gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to RealStage_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES
     
    % Edit the above text to modify the response to help RealStage
     
    % Last Modified by GUIDE v2.5 20-Jun-2007 11:00:07
     
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @RealStage_OpeningFcn, ...
                       'gui_OutputFcn',  @RealStage_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin & isstr(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end
     
    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT
     
     
    % --- Executes just before RealStage is made visible.
    function RealStage_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 RealStage (see VARARGIN)
    set(handles.FinalOutput2,'String','Nan')
    % Choose default command line output for RealStage
    handles.output = hObject;
     
    % Update handles structure
    guidata(hObject, handles);
     
    % UIWAIT makes RealStage wait for user response (see UIRESUME)
    % uiwait(handles.figure1);
     
     
    % --- Outputs from this function are returned to the command line.
    function varargout = RealStage_OutputFcn(hObject, eventdata, handles)
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get default command line output from handles structure
    varargout{1} = handles.output;
     
     
    % --- Executes on button press in radiobuttonEnHaut.
    function radiobuttonEnHaut_Callback(hObject, eventdata, handles)
    % hObject    handle to radiobuttonEnHaut (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % off = [handles.radiobuttonEnBas];
    % mutual_exclude(off)
    if (get(hObject,'Value') == get(hObject,'Max'))
    	% Radio button is selected-take approriate action
        set_param('StageVrai2/Manual Switch','sw',num2str(1));
    else
    	% Radio button is not selected-take approriate action
    end
    h=findobj(gcbf,'style','radio');
    set(h,'value',0);
    set(hObject,'value',1);
    % Hint: get(hObject,'Value') returns toggle state of radiobuttonEnHaut
     
     
    % --- Executes on button press in radiobuttonEnBas.
    function radiobuttonEnBas_Callback(hObject, eventdata, handles)
    % hObject    handle to radiobuttonEnBas (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    if (get(hObject,'Value') == get(hObject,'Max'))
    	% Radio button is selected-take approriate action
        set_param('StageVrai2/Manual Switch','sw',num2str(0));
    else
    	% Radio button is not selected-take approriate action
    end
    h=findobj(gcbf,'style','radio');
    set(h,'value',0);
    set(hObject,'value',1);
     
    % Hint: get(hObject,'Value') returns toggle state of radiobuttonEnBas
     
     
    % --- Executes during object creation, after setting all properties.
    function sliderAmplitude_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to sliderAmplitude (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: slider controls usually have a light gray background, change
    %       'usewhitebg' to 0 to use default.  See ISPC and COMPUTER.
    usewhitebg = 1;
    if usewhitebg
        set(hObject,'BackgroundColor',[.9 .9 .9]);
    else
        set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
    end
     
     
    % --- Executes on slider movement.
    function sliderAmplitude_Callback(hObject, eventdata, handles)
    % hObject    handle to sliderAmplitude (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % % Ensure model is open.
    % model_open(handles)
    % Get the new value for the Amplitude from the slider.
    NewVal = get(hObject, 'Value');
    % Set the value of the editText to the new value 
    % set by slider.
    set(handles.editAmplitude,'String',NewVal)
    % Set the Gain parameter of the Sine Wave block to the new value.
    set_param('StageVrai2/Sine Wave','Amplitude',num2str(NewVal))
     
    % Hints: get(hObject,'Value') returns position of slider
    %        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
     
     
    % --- Executes during object creation, after setting all properties.
    function sliderFrequence_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to sliderFrequence (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: slider controls usually have a light gray background, change
    %       'usewhitebg' to 0 to use default.  See ISPC and COMPUTER.
    usewhitebg = 1;
    if usewhitebg
        set(hObject,'BackgroundColor',[.9 .9 .9]);
    else
        set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
    end
     
     
    % --- Executes on slider movement.
    function sliderFrequence_Callback(hObject, eventdata, handles)
    % hObject    handle to sliderFrequence (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % % Ensure model is open.
    % model_open(handles)
    % Get the new value for the Frequency from the slider.
    NewVal = get(hObject, 'Value');
    % Set the value of the edit Text to the new value 
    % set by slider.
    set(handles.editFrequence,'String',NewVal)
    % Set the Gain parameter of the Sine Wave Block to the new value.
    set_param('StageVrai2/Sine Wave','Frequency',num2str(NewVal/22050))
     
     
    % Hints: get(hObject,'Value') returns position of slider
    %        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
     
     
    % --- Executes during object creation, after setting all properties.
    function sliderGain1_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to sliderGain1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: slider controls usually have a light gray background, change
    %       'usewhitebg' to 0 to use default.  See ISPC and COMPUTER.
    usewhitebg = 1;
    if usewhitebg
        set(hObject,'BackgroundColor',[.9 .9 .9]);
    else
        set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
    end
     
     
    % --- Executes on slider movement.
    function sliderGain1_Callback(hObject, eventdata, handles)
    % hObject    handle to sliderGain1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % set(handles.editGain1,'String',6);
    % set_param('simulinkstage/Slider Gain 1','Gain',num2str(6))
    % % Ensure model is open.
    % model_open(handles)
    % Get the new value for the Gain1 from the slider.
     
    NewVal = get(hObject, 'Value');
    % Set the value of the edit Text to the new value 
    % set by slider.
    set(handles.editGain1,'String',NewVal)
    % Set the Gain parameter of the Slider Gain Block to the new value.
    set_param('StageVrai2/Slider Gain 1','Gain',num2str(NewVal))
     
     
    % Hints: get(hObject,'Value') returns position of slider
    %        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
     
     
    % --- Executes during object creation, after setting all properties.
    function sliderGain2_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to sliderGain2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: slider controls usually have a light gray background, change
    %       'usewhitebg' to 0 to use default.  See ISPC and COMPUTER.
    usewhitebg = 1;
    if usewhitebg
        set(hObject,'BackgroundColor',[.9 .9 .9]);
    else
        set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
    end
     
     
    % --- Executes on slider movement.
    function sliderGain2_Callback(hObject, eventdata, handles)
    % hObject    handle to sliderGain2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % % Ensure model is open.
    % model_open(handles)
    % Get the new value for the Gain2 from the slider.
    NewVal = get(hObject, 'Value');
    % Set the value of the edit text to the new value 
    % set by slider.
    set(handles.editGain2,'String',NewVal)
    % Set the Gain parameter of the Slider Gain Block to the new value.
    set_param('StageVrai2/Slider Gain 2','Gain',num2str(NewVal))
     
     
    % Hints: get(hObject,'Value') returns position of slider
    %        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
     
     
    % --- Executes during object creation, after setting all properties.
    function editAmplitude_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to editAmplitude (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: edit controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
     
    function editAmplitude_Callback(hObject, eventdata, handles)
    % hObject    handle to editAmplitude (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % % Ensure model is open.
    % model_open(handles)
    % Get the new value for the Amplitude.
    NewStrVal = get(hObject, 'String');
    NewVal = str2double(NewStrVal);
    % Check that the entered value falls within the allowable range.
    if  isempty(NewVal) || (NewVal< 0) || (NewVal>1),
       % Revert to last value, as indicated by the slider.
       OldVal = get(handles.sliderAmplitude,'Value');
       set(hObject, 'String',OldVal)
    else % Use new amplitude value
       % Set the value of the Slider to the new value.
       set(handles.sliderAmplitude,'Value',NewVal)
       % Set the Amplitude parameter of the Sine Wave Block 
       % to the new value.
       set_param('StageVrai2/Sine Wave','Amplitude',NewStrVal)
    end
    handles.editAmplitude = str2double(get(hObject,'String'));
    guidata(hObject,handles)
     
    % Hints: get(hObject,'String') returns contents of editAmplitude as text
    %        str2double(get(hObject,'String')) returns contents of editAmplitude as a double
     
     
    % --- Executes during object creation, after setting all properties.
    function editFrequence_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to editFrequence (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: edit controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
     
    function editFrequence_Callback(hObject, eventdata, handles)
    % hObject    handle to editFrequence (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get the new value for the Frequency.
    NewStrVal = get(hObject, 'String');
    NewVal = str2double(NewStrVal);
    % Check that the entered value falls within the allowable range.
    if  isempty(NewVal) || (NewVal< 0) || (NewVal>50000),
       % Revert to last value, as indicated by the Slider.
       OldVal = get(handles.sliderFrequence,'Value');
       set(hObject, 'String',OldVal)
    else % Use new frequency value
       % Set the value of the Slider to the new value.
       set(handles.sliderFrequence,'Value',NewVal)
       % Set the Frequency parameter of the Sine Wave Block 
       % to the new value.
       set_param('StageVrai2/Sine Wave','Frequency',NewStrVal)
    end
    handles.editFrequence = str2double(get(hObject,'String'));
    guidata(hObject,handles)
    % Hints: get(hObject,'String') returns contents of editFrequence as text
    %        str2double(get(hObject,'String')) returns contents of editFrequence as a double
     
     
    % --- Executes during object creation, after setting all properties.
    function editGain1_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to editGain1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: edit controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
     
    function editGain1_Callback(hObject, eventdata, handles)
    % hObject    handle to editGain1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get the new value for the Gain1.
    NewStrVal = get(hObject, 'String');
    NewVal = str2double(NewStrVal);
    % Check that the entered value falls within the allowable range.
    if  isempty(NewVal) || (NewVal< 0) || (NewVal>12),
       % Revert to last value, as indicated by the Slider.
       OldVal = get(handles.sliderGain1,'Value');
       set(hObject, 'String',OldVal)
    else % Use new Gain1 value
       % Set the value of the Slider to the new value.
       set(handles.sliderGain1,'Value',NewVal)
       % Set the Gain parameter of the Slider Gain Block 
       % to the new value.
       set_param('StageVrai2/Slider Gain 1','Gain',NewStrVal)
    end
    handles.editGain1 = str2double(get(hObject,'String'));
    guidata(hObject,handles)
    % Hints: get(hObject,'String') returns contents of editGain1 as text
    %        str2double(get(hObject,'String')) returns contents of editGain1 as a double
     
     
    % --- Executes during object creation, after setting all properties.
    function editGain2_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to editGain2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: edit controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
    function editGain2_Callback(hObject, eventdata, handles)
    % hObject    handle to editGain2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get the new value for the Gain2.
    NewStrVal = get(hObject, 'String');
    NewVal = str2double(NewStrVal);
    % Check that the entered value falls within the allowable range.
    if  isempty(NewVal) || (NewVal< 0) || (NewVal>12),
       % Revert to last value, as indicated by the Slider.
       OldVal = get(handles.sliderGain2,'Value');
       set(hObject, 'String',OldVal)
    else % Use new Gain2 value
       % Set the value of the KfValueSlider to the new value.
       set(handles.sliderGain2,'Value',NewVal)
       % Set the Gain parameter of the Slider Gain Block 
       % to the new value.
       set_param('StageVrai2/Slider Gain 2','Gain',NewStrVal)
    end
    handles.editGain2 = str2double(get(hObject,'String'));
    guidata(hObject,handles)
    % Hints: get(hObject,'String') returns contents of editGain2 as text
    %        str2double(get(hObject,'String')) returns contents of editGain2 as a double
     
     
     
    % --- Executes on button press in togglebuttonRunSimulation.
    function togglebuttonRunSimulation_Callback(hObject, eventdata, handles)
    % hObject    handle to togglebuttonRunSimulation (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % editModelName = get(handles.editModelName, 'String');
    % stoptime = str2num(get(handles.editSimulationTime, 'String'));
    % sim(editModelName, [0 stoptime])
    x = [0.2 handles.editAmplitude handles.editFrequence handles.editGain1 handles.editGain2]';
    save Input.mat x
    !StageVrai2.exe
    load Output.mat
    set(handles.FinalOutput2,'String',num2str(Out(end)))
    guidata(hObject,handles)
    % Hint: get(hObject,'Value') returns toggle state of togglebuttonRunSimulation

    Voila c est un peu long mais c est tout le temps la meme chose (je le mets en entier au cas ou des gens voudraient tester). L erreur se situe peut etre dans la fonction "function togglebuttonRunSimulation_Callback(hObject, eventdata, handles)".

    Ceci est plutot important pour moi je l avoue...Je ne remercierai jamais assez quelqu un qui pourrait me decoincer...

    PJ : StageVrai2.mdl et RealStage.fig
    Fichiers attachés Fichiers attachés
    MATLAB Version 7.3.0.267 (R2006b)
    Simulink Version 6.5 (R2006b)
    Sous Windows

Discussions similaires

  1. Embedded Matlab Function sous Real-Time Workshop!
    Par javjouv2011 dans le forum Simulink
    Réponses: 2
    Dernier message: 14/06/2012, 22h45
  2. Composante pour stoquer un modele simulink dans un gui
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 04/05/2009, 18h43
  3. Dans quel cadre utilisez vous Real-Time Workshop (RTW)?
    Par ManiMatworker dans le forum Simulink
    Réponses: 4
    Dernier message: 29/04/2008, 13h22
  4. [Thread] Comment recharger le GUI via une tâche de fond?
    Par nicdo77 dans le forum EDT/SwingWorker
    Réponses: 1
    Dernier message: 04/01/2008, 17h09
  5. Comment lier des zones de liste via VBA ?
    Par Jordel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2007, 16h38

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