Transcript

Simulazione di sistemi non lineariIntroduzione a Stateflow

Gianmaria De Tommasi1

1Università degli Studi di Napoli Federico [email protected]

Ottobre 2012Corsi AnsaldoBreda

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 1 / 33

Outline

1 Introduzione

2 Elementi di un grafo Stateflow

3 Ciclo di sviluppo

4 Esempio

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 2 / 33

Introduzione

Stateflow

Stateflowè un tool grafico per la progettazione di sistemi ad eventi(event-driven systems)

utilizza un linguaggio grafico che permette di rappresentaremacchine a stati finiti (automi)

In particolare con un grafo Stateflow (chart) è possibiledefinire gli ingressi e le uscite del sistemaspecificare gli eventi che determinano l’evoluzione dello statospecificare delle azioni associate sia agli stati che alle transizioni(macchina di Moore, macchine di Mealy)definire una relazione gerarchica tra grafiavere più stati che evolvono in parallelo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 3 / 33

Introduzione

Stateflow

Stateflowè un tool grafico per la progettazione di sistemi ad eventi(event-driven systems)utilizza un linguaggio grafico che permette di rappresentaremacchine a stati finiti (automi)

In particolare con un grafo Stateflow (chart) è possibiledefinire gli ingressi e le uscite del sistemaspecificare gli eventi che determinano l’evoluzione dello statospecificare delle azioni associate sia agli stati che alle transizioni(macchina di Moore, macchine di Mealy)definire una relazione gerarchica tra grafiavere più stati che evolvono in parallelo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 3 / 33

Introduzione

Stateflow

Stateflowè un tool grafico per la progettazione di sistemi ad eventi(event-driven systems)utilizza un linguaggio grafico che permette di rappresentaremacchine a stati finiti (automi)

In particolare con un grafo Stateflow (chart) è possibiledefinire gli ingressi e le uscite del sistema

specificare gli eventi che determinano l’evoluzione dello statospecificare delle azioni associate sia agli stati che alle transizioni(macchina di Moore, macchine di Mealy)definire una relazione gerarchica tra grafiavere più stati che evolvono in parallelo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 3 / 33

Introduzione

Stateflow

Stateflowè un tool grafico per la progettazione di sistemi ad eventi(event-driven systems)utilizza un linguaggio grafico che permette di rappresentaremacchine a stati finiti (automi)

In particolare con un grafo Stateflow (chart) è possibiledefinire gli ingressi e le uscite del sistemaspecificare gli eventi che determinano l’evoluzione dello stato

specificare delle azioni associate sia agli stati che alle transizioni(macchina di Moore, macchine di Mealy)definire una relazione gerarchica tra grafiavere più stati che evolvono in parallelo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 3 / 33

Introduzione

Stateflow

Stateflowè un tool grafico per la progettazione di sistemi ad eventi(event-driven systems)utilizza un linguaggio grafico che permette di rappresentaremacchine a stati finiti (automi)

In particolare con un grafo Stateflow (chart) è possibiledefinire gli ingressi e le uscite del sistemaspecificare gli eventi che determinano l’evoluzione dello statospecificare delle azioni associate sia agli stati che alle transizioni(macchina di Moore, macchine di Mealy)

definire una relazione gerarchica tra grafiavere più stati che evolvono in parallelo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 3 / 33

Introduzione

Stateflow

Stateflowè un tool grafico per la progettazione di sistemi ad eventi(event-driven systems)utilizza un linguaggio grafico che permette di rappresentaremacchine a stati finiti (automi)

In particolare con un grafo Stateflow (chart) è possibiledefinire gli ingressi e le uscite del sistemaspecificare gli eventi che determinano l’evoluzione dello statospecificare delle azioni associate sia agli stati che alle transizioni(macchina di Moore, macchine di Mealy)definire una relazione gerarchica tra grafi

avere più stati che evolvono in parallelo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 3 / 33

Introduzione

Stateflow

Stateflowè un tool grafico per la progettazione di sistemi ad eventi(event-driven systems)utilizza un linguaggio grafico che permette di rappresentaremacchine a stati finiti (automi)

In particolare con un grafo Stateflow (chart) è possibiledefinire gli ingressi e le uscite del sistemaspecificare gli eventi che determinano l’evoluzione dello statospecificare delle azioni associate sia agli stati che alle transizioni(macchina di Moore, macchine di Mealy)definire una relazione gerarchica tra grafiavere più stati che evolvono in parallelo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 3 / 33

Introduzione

Stateflow & Simulink

I grafi Stateflow (chart) vengono richiamati come blocchiall’interno di uno schema Simulink

I collegamenti tra un blocco Stateflow e altri blocchi si effettuaattraverso gli ingressi e le usciteLo sviluppo dei grafi Stateflow può essere fattoindipendentemente da SimulinkL’editor di Stateflow comprende anche un debugger, con il quale èpossibile simulare il funzionamento del grafo prima di integrarlo unSimulinkDurante la simulazione è possibile animare il grafo per seguirnel’evoluzione

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 4 / 33

Introduzione

Stateflow & Simulink

I grafi Stateflow (chart) vengono richiamati come blocchiall’interno di uno schema SimulinkI collegamenti tra un blocco Stateflow e altri blocchi si effettuaattraverso gli ingressi e le uscite

Lo sviluppo dei grafi Stateflow può essere fattoindipendentemente da SimulinkL’editor di Stateflow comprende anche un debugger, con il quale èpossibile simulare il funzionamento del grafo prima di integrarlo unSimulinkDurante la simulazione è possibile animare il grafo per seguirnel’evoluzione

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 4 / 33

Introduzione

Stateflow & Simulink

I grafi Stateflow (chart) vengono richiamati come blocchiall’interno di uno schema SimulinkI collegamenti tra un blocco Stateflow e altri blocchi si effettuaattraverso gli ingressi e le usciteLo sviluppo dei grafi Stateflow può essere fattoindipendentemente da Simulink

L’editor di Stateflow comprende anche un debugger, con il quale èpossibile simulare il funzionamento del grafo prima di integrarlo unSimulinkDurante la simulazione è possibile animare il grafo per seguirnel’evoluzione

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 4 / 33

Introduzione

Stateflow & Simulink

I grafi Stateflow (chart) vengono richiamati come blocchiall’interno di uno schema SimulinkI collegamenti tra un blocco Stateflow e altri blocchi si effettuaattraverso gli ingressi e le usciteLo sviluppo dei grafi Stateflow può essere fattoindipendentemente da SimulinkL’editor di Stateflow comprende anche un debugger, con il quale èpossibile simulare il funzionamento del grafo prima di integrarlo unSimulink

Durante la simulazione è possibile animare il grafo per seguirnel’evoluzione

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 4 / 33

Introduzione

Stateflow & Simulink

I grafi Stateflow (chart) vengono richiamati come blocchiall’interno di uno schema SimulinkI collegamenti tra un blocco Stateflow e altri blocchi si effettuaattraverso gli ingressi e le usciteLo sviluppo dei grafi Stateflow può essere fattoindipendentemente da SimulinkL’editor di Stateflow comprende anche un debugger, con il quale èpossibile simulare il funzionamento del grafo prima di integrarlo unSimulinkDurante la simulazione è possibile animare il grafo per seguirnel’evoluzione

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 4 / 33

Introduzione

Il blocco Chart di Stateflow

Per inserire un grafoStateflow in unoschema Simulink sideve utilizzare il bloccoChart contenuto nellalibreria Stateflow diSimulink

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 5 / 33

Elementi di un grafo Stateflow

Exclusive state (OR state)

OR state

Rappresentano stati mutuamente esclusivi. In un grafo Stateflow nonci possono essere due o più OR state attivi nello stesso istante.

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 6 / 33

Elementi di un grafo Stateflow

Parallel state (AND state)

AND state

Rappresentano stati di un grafo Stateflow che possono essere eseguiticontemporaneamente (in parallelo).

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 7 / 33

Elementi di un grafo Stateflow

Transizioni

Transizioni

Collegano gli stati tra di loro.

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 8 / 33

Elementi di un grafo Stateflow

Transizioni di default

Transizioni di default

Specifica l’OR state attivo per default.

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 9 / 33

Elementi di un grafo Stateflow

Azioni, Condizioni ed Eventi

AzioniAzioni eseguite in base al particolare stato di attivazione di uno stato

CondizioniEspressioni booleane associate alle transizioni che ne determinanol’attivazione (scatto)

EventiCondizioni che determinano la partenza di particolari attività associateal grafo Stateflow

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 10 / 33

Elementi di un grafo Stateflow

Azioni, Condizioni ed Eventi

AzioniAzioni eseguite in base al particolare stato di attivazione di uno stato

CondizioniEspressioni booleane associate alle transizioni che ne determinanol’attivazione (scatto)

EventiCondizioni che determinano la partenza di particolari attività associateal grafo Stateflow

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 10 / 33

Elementi di un grafo Stateflow

Azioni, Condizioni ed Eventi

AzioniAzioni eseguite in base al particolare stato di attivazione di uno stato

CondizioniEspressioni booleane associate alle transizioni che ne determinanol’attivazione (scatto)

EventiCondizioni che determinano la partenza di particolari attività associateal grafo Stateflow

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 10 / 33

Ciclo di sviluppo

Ciclo di sviluppo di un grafo Stateflow

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 11 / 33

Esempio

Sistema di condizionamento dell’aria

Costruiremo un grafo Stateflow che mantiene la temperatura in unimpianto industriale a 27o.

Il controllore gestisce due ventole.La prima viene accesa se la temperatura supera i 27◦.La seconda ventola addizionale viene accesa se la temperaturasupera i 30◦.

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 12 / 33

Esempio

Sistema di condizionamento dell’aria

Costruiremo un grafo Stateflow che mantiene la temperatura in unimpianto industriale a 27o.Il controllore gestisce due ventole.

La prima viene accesa se la temperatura supera i 27◦.La seconda ventola addizionale viene accesa se la temperaturasupera i 30◦.

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 12 / 33

Esempio

Sistema di condizionamento dell’aria

Costruiremo un grafo Stateflow che mantiene la temperatura in unimpianto industriale a 27o.Il controllore gestisce due ventole.La prima viene accesa se la temperatura supera i 27◦.

La seconda ventola addizionale viene accesa se la temperaturasupera i 30◦.

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 12 / 33

Esempio

Sistema di condizionamento dell’aria

Costruiremo un grafo Stateflow che mantiene la temperatura in unimpianto industriale a 27o.Il controllore gestisce due ventole.La prima viene accesa se la temperatura supera i 27◦.La seconda ventola addizionale viene accesa se la temperaturasupera i 30◦.

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 12 / 33

Esempio

Impianto

Modello matematico

T = KT (Text − T ) + Kcool(Text − T )

con KT = 0.7. Kcool = −0.5 se la prima ventola è accessa eKcool = −1 se entrambe le ventole sono accese.

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 13 / 33

Esempio

Sottosistema Impianto Industriale

Selezionare lo schema Simulink dell’impanto e creare un sottosistemautilizzando il menù Create subsystem

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 14 / 33

Esempio

Definizione dell’interfaccia con Simulink

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 15 / 33

Esempio

Variabili di interfaccia con Simulink

Variabile d’ingresso − > Temperatura T

Add -> Data -> Input from Simulink

Variabile d’uscita − > KcoolAdd -> Data -> Output to Simulink

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 16 / 33

Esempio

Variabili di interfaccia con Simulink

Variabile d’ingresso − > Temperatura TAdd -> Data -> Input from Simulink

Variabile d’uscita − > KcoolAdd -> Data -> Output to Simulink

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 16 / 33

Esempio

Variabili di interfaccia con Simulink

Variabile d’ingresso − > Temperatura TAdd -> Data -> Input from Simulink

Variabile d’uscita − > Kcool

Add -> Data -> Output to Simulink

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 16 / 33

Esempio

Variabili di interfaccia con Simulink

Variabile d’ingresso − > Temperatura TAdd -> Data -> Input from Simulink

Variabile d’uscita − > KcoolAdd -> Data -> Output to Simulink

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 16 / 33

Esempio

Definizione degli stati del grafo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 17 / 33

Esempio

Definizione degli stati del grafo

Definire gli stati esclusivi (drag and drop)

Definire gli stati paralleli (Decomposition -> Parallel(AND) + drag and drop)Definire gli stati esclusivi all’interno degli stati paralleli(Decomposition -> Exclusive (OR) + drag and drop)

Ordinamento esplicito dell’esecuzione degli stati paralleliNel menù File -> Chart properties selezionare Userspecified state/transition execution order.Assegnare gli ordini con il tasto destro Execution Order

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 18 / 33

Esempio

Definizione degli stati del grafo

Definire gli stati esclusivi (drag and drop)Definire gli stati paralleli (Decomposition -> Parallel(AND) + drag and drop)

Definire gli stati esclusivi all’interno degli stati paralleli(Decomposition -> Exclusive (OR) + drag and drop)

Ordinamento esplicito dell’esecuzione degli stati paralleliNel menù File -> Chart properties selezionare Userspecified state/transition execution order.Assegnare gli ordini con il tasto destro Execution Order

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 18 / 33

Esempio

Definizione degli stati del grafo

Definire gli stati esclusivi (drag and drop)Definire gli stati paralleli (Decomposition -> Parallel(AND) + drag and drop)Definire gli stati esclusivi all’interno degli stati paralleli(Decomposition -> Exclusive (OR) + drag and drop)

Ordinamento esplicito dell’esecuzione degli stati paralleliNel menù File -> Chart properties selezionare Userspecified state/transition execution order.Assegnare gli ordini con il tasto destro Execution Order

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 18 / 33

Esempio

Definizione degli stati del grafo

Definire gli stati esclusivi (drag and drop)Definire gli stati paralleli (Decomposition -> Parallel(AND) + drag and drop)Definire gli stati esclusivi all’interno degli stati paralleli(Decomposition -> Exclusive (OR) + drag and drop)

Ordinamento esplicito dell’esecuzione degli stati paralleliNel menù File -> Chart properties selezionare Userspecified state/transition execution order.

Assegnare gli ordini con il tasto destro Execution Order

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 18 / 33

Esempio

Definizione degli stati del grafo

Definire gli stati esclusivi (drag and drop)Definire gli stati paralleli (Decomposition -> Parallel(AND) + drag and drop)Definire gli stati esclusivi all’interno degli stati paralleli(Decomposition -> Exclusive (OR) + drag and drop)

Ordinamento esplicito dell’esecuzione degli stati paralleliNel menù File -> Chart properties selezionare Userspecified state/transition execution order.Assegnare gli ordini con il tasto destro Execution Order

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 18 / 33

Esempio

Grafo Stateflow

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 19 / 33

Esempio

Azioni e delle varaibili associate agli stati

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 20 / 33

Esempio

Tipi di azioni associabili agli stati

entry - eseguita quando si entra in uno stato - eseguita una solavolta

during - eseguita quando uno stato è attivo - eseguita ad ognipasso di simulazioneexit - prima di uscire da uno stato - eseguita una sola volta

La funzione in

La funzione in(nome_stato) restituisce true (1) se nome_stato èattivo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 21 / 33

Esempio

Tipi di azioni associabili agli stati

entry - eseguita quando si entra in uno stato - eseguita una solavoltaduring - eseguita quando uno stato è attivo - eseguita ad ognipasso di simulazione

exit - prima di uscire da uno stato - eseguita una sola volta

La funzione in

La funzione in(nome_stato) restituisce true (1) se nome_stato èattivo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 21 / 33

Esempio

Tipi di azioni associabili agli stati

entry - eseguita quando si entra in uno stato - eseguita una solavoltaduring - eseguita quando uno stato è attivo - eseguita ad ognipasso di simulazioneexit - prima di uscire da uno stato - eseguita una sola volta

La funzione in

La funzione in(nome_stato) restituisce true (1) se nome_stato èattivo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 21 / 33

Esempio

Tipi di azioni associabili agli stati

entry - eseguita quando si entra in uno stato - eseguita una solavoltaduring - eseguita quando uno stato è attivo - eseguita ad ognipasso di simulazioneexit - prima di uscire da uno stato - eseguita una sola volta

La funzione in

La funzione in(nome_stato) restituisce true (1) se nome_stato èattivo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 21 / 33

Esempio

Grafo Stateflow

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 22 / 33

Esempio

Definizione delle transizioni tra gli stati

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 23 / 33

Esempio

Definizione delle transizioni

Utilizzando l’editor grafico (drag and drop)Definire le transizioni tra i vari stati esclusivi (OR-state)

Definire la transizione di default verso lo stato iniziale per ognigruppo di OR-state inclusi in un AND-state

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 24 / 33

Esempio

Definizione delle transizioni

Utilizzando l’editor grafico (drag and drop)Definire le transizioni tra i vari stati esclusivi (OR-state)Definire la transizione di default verso lo stato iniziale per ognigruppo di OR-state inclusi in un AND-state

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 24 / 33

Esempio

Condizioni sulle transizioni

Ad ogni transizione deve essere associata una condizionebooleana

Se la condizione dipende dalle variabili d’interfaccia con Simulinkla sintasi da utilizzare è [condizione]

Se la condizione dipende da un evento esternodefinire l’evento dal menù Add -> Event -> Input fromSimulinkutilizzare la sintassi nome_evento

Definire l’evento ON_OFF - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 25 / 33

Esempio

Condizioni sulle transizioni

Ad ogni transizione deve essere associata una condizionebooleanaSe la condizione dipende dalle variabili d’interfaccia con Simulinkla sintasi da utilizzare è [condizione]

Se la condizione dipende da un evento esternodefinire l’evento dal menù Add -> Event -> Input fromSimulinkutilizzare la sintassi nome_evento

Definire l’evento ON_OFF - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 25 / 33

Esempio

Condizioni sulle transizioni

Ad ogni transizione deve essere associata una condizionebooleanaSe la condizione dipende dalle variabili d’interfaccia con Simulinkla sintasi da utilizzare è [condizione]

Se la condizione dipende da un evento esternodefinire l’evento dal menù Add -> Event -> Input fromSimulinkutilizzare la sintassi nome_evento

Definire l’evento ON_OFF - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 25 / 33

Esempio

Condizioni sulle transizioni

Ad ogni transizione deve essere associata una condizionebooleanaSe la condizione dipende dalle variabili d’interfaccia con Simulinkla sintasi da utilizzare è [condizione]

Se la condizione dipende da un evento esternodefinire l’evento dal menù Add -> Event -> Input fromSimulinkutilizzare la sintassi nome_evento

Definire l’evento ON_OFF - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 25 / 33

Esempio

Grafo Stateflow

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 26 / 33

Esempio

Scelta dell’evento di trigger per il grafo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 27 / 33

Esempio

Eventi di trigger di un grafo Stateflow

Durante una simulazione Simulink esegue un grafo Stateflowcon un passo di campionamento fisso definito dall’utente

quando si verifica un particolare evento di triggerutilizzando un segnale di comando proveniente da un altro grafoStateflow

Quindi gli eventi di trigger vengono utilizzati per definire quando ungrafo Stateflow deve essere eseguito durante la simulazione.Definire l’evento CLOCK - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 28 / 33

Esempio

Eventi di trigger di un grafo Stateflow

Durante una simulazione Simulink esegue un grafo Stateflowcon un passo di campionamento fisso definito dall’utentequando si verifica un particolare evento di trigger

utilizzando un segnale di comando proveniente da un altro grafoStateflow

Quindi gli eventi di trigger vengono utilizzati per definire quando ungrafo Stateflow deve essere eseguito durante la simulazione.Definire l’evento CLOCK - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 28 / 33

Esempio

Eventi di trigger di un grafo Stateflow

Durante una simulazione Simulink esegue un grafo Stateflowcon un passo di campionamento fisso definito dall’utentequando si verifica un particolare evento di triggerutilizzando un segnale di comando proveniente da un altro grafoStateflow

Quindi gli eventi di trigger vengono utilizzati per definire quando ungrafo Stateflow deve essere eseguito durante la simulazione.Definire l’evento CLOCK - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 28 / 33

Esempio

Eventi di trigger di un grafo Stateflow

Durante una simulazione Simulink esegue un grafo Stateflowcon un passo di campionamento fisso definito dall’utentequando si verifica un particolare evento di triggerutilizzando un segnale di comando proveniente da un altro grafoStateflow

Quindi gli eventi di trigger vengono utilizzati per definire quando ungrafo Stateflow deve essere eseguito durante la simulazione.

Definire l’evento CLOCK - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 28 / 33

Esempio

Eventi di trigger di un grafo Stateflow

Durante una simulazione Simulink esegue un grafo Stateflowcon un passo di campionamento fisso definito dall’utentequando si verifica un particolare evento di triggerutilizzando un segnale di comando proveniente da un altro grafoStateflow

Quindi gli eventi di trigger vengono utilizzati per definire quando ungrafo Stateflow deve essere eseguito durante la simulazione.Definire l’evento CLOCK - Selezionare Trigger: Either

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 28 / 33

Esempio

Creazione degli eventi ON_OFF e CLOCK - 1

Aggiungere un blocco Sources − > Signal Builder nelloschema Simulink

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 29 / 33

Esempio

Creazione degli eventi ON_OFF e CLOCK - 2

Definire il segnale di trigger CLOCK come un onda quadra confrequenza 10 Hz, ampiezza 1, offset 1 e duty cycle 50 %.Definire l’evento ON_OFF come in figura

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 30 / 33

Esempio

Simulazione del grafo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 31 / 33

Esempio

Simulazione

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 32 / 33

Esempio

Debug del grafo

G. De Tommasi (UNINA) Introduzione a Stateflow Napoli - Ottobre 2012 33 / 33