stateflow - unicalfedele/teaching/stateflow.pdf · sistemi complessi reattivi basati sulla teoria...

Post on 22-Aug-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Stateflow

Potente tool grafico di sviluppo per:

CONTROLLO COMPLESSO

PROBLEMI A LOGICA SUPERVISIONATA

Sistemi complessi reattivibasati sulla teoria delle macchine a stati finiti

Permettono di rappresentare la

“LOGICA DI SALTO”

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

Inizialmente:-Stateflow sta dormendo- On ed Off sono due stati OR- On è attivo

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

L’evento E_one è processato dalla radicegiù attraverso la gerarchia del diagramma:

E_one Si presenta l’evento E_one e sveglia il diagramma Stateflow

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

C’è una transizione valida dallo stato On allo stato Off.

La radice cerca se esiste una transizionevalida come risultato di E_one.

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

Lo stato On è marcato inattivo

L’azione exitOn() dello stato Onè eseguita e completata.

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

L’evento E_one è mandato in broadcastcome AZIONE DELLA TRANSIZIONE.

Questo secondo evento E_one èprocessato, ma poiché nessuno stato èattivo, non ha effetto.

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

Lo stato Off è marcato attivo.L’azione entry dello stato entOff() èeseguita e completata.Il diagramma va a dormire.

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

E_one Si presenta l’evento E_one e sveglia il diagramma Stateflow. Lo stato Off è attivo

C’è una transizione valida dallo stato Off allo stato On.

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

L’azione exitOff() dello stato Off è eseguitae completata.Lo stato Off è marcato inattivo.Lo stato On è marcato attivo.L’azione entOn() è eseguita e completata.Il diagramma va a dormire.

Onentry: entOn()during: durOn()exit: exitOn()

Offentry: entOff()during: durOff()exit: exitOff()

E_one / E_one

E_one

L’evento sveglia lo Stateflow ma nessunatransizione valida è trovata.L’azione durOn() è eseguita e completata.Lo Stateflow va a dormire.

E_two Si presenta l’evento E_two e sveglia il diagramma Stateflow. Lo stato On è attivo

Stati

Decomposizione AND:

quando lo stato A è attivo, allora A1 e A2 sono attivi.

Stati

Lo stato B e C.C1 o C.C2 sono attivi nello stesso istante.

Stati

Transizioni

Transizioni

Transizioni

E L’evento E è mandato in broadcasting

Se la condizione [off_count]==0 è verificata:

1) l’azione off_count++ è immediatamente eseguita;2) l’evento Light_off è mandato in broadcasting;3) la transizione dallo stato On allo stato Off viene effettuata.

Transizioni

Transizioni

Transizioni

Transizioni

Transizioni

Transizioni

Transizioni

Transizioni

Transizioni

if (C1)D

elseif (C2)E

elseF

Transizioni

if (C_one)B

elseif (C_two)C

elseD

Transizioni

if (C1){

Action a1goto B

}else

Action a2

Cambio di una macchina

Cambio di una macchina

Cambio di una macchina

Cambio di una macchina

Quando Lascio_Frizione diventa vero, il sottostato di No_Folle che diventa attivo è quello più recentemente attivato.

Premo il pedale della frizione, poi lo rilascio senza cambiare marcia.

Cambio di una macchina

______Ei=0while(i<10){

i++;func1();

}Goto B----------------------For i=0:9

func1();

Es_FOR1

Es_FOR2

Es_FOR3

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Power switch model

Timer

T=0.1

Timer

Timer

Timer

Timer

Contatore temporizzato

Contatore temporizzato

Contatore temporizzato

Contatore temporizzato

Soglia1

Soglia 1

Soglia 1

Soglia 1

Soglia2

Soglia 2

Soglia 2

Soglia 2

Soglia3

Soglia 3

Soglia 3

Soglia 3

Controllo dinamica 1

Controllo dinamica 1

Controllo dinamica 1

Controllo dinamica 1

Controllo dinamica 2

Controllo dinamica 2

Controllo dinamica 2

Controllo dinamica 2

Contatore modulo 3

Contatore modulo 3

Contatore modulo 3

Contatore modulo 3

Cella di lavoro

Cella di lavoro

Piattaforma 1

Piattaforma 2

Deposito Robot

2 sec.

2 sec.

5 sec.

5 sec.

Cella di lavoro

Cella di lavoro

top related