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 :

Pb find_system avec les fils


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 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 29
    Par défaut Pb find_system avec les fils
    Bonjour,

    Je souhaiterais faire une routine pour vérifier que les fils sont branchés au bon endroit entre mes modules. Pour cela j'ai besoin de recupérer la source et la destination de chaque fil de mon modèle.

    Voici mon code:

    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
    function Test_branchements_fils(nom_model)
     
    % Ouverture du modele
    open(nom_model);
     
    % Recuperation des connections présentes dans le modele
    Liste_Fils = find_system(nom_model, 'FindAll', 'on', 'type', 'line');
     
    % Nombre de connections
    Nbre_fils = size(Liste_Fils,1);
     
    % Recuperation des informations de chaque connection
    for i=1:Nbre_fils
        if isobject(get_param(Liste_Fils(i),'Name')) == 1
            Fil(i).Name = get_param(Liste_Fils(i),'Name');
        else
            Fil(i).Name = '';
        end
        Fil(i).SrcBlock = get_param(Liste_Fils(i),'SrcBlock');
        Fil(i).SrcPort = get_param(Liste_Fils(i),'SrcPort');
        Fil(i).DstBlock = get_param(Liste_Fils(i),'DstBlock');
        Fil(i).DstPort = get_param(Liste_Fils(i),'DstPort');  
    end
     
    save('Connections','Fil');
    Mon soucis est que lorsqu'il y a une branche dans le modèle, je n'obtiens pas le résultat voulu. Si par exemple le fil est branché à 2 endroits, ce code compte un fil jusqu'au noeud (dc pas de destination) et 2 fils supplémentaires qui arrivent aux blocs (mais sans source)...

    J'ai testé les différentes options de l'help mais je n'arrive pas à gérer les noeuds...

    Quelqu'un aurait une idée?

  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 : 41
    Localisation : France

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

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

    Tu peux plutôt récupérer les propriétés 'Handle' correspondantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    get_param(Liste_Fils(i),'SrcBlockHandle');
    get_param(Liste_Fils(i),'SrcPortHandle');
    get_param(Liste_Fils(i),'DstBlockHandle');
    get_param(Liste_Fils(i),'DstPortHandle');
    Tu obtiendras -1 lorsqu'un fil n'est pas branché.

    Duf

Discussions similaires

  1. Prob avec les calcules dans des tables fils
    Par lou_delphdev dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/07/2007, 07h55
  2. Pb avec les menus
    Par Ph. B. dans le forum XMLRAD
    Réponses: 6
    Dernier message: 29/01/2003, 11h57
  3. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59
  4. PB d'import avec les ActiveX sous BCB6
    Par dergen dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/11/2002, 10h18
  5. Pbm avec les '&'...
    Par AmaX dans le forum Composants VCL
    Réponses: 2
    Dernier message: 19/08/2002, 11h08

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