Documente Academic
Documente Profesional
Documente Cultură
Din punct de vedere al sistemelor, este clar c nainte de a parcurge aceti pai, trebuie
s se tie : ce funcii se doresc a se descrie i ce funcii sunt mai potrivite pentru a descrie
folosind blocuri Simulink obinuite, i care pri sunt mai bine descrise folosind Stateflow .
Definirea interfeei cu Simulink - presupune determinarea modului n care diagrama
Stateflow este conectat cu alte pri ale modelului Simulink. n aceast etap se pot defini
intrri ce provin de la Simulink i ieirile diagramei.
Stateflow
de
diagram
unic
(Stateflow
diagrama).
Fiecare
masina Stateflow are ierarhie obiect propriu. Maina de Stateflow este cel mai nalt nivel n
ierarhia Stateflow.
Definirea strilor Stateflow permite definirea strilor ierarhice. n plus strile pot fi
definite ca i stri de tipul OR (secveniale) sau de tipul AND (paralele) .
Definirea aciunilor strii i variabilelor aciunile pot fi definite s se produc la
intrarea ntr-o stare, la ieirea dintr-o stare, sau atunci cnd o stare este activ. Pot fi definite
variabilele pentru stri, acestea putnd fi temporale sau permanente
Definirea tranziiilor dintre stri tranziiile creeaz ci pentru fluxul logic al
sistemului de la o stare la alta. Cnd o tranziie este realizat de la o stare A la o stare B,
starea A devine inactiv, iar starea B devine activ. Tranziiile sunt direcionate i sunt
reprezentate n diagrama Stateflow prin sgei. Este necesar adugarea unei tranzi ii pentru
fiecare direcie ntre dou stri. Protejarea unei tranziii nseamn specificarea condi iilor,
aciunilor sau evenimentelor ce permit ca o tranziie ntre dou stri s aib loc.
Declanarea diagramei Stateflow Simulink poate trezi o diagram prin
eantionarea diagramei la o perioad specific sau motenit, prin utilizarea unui semnal de
declanare (trigger), sau prin utilizarea unei diagrame Stateflow ce conduce o activitate a
alteia.
Simularea diagramei diferena esenial fa de o simulare obinuit n Simulink
este posibilitatea de setare a utilizrii debugger-ului Stateflow.
diagram rdcin. n figura 1, Starea A1 este un copil al strii A. O stare poate avea istoria
activitii sale nregistrat n history junction.
ON
Se pot folosi dou tipuri de stri: exclusive (OR) i paralele (AND).
OFF
Un comutator poate fi n setat ON sau OFF. Doar una dintre cele dou stri poate fi
activ la un anumit moment de timp.
O diagram cu stri paralele conine una sau mai multe stri ce pot fi active n acelai
timp. Strile paralele sunt reprezentate prin dreptunghiuri cu linie punctat. Activitatea
fiecrei stri paralele este independent de a celorlalte stri.
De exemplu, transmisia, sistemul de nclzire i sistemul de iluminare sunt subsisteme
paralele la o main. Activitatea lor este independent la acelai moment de timp.
la obiectul destinaie. O tranziie are loc dac: starea surs este activ, toate condiiile pentru
tranziie sunt adevrate i un eveniment asociat are loc. Cnd un eveniment nu este asociat cu
tranziia, aceasta se va produce la apariia oricrui eveniment. Tranziiile de tip default
precizeaz, n cazul n care o stare devine activ i conine dou sau mai multe substri de tip
OR, care dintre aceste stri devine activ. Aceast tranziie nu are obiect surs.
O tranziie este descris printr-o etichet de forma:
event[condition]{condition_action}/transition action
Fiecare dintre elemente este opional. Semnificaiile se prezint n continuare:
-event, reprezint numele unui eveniment, care cauzeaz tranziia, dac condiia (dac exist)
este adevarat; dac evenimentul lipsete din denumire, tranziia va avea loc la apariia
oricrui eveniment;
-condition, reprezint o expresie boolean, care dac este adevarat face ca tranziia s aibe
loc; se scrie ntre paranteze ptrate [ ];
-condition action (aciunea condiiei), este executat de ndat ce condiia, dac exist, este
determinat ca adevarat, iar starea surs a tranziiei este nc activ (nainte ca tranziia
destinaie s fie determinat ca valid); dac nu exist condiie, condiia este implicit evaluat
ca adevarat; se scrie ntre paranteze acolade { }; aciunea condiiei se execut n condiiile
precizate i dac face parte din denumirea unei tranziii ntre o stare i o jonciune (punct de
ramificaie);
-transition action (aciunea tranziiei) este executat dup ce tranziia este determinat ca
valid (dac se emite evenimentul specificat, iar condiia este adevarat); momentul execuiei
este dup ce starea surs a devenit inactiv, iar starea destinaie nu este nc activ; este
precedat de caracterul /; n cazul unei tranziii care conine jonciuni, aciunea tranziiei este
efectuat doar cnd i tranziia de la jonciune la starea destinaie este valid;
3. Evenimentele sunt semnale de intrare sau semnale locale ce foreaz tranziiile s
se produc.
Evenimentele comand execuia diagramei Stateflow. Toate evenimentele care
afecteaz diagrama Stateflow trebuie definite. n urma definirii rezult i printele
evenimentului care poate fi maina, diagrama Stateflow sau o stare. Evenimentul este apoi
recunoscut n cadrul ierarhiei, se propag ncepnd cu nivelul pe care este printele, ctre
nivelele inferioare.
9
sunt declaraii Matlab asociate cu stri sau tranziii. Aciunile strii sunt
executate cnd o stare devine activ, este activ sau devine inactiv, n funcie de tipul
aciunii (aciuni de tipul entry, during sau exit). De exemplu:
10
O diagram Stateflow suport aciunii ale strii, aciuni ale tranziiilor i aciuni ale
condiiilor.
Jonciunile de conectare sunt punctele de decizie din sistem. O jonciune de
conectare este un obiect grafic ce simplific reprezentarea hrii Stateflow i faciliteaz
generarea unui cod eficient. Jonciunea de conectare asigur o metod alternativ pentru
reprezentarea comportamentului dorit al sistemului. Tranziiile conectate la jonciuni sunt
numite segmente de tranziie. Tranziiile, n afara tranziiilor implicite, trebuie s mearg din
stare n stare.
11
Evenimente i date
Interfaa cu Simulink-ul conine conexiunea fizic ntre blocul (blocurile) Simulink i
diagrama Stateflow precum i evenimentele i datele schimbate ntre diagrama Stateflow i
blocurile Simulink.
Pentru a realiza aceast interfa trebuie definit modul de stimulare a diagramei
precum i evenimentele i datele nelocale n diagrama Stateflow.
Evenimente
Caracteristica numit scope a evenimentelor permite alegerea unuia din urmtoarele
trei tipuri de evenimente:
Evenimentele locale pot fi definite oriunde n maina (sau mai jos) dar sunt vizibile
numai n printe i n descendeni.
12
-edges (pe front); n acest caz blocul receptor este ntiinat la nceputul urmtorului pas de
simulare de apariia evenimentului; execuia blocului comandat are loc doar dupa ce n
diagrama Stateflow s-au ncheiat aciunile legate de execuia evenimentului curent;
n concluzie, se poate spune c la portul corespunztor unui eveniment de ieire nu
este propriuzis un semnal ca i la cele de intrare. Exist o legatur, iar caracteristica trigger
type stabilete modul (momentul) cnd blocul comandat va executa .
Date
O main poate memora sau salva datele care exist n propriul spaiu de lucru. Poate
accesa i date externe, din modelul Simulink sau din aplicaii care nglobeaz maina
respectiv.
Printele datei stabilete obiectul de unde se pot accesa datele (de asemenea, i
descendenii acelui obiect pot accesa datele respective).
Ca i la evenimente caracteristica scope stabilete de unde provin datele, avnd
variantele:
-date locale, care provin i sunt accesibile numai n maina, diagrama Stateflow sau starea
respectiv;
-date de intrare (Input from Simulink), sunt accesibile n diagrama Stateflow i provin dintrun bloc Simulink sau Stateflow care face parte din modelul Simulink; pentru fiecare dat de
intrare definit, Stateflow ataeaza diagramei un port de intrare situat pe latura din stnga a
diagramei;
-date de ieire (Output to Simulink), provin din diagrama Stateflow i sunt accesibile n alt
bloc al modelului Simulink (Simulink sau Stateflow); pentru fiecare dat de ieire definit,
Stateflow ataeaza diagramei un port de ieire situat pe latura din dreapta a diagramei;
-date temporare, exist numai cnd printele lor execut o aciune, sunt nepersistente; se
folosesc de exemplu pentru implementarea buclelor de numarare, pentru variabile
intermediare, care nu mai sunt necesare dupa realizarea prelucrarii respective; de exemplu,
pentru o stare, datele temporare sunt disponible cnd starea este activa si si executa actiunile;
-date de tip parametru, care nu se modifica n timpul simularii; aceste date sunt aduse din
MATLAB sau Simulink si pot fi definite n linia de comanda MATLAB sau prin initializarea
14
sistemelor mascate din Simulink; pot fi folosite, de exemplu, pentru operatii de atribuire sau
comparare;
-constante, care si pastreaza valoarea obtinuta prin initializare;
-date exportate, respectiv importate (pentru coduri de program);
O alta caracteristica a datelor care trebuie stablita prin initializare este marimea (Data
Sizes); daca are valoarea 1 data reprezinta un scalar, daca are o valoare mai mare ca 1 (de
exemplu 10) data reprezinta un vector cu dimensiunea respectiva, iar daca este un vector (de
exemplu [2 6]) data este o matrice cu dimensiunile corespunzatoare vectorului respectiv.
De asemenea, cu exceptia celor de tip workspace si Output to Simulink pot fi
initializate, daca nu, primesc implicit valoarea 0.
15