Upload
truongnhi
View
214
Download
0
Embed Size (px)
Citation preview
Corso di Sistemi RT
Prof. Davide Brugali
Università degli Studi di Bergamo
Sistemi di controllo
Time-driven e Event-driven
State Charts in UML
State chart Diagrams
Specifiche del problema
4
Si progetti il sistema di regolazione automatica della velocità di un’autovettura. Il conducente interagisce con il sistema usando tre dispositivi:
leva di regolazione,
freno,
acceleratore.
Il sistema interagisce con il motore attraverso due dispositivi:
encoder che rileva la velocità dell’albero motore
Iniettore di benzina che varia la velocità del motore
Le condizioni iniziali di funzionamento del sistema di regolazione prevedono che:
il conducente abbia acceso il motore
il conducente stia usando l’auto manualmente
Specifiche del problema
5
Successivamente il conducente interagisce con il sistema di controllo secondo le seguenti modalità:M1: il conducente sposta la leva su ACCEL mantenendola in quella
posizione. Il sistema inizia l’accelerazione automatica e l’auto accelera
M2: il conducente rilascia la leva per mantenere la velocità raggiunta. Il sistema smette di accelerare e mantiene la velocità raggiunta dell’auto, che viene memorizzata per riferimenti futuri.
M3: il conducente usa il freno per disabilitare il sistema di guida automatico. L’auto è sotto il controllo manuale
M4: il conducente sposta la leva sulla posizione di RESUME per ripristinare il sistema di guida. Il sistema inizia una accelerazione (o decelerazione) per raggiungere la velocità precedentemente memorizzata
M5: quando la velocità memorizzata viene raggiunta questa viene mantenuta dal sistema
M6: il conducente sposta la leva sulla posizione OFF. Il sistema disabilita il controllo automatico e l’auto è sotto il controllo manuale
M7: il conducente ferma l’auto e spegne il motore
Eventi scambiati con l’ambiente esterno
6
Input del conducente e reazioni del sistema
Leva
evento Accel causa accelerazione automatica se non viene premuto il freno
evento Cruise attiva il sistema di controllo e può solo seguire evento Accel
evento Resume deve essere preceduto da disabilitazione del sistema di
controllo e memorizzazione della velocità raggiunta
evento Off disabilita sempre il sistema di controllo
Freno
evento Brake Pressed disabilita il sistema di guida automatico. Il controllo
automatico del veicolo non è possibile mentre il freno è premuto. Dopo aver
rilasciato il freno il controllo automatico può essere ripristinato
Motore
evento Engine On azzera la velocità desiderata
evento Engine Off disabilita ogni attività del sistema
Cruise Control statechart
Idle
Cruising OffInitial
Accelerating
Do/Increase Speed
Exit/Select Desired Speed
Resuming
Do/Resume Cruising
Cruising
Do/Maintain Speed
Engine On
Engine Off
Engine Running
Accel [Brake Off]
Automated Control
Accel
AccelCruise Reached Cruising
Off
Brake Pressed
Off
Resume [Brake Off]
Accel [Brake Off]
Statechart
7
Condizioni
definiscono un aspetto del sistema che puo` essere vero o falso in un certo momento
sono associate agli events
Notazione
event [condition]
8
Evento ``Timer``
evento speciale che specifica un evento dopo un certo intervallo di tempo
Notazione
after (elapsed time)
after (10 seconds)
9
Esempio di Condizioni
ATM partial statechart
10
Azioni
Computazione eseguita come risultato di una
transizione
Eseguita istantaneamente durante la transizione
Notazione
event/action
11
Esempio di Azioni
ATM partial statechart
12
Azioni Entry
Azione eseguita tutte le volte che si entra in uno stato
Eseguita prima di qualsiasi attività interna
Si usa se c`è più di una transizione che va in uno stato
Notazione
entry/action
13
Esempio di azioni entry
ATM partial statechart
14
Azione Exit
Azione eseguita tutte le volte che si esce da uno stato
Eseguita solo dopo il completamento di tutte le attivita`interne
Si usa se c`è più di una transizione che lascia uno stato
Notazione
exit/action
15
Esempio di azione exit
Cruise Control partial statechart
16
Attività
Sono computazioni eseguite per tutta la
durata di uno stato
Sono abilitate all`entrata in uno stato e
disabilitate all`uscita di uno stato
Notazioni
event/enable activity
event/disable activity
do/activity
17
Cruise Control statechart
18
Linee guida per sviluppo di statecharts
Nome dello stato deve riflettere un
intervallo di tempo reale
Nome dello stato unico
Deve essere possibile uscire da ogni
stato
STATI
19
Linee guida per sviluppo di statecharts
Non confondere evento (causa) con
azione (effetto)
Nomi di eventi e azioni non ambigui
Condizioni sugli eventi hanno valore
booleano
Azioni e condizioni sono opzionali: da
usare solo se necessario
AZIONI EVENTI
20
Confezionamento cioccolatini
Confezionamento cioccolatini Il sistema di confezionamento cioccolatini è composto
da un nastro trasportatore azionato da un motore, una
telecamera posta verticalmente sopra il nastro, un
pistone per rimuovere i cioccolatini dal nastro e
depositarli nella confezione aperta e un pistone per
sostituire la confezione piena con una vuota.
Sul nastro trasportatore vengono depositati (a sinistra
nell’immagine) due tipi di cioccolatini (uno alla volta):
FR : Ferrero Rocher
PC : Pocket Coffee
I cioccolatini arrivano in ordine casuale.
Ogni confezione deve contenere due cioccolatini di tipo
FR e un cioccolatino di tipo PC. Viene riempita una
confezione alla volta.
Confezionamento cioccolatini Il nastro trasportatore è un sottosistema regolato che
mantiene la velocità costante. Quando un cioccolatino entra nel campo visivo della telecamera posta sopra il nastro, il sistema di confezionamento riconosce di che tipo è il cioccolatino. Se il cioccolatino rispetta una delle sequenze possibili (es. FR FR PC) viene azionato il pistone che lo deposita nella confezione aperta. Se invece il cioccolatino non rispetta una delle sequenze possibili (es. FR PC PC) viene lasciato sul nastro trasportatore.
Quando una confezione è completa, viene rimossa e sostituita con una vuota.
Nello stato iniziale il nastro trasportatore è in movimento ma non ci sono cioccolatini; la confezione aperta non contiene cioccolatini.
SCADA
SCADA
Si consideri un sistema di Supervisione, Controllo e
Acquisizione Dati (SCADA) per il controllo di una cella di
verniciatura. La cella di verniciatura è composta da tre
serbatoi (Tank) di vernice (rosso, verde e blu) e da un
serbatoio di mescola (Mixer) delle vernici come
mostrato nella figura seguente.
Ogni serbatoio di colore è collegato a una pompa che
fornisce la vernice per riempire il serbatoio. Ogni
serbatorio ha una valvola che regola il flusso di vernice
dal serbatoio di colore al serbatoio di mescola.
Quando un serbatoio diventa pieno, la pompa di
ingresso viene chiusa dal controllore. Parimenti, quando
un serbatoio diventa vuoto la valvola di uscita viene
chiusa dal controllore.
SCADA
Il serbatoio di mescola ha la pompa di verniciatura (Spray) che viene aperta e chiusa dal controllore quando l’operatore aziona o rilascia la leva sulla pistola di verniciatura. Quando il serbatoio di mescola diventa vuoto la pompa di verniciatura viene chiusa dal controllore. Quando il serbatoio di mescola diventa pieno le valvole dei serbatoi di colore vengono chiuse dal controllore. Quando il serbatoio di mescola non è vuoto, la pistol Spray può essere azionata.
Tutti i serbatoi hanno un sensore che misura il livello corrente di vernice.
All’avvio del sistema tutti i serbatoi sono vuoti e le pompe che forniscono la vernice ai serbatoi di colore vengono attivate dal controllore.