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 :

Erreur block


Sujet :

Simulink

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 18
    Par défaut Erreur block
    Mon programme permet de lire d' ouvrir automatique des blocs logiques, OR

    %mon programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    clear all;
    close all;
    load_system('Simulink');
    read_logic='|';
    blocklogic= add_block('Simulink/Logic and Bit Operations/Logical Operator', 'ex/Logical Operator' , 'MakeNameUnique','on');
    phs= get_param(gcb,'DialogParameters');
    if read_logic=='|';
    set_param(gcb,'Operator','OR');
    end
    Mon pb
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ??? Error using ==> set_param
    Attempt to modify a locked (read-only) library.
     
    Error in ==> Createblock at 70
    je ne sais pas pourquoi j'ai ce pb

    merci pour vos idées

  2. #2
    Expert confirmé
    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
    Par défaut
    Peut-être parce que GCB correspond à un bloc de la librairie Simulink (ie à la librairie simulink.mdl) et donc tu n'as pas le droit de le modifier.

    A chaque fois que tu utilises GCB poses-toi bien la question de ce à quoi il fait référence.
    Pour être sûr, un petit DISP avant chaque utilisation te rendra bien service :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    disp(gcb);
    phs= get_param(gcb,'DialogParameters');
    if read_logic=='|';
       disp(gcb)
       set_param(gcb,'Operator','OR');
    end
    Et un conseil si tu connais le nom de l'objet sur lequel tu veux agir : mets son nom au lieu d'utiliser gcb, au moins tu seras sûr à 100% de ce que tu fais.
    Accessoirement ton IF il sert à quoi vu que tu intialises ta variable read_logic à '|' et que tu ne la changes pas avant le IF ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 18
    Par défaut
    merci caro
    tu as raison mon if ne sert pas à grand chose,
    mon pb a persisté et l'astuce est de mettre à la fin de mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    close_system(gcs,0);
    et là ça marche

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

Discussions similaires

  1. code::block erreur sous Windows
    Par troumad dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 17/04/2007, 17h26
  2. Erreur compilation avec Code Blocks
    Par Ulver dans le forum wxWidgets
    Réponses: 3
    Dernier message: 10/04/2007, 23h26
  3. Algo cryptage Cypher Block Chaining(CBC): une erreur?
    Par homeostasie dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/09/2006, 15h27
  4. [VBA-E] Erreur "Object variable or With block variable not set"
    Par @lex(is) dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/06/2006, 13h39
  5. Erreur --> HEAP: Free Heap block à la fermeture
    Par Marthym dans le forum MFC
    Réponses: 1
    Dernier message: 23/01/2006, 12h41

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