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 :

Accéder aux Objets enfants d'un bloc


Sujet :

Simulink

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 36
    Points : 22
    Points
    22
    Par défaut Accéder aux Objets enfants d'un bloc
    Bonjour,

    Je suis sur MATLAB en ce moment et je dois vérifier que mes blocs sont bien nommés.
    A partir d'un "bus selector" par exemple, j'ai deux sorties sur deux blocs "outputs".
    Les paramètres du bus me donne les noms des variables qui y sont sélectionées.
    Ils me donnent aussi les handles des blocs enfants, mes fameux outputs.
    Mais je n'arrive pas à accéder à ces outputs pour voir si leur nom est bien celui de la variable sélectionée dans le bus.

    Il y a, pour moi, deux solutions:
    1- il existerai peut être la fonction inverse de gcbh (handle à partir d'un bloc sélectionné)?
    2- je fait tout dans l'autre sens, j'énumère les "outputs" du model, je récupère leur parent, je regarde si le parent est un "bus selector", si oui, je regard si le nom de mon outputs correspond bien au "sourceport" parent. Cela me paraît très long.

    Auriez vous une idée?

    mici d'avance

    ++

    Syb

  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,

    Pour ton problème, je crois que tu peux utiliser FIND_SYSTEM, GET_PARAM ou plus simplement si tu as les handles des blocs dont tu cherches le nom GET (après il faut trouver la propriété qui correspond au nom, peut-être 'Name')

    Bonne journée,
    Duf
    Simulink & Embedded Coder

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

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    Merci de ta réponse,
    Un Bus Selector sort une ligne dont on peut récupérer le handle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_param(Bus, 'LineHandles')
    Après j'enumère mes éléments de sortie (outport ou bloc goto)
    et je cherche celui qui prend ce handle de ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_param(ListOutports{h}, 'LineHandles')
    Si le Handle est le même, je récupère le nom de l'élément
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_param(ListOutports{h}, 'InputSignalNames')
    que je peux comparer avec le nom du signal de la ligne du Bus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_param(Bus,'OutputSignalNames')
    Je m'attaque aux Bus qui pointent sur un sous-système. Je sens que je vais devoir rentrer dedans pour connaître le nom du port.

    Merci, c'est résolu.

    ++

    syb

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/04/2008, 13h59
  2. Réponses: 2
    Dernier message: 13/02/2008, 10h58
  3. Accéder aux objets de la form1 depuis une class
    Par Jimmy_S dans le forum Windows Forms
    Réponses: 6
    Dernier message: 23/03/2007, 22h47
  4. [VB.NET] Accéder aux objets par MDI
    Par Norin dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/08/2006, 00h19
  5. Réponses: 2
    Dernier message: 15/04/2006, 20h12

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