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 :

calcul Durée de Simulation d'un Sous Modèle


Sujet :

Simulink

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut calcul Durée de Simulation d'un Sous Modèle
    salut ,

    J'ai un modèle donc je mesure la durée de simulation. et j'aimerais aussi mesurer la durée de Simulation d'un sous-modèle de ce modèle mais là s'affiche une erreur.

    Quelqu'un a-t-il une idée?

    En fichier un aperçu de mon modèle "MotionControl"

    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
     
    ModelName = 'MotionControl'
    open_system(ModelName)
    load_system(ModelName)
     
    % Modell Mesure
    tStart = tic;
    sim(ModelName,100);
    tStop = toc;
     
    % Sous Modell
    ModelName1 = 'MotionControl/MCA'
    open_system(ModelName1)
     
    % SOUS Modell Mesure
    tStart1 = tic;
    sim(ModelName1,100);
    tStop1 = toc;
     
    % Ausgeben
    fprintf ( 1, '  Motion control took %f seconds to run.\n', tStop )
    fprintf ( 1, '  MCA took %f seconds to run.\n', tStop1 )
    comme erreur saffiche:
    %  Unable to load block diagram 'MotionControl/MCA'
    
    Images attachées Images attachées  

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    je pense que le model advisor te donnera les informations que tu veux.
    Tu peux soit l'ouvrir sous Simulink, ou par commande Matlab :
    http://www.mathworks.fr/fr/help/simu...eladvisor.html

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    modeladvisor(SousModelName) ne me donne pas le temps de simulation de mon sous model.

  4. #4
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    je n'avais jamais vu la tentative de simuler une partie d'un modèle
    bein on dirait que ca ne marche pas

    alors si tu veux rester sur cette logique, tu doit pouvoir utiliser un bloc "model" de façon à avoir ton système MCA dans un autre modèle (.mdl) que tu peux lancer indépendamment (ou depuis un autre modèle harnais)

    Fab

  5. #5
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    Citation Envoyé par Ulrich1 Voir le message
    modeladvisor(SousModelName) ne me donne pas le temps de simulation de mon sous model.
    non en effet, ça sert à faire de la vérification de "bonne modélisation"

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Oui j'ai reference mais j'obtiens toujours la même erreur.
    Unable to load block diagram 'MotionControl/MCA'
    mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ModelName = 'MotionControl'
    ModelName1 = 'MotionControl/MCA'
    load_system(ModelName)
    open_system(ModelName1)
     
     
    tStart1 = tic;
     
    sim(ModelName1,10);
     
    tStop1 = toc(tStart1);
    fprintf ( 1, '  MCA took %f seconds to run.\n', tStop1 )
    Images attachées Images attachées  

  7. #7
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    non, moi je te parle de lancer un modèle indépendant MCA et non un sous système MotionControl/MCA ; cependant je doute que les résultats obtenus aient une quelconque signification (car pas le même environnement).

    une autre idée :
    tu stockes les sorties de ton MCA dans le workspace (en même temps que tu enregistre le temps de simu de l'ensemble)
    puis tu vire le block MCA et tu le remplace par des "from workspace" qui vont rejouer les signaux préalablement enregistré, et tu chronomètres à nouveau

    la différence entre les deux temps de simulation devrait etre proche du temps de simulation pris par le bloc MCA

    sinon, question :
    pourquoi veut tu faire ça ?

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par le fab Voir le message
    sinon, question :
    pourquoi veut tu faire ça ?
    je veut calculer le temps de simulation de mes sous systemes

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Peux-tu me donner un petit modèle de code de cette description ? Je n'arrive pas à bien saisir. je ne m'y connais pas bien avec Simulink. Merci

  10. #10
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    modeladvisor(SousModelName) ne me donne pas le temps de simulation de mon sous model.
    En effet, j'ai confondu avec le profiler, regarde cette discussion pour plus d'info :
    http://www.developpez.net/forums/d10...-sous-systeme/

  11. #11
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    Citation Envoyé par Ulrich1 Voir le message
    je veut calculer le temps de simulation de mes sous systemes
    oui ça j'avais compris, mais pourquoi ?

    Citation Envoyé par FLB Voir le message
    En effet, j'ai confondu avec le profiler, regarde cette discussion pour plus d'info :
    http://www.developpez.net/forums/d10...-sous-systeme/
    le profiler ne descend pas en dessous de l'appel de la fonction sim

    Citation Envoyé par Ulrich1 Voir le message
    peut tu me donner un ptit model de code de cette description? jarrive pas a bien saisir . je ne my connait pas bien avec Simulink . merci
    y a quoi dans ton MCA ??

    sinon la marche à suivre est la suivante :
    1/ tu duplique MotionControl en MotionControl_sans_MCA
    2/ dans MotionControl tu met des bloc "to workspace" sur chacunes des sorties (utiles) du bloc MCA
    3/ dans MotionControl_sansMCA tu vires le bloc MCA et tu met pour sur chaque signal initialement de sortie de ton MCA un bloc 'from workspace'
    4/ tu reprends ton code initiale qui appelle tes deux modèles l'un après l'autre
    et entre les deux appels tu reconstruis les variables pour les "from workspace" à partir des variables issues des "to workspace" comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    % MTmaVariable  : matrice temps valeur de maVariable à injecter dans un from workspace
    % tout : temps simulé de simulation (cf panneau de configuration sous simulink)
    % wVariable : valeurs stockées par le block "to workspace" de maVariable
    MTmaVariable = [tout wVariable];
    5/ dans ton script lancant les deux simulation, tu récupères les valeurs des deux toc et tu les soustrais

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Dans mon MCA il y a encore beaucoup de sous systèmes..

    J'aimerais savoir si la méthode que tu as donné plus haut est aussi applicable pour mesurer le temps de simulation du Block MATLAB Embedded ?

  13. #13
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    la méthode que je te propose est à priori applicable pour mesurer le temps de chaque sous système
    après est ce que les résultats sont pertinent ? tu me le dira
    (je n'ai jamais fais ça)

    mais tu ne répond pas à ma question : pourquoi ?
    c'est ton Embedded qui te parait trop lent ? (j'ai aussi svt remarqué ça)

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Je veux optimiser le Modèle Motion Control qui est composé de (MCA et Embedded MATLAB) pour cela je veux déterminer le temps que prend chacun des 2 pour simuler ainsi je pourrai voir si je dois optimiser les 2 ou juste un des 2.

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par le fab Voir le message
    sinon la marche à suivre est la suivante :
    1/ tu duplique MotionControl en MotionControl_sans_MCA
    2/ dans MotionControl tu met des bloc "to workspace" sur chacunes des sorties (utiles) du bloc MCA
    3/ dans MotionControl_sansMCA tu vires le bloc MCA et tu met pour sur chaque signal initialement de sortie de ton MCA un bloc 'from workspace'
    4/ tu reprends ton code initiale qui appelle tes deux modèles l'un après l'autre
    et entre les deux appels tu reconstruis les variables pour les "from workspace" à partir des variables issues des "to workspace" comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    % MTmaVariable  : matrice temps valeur de maVariable à injecter dans un from workspace
    % tout : temps simulé de simulation (cf panneau de configuration sous simulink)
    % wVariable : valeurs stockées par le block "to workspace" de maVariable
    MTmaVariable = [tout wVariable];
    5/ dans ton script lancant les deux simulation, tu récupères les valeurs des deux toc et tu les soustrais
    Cette idée est bonne mais le problème c'est que j'aurai plusieurs simulations.
    J'essaye encore d'expliquer plus clairement mon problème.
    J'ai un block Model "MotionControl" qui est composé de 2 gros sous modèles (MCA et MF) et je veux déterminer le temps de simulation de chaque sous modèle pendant la simulation de "MotionControl". J'ai pensé au CPU Timer. Est-ce que ça peut m'aider ?
    Merci

  16. #16
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    pourquoi pas :
    clic droit sur ton sous système, "block properties", "callbacks" et peut etre pourra tu en utilisant ces callbacks et la fonction cputime calculer (et incrémenter ) le temps de calcul de chaque cycle
    jamais fait (j'utilise les callback surtout en initialisation/action opérateur) mais pourquoi pas, ca peut marcher

    tiens nous au courant

    après mon idée est basée sur la comparaison des temps de calculs de ton système complet et de ton système sans MCA puis de ton système sans MF : ca vaut ce que ca vaut mais ca permet une première approximation et ca peut permettre de mettre le doigt sur un sous système ralentissant ton modèle

    Fab

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par le fab Voir le message
    salut

    pourquoi pas :
    clic droit sur ton sous système, "block properties", "callbacks" et peut etre pourra tu en utilisant ces callbacks et la fonction cputime calculer (et incrémenter ) le temps de calcul de chaque cycle

    Fab
    je ne comprend pas comment "block properties", "callbacks" fonctione et comment je doit l´utiliser?

  18. #18
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    en fait les callbacks seront appelé automatiquement et tu peux mettre dans la case correspondante du code matlab (tic, toc, cputime, appel de scripts ou de fonctions ...)
    il faut après trouver des callback appelés comme tu le souhaites (cad avant et après chaque calcul du system) mais je suis pas sur que ca existe (j'utilise qu'un ou deux call back, je n'ai jamais testé les autres)

  19. #19
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par le fab Voir le message
    en fait les callbacks seront appelé automatiquement et tu peux mettre dans la case correspondante du code matlab (tic, toc, cputime, appel de scripts ou de fonctions ...)
    il faut après trouver des callback appelés comme tu le souhaites (cad avant et après chaque calcul du system) mais je suis pas sur que ca existe (j'utilise qu'un ou deux call back, je n'ai jamais testé les autres)
    j´arrive pas a calculer le temps de simulation en utilisant les callbacks.
    ya t´il une autre methode pour determiner le temps de simulation de mes sous systeme pendant une simulation?

  20. #20
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    autant pour moi, FLB avait donné la solution
    coches la case 'profiler' dans le menu 'tools' de simulink et relance ta simulation
    problème : chez moi la simulation avec le profiler prend 16 fois plus de temps que sans ! sic
    mais bon ,cela peut te permettre néanmoins de diagnostiquer où gagner du temps

    Fab

Discussions similaires

  1. Calcul durée entre 2 dates sous formulaire
    Par Rakaps dans le forum IHM
    Réponses: 2
    Dernier message: 24/03/2015, 18h54
  2. [SQL Server] Calcul durée entre 2 dates sans les dimanches
    Par sarahsonia dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/04/2006, 17h59
  3. simuler un fork sous windows VC++
    Par pascal13 dans le forum Windows
    Réponses: 5
    Dernier message: 03/01/2006, 11h33
  4. calcul durée sur access
    Par juliette2 dans le forum Access
    Réponses: 2
    Dernier message: 23/11/2005, 13h56
  5. Calcul durée + Date : Erreur !
    Par priest69 dans le forum Access
    Réponses: 6
    Dernier message: 28/10/2005, 15h56

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