stfl Doc V3

Embed Size (px)

Citation preview

  • 8/19/2019 stfl Doc V3

    1/162

     

    Ph. Hautcoeur

    INTRODUCTION ASTATEFLOW®

    Pour les curieux et ceux qui s’y intéressent…

    Modélisation & Simulation des

    Systmes ! E"nementsDis#$ets %et Continus'

  • 8/19/2019 stfl Doc V3

    2/162

  • 8/19/2019 stfl Doc V3

    3/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+

    )’utilisation $ caractère commerciale ou l’hé*er"ement sur un site de ce document sans

    autorisation de l’auteur est strictement interdite. 

  • 8/19/2019 stfl Doc V3

    4/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),

    -&ant'propos.

    Stateflow® est un !odule dé&eloppé par la société

    a!éricaine MathWorks® %ui per!et la si!ulation

    de !achines d’état.

    /ne !achine d’état co!porte un no!0re fini d’états.

    Elle !odélise le co!porte!ent de sste"!es %ui

    passent d’un état a" un autre en réponse a" des

    é&e"ne!ents. n parle alors de sste"!es a"

    é&e"ne!ents discrets.

    Co!!e son no! l’indi%ue ce !odule per!et de

    tracer des diagra!!es d’état 2$ State Chart *) et des

    diagra!!es de flux 2$ 3lo4 Chart *).

    Stateflow® est intégré a" Matlab® et Simulink ®. Les !ode" les construits pourront par

    consé%uent co!porter des 0locs des différentes $ tool0oxes * de Si!ulin5 et6ou

    appeler des fonctions Matlab et6ou des fonctions Simulink  co!!e nous le &errons.

    -insi le !ode"le glo0al d’un sste"!e co!plexe pourra co!porter des modèles

    linéaires  continus  construits a&ec Si!ulin5 sous la for!e de sché!a'0locs des

    machines à état   construites a&ec Stateflo4®  ou encore des modèles acausaux

    réalisés en utilisant Simscape®.

    -ussi Stateflo4® per!et de si!uler le co!porte!ent de systèmes hybrides c’est'a"'dire a" é&e"ne!ents discrets et continus. C’est par exe!ple le cas d’une 0alle %ui

    re0ondit sur le sol. En effet son déplace!ent dans l’air est continu alors %u’a" cha%ue

    re0ond considéré co!!e un é&e"ne!ent sa tra7ectoire est !odifiée. C’est encore le cas

    si un ro0ot doit é&iter un o0stacle présent sur sa tra7ectoire.

    /ne connaissance approfondie de 8atla0® et Si!ulin5 ® n’est pas indispensa0le pour

    co!!encer a" tra&ailler a&ec Stateflo4®. 9ans la plupart des exe!ples traités a&ec la

    &ersion +:1,0 les che!ins !enant aux co!posants des 0i0liothe"%ues Si!ulin5 ® 

    utilisées sont précisés.

    -pre"s a&oir présenté les différents outils et %uel%ues applications nous &errons

    co!!ent i!plé!enter un progra!!e réalisé a&ec Stateflo4® &ers une ci0le telle %ue

    la carte rduino Mé!a "#$%.

    Le guide de l’utilisateur co!plet de Stateflo4®  est téléchargea0le sur le site de

    8ath;or5s® <

    http

  • 8/19/2019 stfl Doc V3

    5/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>

    +a*le des matières

     &ant propos'  ============================================================================= , 

    (hapitre ) * Pour bien commencer ====================================================== ? 

    1.1' Préparation et présentation de l’interface ========================================= ? 

    (hapitre " * +e , (hart - ================================================================= 11 

    - propos du fonctionne!ent de la !achine d’état ============================== 1, 

    +.1' State ================================================================================= 1> 

    +.1.1 ' $ La0el * et !ots clé d’un état ============================================= 1> 

    - propos des transitions et des é&e"ne!ents ======================================= 1@ 

    +.1.+ ' $ La0el * d’une transition ================================================== 1@ 

    +.1., ' Cas particuliers de la transition réflexi&e et de la transition interne === 1? 

    +.1.> ' Prise en co!pte de l’acti&ité d’un état dans une transition ============= 1A +.1.@ ' Les é&e"ne!ents extérieurs ================================================ 1A 

    - propos des opérateurs te!porels ================================================= +B 

    L’opérateur $ after * =============================================================== +? 

    L’opérateur $ 0efore * ============================================================= +? 

    L’opérateur $ at * ================================================================== +A 

    L’opérateur $ e&er * ============================================================== +A 

    L’opérateur $ te!poralCount * =================================================== +A 

    - propos des super'états ou états co!posites ==================================== + 

    9éco!position exclusi&e 2D) ou paralle" le 2-#9) des états co!posites ===== + /tilisation d’un $ Su0chart * ====================================================== ,: 

    +.+' 9efault Eransition ================================================================== ,1 

    +.,' Function ============================================================================= ,+ 

    - propos des $ 3lo4 Charts * ======================================================== ,@ 

    +.>' Histor 7unction =================================================================== >1 

    +.@' ox ================================================================================== >B 

    +.B' Si!ulin5 3unction ================================================================= >? 

    +.?' Graphical function ================================================================= @, 

    +.A 8-EL- 3unction ================================================================== B> 

    +. Eruth ta0le ========================================================================== ?, 

    (hapitre . * /0autres exemples d0application du , (hart -  ======================= A+ 

    ,.1' Initialisation de l’axe linéaire 8aet  ============================================ A+ 

    ,.+' Si!ulation du fonctionne!ent d’un chrono!e"tre ============================== AB 

    ,.,' Pilotage d’une platefor!e o!nidirectionnelle ================================== ? 

  • 8/19/2019 stfl Doc V3

    6/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@

    ,.>' raite!ent des infor!ations déli&rées par un Codeur SinCos ================ 1:, 

    (hapitre 1 * +e , (hart 2M3+45 - ================================================== 11+ 

    >.1' Exe!ple de la régulation D d’un four ======================================== 11+ 

    (hapitre # * +a , State 3ransition 3able - =========================================== 11? 

    @.1' Exe!ple du codeur incré!ental ================================================= 1+1 

    (hapitre $ * +a , 3ruth 3able - ======================================================== 1+A 

    B.1' Exe!ple de la co!!ande d’un pont roulant =================================== 1+ 

    (hapitre6 7 Prototypa!e =============================================================== 1>: 

    ?.1 J -rduino et Si!ulin5 I ============================================================ 1>: 

    ?.+ J La carte -rduino 8ega +@B: ==================================================== 1>1 

    ?., J -pplication < le Grodri&er8

      =================================================== 1>+ (hapitre 8 7 Proposition de méthodolo!ie  ========================================= 1@@ 

    (hapitre 9 * SysM+ State Machine &s Stateflow®  =================================== 1@A 

  • 8/19/2019 stfl Doc V3

    7/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)B

    Chapitre 1

    Pour *ien commencer

  • 8/19/2019 stfl Doc V3

    8/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?

    (hapitre ) ' Pour 0ien co!!encer.

    ):)* P;?

  • 8/19/2019 stfl Doc V3

    9/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A

    9’autre part il pourra e(tre prati%ue d’installer $ ;eal*3ime Pacer * disponi0le en

    télécharge!ent li0re sur le site de 8ath;or5s®. Le 0loc $ ;eal*3ime Pacer * per!et

    de ralentir la si!ulation %ui peut parfois e(tre trop rapide pour e(tre analsée.

    /n si!ple glissé'déposé de ce 0loc

    dans le !ode"le Si!ulin5 ®  sui&i

    d’un dou0le clic per!et d’a7uster

    le rapport te!ps de si!ulation 6

    te!ps réel. Ici ce rapport est de

    @:K.

    La 0i0liothe"%ue Stateflo4® 

    co!porte %uatre élé!ents <

    $ (hart  * $ (hart 2M3+45 *$ State 3ransition 3able * et

    enfin $ 3ruth 3able *.

    •  $ (hart  * per!et de

    construire un diagra!!e étatJ transition.

  • 8/19/2019 stfl Doc V3

    10/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)

    •  $ (hart 2M3+45 * per!et aussi la création d’un diagra!!e état'transition

    !ais en utilisant des expressions ou des structures 8-L-® pour décrire un

    co!porte!ent logi%ue. Ces expressions peu&ent e( tre présentes aussi 0ien dans

    un état %ue dans une transition.

    •  $ State 3ransition 3able  * géne"re auto!ati%ue!ent un diagra!!e d’état'

    transition a" partir d’une ta0le %ui précise tous les états et toutes les transitions.

    •  Enfin $ 3ruth 3able * per!et la création de ta0le de &érité %ui décrira le

    co!porte!ent co!0inatoire d’un sste"!e.

    9ans ce docu!ent nous passerons en re&ue ces %uatre élé!ents de la 0i0liothe"%ue de

    Stateflo4® pour en présenter les principes a" partir d’exe!ples.

    Cependant nous nous intéresserons de !anie"re plus approfondie a" l’utilisation du 0loc

    $ (hart  * pour la création d’un !ode" le. Les sa&oir'faire alors apportés pourrontfaciliter la prise en !ain des trois autres élé!ents !is a" disposition dans la

    0i0liothe"%ue Stateflo4®.

  • 8/19/2019 stfl Doc V3

    11/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1:

    Chapitre +

    )e , hart -

  • 8/19/2019 stfl Doc V3

    12/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)11

    (hapitre " ' Le $ Chart *.

    Pour construire une !achine d’état il faut lancer 8atla0®  puis la 0i0liothe"%ue

    Si!ulin5 ®. u&rir Stateflo4® et glisser un $ (hart * 2ou diagra!!e) dans la fene(tre de

    construction du !ode" le. /n dou0le'clic sur le 0loc per!et d’accéder a" son contenu de

    ce 0loc c’est'a" 'dire au digra!!e état'transition.

    n pourra 7udicieuse!ent ou&rir le

    contenu du 0loc $ (hart   * dans une

    nou&elle fene(tre en cli%uant 0outon

    droit puis $ >pen =n ?ew Window *.

    Cette disposition sera intéressante au

    !o!ent de la si!ulation co!!e nousle &errons un peu plus tard.

    otre écran affichera alors les trois fene(tres sui&antes

  • 8/19/2019 stfl Doc V3

    13/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1+

    -ussi il est i!portant de sélectionner un sol&eur adapté a" la si!ulation. Ici nous

    choisirons le sol&eur <

    $ discrete 2no continuous states5 * $ @ixed*stepA fundamental sample time %:%)

    s * par exe!ple.

    La palette d’outils nécessaire a" la construction d’un diagra!!e état'transition par un

    $ glissé6déposé * est la sui&ante. Elle co!porte plusieurs o07ets dont certains sont

    graphi%ues<

    +a bibliothèBue

    Simulink

    +e modèle

    Simulink

    +a machine

    d0état

  • 8/19/2019 stfl Doc V3

    14/162

  • 8/19/2019 stfl Doc V3

    15/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1>

    ":)* S33

  • 8/19/2019 stfl Doc V3

    16/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1@

    -fin de préciser certains élé!ents il est aussi possi0le de saisir un co!!entaire dans

    un état en le précédant d’un Kco!!e le !ontre la figure précédente.

    Gn premier petit exercice'

    Stateflo4 ou&ert &ous alle créer un pre!ier $ State (hart  *.

    Saisir l’état E1 précédent pour &ous fa!iliariser a&ec la sntaxe.

    Les couleurs des caracte"res %ui apparaissent dans l’état sont générées

    auto!ati%ue!ent 2&ert pour les co!!entaires 7aune orangé pour les

    é&e"ne!ents fushia pour les &aleurs nu!éri%ues). Cela per!et de détecter

    rapide!ent une faute de frappe ou de sntaxe.

    -&ant de construire des !achines plus sophisti%uées il est souhaita0le de lire ce %ui

    suit a" propos des transitions des opérateurs te!porels des déco!positions exclusi&e

    et paralle"le.

    Cette snthe"se per!et de co!prendre les principes de 0ase du co!porte!ent d’une

    !achine d’état construite a&ec Stateflo4.

     A propos des transitions et des évènements…

    Le passage d’un état a" l’autre se fait par une transition %ui se !atérialise par une liaison

    orientée entre un état source et un état pointé. #ous parlerons de transition externe.

    Le tracé de la transition se fait naturelle!ent en a!enant le curseur de la souris sur le

    contour de l’état source et en cli%uant a&ec le 0outon gauche de la souris 7us%u’au

    contour de l’état pointé.

    ":):" * , +abel - d0une transition

  • 8/19/2019 stfl Doc V3

    17/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1B

    La transition est caractérisée par une éti%uette ou , transition

    label * 2saisie dans la one contenant le point d’interrogation) %ui

    décrit les circonstances ou les conditions de passage d’un état a"

    un autre.

    L’éti%uette peut contenir un é&e"ne!ent et6ou une condition

    et6ou une action sur condition et6ou une action sur transition.

    Le for!at général de l’éti%uette d’une transition s’écrit alors<

  • 8/19/2019 stfl Doc V3

    18/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1?

    ":):. * (as particuliers de la transition réflexi&e et de la transition interne

    La transition réflexi&e 2$ self loop transition *) part d’un

    état ou d’un pseudo'état et re&ient. L’état source et l’état

    pointé est donc le !e(!e.

    Ouand la condition aQ est &raie alors %ue l’état E1 est actif

    il est désacti&é puis aussito( t réacti&é au pas de calcul

    sui&ant.

    La transition interne 2$ inner transition *) ne sort pas de son état source. Elle peut

    pointer un état enfant ou 0ien un pseudo'état.

    Prenons l’exe!ple du forNage dans un état particulier <

    9ans le cas %ui nous

    intéresse ici l’état parent

    E1 et l’état enfant E1, sont

    actifs.

    - cha%ue pas de calul les

    transitions associées a"

    l état actif de plus haut

    ni&eau hiérarchi%uue sont

    d’a0ord é&aluées. 9onc ici

    la transition entre E1 et

    E1+ est é&aluée a" cha%ue

    pas de calcul.

    La condition -D/Q

    de&ient &raie. E1, est

    alors désacti&é et E1+

    de&ient actif < c’est le

    forNage dans un état

    donné. n force

    l’acti&ation de E1+

    lors%ue la condition

    -D/Q est &raie.

    La transition interne peut pointer une 7onction $ History * 2&oir le paragraphe

    consacré a" la 7onction $ History Cunction *).

  • 8/19/2019 stfl Doc V3

    19/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1A

    Enfin l’utilisation de cette transition peut aussi e(tre intéressante pour si!plifier la

    structure d’un état co!posite 2 &oir le paragraphe consacré a" la 7onction < $ Cunction *)

    ":):1 * Prise en compte de l0acti&ité d0un état dans une transition

    La prise en co!pte dans une transition de l’acti&ité d’un état est possi0le si la &aria0le $ in2état

    à préciser a&ec son ni&eau hiérarchiBue5 * est &raie par exe!ple <

    Ici le passage de l’état E+1 a" E+, se fait si l’état E1+ est actif.

    Le retour a" l’état E+1 a lieu si l’état E11 est actif.

    ":):# * +es é&ènements extérieurs

    Gn peu de pratiBue'

    #ous allons construire une !achine a" état co!portant deux états E1 et E+. Le passage

    de l’un a" l’autre se fera a" l’occurrence d’un é&e"ne!ent extérieur noté $ top *.

    L’é&e"ne!ent pourra e(tre un front !ontant

    2$ risin!  *) un front descendant 2$ fallin! *) ou

    encore un front !ontant ou descendant

    2$ either *).

    9ans Si!ulin5  construisons l’exe!ple ci'contre < $ State chart *

    $ Scope *

    $ Scope *

    $ Pulse generator *

  • 8/19/2019 stfl Doc V3

    20/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1

    9ans le !enu $ Sources * de Si!ulin5  sélectionner le 0loc $ Pulse Denerator *

    choisir un signal carré d’a!plitude 1 d’une période de 1s et de largeur d’i!pulsion

    @:K de la période <

    Les $ Scopes  * sont extraits de la 0i0liothe"%ue

    $ Sinks * de Si!ulin5   et per!ettent de

    &isualiser les résultats de la si!ulation. 

    Pour ter!iner glisser un $ State (hart  * a" partir

    de Stateflo4.

    Il faut !aintenant !ettre en place les entrées et sorties du $ (hart   *. n choisitd’appeler la sortie $ S * et l’é&e"ne!ent extérieur $ top *. L’occurrence de l’é&e"ne!ent

    $ top * se fait sur cha%ue front !ontant du signal carré $ top *.

    Sélectionner le $ (hart  * afficher le !enu contextuel a&ec le 0outon droit de la souris

    puis sélectionner $ 

  • 8/19/2019 stfl Doc V3

    21/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+:

    L’explorateur de !ode"le &a per!ettre la définition des entrées des sorties des

    é&e"ne!ents. #ous utiliserons les deux ico(nes du 0andeau supérieur sui&antes <

    Per!et l’a7out d’un é&e"ne!entPer!et l’a7out d’un data

    2entrée sortie)

  • 8/19/2019 stfl Doc V3

    22/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+1

    #ous pou&ons &érifier %ue la sortie $ S * est désor!ais présente sur

    le co(té droit du $ (hart  *.

    9e la !e(!e !anie"re on définit l’é&e"ne!ent $ top *. Le signal dont on souhaite extraire

    l’é&e"ne!ent $ top * pointe le $ (hart  * sur le dessus. Il correspond a" une entrée depuis

    Si!ulin5   2$ =nput from Simulink   *). n choisit le front descendant 2$ 3ri!!er E

    @allin! *) du signal pour ré&eiller la !achine.

  • 8/19/2019 stfl Doc V3

    23/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)++

    #ous pou&ons &érifier la création d’un port de déclenche!ent

    2$ 3ri!!er *) sur le dessus du $ (hart  *. La nature de l’é&e"ne!ent

    est s!0olisée ici par un front descendant.

    Deste a" relier les différents 0locs <

    /n dou0le clic per!et d’ou&rir le $ (hart  *. racer par exe!ple le diagra!!e sui&ant <

    Cette transition est une transition par

    défaut %ui per!et de sélectionner l’état

    %ui doit e(tre actif lors du ré&eil de la

    !achine 2&oir paragraphe sui&ant).

  • 8/19/2019 stfl Doc V3

    24/162

  • 8/19/2019 stfl Doc V3

    25/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+>

    Il est tout a" fait possi0le de co!0iner deux signaux dans Si!ulin5   et générer les

    é&e"ne!ents %ui en seraient issus. Il faut alors utiliser le 0loc $ Mux * %ui se trou&e dans

    la 0i0liothe"%ue $ Si!nal ;outin! * de Si!ulin5  <

    9ans le cas %ui nous intéresse nous

    considérons %ue les é&e"ne!ents

    $ clic * et $ clac * correspondent aux

    fronts !ontants des deux signaux

    o0tenus gra(ce aux deux générateurs

    de signaux 2$ Pulse Denerator *). Les

    signaux sont déphasés d’un %uart de

    période.

    Ensuite il faut affecter un port du 0loc $ Mux * aux é&e"ne!ents %ue l’on &eurt prendre

    en co!pte. Les ports sont nu!érotés du haut &ers le 0as de !anie"re croissante.

    8ux

  • 8/19/2019 stfl Doc V3

    26/162

  • 8/19/2019 stfl Doc V3

    27/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+B

    Le passage de E1 a" E+ se fera a" l’occurrence de $ clic  * 2front !ontant du $ si!nal

    clic *) soit a" t R +s dans ce cas S R 1 7us%u’a" l’occurrence de $ clac * 2front !ontant du

    $ si!nal clac *) et ainsi de suite.

    Pour !ontrer l’i!portance de la

    connexion des signaux au 0loc $ Mux *

    nous pou&ons inter&ertir l’affectation

    des ports < $ si!nal clic * sur le port + et

    $ si!nal clac * sur le port1.

    #ous o0tenons le résultat ci'contre.

     A propos des opérateurs temporels…

    L’éti%uette d’une transition peut aussi contenir un opérateur te!porel < $ after *$ before * $ at * $ e&ery * $ temporal(ount  *.

    ;emarBue préliminaire E

    •  le te!ps de si!ulation peut s’expri!er en seconde 2sec) en !illiseconde

    2!sec) en !icroseconde 2usec). Le te!ps de si!ulation est un réel positif.

    Il dépend du processeur et de ses capacités a" !ener les calculs liés au

    !ode"le. Il ne correspond pas au te!ps réel.

    Pou&eN*&ous le Oustifier

    Si oui c’est %ue &ous a&e co!pris et donc passe a" la suite. Sinon il faut

    relire le paragraphe précédent

  • 8/19/2019 stfl Doc V3

    28/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+?

    •  Le te!ps d’échantillonnage 2$ sa!ple ti!e *) du sol&eur s’expri!e en tic5.

    Il correspond a" un pas de calcul et il est a7usté au !o!ent de la définition

    du sol&eur. Le no!0re de tic5s est donc un no!0re entier.

    +0opérateur , after - E

    9ans l’exe!ple ci'contre

    le passage de l’état E1 a"

    l’état E+ se fait apre"s 1:

    pas de calcul 2$ ticks *) et

    le passage de l’état E+ a"

    l’état E1 se fait lui apre"s @

    secondes du te!ps de

    si!ulation. /ne

    !odification du $ Sample

    3ime * du sol&eur !odifie la durée du passage de E1 a" E+. En effet une aug!entation

    du $ Sample 3ime * aug!ente la durée d’un $ tick  * et in&erse!ent.

    +0opérateur , before - E

    Ici la transition

    sera franchie si la

    condition

    eRR1Q est &raie

    a&ant %ue le te!ps

    de si!ulation

    atteigne @

    secondes.

    Par consé%uent un opérateur te!porel peut e(tre associé a" une condition.

    Il peut aussi e(tre présent dans une expression logi%ue.

    Par exe!ple <

    a QQ before2)%Asec5I Bui se lit , a

  • 8/19/2019 stfl Doc V3

    29/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+A

    +0opérateur , at - E

    L’opérateur te!porel

    $ at  * définit la date a"

    la%uelle l’état E+ sera

    acti&é si E1 est acti&é et

    récipro%ue!ent. Les

    dates ne peu&ent e(tre

    expri!ées %u’en $ tick  *

    ce sont donc des no!0res

    entiers.

    +0opérateur , e&ery - E

    $ e&ery2nAtick5 * est &rai au nie"!e pas de

    calcul. Cet opérateur sera expri!é

    o0ligatoire!ent en no!0re de $ ticks *.

    Ici on incré!ente d’une unité un

    co!pteur 2$ compteurRR  *) tous les 1:

    pas de calcul tant %ue l’état E1 est actif.

    +0opérateur , temporal(ount - E

    Pour é&aluer la durée de l’acti&ité d’un état nous disposons de l’opérateur

    $ temporal(ount  *. Le co!pteur est re!is a" : a" cha%ue acti&ation de l’état associé.

  • 8/19/2019 stfl Doc V3

    30/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+

    9ans l’exe!ple ci'dessus %uand E1 est

    acti&é un co!pteur déco!pte le te!ps

    d’acti&ation de l’état. Ici ce te!ps est

    !esuré en secondes.

    Lors%ue le co!pteur atteint 1s alors la

    condition te!poralCount2sec)RR1Q

    de&ient &raie E1 est désacti&é et E+ est

    acti&é.

    -pre"s +s E+ est désacti&é et E1 réacti&é.

    -insi de suite Le scope associé a" la

    sortie S confir!e 0ien ce co!porte!ent.

     A propos des super-états ou états composites …

    /écomposition exclusi&e 2>;5 ou parallèle 2?/5 des états composites

    9ans la figure %ui suit le super'état E1 est un état paralle" le. Lors%ue E1 est acti&é alors

    E11 E E1+ sont actifs si!ultané!ent.

    La présence d’une transition par défaut

    affectée a" E11 ou E++ n’a pas lieu d’e(tre

    du fait de la si!ultanéité de l’acti&ation

    des états.

    Ces sous'états présentent un contour

    en pointillés.

    n acce"de a" la déco!position en

    sélectionnant le super'état par un clic

    gauche puis clic droit

    $ /ecomposition' *

    Les %uel%ues notions de 0ase concernant les états et les transitions exposées 7us%u’ici

    sont a" connaT(tre pour construire des !achines d’état.

    9éco!position exclusi&e 2D)

    9éco!position paralle" le 2-#9)

  • 8/19/2019 stfl Doc V3

    31/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),:

    Gtilisation d0un , Subchart -

    Si un super'état ou état

    co!posite contient de

    no!0reux états il est possi0le

    de réduire le diagra!!e en

    !as%uant le contenu de l’état

    co!posite. n transfor!e le

    surper'état en $ Subchart  * <

    -fficher le !enu contextuel par

    un clic droit puis sélectionner

    $Subchart Q Droup * puis

    $ Subchart  *.

    /n dou0le'clic sur le

    $ Subchart  * ainsi créé per!et

    d’afficher l’état co!posite dont

    le contenu a été !as%ué.

    Su0chart

  • 8/19/2019 stfl Doc V3

    32/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),1

    ":"* /? 

    /ne transition par défaut i!pose l’acti&ation d’un état en cas d’a!0iguité.

    Cette transition pointe un état !ais n’a pas d’état source apparent. Le for!at de

    l’éti%uette est identi%ue a" celui d’une transition ordinaire. Elle est o0ligatoire de"s %ue

    le diagra!!e co!porte au !oins deux états.

    9ans l’exe!ple ci'dessous lors%ue la !achine est excitée E1 est acti&é.

    Ouand la transition entre E1

    et E+ est franchie le super'

    état ou état co!posite E+ est

    acti&é et E1 désacti&é.

    -u !o!ent de l’acti&ation

    de E+ E+1 est alors acti&é

    ;emarBue E

    Ici le super'état E+ est le

    parent des sous'états E+1 etE++.

    E1 et E+ ont le !e(!e ni&eau

    hiérarchi%ue.

    E+1 et E++ ont eux aussi le

    !e(!e ni&eau hiérarchi%ue.

    Ce sont les états enfants de E+.

    ransition par défaut

    ransition par défaut

  • 8/19/2019 stfl Doc V3

    33/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),+

    ":.* CG?(3=>?

    La 7onction 2$ Cunction *) est un pseudo'état utilisé par exe!ple pour factoriser des

    expressions 0ooléennes associées a" des conditions.

    9ans l’exe!ple ci'contre

    lors%ue la condition aQ est

    &raie la 7onction de&ient acti&e

    2c’est un pseudo'état) !ais E1

    n’est pas désacti&é pour autant.

    E+ sera acti&é si 0Q de&ient

    &raie. E1 est alors

    si!ultané!ent désacti&é.

    u 0ien E, sera acti&é si cQ

    de&ient &raie. E1 est alors

    si!ultané!ent désacti&é.

    Le co!porte!ent précédent est identi%ue au sui&ant <

    n re!ar%uera %ue dans le

    pre!ier cas l’é&aluation de 0Q se

    fait a&ant celle de cQ 2transition

    dont la source est repérée 1 sur

    la 7onction). Par consé%uent en

    cas de si!ultanéité l’acti&ité de

    E+ sera prioritaire.

    Cette priorité est retrou&ée dans

    le second cas 2transition dont la

    source est repérée 1). La

    condition aUU0Q est é&aluée a&ant

    aUUcQ.

  • 8/19/2019 stfl Doc V3

    34/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),,

    =nfo < la sntaxe utilisée est celle du langage C <

    L’ordre d’é&aluation des

    transitions peut e(tre !odifié en

    sélectionnant la ou les

    transitions a" !odifier clic droit

    $ Properties *. Sélectionner

    l’ordre d’é&aluation dans la liste

    déroulante $

  • 8/19/2019 stfl Doc V3

    35/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),>

    Prenons le cas du passage de

    l’état E11 considéré actif a" l’état

    E1,. Le passage se fera a"

    l’occurence de l’é&e"ne!ent e et a"

    condition %ue 0Q soit &raie. Sur le

    pre!ier diagra!!e la transition

    est claire!ent identifia0le. Sur le

    second elle ne l’est pas.

    #éan!oins nous sa&ons %ue si

    E11 est actif alors %ue

    l’é&e"ne!ent e sur&ient cet état

    est désacti&é et la 7onction ré'

    acti&ée et si 0Q est &raie alorsl’état E1, de&ient actif.

    Gn petit exercice de saisie et de simulation'

    - titre d’exercice &ous

    pou&e asse facile!ent

    &érifier la si!ilitude des

    co!porte!ents des

    deux !achines.

    Ci'contre se trou&e le

    !ode"le Si!ulin5  

    per!ettant de si!uler et

    de co!parer le

    co!porte!ent des deux!achines d’état

    si!ultané!ent.

    Les $ Switches * se

    trou&ent dans le !enu

    $ Si!nal ;outin! * de

    Si!ulin5 .

    Les 0locs : et 1 sont des 0locs $ (onstant  * %ui se trou&ent dans le !enu $ (ommonly

    Gsed 4locks *.

    $ S4itch *

    loc $ Constant *

  • 8/19/2019 stfl Doc V3

    36/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),@

    Pour la si!ulation choisir un te!ps de si!ulation infini en saisissant $  inf  * dans le

    cha!p correspondant du 0andeau supérieur <

    érifier le co!porte!ent des

    !achines d’état en dou0le cli%uantsur les $ Switches * pendant la

    si!ulation pour les faire co!!uter.

     A propos des « Flow Charts »…

    Les $ @low (harts * ou diagra!!es de flux sont prati%ues pour décrire les structures

    algorith!i%ues de 0ase co!!e les structures alternati&es ou de choix et les structures

    itérati&es ou répétiti&es.

    Le diagra!!e de flux contraire!ent aux diagra!!es d’état 2$ State (hart  *) ne

    co!porte pas d’état !ais uni%ue!ent des transitions et des 7onctions.

  • 8/19/2019 stfl Doc V3

    37/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),B

  • 8/19/2019 stfl Doc V3

    38/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),?

    Le résultat de la si!ulation s’affiche

    dans le $ Scope * <

    Si la te!pérature de consigne n’est

    pas atteinte l’écart u est positif etdans ce cas les résistances sont

    ali!entées.

    Ouand l’écart est nul les résistances

    ne sont plus ali!entées.

    En a0sence de pertur0ation c’est'a"'

    dire sans in7ection d’air frais la

    te!pérature du four reste constante.

    Le tracé du diagra!!e de flux précédent peut se faire par glissé'déposé de 7onctions

    et en reliant ces différentes 7onctions les unes aux autres. Deste alors a" saisir les

    conditions et les actions.

    Stateflo4

      propose un outil %ui géne"reauto!ati%ue!ent les structures algorith!i%ues. Pour

    a7outer une structure dans un diagra!!e on peut

    utiliser la co!!ande $ dd Pattern =n (hart  * du

    !enu contextuel.

    /n second !enu s’ou&re proposant différentes

    structures algorith!i%ues<

    $ /ecision * < structures

    alternati&es

    $ +oop * < structures

    répétiti&es.

    9ans notre cas nous allons cli%uer sur $ /ecision * et choisir la structure alternati&e

    $ if*else'*

  • 8/19/2019 stfl Doc V3

    39/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),A

    La fene(tre ci'contre s’ou&re

  • 8/19/2019 stfl Doc V3

    40/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),

    #ous o0tenons 0ien le diagra!!e attendu <

    9ans la prati%ue on introduit une plage de !ise en

    ser&ice du régulateur D autour d’un point de

    fonctionne!ent en introduisant un hstérésis.

    Celui'ci peut e(tre a7usta0le ou 0ien fixe. Il est donné

    co!!uné!ent par les constructeurs en pourcentage de

    la pleine échelle de la sortie.

    Par exe!ple pour le régulateur 8D# E@CS en

    !ode D 2#'33) le constructeur annonce un

    hstérésis de :.+K de la pleine échelle 23ull Scale < 3S) <

    Introduisons alors un hstérésis dans le

    !ode"le du régulateur

  • 8/19/2019 stfl Doc V3

    41/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>:

    /ne structure $ =f *

  • 8/19/2019 stfl Doc V3

    42/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>1

    ":1* H=S3>;U CG?(3=>?

    Il s’agit d’un pseudo'état %ui !é!orise l’acti&ité des sous'états d’un super'état ou étatco!posite. Cela per!et donc de réacti&er un état dans la situation dans la%uelle on l’a

    %uitté. Les propriétés de la $History Ounction * ne s’appli%uent %u’au ni&eau de

    hiérarchie dans le%uel elle apparait.

    Considérons %ue l’état E: et l’état E+ soient actifs. Si la condition cQ est &raie E, est

    alors acti&é et E: désacti&é.

    La 7onction $ History * per!et de !é!oriser l’acti&ation des sous'états au !o!ent dela désacti&ation de E: ici on a !é!orisé l’acti&ation de E+. Si 0ien %ue lors%ue la

    condition cQ de&ient &raie E, est désacti&é et E: est acti&é a" nou&eau !ais la présence

    de la 7onction $ History * per!et de ré'acti&er E+.

  • 8/19/2019 stfl Doc V3

    43/162

  • 8/19/2019 stfl Doc V3

    44/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>,

    I!aginons %ue E: E+ E++ soient actifs. Ouand la condition cQ est &raie E, est acti&é

    alors %ue les trois états précédents sont désacti&és. Lors%ue la condition cQ de&ient

    &raie a" son tour on retrou&e la situation %uittée c’est'a"'dire E: E+ E++ actifs.

  • 8/19/2019 stfl Doc V3

    45/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>>

    ;emarBue < si la 7onction $ History * n’existait pas dans l’état E+ E++ ne serait pas

    acti&é !ais ce serait 0ien l’état E+1 co!pte tenu de la présence de la transition par

    défaut sur E+1.

    Gn autre petit exercice de saisie et de simulation'

    9es si!ulations sont possi0les en disposant des 7onctions $ Histor * ou" &ous le

    souhaite. Ci'dessous le !ode" le Si!ulin5 

     correspondant <

    9ans le paragraphe consacré aux transitions internes nous a&ons é&o%ué la situation

    ou" celle'ci pou&ait pointer une 7onction $ History *.

    Ce sera le cas lors%u’on souhaite par exe!ple figer la !achine dans son état courant

  • 8/19/2019 stfl Doc V3

    46/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>@

    En effet dans cet exe!ple si la

    condition SPQ est &raie alors

    %u’un des %uatre états E11 E1+

    E1, E1> est actif celui reste actif.

    L’acti&ité de l’état courant a été

    !é!orisée.

    9e"s %ue la condition SPQ n’est

    plus &raie l’état E1 reprend son

    !ode d’é&olution nor!al.

  • 8/19/2019 stfl Doc V3

    47/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>B

    ":#* 4>V

    La 0oT(te 2$ 4ox *) est un élé!ent %ui per!et le regroupe!ent d’o07ets graphi%ues de

    Stateflo4  co!!e des états des fonctions Les $ 4oxes  * peu&ent e(tre réutilisées

    dans d’autre !ode" les.

    Par exe!ple ci'dessous le $ (hart   * fait appel a" %uatre fonctions 8-L- %ui sont

    $ rangées * par paires dans deux $ boxes * < $ si!nauxcarres * et

    $ detectionfronts *.

    #ous construirons et co!!enterons un peu plus tard ce diagra!!e.

  • 8/19/2019 stfl Doc V3

    48/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>?

    ":$* S=MG+=?X @G?(3=>?

    Cet outil per!et l’introduction de fonctions utilisant des sché!as 0locs construits a&ec

    les différentes 0i0liothe"%ues de Si!ulin5 .

    /ne fonction Si!ulin5   est représentée par un 0loc

    rectangulaire glissé'déposé dans un $ (hart *.  <

    Prenons un exe!ple si!ple pour illustrer la dé!arche.

    #ous allons considérer une !achine a" état constituée de deux états < Phase1 et Phase+

    L’état $ Phase) * est initiale!ent actif. L’acti&ation de l’état $ Phase" * se fait si la

    condition aQ est &raie. In&erse!ent la réacti&ation de l’état $ Phase) * se fait si la

    condition aQ est &raie.

    La phase 1 consiste a" a7outer @ a" l’entrée du sste"!e considérée co!!e constante et

    &alant 1:. La phase + !ultiplie par , la !e(!e entrée.

    L’interface Si!ulin5  sera alors la sui&ante

  • 8/19/2019 stfl Doc V3

    49/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>A

    /n dou0le'clic sur le $ (hart  * affiche le diagra!!e dé7a" présenté %uel%ues lignes plus

    hautes.

    #ous allons insérer deux fonctions Si!ulin5   %ui per!ettront de réaliser les deux

    phases décrites précéde!!ent <

    En cli%uant sur le point d’interrogation on précise la signature de la fonction %ui sera

    appelée par l’état %ui déclenchera le ou les calculs souhaités.

    La signature de la fonction précise son no! ses argu!ents et sa &aleur de retour <

    $ tachei * est le no! de la fonction $ u * son argu!ent et $ y * sa &aleur de retour

  • 8/19/2019 stfl Doc V3

    50/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>

    9’une !anie"re générale la sntaxe est la sui&ante < 2r1 r+rn)R no!2a1 a+an)

    L’in&ocation de la fonction ou son appel se fait pendant l’acti&ité de l’état $ Phase) *

    ou $ Phase"  *. - un état correspond une fonction particulie"re. Par consé%uent les

    fonctions sont insérées dans les états correspondants <

    Deste a" définir les !ode" les Si!ulin5  associés aux fonctions en dou0le'cli%uant sur les

    0locs $ Simulink @unction * <

    n constate la génération auto!ati%ue de

    l’argu!ent de la fonction et de la &aleur de

    retour %ui correspondent respecti&e!ent a"

    l’entrée et a" la sortie du !ode" le Si!ulin5 .

    9’autre part s’affiche un 0loc précisant %ue

    le sous'sste"!e fait appel a" une fonction.

  • 8/19/2019 stfl Doc V3

    51/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@:

    Préparons le !ode" le Si!ulin5  

    associé a" la pre!ie"re phase <

    n a7oute @ a" l’entrée $ u *<

    Pendant la seconde phase $ u * est !ultiplié

    par , <

    Le !ode" le glo0al co!porte donc les élé!ents

    sui&ants <

    Interf ace

    Si!ulin5  $ Chart *

    3onctions

    Si!ulin5  

  • 8/19/2019 stfl Doc V3

    52/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@1

    L’explorateur du !ode"le donne son ar0orescence <

    Pour la si!ulation il con&ient de choisir un sol&eur autre %ue $ discrete 2nocontinuous state5 * n pourra prendre par exe!ple le sol&eur $ ode# * a&ec un pas

    fixe de :.:1 s et un te!ps de si!ulation infini<

    Pour exploiter pleine!ent les a&antages de cet outil une 0onne connaissance de

    Si!ulin5  est indispensa0le. 

    érifions les résultats o0tenus

  • 8/19/2019 stfl Doc V3

    53/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@+

    L’état $ Phase) - est actif. Pendant toute la durée de son acti&ité on a7oute @ a" l’entrée.

    n o0tient donc en sortie 1@.

    Si la condition aQ est &raie l’état $ Phase" - est actif et on !ultiplie par , l’entrée. n

    o0tient ,: en sortie <

    Enfin si la condition aQ est &raie on o0tient a" nou&eau en sortie 1@

  • 8/19/2019 stfl Doc V3

    54/162

  • 8/19/2019 stfl Doc V3

    55/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@>

    précise son no! ses argu!ents et sa &aleur de retour < $ somme * est le no! de la

    fonction $ a * et $ b * ses argu!ents et $ f) * sa &aleur de retour.

    L’in&ocation de la fonction ou son appel se fait pendant l’acti&ité de l’état E1.

    #otons %ue la so!!e des argu!ents se fait ici sur une transition par défaut %ui pointe

    une 7onction. Le calcul est lancé a" l’occurrence de l’é&e"ne!ent %ui ré&eille la !achine.

    Le résultat correspond a" l’affichage de

    la &aria0le $ yWout  *.

    n re!ar%uera %ue le pre!ier résultat

    est donné apre"s le pre!ier pas de

    calcul. Ici le $ Sample 3ime * du

    sol&eur est réglé sur :.1s.

    L’explorateur de !ode"le ci'dessous affiche dans la colonne de droite le no! de la

    fonction.

    Les entrées et les sorties sont précisées ainsi %ue la &aria0le locale $ y *.

  • 8/19/2019 stfl Doc V3

    56/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@@

    Yoici un petit exercice Bui &a enrichir le précédent  < on souhaite tou7ours

    faire la so!!e des !e(!es signaux %ue précéde!!ent !ais cette so!!e sera!ultipliée par deux. Ce facteur sera donc une entrée du $ (hart *.

  • 8/19/2019 stfl Doc V3

    57/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@B

    Le !oteur sera sollicité par un échelon de tension. /n pre!ier $ Switch * per!et

    d’in&erser son sens de rotation le second autorise ou pas l’ali!entation du !oteur.

    La pre!ie"re étape consiste a" tracer le diagra!!e d’états traduisant le co!porte!ent

    du !oteur au cours de son fonctionne!ent <

    La &aria0le $ dir * donne le sens de rotation du !oteur et $ on * autorise ou non la

    !arche du !oteur. Le !oteur peut tourner dans un sens ou dans l’autre sui&ant l’état

    du $ Switch * correspondant. Par consé%uent dans l’état $ Marche * la transition par

    défaut pointe une 7onction %ui &a tester la &aleur d’affectation de la &aria0le $ dir *.

    Si $ dir * &aut 1 le !oteur tourne dans le sens trigono!étri%ue sinon il tournera dans

    le sens horaire.

  • 8/19/2019 stfl Doc V3

    58/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@?

    8aintenant il faut prendre en co!pte le co!porte!ent du !oteur. Ecri&ons alors le

    !ode"le par représentation d’état d’un !oteur a" courant continu.

    Petit rappel sur la représentation d0état et les éBuations du moteur à courant

    continu E

    9’un point de &ue !athé!ati%ue nous définirons des &ariables d0entrée des

    &ariables de sortie  et des &ariables d0état . Ces dernie"res sont obser&ables  a"

    cha%ue instant et donc mesurables. Les &aleurs des &aria0les de sortie &ont

    dépendre de celles des &aria0les d’entrée et des &aria0les d’état. Les é%uations liant

    ces &aria0les sont appelées éBuations de sortie. Par contre elles ne suffisent pas

    pour décrire le co!porte!ent dna!i%ue du sste"!e. Cette dna!i%ue correspond

    a" la &ariation des &aria0les d’état au cours du te!ps dépendante des &aria0les

    d’entrée et des &aria0les d’état a" un instant antérieur. 9ans le cas d’un

    co!porte!ent linéaire ces é%uations sont des é%uations différentielles. Elles

    s’écri&ent de la !anie"re sui&ante <

          u" / est un &ecteur caractéristi%ue des &aria0les d’entrée Z des &aria0les d’état et

    [ des &aria0les de sortie. - C et 9 sont des !atrices.

    La pre!ie"re é%uation traduit la dna!i%ue du sste"!e linéaire alors %ue la seconde

    donne l’é&olution de la sortie.

    Concernant le !oteur a" courant continu on rappelle les %uatre é%uations %ui

    décri&ent son co!porte!ent dna!i%ue <

    •  La pre!ie"re issue de la loi d’h!

  • 8/19/2019 stfl Doc V3

    59/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@A

    / est la résistance de l’induit et L l’inductance.

     f est le coefficient de frotte!ent &is%ueux.

    0 t  et 0 e sont respecti&e!ent la constante de couple et la constante de force

    électro!otrice.

    #ous allons re!anier les é%uations précédentes pour se ra!ener a" la

    représentation d’état rappelée %uel%ues lignes plus hautes. n trou&e <

    !"#!#!$#!#   % &'(   )*()#+   ,+ - . /01\

    2(   33 3% 456   7 Et

     3 8 9 : 3 3 93   : 

    #ous allons utiliser ces é%uations dans la !achine d’état. Pour ce faire il faudra

    insérer des fonctions graphi%ues 2$ Draphical @unction *) %ui seront appelées

    par les états correspondants 2$ rretA Marche:Senstri!o -  et

    $ Marche:Senshoraire -).

    n o0tient donc le diagra!!e co!plété sui&ant

  • 8/19/2019 stfl Doc V3

    60/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@

     ttention 

  • 8/19/2019 stfl Doc V3

    61/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)B:

    Pour un échelon de tension de +> nous o0tenons le résultat sui&ant<

    n retrou&e 0ien les

    données du constructeur <

    •  en régi!e per!anent

    le !oteur atteint une

    &itesse de ABB rd6s soit

    A+?: tr6!in.

    •  La constante de te!ps

    est de ,.+ !s.

    (omment créer un masBue E

    L’a&antage du !as%ue est l’é&entuelle réutilisation du !ode"le !ais pour un !oteur

    %ui posse"de des caractéristi%ues différentes.

  • 8/19/2019 stfl Doc V3

    62/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)B1

    Sélectionner le $ (hart  * cli%uer a&ec le 0outon droit de la souris pour ou&rir le !enu

    contextuel et sélectionner successi&e!ent les co!!andes $ Mask   * puis $ (reate

    Mask  * <

    L’éditeur de !as%ue s’affiche <

    Sélectionner l’onglet $ Parameters Q /ialo! *

  • 8/19/2019 stfl Doc V3

    63/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)B+

    Saisir un pre!ier cha!p du !as%ue en cli%uant sur l’ico(ne $

  • 8/19/2019 stfl Doc V3

    64/162

  • 8/19/2019 stfl Doc V3

    65/162

  • 8/19/2019 stfl Doc V3

    66/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)B@

    L’infor!ation i!age de la position est consta!!ent disponi0le. La &aleur de la

    position est o0tenue par le calcul nu!éri%ue de la fonction arc'tangente apre"s

    con&ersion des signaux sinus et cosinus. Ce calcul consiste en une interpolation fine

    dépendante de la position grossie"re du rotor <

    La position grossie"re du rotor correspond a" sa position angulaire déter!inée par le

    co!ptage d’i!pulsions de la !e(!e !anie"re %ue pour un codeur incré!ental.

    L’o07et de cette application est la !ise en for!e des trains d’i!pulsions nécessaires a"

    la déter!ination de la position grossie"re.

    Pour ce faire nous allons construire un $  (hart  * co!prenant %uatre fonctions

    8-L-.

    Préparons l’interface Si!ulin5 . Elle co!prend deux élé!ents principaux <

    •  Le codeur %ui déli&re les signaux sinus et cosinus

    •  L’interpolateur %ui géne"re le train d’i!pulsions nécessaire.

  • 8/19/2019 stfl Doc V3

    67/162

  • 8/19/2019 stfl Doc V3

    68/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)B?

    n conside"rera un signal d’a!plitude l’unité et de

    pulsation 1:: rad6sec

    /n dou0le'clic sur le $ (hart  * fait apparaitre le diagra!!e 2dé7a" &u précéde!!ent

    lors%ue nous a&ons défini la $ 4ox *) %ue nous allons !aintenant construire et

    co!!enter

  • 8/19/2019 stfl Doc V3

    69/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)BA

    Le diagra!!e co!porte une transition par défaut pointant &ers une 7onction. L’action

    associée fait appel a" %uatre fonctions 8-L- insérées dans deux $ 4oxes *. -ttention

    a 0ien indi%ué le che!in des fonctions en précisant le $ la0el * de la $ ox * %ui la

    contient <

    9ans la $ 4ox * $ si!nauxWcarres * se trou&ent les fonctions $ f) * et $ f" * %ui &ont

    construire les signaux carrés de !e(!e période %ue les signaux sinusoT]daux d’entrée.

    9ans la $ 4ox * $ detectionWfronts * se trou&ent les fonctions $ detectWf) * et

    $ detectWf" *%ui &ont générer les trains d’i!pulsions %ui correspondent auxchange!ents de ni&eau logi%ue des signaux carrés

    Les fonctions $ f) * et $ f" * s’appli%uant aux deux entrées sinusoT]dales sont si!ilaires.

    9e !e(!e %ue $ detectWf) * et $ detectWf" *.

    /n dou0le'clic sur la fonction $ f) * ou&re l’éditeur de fonction

  • 8/19/2019 stfl Doc V3

    70/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)B

    La fonction progra!!ée affecte la &aleur 1 a" la &aria0le locale $ y)  * si l’entrée

    $ u) *est positi&e sinon la &aleur :.

    9e !e(!e pour $ f" * <

    Concernant la détection des fronts un dou0le'

    clic sur la fonction $ detectWf) * ou&re

    l’éditeur <

    Si la &aleur de la &aria0le locale $ y) * est

    différente de sa &aleur au pas de calcul

    précédent alors la sortie $ impW) * prend la

    &aleur 1 sinon :. -pre"s le test la &aria0le locale

    $ y)Wprec * prend la &aleur de la &aria0le

    locale $ y) *.

  • 8/19/2019 stfl Doc V3

    71/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?:

    9e !e(!e pour la fonction $ detectf" * <

    L’explorateur donne la

    hiérarchie du !ode"le

    construit. n trou&e <

    • Les $ 4oxes *

    • Les fonctions

    8-L-

    n trou&e aussi les

    caractéristi%ues des différentes

    &aria0les

  • 8/19/2019 stfl Doc V3

    72/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?1

    Pour cette application nous a&ons choisi le sol&eur $ discrete 2no continuous

    states5 * a&ec un pas fixe de :.::1 s

  • 8/19/2019 stfl Doc V3

    73/162

  • 8/19/2019 stfl Doc V3

    74/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?,

    ":9 3;G3H 34+<

    Stateflo4 offre la possi0ilité d’insérer dans un !ode"le une

    ta0le de &érité %ui &a traduire le co!porte!ent

    combinatoire  d’un sste"!e ou d’un sous'sste"!e. Cette

    ta0le de &érité peut si!plifier considéra0le!ent les

    diagra!!es.

    /ne ta0le de &érité est représentée par un rectangle.

    /n dou0le'clic sur ce rectangle ou&re une fene(tre dans la%uelle apparaissent deux

    ta0leaux < le ta0leau des conditions 2$ (ondition 3able *) et le ta0leau des actions

    2$ ction 3able *).

    9ans ces ta0les nous trou&ons < des conditions des décisions et des actions <

    -ction

    Condition 9écision

  • 8/19/2019 stfl Doc V3

    75/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?>

    Cha%ue ta0le posse"de aussi une colonne $ /escription *. Elle est destinée aux

    co!!entaires. Co!pléter ces cha!ps n’est pas o0ligatoire.

    9ans la seconde colonne de la $ (ondition 3able * apparaissent les conditions

    aux%uelles sont associées des actions. La condition peut e(tre &raie 2$ 3rue E3 *) fausse

    2$ @alse E@ *) &raie ou fausse 2^ * ^).

    /ne $ /ecision * 29i) correspond a" une colonne dans la%uelle on prend en co!pte

    l’état des conditions. - cha%ue décision correspond une action repérée par le nu!éro

    de ligne de l’ $ ction 3able * liée a" cette action.

    Si nous prenons l’exe!ple ci'dessus la décision 9B conside"re 2a=&raie E 0=&raie E

    c=fausse). 9ans ce cas l’action associée est définie a" la %uatrie"!e ligne de l’ $  ction

    3able  * < send233E:) c’est'a"'dire %u’on déclenche l’é&e"ne!ent 33 %ui se trou&e

    dans l’état E: etc

    Gne première application'

    9é&eloppons da&antage l’exe!ple présenté plus haut.

  • 8/19/2019 stfl Doc V3

    76/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?@

    9ans Si!ulin5   nous

    allons saisir le !ode"le

    ci'contre constitué d’un

    $ (hart  * de trois

    $ Switches * affectant la

    &aleur : ou 1 aux trois

    &aria0les 0inaires a 0 et

    c.

    Le diagra!!e d’état o0tenu en dou0le'cli%uant sur le $ (hart  * est le sui&ant <

    E: est un état co!posite

    dans le%uel se trou&ent les

    trois états # 33 et

    SP.

    -fin de li!iter le no!0re

    de transitions et donc de

    si!plifier le diagra!!e il

    est intéressant d’utiliser

    une ta0le de &érité %ui

    ren&oie ici les é&e"ne!ents

    de tpe $ local * start 

    sto& on et off  2en orangé).

    Le fonctionne!ent est décrit dans la ta0le de &érité %ui suit. Il est propre a" l’état E:. La

    ta0le sera donc insérée dans l’état E:.

    n conside"re la ta0le de &érité sui&ante pour traduire le co!porte!ent logi%ue du

    sste"!e

  • 8/19/2019 stfl Doc V3

    77/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?B

    # ( a E"nement asso#ié Etat )ointé

    : : : stop E:.SP

    : : 1 on E:.#

    : 1 : on E:.#

    : 1 1 off E:.33

    1 : : off E:.331 : 1 on E:.#

    1 1 : on E:.#

    1 1 1 start E:.#

    -pre"s a&oir glissé'déposé la ta0le de &érité nous allons saisir son éti%uette 2$ label *) <

    $ arretmarche - a" la place du point d’interrogation

  • 8/19/2019 stfl Doc V3

    78/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)??

    /n dou0le'clic sur le

    rectangle ou&re la

    ta0le de &érité %u’il

    faut co!pléter

    confor!é!ent au

    !ode defonctionne!ent

    nor!al de notre

    sste"!e. #ous de&ons

    a7outer des lignes et

    des colonnes <

    Ces ico(nes du 0andeausupérieur per!ettent

    de le faire.

  • 8/19/2019 stfl Doc V3

    79/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?A

    La ta0le de &érité

    est

    !aintenant re!plie.

    r pendant la si!ulation

    il faut appeler la ta0le de

    &érité alors %ue l’état E:

    est actif.

    n utilise ici le !ot clé

    $ on évènement  E

    action F *.

    La ta0le de &érité sera

    appelée a" cha%ue pas de

    calcul.

    L’é&e"ne!ent déclencheur sera donc $ tick *.

  • 8/19/2019 stfl Doc V3

    80/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?

    La si!ulation est désor!ais pre(te a" e( tre lancée <

    -u dé!arrage l’état SP

    est actif.

    L’état # sera acti&é a"

    l’occurrence de

    l’é&e"ne!ent start1 c’est'

    a" 'dire pour a 0 et c &rais.

    L’état 33 sera acti&é a"

    l’occurrence de l’é&e"ne!ent off1

    c’est'a" 'dire pour a et 0 &rais puis

    c faux.

  • 8/19/2019 stfl Doc V3

    81/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A:

    -insi de suite

  • 8/19/2019 stfl Doc V3

    82/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A1

    Chapitre ,

    2’autres exem&les

    d’a&&licationdu, hart -

  • 8/19/2019 stfl Doc V3

    83/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A+

    (hapitre . *  9’autres exe!ples d’application du

    $ Chart *.

    .:)* =?=3=+=S3=>? /< +0V< +=?

  • 8/19/2019 stfl Doc V3

    84/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A,

    9é0ut

    Initialiser

    Capteur

    gauche

    Capteur

    gauche

    -ller a" gauche a"

    &itesse rapide 2)

    -ller a" droite a"

    &itesse lente 2)

    Capteur

    gauche

    Initialiser le

    co!pteur

    3in

  • 8/19/2019 stfl Doc V3

    85/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A>

    8ettons l’interface Si!ulin5  en place <

    En entrée du $ (hart  * 2Carte) nous retrou&ons les infor!ations 0inaires trans!ises

    par le capteur fin de course gauche et le 0outon poussoir d’initialisation la &aleur du

    co!pteur associé au codeur a&ant l’initialisation. En sortie sont affichées la co!!ande

    du !oteur 2rotation rapide dans un sens < 8R'1: lente dans l’autre < 8R1 arre( t < 8R:)

    l’état d’une &aria0le 0inaire de gestion de la 0oucle d’asser&isse!ent 20oucle fer!ée <

    3R1 0oucle ou&erte 3R:) et la &aleur courante du co!pteur.

    L’asser&isse!ent en position est défini par le sché!a'0locs

  • 8/19/2019 stfl Doc V3

    86/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A@

    /ne solution possi0le pour la phase d’initialisation %ui reprend le cahier des charges

    peut e( tre celle %ui suit

  • 8/19/2019 stfl Doc V3

    87/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)AB

    ,.+' SI8/L-I# 9/ 3#CI##E8E# 9’/# CHD#8EDE

    Les s!artphones du !arché disposent tous

    d’horloges di&erses personnalisa0les de

    ré&eil de chrono!e"tre de co!pteur a"

    re0ours etc

    #ous nous intéressons dans le cadre de cet

    exercice au chrono!e"tre d’un s!artphone

    et en particulier au lance!ent du

    chrono!étrage au chrono!étrage a" l’arre(t

    du chrono!étrage a" l’affichage du te!ps

    inter!édiaires et du no!0re de tours ainsi

    %u’a" la re!ise a" éro.

    #ous disposons de trois affichages < le pre!ier pour le chrono!étrage le second pour

    les te!ps inter!édiaires au%uel est associé

    le troisie"!e %ui affiche le no!0re de tours

    effectués.

    Les te!ps sont affichés en heures !inutes

    secondes et centie"!es de seconde.

    Le fonctionne!ent du chrono!e"tre est le sui&ant <

    •  /n pre!ier appui sur le 0outon $ Sart6Stop * lance le chrono!e"tre. /n second

    appui arre(te le chrono!e"tre.

    •  L’appui sur le 0outon $ Lap i!e* affiche un te!ps inter!édiaire et le tour

    2$ lap *) correspondant.

    •  - cha%ue instant l’appui sur $ DESE * re!et le chrono!e" tre a" éro.

    Préparons !aintenant l’interface Si!ulin5  %ui ser&ira pour la si!ulation.

    /ne idée consiste a" séparer les fonctions $ afficher le temps chronométré * et

    $ afficher le temps intermédiaire et le nombre de tours *. #ous aurons par

    consé%uent deux $ (harts * a" construire.

    9’autre part il faut définir les entrées et sorties de cha%ue $ (hart *.

    •  Concernant les entrées du pre!ier < les infor!ations liées aux actions

    sur les 0outons de co!!ande 2Start6Stop Deset) et un signal d’horloge

    pour construire le te!ps chrono!étré.

    •  Concernant les sorties du pre!ier < le te!ps chrono!étré.

  • 8/19/2019 stfl Doc V3

    88/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A?

    •  Concernant les entrées du second < le te!ps chrono!étré l’infor!ation

    $ ;eset  * et l’infor!ation $ +ap 3ime *.

    •  Concernant les sorties du second < le te!ps inter!édiaire le no!0re de

    tours.

    #ous pou&ons snthétiser l’ense!0le dans le ta0leau %ui suit <

  • 8/19/2019 stfl Doc V3

    89/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)AA

    Pour la fonction chrono!étrage

    soit le Chart 1

  • 8/19/2019 stfl Doc V3

    90/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)A

    Le diagra!!e est co!posé des états $ initialisation * $ arret  * et du sous'

    diagra!!e 2$ Subchart *) $ chronométra!e *.

    L’utilisation du $ Subchart * per!et de

    condenser les diagra!!es afin de faciliter

    leur lecture.

    Pour créer un $ Subchart * sélectionner les

    états %ui en feront partie. Clic droit pour

    ou&rir le !enu contextuel puis

    $ Subchart  * <

    •  L’initialisation <

    Lors%ue cet état est acti&é

    l’affichage du chrono!e"tre est

    initialisé ainsi %ue les &aria0les

    %ui seront incré!entées pour la

    déter!ination du te!ps

    chrono!étré.

    •  Les !odes de !arche <

    Les figures ci'dessous reprennentles différents !odes de !arche du

    chrono!e"tre tels %u’ils ont été

    décrits plus haut.

    -ffichage

    aria0les

  • 8/19/2019 stfl Doc V3

    91/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus):

  • 8/19/2019 stfl Doc V3

    92/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1

    Intéressons'nous !aintenant au chrono!étrage <

    Ce 0loc doit per!ettre

    l’affichage du te!ps

    chrono!étré expri!é

    en heures !inutes

    secondes et centie"!es

    de seconde.

    Co!!e nous pou&onsle &oir sur la figure %ui

    suit

    $ chronometra!e *

    est un état co!posé de

    %uatre états paralle"les.

    Chacun de ces états

    per!et le déco!pte

    respecti&e!ent des

    centie"!es de secondedes secondes des

    !inutes et des heures.

  • 8/19/2019 stfl Doc V3

    93/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)+

    Le déco!pte des centie"!es de seconde <

    Lors%ue l’état $ compteurcentièmesec  * est acti&é l’état C=csec est lui aussi acti&é.

    La période du signal d’horloge est de :.:1s et la largeur d’i!pulsion est de @:K de la

    période.

    - cha%ue é&e"ne!ent $ clk  * c’est'a"'dire a" cha%ue front !ontant du signal d’horloge

    2tous les :.:1 s) les transitions 1 et + sont é&aluées. 9’a0ord la transition 1 et ensuite

    la transition +.

    La transition 1 est &alide lors%ue sur un front !ontant du signal d’horloge le no!0re

    de centie"!es de seconde &aut . 9ans ce cas la &aria0le csec est initialisée.

    Sinon a" cha%ue front !ontant du signal d’horloge la &aria0le $ csec * est incré!entée

    d’une unité.

    La sortie $ csecondes * affichée &aut $ csec * a" cha%ue instant %ue dure l’acti&ité de

    l’état $ compteurWcentiemeWsec *.

    ;emarBue E il faut noter %u’ici l’ordre d’é&aluation de la &alidité des deux transitions

    est i!portant. In&erser cet ordre ne conduit pas au résultat attendu. En effet si tel est

    le cas un front !ontant du signal d’horloge sera tou7ours détecté ainsi la transitionde&enue la pre!ie"re sera tou7ours &alide alors %ue la deuxie"!e transition ne le sera

    7a!ais.

  • 8/19/2019 stfl Doc V3

    94/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus),

    Le déco!pte des secondes <

    Pendant le déco!pte des centie"!es de seconde l’état $ attente * est acti&é. 9e"s %ue

    centie"!es de seconde sont affichés l’état $ (sec * est acti&é. Le déco!pte des

    secondes co!!ence. Il se fait de la !e(!e !anie"re %ue pour les centie"!es de seconde

    tout co!!e les déco!ptes des !inutes et des heures.

    #ous a&ons &u co!!ent réaliser le chrono!étrage et afficher le te!ps chrono!étré.

    Ou’en est'il de la fonction

    $ afficher le temps

    intermédiaire et le nombre

    de tours * b

  • 8/19/2019 stfl Doc V3

    95/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)>

    oici une proposition de solution <

    #ous distinguons ici deux états< un état d’initialisation et un état co!posite pour

    l’affichage du te!ps inter!édiaire et du no!0re de tours.

    L’affichage du te!ps inter!édiaire est o0tenu en figeant le te!ps chrono!étré. Pour

    ce faire il suffit de désacti&er l’état $ tempsintermédiaire * lors de l’appui sur la

    touche $ lap *. Se faisant on incré!ente d’une unité la &aria0le $ ? * dont la &aleur

    correspondra au no!0re de tours effectués.

    L’état d’initialisation est acti&é lors de l’appui sur le 0outon $ ;eset  *. - cet instant la

    &aria0le $ ? * &aut éro et l’affichage est initialisé.

    -ffichons !aintenant l’explorateur de !ode" le <

    9’un co( té l’ar0orescence co!ple"te du !ode" le est affichée

  • 8/19/2019 stfl Doc V3

    96/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)@

    9e l’autre l’ense!0le des entrées sorties é&e"ne!ent pour chacun des diagra!!es <

    Ici pour le

    Chart1

  • 8/19/2019 stfl Doc V3

    97/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)B

    Et ci'dessous pour le Chart+

  • 8/19/2019 stfl Doc V3

    98/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)?

    .:.* P=+>3D< /0G?< P+3;M< >M?=/=;??

  • 8/19/2019 stfl Doc V3

    99/162

  • 8/19/2019 stfl Doc V3

    100/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)

    En for!ulant l’hpothe"se de roule!ent

    sans glisse!ent des galets par rapport au

    sol on !ontre %ue le !ode"le in&erse

    s’écrit <

    &2;

     8 8 ?8 8 ?8 8 ? 8 8 ?@ ABCBDE 

    Intéressons'nous !aintenant a" la co!!ande des !oteurs pour différents

    déplace!ent de la platefor!e.

    Co!pte tenu du para!étrage précédent nous affecterons la &aleur 1 a" la &aria0le 8i

    associée a" la rotation d’une roue i lors%ue celle'ci tourne dans le sens direct '1 pour

    une rotation dans le sens indirect et lors%ue la roue est a" l’arre( t.

    -insi la platefor!e a&ancera sui&ant [ si < 81 R 8+ R 8, R 8> R '1

    9’autre part on conside"rera %ue les !oteurs lors%u’ils tournent le font a" la !e(!e

    &itesse.

    L’interface Si!ulin5  se présente de la !anie"re sui&ante

  • 8/19/2019 stfl Doc V3

    101/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1::

    n retrou&e les !ode"les associés au pupitre de co!!ande et a" la co!!ande des

    !oteurs.

    /n dou0le'clic sur le 0loc $ Pupitre de

    commande * ou&re la fene(tre ci'contre<

    La sortie 1 correspond a" la !ise en ser&ice de

    la co!!ande des déplace!ents.

    Les sorties repérées + a" 11 autorisent les dix

    !ou&e!ents possi0les de la platefor!e <

    longitudinaux latéraux diagonaux et de

    rotation.

    En sortie du 0loc $ Plateforme

  • 8/19/2019 stfl Doc V3

    102/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1:1

    Concernant !aintenant la

    co!!ande des !oteurs un

    dou0le'clic sur la 0loc$ Plateforme

  • 8/19/2019 stfl Doc V3

    103/162

  • 8/19/2019 stfl Doc V3

    104/162

  • 8/19/2019 stfl Doc V3

    105/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1:>

    Ensuite &ient le $ (hart  * %ui reprend la structure &ue au chapitre ><

    #ous disposons a" l’entrée du $ (hart  * des trains d’i!pulsions $ impWcos * et

    $ impWsin * %ui &ont per!ettre d’o0tenir en sortie la position angulaire $ SWposW!ros *

    en radians %ui sera con&ertie en degrés. Le codeur déli&re @1+ périodes. /ne i!pulsion

    correspond a" un %uart de période co!!e nous l’a&ons dé7a" &u.

    9’ou" le diagra!!e  <

    n initialise la &aria0le de

    co!ptage $ i *.

    -pre"s détection d’une i!pulsion

    on affiche la rotation en radians

    du rotor du codeur.

    - cha%ue i!pulsion le co!pteur

    est incré!enté d’une unité.

    La si!ulation d’une durée de :.:,s donne les résultats sui&ants <

    3ro!

  • 8/19/2019 stfl Doc V3

    106/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1:@

    Pour une pulsation des signaux

    sinusoT]daux de 1::π  rad6s le

    rotor du codeur a atteint ici une

    position angulaire de ,@1>W.

  • 8/19/2019 stfl Doc V3

    107/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1:B

    Intéressons'nous !aintenant a" la déter!ination de la position fine a" partir de la

    fonction arc'tangente.

    Préparons l’interface Si!ulin5  correspondante<

    Pour afficher la position angulaire fine du rotor du capteur il est nécessaire <

    •  de di&iser le sinus par le cosinus 20loc $ /i&ide * dans la 0i0liothe"%ue , Math

    >perations * de Si!ulin5 ) et d’extraire l’angle a&ec la fonction arc'tangente

    20loc $ atan * dans la 0i0liothe"%ue $ Math >perations * de Si!ulin5 )

    •  de connaT(tre le signe du sinus et du cosinus pour connaitre le %uadrant dans

    le%uel se situe l’angle a" afficher 20loc $ Si!n  * dans la 0i0liothe"%ue $ Math

    >perations * de Si!ulin5 ).

    Le résultat %ue donne la

    fonction $ atan * !et

    claire!ent en é&idence

    son change!ent de

    signe a" cha%ue %uart de

    période des signaux

    d’entrée tous les π6+

    radians. n note aussi

    une discontinuité

    lors%ue le cosinus est

    nul.

    Par consé%uent la

    position fine dépend du

    signe du cosinus et du

    signe du sinus %ui définit

    ainsi le %uadrant d’é&olution de la position angulaire du rotor.

  • 8/19/2019 stfl Doc V3

    108/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1:?

    La sortie du 0loc $ Si!n *&aut 1 si son entrée est positi&e '1 si elle est négati&e sinon

    elle &aut :.

    Pour co!pléter l’interface Si!ulin5 nous

    allons snthétiser les résultats de la

    si!ulation dans un !e(!e $ Scope * en

    utilisant le 0loc $ Mux * <

    L’interface glo0ale aura alors l’allure sui&ante

  • 8/19/2019 stfl Doc V3

    109/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1:A

    L’interface Si!ulin5   !ise en place nous allons tracer le diagra!!e %ui per!et

    d’o0tenir la position fine. Co!!e nous l’a&ons &u précéde!!ent il faut identifier les

    %uatre %uadrants et adapter la position donnée par la fonction arc'tangente pour

    chacun des %uadrants. L’opération consiste a" $ translater * les &aleurs retournées de π 

    ou +π sui&ant le cas.

    /ne solution possi0le est donnée ci'dessous elle fait appel a" une fonction graphi%ue <

    -pportons %uel%ues co!!entaires sur ce diagra!!e <

    Si le sinus et le cosinus sont positifs la position é&olue dans le pre!ier %uadrant et &aut

    la &aleur retournée par le 0loc $ atan * 7us%u’a" ce %ue le cosinus change de signe.

    - l’instant ou" le cosinus change de signe la position é&olue dans le second %uadrant.

    Il faut alors a7outer π a" la &aleur retournée par la fonction arc'tangente 7us%u’a" ce %ue

    le sinus change de signe.

    - l’instant ou" le sinus change de signe la position é&olue dans le troisie"!e %uadrant. Il

    faut alors a7outer π a" la &aleur retournée par la fonction arc'tangente 7us%u’a" ce %ue le

    cosinus change de signe.

    - l’instant ou" le cosinus change de signe la position é&olue dans le %uatrie"!e %uadrant.

    Il faut alors a7outer +π a" la &aleur retournée par la fonction arc'tangente 7us%u’a" ce %ue

    le sinus change de signe.

    Les %uatre %uadrants étant parcourus la &aria0le # est incré!entée d’une unité etc

    Pre!ier %uadrant

    9euxie"!e %uadrant roisie"!e %uadrant

    Ouatrie"!e %uadrant

    3onction graphi%ue

    Initialisation des &aria0les

  • 8/19/2019 stfl Doc V3

    110/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1:

    Pour la si!ulation nous allons choisir un sol&eur $ /iscrete * a" pas &aria0le a&ec un

    pas !axi!al de :.:::1s. Ce sol&eur est adapté lors%ue le passage d’un état a" l’autre

    doit se faire rapide!ent. 9e plus il di!inue le te!ps de calcul de la si!ulation <

    La si!ulation donne les résultats sui&ants <

    Pour cette si!ulation nous disposons entre deux positions grossie"res consécuti&es de

    cin%uante positions fines inter!édiaires.

    Les positions grossie" re et fine du rotor du codeur affichées en degrés sont données

    ci'dessous

  • 8/19/2019 stfl Doc V3

    111/162

  • 8/19/2019 stfl Doc V3

    112/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)111

    Chapitre >

    Le $ Chart 28-EL-G)*

  • 8/19/2019 stfl Doc V3

    113/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)11+

    (hapitre 1 ' Le $ Chart 28-EL-G) *.

    Le $ (hart 2M3+45 * per!et d’utiliser directe!ent la sntaxe 8atla0 dans un état

    ou dans l’éti%uette d’une transition. Il est donc possi0le de progra!!er des structures

    algorith!i%ues de 0ase dans un état.

    1:)* G;

    Deprenons l’exe!ple de la régulation D de la te!pérature d’un four industriel <

    n conside"re un régulateur D a&ec hstérésis.

    #ous a&ions progra!!é la logi%ue de co!!ande en utilisant un $ @low (hart  *

  • 8/19/2019 stfl Doc V3

    114/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)11,

    Le résultat de la si!ulation était celui'ci <

    #ous allons

    reprendre le

    sché!a'0locs et

    re!placer le

    $ (hart  * par un

    $ (hart2M3+45 *.

    Il faut créer l’entrée $ u * et la sortie $ S * du $ (hart2M3+45 *. Pour ce faire lancer

    l’explorateur de !ode"le et les insérer dans le !ode" le

  • 8/19/2019 stfl Doc V3

    115/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)11>

    Deconstruire le sché!a'0locs <

    /n dou0le'clic sur le $ (hart 2M3+4) * per!et de l’ou&rir <

    L’ico(ne 8-L- apparait en

    0as a" gauche de la fene(tre

    indi%uant ainsi la nature du

    $ (hart *.

    n retrou&e les !e(!es o07ets

    graphi%ues %ue ceux utilisés

    pour le tracé d’un diagra!!e

    $ ordinaire *.

    #ous allons créer un état dans le%uel nous allons saisir les lignes de code 8atla0  

    correspondant au co!porte!ent logi%ue du régulateur D a&ec hstérésis.

    9ans le cas précédent nous a&ions utilisé une structure $ =f*elseif' *. #ous allons faire

    de !e(!e ici en respectant la sntaxe 8atla0

  • 8/19/2019 stfl Doc V3

    116/162

  • 8/19/2019 stfl Doc V3

    117/162

  • 8/19/2019 stfl Doc V3

    118/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)11?

    (hapitre # ' La $ State Eransition Ea0le *.

    Intéressons'nous !aintenant a" la ta0le état'transition.

    -pre"s un glissé'déposé un dou0le'clic sur le 0loc , State 3ransition 3able * ou&re la

    fene(tre sui&ante <

    Par défaut la ta0le co!porte deux lignes et trois colonnes. 9ans la pre!ie"re colonne

    sont représentés les états. 9ans la seconde et la troisie"!e seront définies les

    transitions.

    Il est possi0le d’a7outer des lignes et des colonnes en cli%uant sur les ico(nes

  • 8/19/2019 stfl Doc V3

    119/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)11A

    Lors%u’on inse"re une ligne il est possi0le de prendre en co!pte la hiérarchie des états

    insérés <

    /n clic sur l’ico(ne du !enu per!et la &isualisation du diagra!!e tracé.

    Par défaut <

    Exe!ple non pris en co!pte dans

    le tracé du diagra!!e.

  • 8/19/2019 stfl Doc V3

    120/162

  • 8/19/2019 stfl Doc V3

    121/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1+:

    Pour construire un état co!posite il faut introduire des états enfants 2$ (hild State

    ;ow *) <

    Cli%uer sur l’état , et insérer deux états enf ants et les transitions sui&antes <

    Les actions associées aux états se saisissent directe!ent dans les états en utilisant les

    !ots'clés correspondants <

    Etat co!posite !as%ué

  • 8/19/2019 stfl Doc V3

    122/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1+1

    #ous &enons de &oir succincte!ent les principes de 0ase de la construction d’une ta0le

    état'transition.

    Concentrons'nous désor!ais sur l’application %ui suit

    #:)*

  • 8/19/2019 stfl Doc V3

    123/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1++

    Ce codeur posse"de trois &oies < une &oie - et

    une &oie en %uadrature une &oie

    per!ettant le co!ptage des tours du dis%ue.

    La résolution de ce codeur est de @:: points

    par tour.

    L’o07ectif de cette application est de déter!iner la position angulaire du dis%ue en

    fonction des signaux - et reNus. n conside"re %ue ces signaux sont des signaux carrés.

    Le déco!pte du no!0re de tours n’est pas a0ordé ici.

    Préparons l’interface Si!ulin5  <

    Ce !ode"le co!prend les signaux - et en %uadrature des 0locs per!ettant la

    détection des fronts !ontants et descendants sur ces signaux la ta0le état'transition

    un con&ertisseur du no!0re d’i!pulsions en degrés et l’affichage de l’angle de rotationdu dis%ue.

    9éfinition des signaux - et 20loc $ Pulse Denerator * dans le !enu $ Sources * de

    Si!ulin5 )

  • 8/19/2019 stfl Doc V3

    124/162

  • 8/19/2019 stfl Doc V3

    125/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1+>

    Pour la déter!ination de l’angle de rotation du dis%ue on propose le diagra!!e état'

    transition sui&ant <

    Il s’agit de !ettre en place un

    co!pteur en introduisant la

    &aria0le i %ui est incré!entée a" la

    détection d’un front sur - ou .

    /n calcul rapide per!et de&alider la si!ulation. En effet la

    période des signaux étant de :.1 s

    une si!ulation sur 1: s géne"re >

    i!pulsions fois 1:: soit >::

    i!pulsions. En con&ertissant le

    no!0re d’i!pulsions en degrés

    on trou&e une rotation du dis%ue

    %ui &aut +AAW.

    Ce %ue donne 0ien la si!ulation a&ec le diagra!!e précédent

  • 8/19/2019 stfl Doc V3

    126/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1+@

    8et tons !aintenant en place la ta0le état'transition

  • 8/19/2019 stfl Doc V3

    127/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1+B

    La si!ulation donne 0ien le résultat attendu

  • 8/19/2019 stfl Doc V3

    128/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1+?

    Chapitre B

    La $ Eruth Ea0le *

  • 8/19/2019 stfl Doc V3

    129/162

     

    Ph. Hautcoeur Stateflow ®: modélisation et simulation des systèmes discrets (et continus)1+A

    (hapitre $ ' La $ Eruth Ea0le *.

    Si le sste"!e