117691778-simulink

151
7/29/2019 117691778-Simulink http://slidepdf.com/reader/full/117691778-simulink 1/151 1 Simulink 

Upload: sorinarsene

Post on 04-Apr-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 1/151

1

Simulink

Page 2: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 2/151

2

1 Lansarea aplicaţiei Simulink..................................................................................4

1.1 Editorul de modele.........................................................................................4

1.2 Bibliotecile aplicaţiei Simulink......................................................................7

2 Crearea unui model................................................................................................9

2.1 Plasarea blocurilor .........................................................................................92.2 Prescrierea proprietăţilor şi parametrilor blocurilor ....................................10

2.3 Legende........................................................................................................15

2.4 Conectarea blocurilor. Semnale...................................................................16

2.5 Blocurile Integrator, Gain şi Sum, Add, Subtract, Sum of Elements ..........18

2.6 Parametrii simulării......................................................................................24

2.6.1 Scrierea stării şi ieşirilor porturilor în spaţiul Matlab ..........................25

2.6.2 Citirea stării iniţiale şi a intrărilor porturilor din spaţiul Matlab .........28

2.7 Afişarea rezultatelor.....................................................................................31

2.7.1 Blocul Scope ........................................................................................31

2.7.2 Blocul XYGraph ..................................................................................35

2.7.3 Blocul Display .....................................................................................362.7.4 Blocul Floating Scope..........................................................................37

2.8 Salvarea datelor în fişiere şi spaţiul de lucru Matlab...................................38

2.9 Citirea datelor din fişiere şi spaţiul de lucru Matlab....................................41

2.10 Simularea unui model Simulink în Matlab..................................................43

2.11 Blocurile Mux şi Demux..............................................................................45

2.11.1 Crearea semnalelor cu blocul Mux ......................................................45

2.11.2 Extragerea semnalelor din blocul Demux............................................45

2.12 Blocurile Bus Creator şi Bus Selector .........................................................52

2.12.1 Crearea unui bus ..................................................................................53

2.12.2 Selectarea semnalelor din bus..............................................................55

3 Blocuri pentru generarea şi analiza semnalelor ...................................................57

3.1 Blocuri pentru generarea semnalelor ...........................................................57

3.2 Blocuri pentru analiza semnalelor ...............................................................58

3.3 Analiza modelelor la diverse intrări.............................................................64

4 Blocuri de calcul ..................................................................................................71

5 Blocuri neliniare...................................................................................................75

6 Funcţii definite de utilizator.................................................................................81

6.1 Funcţii definite printr- o expresie ................................................................81

6.2 Utilizarea funcţiilor Matlab..........................................................................83

6.3 Funcţii definite de utilizator (S-Funcţii) ......................................................85

7 Simularea sistemelor liniare continue cu coeficienţi constanţi............................917.1 Blocul Transfer Fcn .....................................................................................92

7.2 Blocul Zero-Pole..........................................................................................96

7.3 Blocul State-Space.......................................................................................97

8 Crearea de subsisteme........................................................................................100

8.1 Crearea unui subsistem prin inserarea unui bloc Subsystem.....................100

8.2 Crearea unui subsistem prin gruparea blocurilor .......................................108

9 Descrierea fişierului creat de editorul de modele ..............................................111

10 Secvenţa de calcul a elementelor modelului ..................................................114

11 Explorarea modelului.....................................................................................117

11.1 Explorarea modelului.................................................................................117

11.2 Navigarea în model ....................................................................................12012 Simularea unui motor asincron......................................................................121

Page 3: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 3/151

3

13 Simularea maşinilor electrice.........................................................................128

13.1 Maşina asincronă .......................................................................................128

13.2 Maşina de curent continuu.........................................................................138

13.3 Maşina sincronă .........................................................................................142

Page 4: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 4/151

4

1 Lansarea aplicaţiei SimulinkAplicaţia Simulink se lansează în unul din următoarele moduri:

în fereastra de comandă Matlab se tastează comanda simulink,

clic pe butonul din bara de instrumente a ferestrei Matlab.

Aceste comenzi deschid fereastra Simulink Library Browser din Figura 1. Fereastraafişază în stânga arborele bibliotecilor, în dreapta secţiunile bibliotecii selectate, iar în

partea de sus informaţii asupra bibliotecii sau blocului selectat.

1.1 Editorul de modele

Pentru a crea un nou model se lansează editorul de modele în unul din următoarele

moduri:

se execută un clic pe File New Model din fereastra Simulink Library

Browser vezi Figura 2 şi se deschide o nouă fereastră a unui model Simulink,

din Figura 3.

clic pe File New Model din fereastra Matlab şi se deschide o nouă

fereastră a unui model Simulink, din Figura 3. In acest caz este posibil de a

deschide fereastra Simulink Library Browser cu un clic pe opţiunile View Library Browser din fereastra modelului Simulink din Figura 3 sau pe

butonul din bara de instrumente din aceeaşi figură.

Figura 1. Fereastra Simulink Library Browser.

Page 5: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 5/151

5

Figura 2. Crearea unui nou model

Figura 3. Fereastra editorului de modele în cazul unui nou model Simulink.

Bibliotecile existente conţin elemente ce pot fi utilizate în model. Deschiderea unei

biblioteci se face cu un clic pe numele bibliotecii sau pe nodul din arborele cu

biblioteci. In Figura 1 este expandat nodul corespunzător bibliotecii Simulink ce

conţine elemente generale.

Meniurile File, Edit şi View ale editorului de modele sunt arătate în Tabelul 1. Ele

conţin în general opţiunile cunoscute. Celelalte meniuri vor fi prezentate ulterior.

Opţiunile meniului File realizează operaţiile următoare:

New crează un nou model,

Open deschide un model existent,

Close inchide modelul curent,

Save salvează modelul curent,

Save As salvează modelul current sub un nume nou,

Print tipăreşte modelul curent,

Print Setup prescrie modul de tipărire,

Exit Matlab închide aplicaţia Matlab.

Page 6: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 6/151

6

a) Meniul File b) Meniul Edit c) Meniul View

Tabelul 1. Meniurile File, Edit şi View ale ferestrei unui model.

Opţiunile meniului Edit realizează următoarele operaţii:

Undo anulează ultima operaţie,

Redo reface ultima operaţie,

Cut mută în Clipboard blocul selectat,

Copy copiază în Clipboard blocul selectat, Paste copiază în model blocul din Clipboard,

Clear şterge blocul selectat,

Select All selectează întregul model,

Copy model to clipboard copiază modelul în Clipboard.

Celelalte opţiuni ale meniului Edit vor fi prezentate ulterior.

Opţiunile meniului View realizează următoarele operaţii:

Toolbar afişază sau ascunde bara de instrumente,

Status bar afişază sau ascunde bara de stare,

Zoom in măreşte aria selectată,

Zoom out micşorează aria selectată, Fit selection to view adaptează diagrama modelului la dimensiunea ferestrei

modelului.

Celelalte opţiuni ale meniului View vor fi prezentate ulterior.

O parte din funcţiunile meniurilor File şi Edit pot fi realizate cu butoanele barei de

instrumente a ferestrei editorului de modele, arătată în Figura 4.

Figura 4. Bara de instrumente a editorului de modele.

Semnificaţia butoanelor este cea din Tabelul 2.

Page 7: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 7/151

7

Buton Funcţie

New

Open

Save

Print

Cut

Copy

Paste

Undo

Redo

Tabelul 2. Butoanele barei de instrumente a editorului de modele.

Editorul de modele crează din model un fişier cu extensia .mdl.

1.2 Bibliotecile aplicaţiei Simulink Bibliotecile aplicaţiei Simulink sunt cele din Figura 5. Biblioteca Simulink cuprinde

secţiuni cu blocurile de bază, utilizate în modele : pentru simularea sistemelor

descrise de ecuaţii diferenţiale ordinare, a sistemelor discrete, funcţii matematice,

blocuri de geneare a semnalelor, de afişare a semnalelor, etc. In cele ce urmează vom

prezenta câteva elemente de interes general din aceste biblioteci. Celelalte biblioteci

conţin elemente pentru simularea diverselor aplicaţii din telecomunicaţii, sisteme

automate, maşini electrice, mecanică, etc.

Page 8: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 8/151

8

Figura 5. Bibliotecile aplicaţiei Simulink.

Page 9: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 9/151

9

2 Crearea unui modelPentru a crea un model se plasează mai întâi blocurile în fereastra modelului şi apoi se

interconectează aceste blocuri cu săgeţi.

2.1 Plasarea blocurilor Plasarea blocurilor în model se face astfel:

1. se expandează nodul corespunzător bibliotecii cu un clic pe butonul din

arborele din stânga ferestrei Simulink Library Browser din Figura 1; în partea

dreaptă apar secţiunile bibliotecii selectate,

2. se selectează secţiunea necesară din bibliotecă cu un clic pe numele ei ; în

dreapta sunt afişate elementele din secţiunea corespunzătoare, vezi Figura 6; în

partea de sus a ferestrei este afişată descrierea elementului selectat,

3. se trage blocul din bibliotecă în model, (drag and drop),

4. se deschide caseta de dialog specifică blocului, de unde se aleg parametrii

blocului.

Figura 6. Fereasta Simulink Library Browser.

In Figura 7 se arată fereastra unui nou model cu un element integrator inserat din

biblioteca Continuous. In Figura 8 se arată caseta de dialog corespunzătoare

Page 10: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 10/151

10

integratorului, în care putem prescrie condiţia iniţială în caseta de text Initial

condition.

Figura 7. Fereastra unui nou model cu un integrator.

Pentru a efectua diverse operaţii cu un bloc, (Cut, Copy, afişarea casetei de dialog cu

parametrii blocului, etc.), acesta trebuie selectat. Selectarea unui bloc se face cu un

clic cu butonul drept sau stâng pe bloc. Atunci când blocul este selectat, în colţurile

lui apar patru marcaje ca în Figura 7. La un moment dat se pot selecta mai multe

blocuri din model. Acest lucru se face în unul din următoarele moduri :

se selectează pe rând câte un bloc ţinând apăsată tasta Shift şi executând clic

pe bloc,

se trasează un dreptunghi cu mousul în jurul blocurilor ce trebuie selectate ; se

poziţionează mousul în unul din colţurile dreptunghiului şi se trage mousul cu

butonul apăsat în colţul opus al dreptunghiului,

se pot selecta toate blocurile din model cu opţiunea Select All a meniului Edit.

Un bloc odată selectat se poate deselecta cu un clic pe bloc. Un bloc din model poate

fi şters, mutat sau copiat în Clipboard. Acest lucru se face astfel :1. se selectează blocul cu un clic,

2. se afişază meniul Edit sau meniul contextual al blocului cu un clic cu butonul

drept pe bloc, vezi Tabelul 3 pentru opţiunile celor două meniuri,

3. clic pe opţiunea necesară, Clear, Cut sau Copy.

4.1 Prescrierea proprietăţilor şi parametrilor blocurilor

In cazul unui bloc selectat se pot afişa trei meniuri ce permit, printre altele, alegerea

proprietăţilor şi parametrilor blocului. Aceste meniuri sunt:

meniul Edit al editorului de modele din Tabelul 3a,

meniul contextual al blocului din Tabelul 3b,

meniul Format al editorului de modele din Tabelul 5.

Page 11: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 11/151

11

Parametrii uni bloc se prescriu în caseta de dialog Block Parameters, specifică fiecărui

bloc. Această casetă se afişază în două feluri :

cu dublu clic cu butonul stâng al mousului pe bloc,

cu clic pe opţiunea xxx parameters a meniului Edit sau a meniului contextual

al blocului (în meniurile din Tabelul 3, această opţiune este Integrator

parameters).Caseta de dialog cu parametrii blocului în cazul unui integrator este cea din Figura 8.

Figura 8. Caseta de dialog cu parametrii unui integrator.

Parametrii unui bloc pot fi valori numerice introduse în caseta de dialog sau

variabile ce primesc valori în spaţiul de lucru Matlab.Caseta de dialog cu parametrii unui bloc conţine în partea superioară descrierea

blocului, în exemplul nostru integrarea semnalului de intrare. Caseta de dialog cu

parametrii uni bloc are un buton Help care afişază o descriere detaliată a blocului. In

Figura 9 se arată fereastra Help a elementului Integrator.

Page 12: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 12/151

12

Figura 9. Fereastra Help cu descrierea blocului Integrator.

Menţionăm că, în general, blocurile Simulink au mai multe intrări şi ieşiri. Intrările şi

ieşirile pot fi variabile scalare, vectori sau matrice ale căror elemente depind de timp.

Blocul efectuează aceeaşi operaţie asupra fiecărui semnal de intrare (analog

vectorizării funcţiilor în Matlab). In general, dimensiunea semnalelor de intrare şi de

ieşire se poate verifica din dimensiunea parametrilor blocului. In cazul integratorului,

condiţia iniţială trebuie să fie un număr, un vector sau o matrice. Dimensiunile

condiţiei iniţiale trebuie să corespundă celor ale semnalului de intrare, iar

dimensiunea ieşirii este egală cu dimensiunea intrării.Opţiunile Foreground color şi Background color ale meniului contextual al

elementului din Tabelul 3b permit alegerea culorii fondului şi primplanului blocului.

Opţiunea Format a aceluiaşi meniu şi meniul Format al editorului de modele permit

alegerea fontului, rotirea blocului, reprezentarea în oglindă a blocului sau numelui,

etc.

Page 13: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 13/151

13

a) Meniul Edit b) Meniu contextual

Tabelul 3. Meniuri ale unui bloc selectat.

Submeniurile corespunzând acestor opţiuni sunt arătate respective în Tabelul 4a,

Tabelul 4b.

a) Submeniurile Foreground

color şi Background color

b) Submeniul Format

al blocului

Tabelul 4. Meniul contextual al unui bloc.

Submeniurile Foreground color, Background color şi Format.

Page 14: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 14/151

14

1) Align Blocks

2) Distribute Blocks

3) Resize Blocks

a) Meniul Format b) Submeniuri

Tabelul 5. Meniul Format al editorului de modele.

Meniul Format al editorului de modele este arătat în Tabelul 5. Câteva opţiuni de

aranjare a desenului sunt arătate în Tabelul 6.

Desen Opţiune

-

Align Centers Horizontally

Make Blocks Same Size

Make Horizontal Gaps Even

Tabelul 6. Opţiuni de desenare a modelului.

Page 15: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 15/151

15

Tabelul Tabelul 7 arată câteva opţiuni de reprezentare a unui bloc.

Reprezentare bloc Opţiuni

-

+ Font bold, italic, dimensiunea12

+ Culoare albastru

+ Nume bloc reprezentat în oglindă (flip)

+ Bloc reprezentat în oglindă (flip)

+ Bloc rotit

Tabelul 7. Opţiuni de reprezentare a unui bloc.

Numele blocurilor se poate modifica pentru a corespunde semnificaţiei din model. Se

execută un clic pe numele blocului şi se introduce numele dorit. Numele blocurilor se

poate ascunde cu un clic pe opţiunea Hide name a meniului Format al blocului din

Tabelul 4b şi se poate afişa cu opţiunea Show name a aceluiaşi meniu.

Culoarea fondului modelului se prescrie prin selectarea opţiunii Screen color din

meniului Format al editorului de modele ce afişază meniul din Tabelul 4a (de dataaceasta pentru fondul modelului).

4.2 Legende

Legendele conţin informaţii despre model. Un model poate conţine mai multe

legende. Pentru a crea o legendă se execută un clic dublu într-un punct al ferestrei şi

în caseta de text afişată se introduce legenda dorită. Textul legendei poate conţine şi

caractere speciale şi litere greceşti definite cu regulile limbajului Latex, vezi capitolul

privind reprezentările grafice din Matlab. Stilul legendei se prescrie cu opţiunile

meniului Format vezi Tabelul 5 sau cu opţiunile meniului contextual din Tabelul 8a

afişat la un clic cu butonul drept pe legendă. Stilul fontului legendei se alege cuopţiunile Font, Enable Tex command şi Text alignment. Culorile fondului şi

primplanului se aleg cu opţiunile Background color şi Foreground color. Opţiunea

Show drop shadow afişază o umbră în jurul legendei.

Page 16: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 16/151

16

a) la selectarea legendei b) la selectarea textului legendei

Tabelul 8. Meniuri contextual ale unei legende.

Opţiunile Cut şi Copy din Tabelul 8a mută şi respectiv copiază în Clipboard legenda.

Opţiunea Clear şterge legenda. O legendă odată copiată în Clipboard poate fi copiată

în orice loc din model cu opţiunea Paste a meniului Edit al modelului. Meniul

contextual din Tabelul 8b se afişază cu un clic cu butonul drept pe legendă, după cetextul legendei a fost selectat. Opţiunile Cut, Copy, Paste şi Delete efectuează

operaţiile aceleaşi operaţii ca mai sus cu textul legendei. Opţiunea Select All a

aceluiaşi meniu selectează tot textul legendei.

4.3 Conectarea blocurilor. Semnale

Blocurile modelului sunt conectate de săgeţi. Săgeţile corespund conexiunilor de la

ieşirile unor blocuri la intrările altor blocuri. Fiecare săgeată corespunde unui semnal

din model.

Conectarea blocurilor se poate face în mai multe feluri :

1. conectarea automată a două blocuri:

se selectează blocul sursă cu un clic,

se apasă tasta Ctrl şi clic pe blocul destinaţie cu butonul stâng al mousuluisau cu butonul drept al mousului, după care se eliberează tasta Ctrl.

Simulink trasează conexiunea între ieşirea blocului sursă şi intrarea

blocului destinaţie. In cazul în care blocul sursă are mai multe ieşiri şi

blocul destinaţie mai multe întrări, Simulink trasează cât de multe

conexiuni sunt posibile între cele două blocuri.

2. conectarea manuală a două blocuri, prima metodă

se uneşte ieşirea blocului sursă cu intrarea blocului destinaţie cu butonul

stâng al mousului sau cu butonul drept al mousului apăsat.

3. conectarea manuală a două blocuri, a doua metodă se uneşte intrarea blocului destinaţie cu ieşirea blocului sursă cu butonulstâng al mousului sau cu butonul drept al mousului apăsat.

In multe cazuri este nevoie de mai multe conexiuni de la ieşirea unui bloc la mai

multe intrări ale altor blocuri. Pentru a trasa o linie suplimentară de la o ieşire a unui

bloc la o intrare a altui bloc se procedează astfel :

se poziţionează cursorul pe linie în punctul de ramificare,

se apasă tasta Ctrl şi cu butonul stâng al mousului apăsat se trage cursorul până la intrarea blocului ce trebuie conectat, după care se eliberează tasta

Ctrl şi butonul mousului.

Semnalele se pot selecta cu un clic pe săgeata corespunzătoare.

Menţionăm că, în general, blocurile Simulink au mai multe intrări şi ieşiri. Intrările şiieşirile pot fi variabile scalare, vectori sau matrice ale căror elemente depind de timp.

Page 17: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 17/151

17

Este posibil de a afişa dimensiunea semnalelor, iar semnalele nescalare se pot afişa cu

linie îngroşată. Pentru a afişa dimensiunea semnalelor multidimensionale se

selectează un semnal şi se execută cu clic pe opţiunea Signal dimensions a meniului

Format din Tabelul 5. Pentru a desena îngroşat semnalele multidimensionale se

selectează un semnal şi clic pe opţiunea Wide nonscalar lines a meniului Format.

Semnalele pot avea nume date de programator. Pentru a da un nume unui semnal se procedează în unul din următoarele moduri :

clic cu butonul drept pe semnal şi se afişază meniul contextual din Tabelul 9a.La un clic pe opţiunea Signal Properties se afişază caseta Signal Properties

din Tabelul 9b. In caseta de text Signal name se introduce numele dorit pentru

semnal,

se selectează semnalul cu un clic cu butonul stâng pe semnal ; se execută un

clic pe meniul Edit; un clic pe opţiunea Signal Properties se afişază caseta

Signal Properties din Tabelul 9b.

a) meniu contextual b) caseta Signal Properties

Tabelul 9. Meniu contextual şi caseta cu proprietăţile semnalelor.

Se pot afişa blocul sursă sau blocurile destinaţie pentru un semnal oarecare. Pentru

aceasta se afişază meniul contextual din Tabelul 9a şi clic pe opţiunea Highlight to

source respectiv Highlight to destination. Se obţin reprezentările din Tabelul 10.

Opţiunea Remove highlighting anulează opţiunile anterioare.

Page 18: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 18/151

18

a) afişarea destinaţiei semnalului b) afişarea sursei semnalului

Tabelul 10. Afişarea sursei şi destinaţiei semnalelor.

In principiu, orice ieşire a unui bloc trebuie conectată la intrarea unui alt bloc. In cazul

când ieşirea unui bloc nu trebuie conectată la intrarea altui bloc, această ieşire se

conectează la un bloc Terminator din Figura 10.

Figura 10. Blocul Terminator

4.4 Blocurile Integrator, Gain şi Sum, Add, Subtract, Sum of Elements

Blocurile Integrator, Gain şi Sum, Add, Subtract sunt des folosite la simularea

sistemelor descrise de ecuaţii diferenţiale ordinare.

Blocurile Gain înmulţeşte intrarea cu o constantă. Intrarea şi constanta pot fi scalari,

vectori sau matrice.

Blocurile Sum, Add, Subtract şi Sum of Elements realizează funcţii identice. Ele

adună sau scad intrările lor. Intrările pot fi scalari, vectori sau matrice. Blocurile pot

avea mai multe intrări şi putem prescrie semnele intrărilor.

Aceste blocuri sunt arătate în Tabelul 11. Ele se găsesc în biblioteca MathOperations.

Bloc Simbolizare

Add

Subtract

Sum

Sum of Elements

Gain

Tabelul 11. Blocuri de însumare şi inmulţire cu o constantă.

Exemplu. Să calculăm soluţia ecuaţiei diferenţiale ordinare

x'' + 3x' + 2x = 0

în condiţiile iniţiale x0 = 1 şi x'0 = 0 pe o durată de 5s. Modelul este arătat în Figura

11. La intrarea integratorului x' trebuie să introducem mărimea x''. Din ecuaţia

diferenţială deducem

x'' = -3x' – 2x

Inmulţirea mărimilor x şi x' cu 2 şi respectiv 3 se face cu blocuri Gain. Ele suntînsumate în blocul Sum.

Page 19: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 19/151

19

Figura 11. Modelul ecuaţiei diferenţiale ordinare x'' + 3x' + 2x = 0.

In Figura 11 sunt adăugate semnalelor numele x şi respectiv x', pentru a corespunde

semnificaţiei din model. Aceasta se face cu procedura prezentată anterior:

1. clic cu butonul drept pe semnal,

2. în meniul contextual afişat clic pe opţiunea Signal properties,

3. în caseta de text Signal name se introduce numele dorit.

S-a adăugat o legendă a modelului. Pentru aceasta se execută un clic dublu într-un punct al ferestrei şi în caseta de text afişată se introduce legenda dorită, în cazul nostru

Modelul ecuaţiei diferenţiale x’’ + 3x’ + 2x= 0. Fontul legendei a fost modificat.

Caseta de dialog cu parametrii blocului Sum este arătaţă în Figura 12. In această

casetă se pot alege în zona Parameters:

forma elementului, dreptunghi sau rotund, din caseta Icon shape,

semnele semnalelor de intrare, + sau -. In lista respectivă se introduce plus

dacă semnalul va fi adunat şi – dacă va fi scăzut.

După cum s-a spus mai înainte, caseta cu parametrii blocului conţine în partea

superioară descrierea blocului. In cazul blocului Sum se arată cum se completează

lista de semne.Blocurile Add, Subtract şi Sum of Elements au aceeaşi caseta cu parametrii ca blocul

Sum.

Page 20: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 20/151

20

Figura 12. Caseta de dialog cu parametrii elementului Sum.

Casetele de dialog cu parametrii blocurilor Integrator nu sunt arătate.

Caseta de dialog a blocului Gain este cea din Figura 13. In caseta de text Gain se

introduce factorul de amplificare, în cazul celor două blocuri din modelul nostru, 3 şi

respectiv 2. Blocul Gain poate avea mai multe intrări şi ieşiri. In acest caz parametrul

blocului este o matrice, după cum se va explica mai jos. Modul de prescriere al

factorului de amplificare este specificat în partea superioară a casetei din Figura 13.

Figura 13. Caseta de dialog cu parametrii blocului Gain.

Menţionăm că blocurile Gain care înmulţesc ieşirile integratoarelor x cu 2 şi respectiv

x’ cu 3 sunt desenate iniţial de către editorul de modele rotite cu 1800 faţa de desenul

din Figura 11. Ele sunt rotite ca în Figura 11 astfel:

1. clic cu butonul drept pe blocul Gain şi se afişază Meniul contextual din

Tabelul 3b,

2. clic pe opţiunea Format şi se afişază meniul contextual din Tabelul 4b; clic peopţiunea Flip block şi blocul este rotit cu 1800 şi apare desenat ca în Figura 11.

Page 21: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 21/151

21

Operaţia de rotire a blocului poate fi realizată şi din meniul Format al editorului de

modele.

Rezultatul simulării modelului este cel din Figura 14.

Figura 14. Rezultatul simulării sistemului din Figura 11.

Reamintim că, în general, blocurile Simulink au mai multe intrări şi ieşiri. Blocurile

realizează aceeaşi operaţie asupra tuturor semnalelor de intrare. De exemplu, intrarea

unui bloc Integrator poate fi un scalar, un vector sau o matrice de semnale şi ieşirea

acestui bloc are aceeaşi dimensiune cu intrarea. Fiecare semnal de intrare este integrat

separat, iar condiţiile iniţiale se prescriu separat pentru fiecare semnal (un scalar, un

vector sau o matrice).Blocul Gain necesită o discuţie separată. Fie u intrarea în blocul Gain, y ieşirea, iar K

este factorul de amplificare. Intrarea şi ieşirea unui bloc Gain pot fi scalari, vectori sau

matrice de semnale. Factorul de amplificare K poate fi un scalar, un vector sau o

matrice. Blocul Gain poate realiza următoarele operaţii, vezi Figura 13 şi Figura 15:

înmulţire element cu element (Element-wise gain)

y = K .* u

înmulţire matricială (Matrix gain):

y = K * u

y = u * K

In cazul înmulţirii element cu element, matricea K şi intrarea u trebuie să aibedimensiunile compatibile operaţiei .*.

In cazul înmulţirii matriciale, K este o matrice compatibilă pentru înmulţirea cu

intrarea u, nu neapărat o matrice patrată. Dimensiunea ieşirii y este dimensiunea

matricei rezultat. Tipul operaţiei realizate de bloc se alege din lista Multiplication a

casetei de dialog a blocului Gain, vezi Figura 15.

Page 22: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 22/151

22

Figura 15. Lista Multiplication a blocului Gain.

Exemplu. Fie din nou ecuaţia diferenţială

x’’ + 3*x’ + 2x = 0Vrem să calculăm soluţia ecuaţiei în condiţiile iniţiale x0 = 1 şi x0’ = 0. Vom pune

ecuaţia sub forma unui sistem de ecuaţii diferenţiale de ordin întâi. Cu substituţiile

y = x1

y' = x2

obţinem sistemul

y y

32

10'

Modelul este cel din Figura 16, în care semnalele sunt vectori cu dimensiunea 2. In

cazul semnalelor multidimensionale se poate afişa dimensiunea semnalelor. Se

selectează un semnal şi se execută un clic pe opţiunea Signal dimension a meniului

Format. Dimensiunile semnalelor apar ca în Figura 16.

Figura 16. Modelul ecuaţiei diferenţiale x’’ + 3x’ + 2x = 0.

Page 23: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 23/151

23

Parametrul blocului Gain este matricea

32

10 K

Caseta de dialog a blocului Gain în acest caz este arătată în Figura 17. In lista

Multiplication s-a ales opţiunea K * u.

Figura 17. Parametrii blocului Gain.

Rezultatul simulării sistemului este arătat în Figura 18.

Figura 18. Rezultatul simulării sistemului din Figura 16.

Page 24: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 24/151

24

3.1 Parametrii simulării

Parametrii simulării se prescriu cu opţiunile meniului Simulation din Figura 19.

Figura 19. Meniul Simulation.

La un clic pe opţiunea Simulation parameters se afişază caseta de dialog Simulation

Parameters secţiunea Solver din Figura 20. In această casetă se aleg:

timpul iniţial al simulării (Start time) şi timpul final (Stop time) în zona

Simulation time,

metoda de integrare şi tipul metodei, cu pas fix sau variabil din listele Type alezonei Solver options.

în cazul metodelor cu pas variabil se pot alege erorile, relativă (Relativetolerance) şi absolută (Absolute tolerance), dimensiunea iniţială a pasului de

integrare (Iniţial step size), dimensiunile minimă (Min step size) şi maximă

(Max step size) ale pasului de integrare, etc.

Menţionăm că în dreapta jos a ferestrei modelului este afişată metoda de integrare

utilizată.

Figura 20. Caseta de dialog Simulation Parameters, secţiunea Solver.

Page 25: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 25/151

25

Pentru a începe simularea clic pe opţiunea Start a meniului Simulation din Figura 19

sau pe butonul din bara de instrumente. Pentru oprirea simulării clic pe opţiunea

Stop a meniului Simulation sau pe butonul din bara de instrumente. Rezultatul

simulării se afişază pe blocul Scope. Figura 14 prezintă rezultatul simulării sistemului

din Figura 11.

Este posibil ca rezultatele simulării să fie transmise în spaţiul de lucru Matlab pentru

prelucrări ulterioare sau să se citească din spaţiul Matlab starea iniţială a modelului şi

intrări pentru anumite blocuri. Pentru aceasta se utilizează secţiunea Workspace I/O

a casetei de dialog Simulation Parameters din Figura 21.

Figura 21. Caseta de dialog Simulation parameters, secţiunea Workspace I/O.

Vom arăta utilizarea cestor facilităţi în paragrafele următoare.

3.1.1 Scrierea stării şi ieşirilor porturilor în spaţiul Matlab

In zona Save to Workspace se marchează datele ce vor fi transmise în spaţiul de lucru

Matlab:

se marchează opţiunea Time şi se transmite vectorul tout cu momentele de

timp în care s-a calculat soluţia, se marchează opţiunea States şi se transmite matricea xout ce conţine pe

coloane valorile variabilelor de stare ce compun soluţia (ieşirile

integratoarelor).

se marchează opţiunea Output şi se transmite matricea yout ce conţine pecoloane ieşirile blocurilor tip Outport, porturile de ieşire din model.

Menţionăm că numele acestor variabile pot fi schimbate după dorinţă în caseta de text

corespunzătoare.

Pentru exemplul de mai sus s-au transmis în spaţiul Matlab vectorul tout şi matricea

xout şi s-a reprezentat soluţia cu următorul program :

>> plot(tout, xout)>> grid

Page 26: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 26/151

26

>> xlabel('time')

Rezultatul programului este cel din Figura 22.

Figura 22. Soluţia sistemului din Figura 16 reprezentată în Matlab.

Fie acum modelul din Figura 23, în care ieşirile unor blocuri sunt conectate la blocuri

tip Outport, care sunt aici porturi de ieşire ale modelului. Pentru a transmite ieşirile

blocurilor tip Outport, Out1 şi Out2 în spaţiul de lucru Matlab, se marchează opţiunea

Output din Figura 21.

Page 27: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 27/151

27

Figura 23. Model cu blocuri tip Outport.

Rezultatele transmise în spaţiul Matlab se reprezintă grafic în Figura 24 cu programul

următor:

>> plot(tout, yout)

>> grid

>> xlabel('time')

>> ylabel('1-cos(time), cos(time)')

>> legend('1-cos(time)', 'cos(time)', 2)

Menţionăm că s-a transmis în spaţiul Matlab şi vectorul tout cu momentele de timp la

care s-a calculat soluţia. In cazul nostru matricea yout are două coloane cu ieşirile

celor două blocuri tip Outport, Out1 şi Out2. Câteva din elementele matricei yout sunt

prezentate mai jos.

>> yout

yout = 0 0

0.0199 0.9933

0.0789 0.9537

0.1747 0.8761

0.3033 0.7636

0.4597 0.6206

0.6376 0.4528

0.8300 0.2671

1.0292 0.0706

1.2272 -0.1286

Page 28: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 28/151

28

Figura 24. Soluţia sistemului din Figura 23 reprezentată în Matlab.

3.1.2 Citirea stării iniţiale şi a intrărilor porturilor din spaţiul Matlab

Este posibil de a prescrie ca stare iniţială a modelului un vector din spaţiul Matlab şi

de a importa date care să fie intrările blocurilor tip Inport din model (porturile de

intrare ale modelului). Datele vor fi în forma unei matrice care conţine în prima

coloană valorile timpului în ordine crescătoare, iar în coloanele următoare valorile

funcţiilor de timp ce vor fi importate .

Prescrierea stării iniţiale a modelului se face astfel :

1. se validează opţiunea opţiunea Initial state din zona Load from workspace din

Figura 21,

2. în spaţiul de lucru Matlab se defineşte vectorul xInitial cu valorile dorite pentru

starea iniţială a modelului.

Vom exemplifica acest lucru pe modelul din Figura 16. In caseta de dialog din Figura

25 se marchează opţiunea Initial state.

Page 29: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 29/151

29

Figura 25. Prescrierea stării iniţiale a modelului în spaţiul de lucru Matlab.

In spaţiul Matlab prescriem vectorul stării iniţiale xInitial ca mai jos:

>> xInitial = [0 1]';

ce corespunde stării iniţiale x0=0 şi x’0=1. Rezultatul simulării este cel din Figura 26.

Figura 26. Rezultatul simulării sistemului din Figura 16.

Vom arăta acum modul de a importa date care vor fi intrările elementelor tip Inport

(porturile de intrare ale modelului). Datele au forma unei matrice care conţine în

prima coloană valorile timpului în ordine crescătoare, iar în coloanele următoare

valorile funcţiilor de timp ce vor fi importate.

Fie modelul din Figura 27 în care vom integra o serie de timp citită din spaţiul delucru Matlab. In caseta Simulation Parameters, secţiunea Workspace I/O din Figura

Page 30: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 30/151

30

25 vom marca opţiunea Input din zona Load from workspace, iar în caseta de text

corespunzătoare vom scrie numele variabilelor din spaţiul de lucru Matlab ce conţin

timpul şi seria de timp citită. Numele implicite ale acestor variabile sunt [t, u]. In

cazul nostru vom păstra numele implicite. Instrucţiunile Matlab ce dau valori acestor

variabile sunt:

>> t = (0: 0.1: 5)';

>> u = [sin(2 * t)];

In model aceste date sunt ieşirea elementului Inport In1.

Figura 27. Importarea datelor din spaţiul de lucru Matlab.

Figura 28. Rezultatul simulării modelului din Figura 27.

Page 31: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 31/151

31

2.1 Afişarea rezultatelor

Aplicaţia Simulink are blocuri pentru reprezentarea grafică a rezultatelor, pentru

scrierea rezultatelor într-un fişier sau pentru transmiterea lor în spaţiul de lucru

Matlab pentru prelucrări ulterioare. In acest paragraf vom prezenta blocurile pentru

afişarea grafică a rezultatelor.

Blocurile Scope, Floating Scope şi XYGraph se utilizează pentru reprezentarea

grafică a rezultatelor. Blocul Scope are intrări ce pot fi scalari, vectori sau matrice şi

reprezintă rezultatele în funcţie de variabila independentă a simulării, de regulă

timpul. Blocul XYGraph are două intrări, X şi Y şi reprezintă curbe de forma Y(X).

Blocul Floating Scope nu este conectat la elemente.

Blocul Display afişază valoarea intrării pe icoana blocului.

Aceste blocuri sunt simbolizate ca în Tabelul 12. Ele se găsesc în biblioteca Sinks.

Bloc Simbolizare

Scope

XY graph

Floating Scope

Display

Tabelul 12. Blocuri de afişare a rezultatelor.

2.1.1 Blocul Scope

Fereastra blocului Scope a fost arătată în Figura 14, Figura 18 şi Figura 26. Butoanele

barei de instrumente a blocului Scope au semnificaţia din Tabelul 13.

Buton Semnificaţie

Tipărire

Parametrii blocului

Zoom

Zoom axa X

Zoom axa Y

Autoscale (Autoscalare)

Tabelul 13. Bara de instrumente a blocului Scope.

Butoanele Zoom permit extinderea anumitor zone ale figurii. Opţiunea Autoscale

(Autoscalare) extinde graficul la întreaga fereastră. Acelaşi efect se obţine cu un clic

cu butonul drept pe axele figurii sau pe figură. Se afişază meniul contextual din

Tabelul 14 în care se poate activa opţiunea Autoscale şi se pot alege proprietăţile

axelor. Acestea sunt : valorile minimă şi maximă pentru axa Y, Y-min şi Y-max şi

titlul graficului.

Page 32: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 32/151

32

a) Meniu contextual al blocului Scope b) Alegerea proprietăţilor axelor

Tabelul 14. Alegerea parametrilor blocului Scope.

Butonul permite alegerea parametrilor blocului. La un clic pe buton se afişază

caseta de dialog din Tabelul 15 ; în secţiunile ei se prescriu în secţiunea General

parametrii axelor, iar în secţiunea Data history numărul de puncte reprezentate, dacă

se vor salva datele în spaţiul Matlab, etc.

Un parametru important este numărul de axe (implicit 1), care dă numărul de intrăriale blocului Scope care este şi numărul de ferestre ale blocului.

a) Secţiunea General b) Secţiunea Parameters

Tabelul 15. Alegerea parametrilor blocului Scope.

Vom exemplifica utilizarea parametrilor blocului Scope la modelul de mai jos. Acesta

este sistemul din Figura 11, repetat în Figura 29, pentru care dorim să reprezentăm

grafic mărimile x şi x’ în două ferestre. Pentru aceasta se modifică parametrul

Number of axes la 2 ca în Figura 30 ; acum blocul Scope are două intrări şi afişază

fiecare intrare într-o fereastră separată.

Page 33: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 33/151

33

Figura 29. Modelul ecuaţiei diferenţiale x’’+3x’+2x=0.

Figura 30. Modificarea parametrilor blocului Scope.

Rezultatul simulării este cel din Figura 31.

Page 34: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 34/151

34

Figura 31. Rezultatul simulării sistemului din Figura 29.

Pentru a transmite în spaţiul de lucru Matlab rezultatele reprezentate grafic de blocul

Scope se validează opţiunea Save data to workspace din caseta de dialog Scope’s

parameters, secţiunea Data history, vezi Tabelul 15b. In caseta de text

corespunzătoare se poate prescrie numele structurii de date ce va fi exportată în

spaţiul Matlab. Numele implicit al acestei structuri este ScopeData. Formatul ei poate

fi ales din lista din Figura 32. In cazul când se alege formatul Structure sau

Structure with time, elementele structurii sunt cele de mai jos.

>> ScopeData

ScopeData =time: [56x1 double]

signals: [1x2 struct]

blockName: 'ex1a/Scope'

ScopeData.time este un vector cu momentele de timp ale soluţiei. Elementul

ScopeData.signals este o structură ce conţine:

valorile mărimilor reprezentate grafic, ScopeData.signals.values,

numărul de mărimi reprezentate pe fiecare grafic,

ScopeData.signals.dimensions,

titlul, ScopeData.signals.title, etichetele graficelor, ScopeData.signals.label.

Elementele structurii sunt afişate în Matlab ca mai jos.

>> ScopeData.signals

ans =

1x2 struct array with fields:

values

dimensions

label

title

plotStyle

Page 35: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 35/151

35

Figura 32. Alegerea tipului variabilei ScopeData.

In cazul nostru blocul Scope are două ferestre. In consecinţă, structuraScopeData.signals are două câmpuri, vezi mai sus. Valorile memorate în primul câmp

se accesează cu indicele 1, ScopeData.signals(1).values, ScopeData.signals(1).label,

etc. Avem de exemplu

>> ScopeData.signals(1).label

ans =

x'

>> ScopeData.signals(2).label

ans =

x

Opţiunea Array se poate alege doar dacă blocul Scope are o singură intrare. Structura

de date este asemănătoare cu cea anterioară.

2.1.2 Blocul XYGraph

Este posibil să reprezentăm traiectoria de fază x' = f(x) cu ajutorul blocului XYGraph.

Blocul are două intrări scalare, prima intrare corespunde axei X. Vom reprezenta

planul fazelor pentru modelul din Figura 33 in condiţiile iniţiale x0=1 şi x’0=0. Ieşirile

x' şi x sunt conectate la un bloc XYGraph.

Page 36: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 36/151

36

Figura 33. Modelul ecuaţiei diferenţiale ordinare x'' + 3x' + 2x = 0.

Traiectoria de fază a sistemului este cea din Figura 34.

Figura 34. Planul fazelor pentru ecuaţia diferenţială ordinară x'' + 3x' + 2x = 0.

Pentru a prescribe limitele axelor X şi Y se selectează blocul şi clic pe opţiunea Mask Parameters a meniului Edit sau a meniului contextual al blocului.

2.1.3 Blocul Display

Blocul Display afişază valoarea intrării în icoana sa. Exemple de utilizare a acestui

bloc vor fi prezentate ulterior.

Page 37: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 37/151

37

2.1.4 Blocul Floating Scope

Blocul Floating Scope poate reprezenta semnalele de pe una sau mai multe linii.

Pentru aceasta se include în model un bloc Floating Scope şi se procedează astfel:

1. se selectează blocul cu un clic,

2. se selectează semnalele ce vor fi afişate de bloc ţinând apăsată tasta Shift şi

executând clic pe fiecare semnal ce va fi afişat.Se execută apoi simularea.

Fie sistemul din Figura 35. Se calculează ieşirea lui la o treaptă aplicată la timpul 1.

Figura 35. Calculul ieşirii unui sistem.

Semnalele sunt afişate de blocul Floating Scope ca în Figura 36.

In Figura 35 se observă că blocul Floating Scope şi semnalele u şi y sunt selectate.

Page 38: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 38/151

38

Figura 36. Blocul Floating Scope.

2.2 Salvarea datelor în fişiere şi spaţiul de lucru Matlab

Pentru a salva rezultatele simulării în fişiere sau în spaţiul de lucru Matlab se

utilizează blocurile To File şi To Workspace. Reamintim că putem transmite în spaţiul

de lucru Matlab starea sistemului, ieşirile blocurilor tip Outport, etc. prescriind

anumiţi parametri ai simulării, ca într-un paragraf anterior. Blocurile To File şi To

Workspace sunt simbolizate ca în Tabelul 16. Ele se găsesc în biblioteca Sinks.

Bloc Simbolizare

To File

To Workspace

Tabelul 16. Blocuri de salvare a datelor în fişiere şi în Matlab.

Fie sistemul din Figura 37 care utilizează blocuri To Workspace şi To File.

Page 39: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 39/151

39

Figura 37. Blocurile To file şi To simout.

Caseta cu parametrii blocului To File este arătată în Figura 38. Parametrii blocului

sunt următorii :

Filename este numele fişierului în care se scriu datele. Blocul To File scrie o

coloană la fiecare moment de timp, primul rând este timpul, următoarele

rânduri sunt datele simulării (intrarea în blocul To File).

Variable name este numele matricei cu date ce va fi scrisă în fişier. Numele

implicit al matricei este ans.

Figura 38. Caseta de dialog cu parametrii blocului To file.

Page 40: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 40/151

40

In exemplul de mai sus numele fişierului este data.mat, iar numele matricei ce va fi

scrisă în acest fişier Matlab este sinrez.

Primele coloane a matricei sinrez în cazul modelului din Figura 37 sunt reprezentate

mai jos. Programul Matlab de mai jos încarcă datele din fişierul data.mat şi afişază

matricea sinrez din acest fişier.

>> load data.mat

>> sinrez

sinrez =

Columns 1 through 7

0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000

-1.0000 -0.9801 -0.9211 -0.8253 -0.6967 -0.5403 -0.3624

Blocul To Workspace scrie datele în spaţiul Matlab. Caseta de dialog a blocului este

arătată în Figura 39.

Figura 39. Caseta de dialog cu parametrii blocului To Workspace.

Parametrii blocului sunt următorii:

în caseta de text Variable name se introduce numele structurii ce va conţinedatele ; numele implicit este simout,

în lista Save format se alege formatul în care se vor salva datele.

Formatul datelor este asemănător cu cel al blocului Scope. In cazul când formatul este

Array datele se scriu într-o matrice cu valorile pe coloane. In celelalte cazuri formatul

datelor este structura de mai jos.

>> simout

simout =

Page 41: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 41/151

41

time: [51x1 double]

signals: [1x1 struct]

blockName: 'data/To Workspace'

Dacă formatul ales este StructureWithTime, componenta simout.time conţine

momentele de timp în care este calculată soluţia.Componenta values conţine datele simulării. Ea are formatul de mai jos.

>> simout.signals

ans =

values: [51x1 double]

dimensions: 1

label: ''

Componenta simout.signals.values conţine datele simulării.

2.3 Citirea datelor din fişiere şi spaţiul de lucru Matlab

Este posibil de a citi date din fişiere sau din spaţiul de lucru Matlab pentru a fi

utilizate ca întrări ale unor blocuri din model. Blocurile utilizate sunt From

Workspace şi From File. Ele se găsesc în biblioteca Sources.

Menţionăm că putem citi din spaţiul Matlab starea iniţială a sistemului şi intrările

blocurilor tip Inport, prescriind anumiţi parametri ai simulării, ca într-un paragraf

anterior.

Bloc SimbolizareFrom File

From Workspace

Tabelul 17. Blocuri de citire a datelor din fişiere şi Matlab.

Modelul din Figura 40 utilizează blocul From Workspace.

Page 42: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 42/151

42

Figura 40. Blocul From Workspace.

Caseta de dialog a blocului From Workspace este arătată în Figura 41. In caseta Data

se introduce numele matricei ce conţine datele. Numele implicit al matricei este simin.

Un format al datelor citite este acela de matrice care conţine valorile timpului în prima

coloană şi valorile corespunzătoare ale funcţiei de timp în a doua coloană.. Inexemplul de mai sus matricea este generată cu instrucţiunile de mai jos

>> t = (0: 0.1: 5)';

>> u = sin(t);

>> simin = [t, u];

Rezultatul derivării funcţiei sin(t) este arătat în Figura 42.

Page 43: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 43/151

43

Figura 41. Caseta de dialog a blocului From Workspace.

Figura 42. Rezultatul simulării sistemului din Figura 40.

2.4 Simularea unui model Simulink în Matlab

Un model Simulink odată creat poate fi simulat în Matlab cu funcţia sim

[t, x, y] = sim('model', tspan, options, ut)

Parametrii instrucţiunii sunt:

'model' - numele modelului (numele fişierului . mdl)

tspan - vectorul [tstart, tfinal], cu timpii de început şi de sfârşit ai simulării

Page 44: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 44/151

44

options - vector cu opţiunile simulării, cu perechi nume, valoare

ut - intrare externă opţională, utilizată când modelul are porturi de intrare(blocuri de tip Inport).

Rezultatul funcţiei sim este matrice ce conţine

t - vector cu timpii soluţiei,

x - matrice cu starea modelului, stările continue (ieşirile integratoarelor) şistările discrete (ieşirile elementelor discrete),

y - matrice cu ieşirile porturilor modelului (blocuri de tip Outport).

Ca exemplu vom simula în Matlab modelul ex1 din Figura 11. Programul

[t, x, y] = sim('ex1', [0, 5], [], []);

plot(t, x);

grid

xlabel('timp')

ylabel('x', 'x''')

legend('x', 'x''')

are ca rezultat curbele din Figura 43.

Figura 43. Rezultatul simulării ecuaţiei x'' + 3x' + 2x = 0.

Page 45: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 45/151

45

2.5 Blocurile Mux şi Demux

In general, blocurile Simulink pot avea ca intrare un scalar, un vector, sau o matrice.

Un asemenea bloc este integratorul. Pentru a lucra cu semnale multidimensionale

există blocul Mux, care grupează semnalele într-un vector de semnale, şi blocul

Demux, ce extrage semnalele grupate anterior. Blocurile Mux şi Demux sunt

simbolizate ca în Tabelul 18. Ele se găsesc în biblioteca Signal Routing.

Bloc Simbolizare

Mux

Demux

Tabelul 18. Blocurile Mux şi Demux.

Semnalele de la intrările şi ieşirile blocurilor Mux şi Demux sunt, în general,

multidimensionale. In model, putem evidenţia aceste semnale astfel : Putem reprezenta aceste semnale îngroşat, cu clic pe Format Port / Signal

Display Wide Nonscalar Lines,

Putem afişa pe fiecare semnal din model dimensiunea lui, cu clic pe FormatPort / Signal Display Signal Dimensions,

Putem afişa pe fiecare semnal tipul semnalului cu clic pe Format Port /

Signal Display Port Data Types.

2.5.1 Crearea semnalelor cu blocul Mux

Blocul Mux are un parametru, Number of inputs, ce specifică numărul de porturi de

intrare în bloc. Dacă acest parametru este un număr, el specifică numărul de intrări în bloc şi fiecare semnal de intrare poate fi scalar sau vector de orice dimensiune. Dacă

parametrul este un vector, numărul de componente ale vectorului dă numărul de

intrări ale blocului, şi fiecare element al vectorului dă dimensiunea semnalului la

intrarea respectivă.

Semnalele de intrare în blocul Mux pot fi scalari, vectori, de tip numeric. Ordinea

semnalelor este cea în care ele apar la intrările blocului Mux.

2.5.2 Extragerea semnalelor din blocul Demux

Blocul Demux are două moduri de lucru :

modul Bus Selection, în care blocul poate avea ca intrare un semnal creat de un

bloc Mux, sau ieşirea unui alt bloc Demux, modul Vector în care blocul poate avea ca semnal de intrare un semnal scalar,

vector sau matrice, generat de un bloc de alt tip.

Blocul Demux are un parametru Bus selection mode care arată modul de lucru al

blocului. Dacă parametrul este marcat, intrarea trebuie să fie generată de un bloc Mux,

sau să fie ieşirea unui alt bloc Demux.

Blocul are un parametru Number of outputs în care se specifică numărul de ieşiri

(porturi) ale blocului Demux şi dimensiunea fiecărei ieşiri.

Modul de extragere a semnalelor din blocul Demux. depinde de modul de lucru al

blocului.

Page 46: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 46/151

46

2.5.2.1 Extragerea semnalelor în modul de lucru Vector

Extragerea semnalelor în modul de lucru Vector se face astfel : când valoarea

parametrului Number of outputs este un număr p, egal cu numărul de intrări n, acest

număr specifică numărul de ieşiri scalare ale blocului. Când valoarea parametrului

Number of outputs este un număr p, mai mic decât numărul de intrări n, acest număr

p specifică numărul de ieşiri. Dimensiunea fiecărei ieşiri se calculează astfel :

dacă n mod p = 0, fiecare ieşire are dimensiunea n / p,

dacă n mod p = m, m ieşiri au n / p+1 elemente, celelalte p – m ieşiri au n / p

elemente.

Când parametrul Number of outputs este un vector, dimensiunea vectorului dă

numărul de ieşiri (porturi), şi fiecare component dă dimensiunea semnalului unei ieşiri

a blocului.

Fie de exemplu modelul din Figura 44, în care blocul Sin Wave generează trei

semnale sinusoidale, decalate cu 2*pi/3. Vom reprezenta cele trei semnale pe acelaşi

grafic, în blocul Scope3, şi primele două semnale pe un grafic în blocul Scope şi al

treilea semnal pe un grafic în blocul Scope1.

Figura 44. Demultiplexarea semnalelor.

Semnalele au fost desenate îngroşat şi cu dimensiunile lor, aşa cum s-a arătat mai sus.

Parametrii blocului Demux sunt cei din Figura 45. Parametrul Number of outputs are

ca valoare vectorul [2 1].

Page 47: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 47/151

47

Figura 45. Parametrii blocului Demux.

Semnalele sunt cele din Figura 46, pentru blocul Scope3 cu cele trei semnale, şi în

Figura 47 şi Figura 48 pentru semnalele demultiplexate.

Figura 46. Blocul Scope3 cu cele trei semnale.

Page 48: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 48/151

48

Figura 47. Blocul Scope cu primele două semnale.

Figura 48. Blocul Scope1 cu al treilea semnal.

2.5.2.2 Extragerea semnalelor în modul de lucru Bus Selection

Extragerea semnalelor în modul de lucru Bus Selection se face astfel :

dacă valoarea parametrului Number of outputs este un scalar, el dă numărul

de porturi de ieşire. Acest număr trebuie să fie egal cu numărul de semnale de

intrare în blocul Demux,

dacă parametrul Number of outputs este un vector, componentele vectorului

dau numărul de semnale ale fiecărui port.

Fie modelul din Figura 49, în care blocul Sin Wave generează un semnal cu

dimensiunea trei, blocul Pulse Generator un semnal cu dimensiunea doi, iar blocul

Random Number un semnal cu dimensiunea doi. Intrarea blocurilor tip Demux este

ieşirea blocului tip Mux. Se observă că linia ce conectează ieşirea blocului Mux cuintrarea blocurilor Demux este diferită în acest mod de lucru faţă de modul Vector.

Page 49: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 49/151

49

Figura 49. Demultiplexarea semnalelor.

Pe liniile ce conectează blocurile Mux şi Demux sunt marcate numărul de semnale şi

suma dimensiunilor acestor semnale.

Parametrul Bus Selection Mode al blocurilor Demux este marcat. Blocul Demux are

ca parametru Number of Outputs valoarea trei, care este numărul de semnale şi decinumărul de porturi de ieşire. Semnalele la cele trei ieşiri ale blocului Demux sunt

arătate în Figura 50, Figura 51, Figura 52.

Figura 50. Primul port al blocului Demux.

Page 50: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 50/151

50

Figura 51. Al doilea port al blocului Demux.

Figura 52. Al treilea port al blocului Demux.

Blocul Demux1 are ca parametru Number of Outputs vectorul [2 1], care arată că blocul are două porturi (ieşiri), la primul port sunt conectate primele două semnale, la

cel de al doilea port este conectat al treilea semnal. Figura 53 arată prima ieşire a

blocului Demux1, ce conţine primele două semnale. Figura 54 arată a doua ieşire a

blocului Demux1 cu al treilea semnal.

Page 51: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 51/151

51

Figura 53. Primul port al blocului Demux1.

Figura 54. Al doilea port al blocului Demux1.

Vom exemplifica utilizarea blocurilor Mux şi Demux la un model ce integreazăecuaţia diferenţială

x'' + 3x' + 2x = 0

în condiţiile iniţiale x0=1 şi x0'=0.

Ieşirile blocului Integrator vor fi x şi x', iar intrările vor fi x' şi x'' unde

x'' = -3x' – 2x

Vom crea o magistrală cu semnalele x’ şi x’’ cu un bloc Mux, ce va fi introdusă la

intrarea blocului integrator. Condiţia iniţială pentru elementul integrator este vectorul

coloană [1 0]'. Pentru a crea semnalele x’ şi x’’ vom utiliza un bloc Demux ce extrage

din magistrală semnalele x şi x’. Modelul ecuaţiei diferenţiale este cel din Figura 55.

Parametrul Bus selection mode nu este marcat, deci blocul Demux lucrează în modul

Vector. Parametrul Number of outputs are valoarea doi.

Page 52: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 52/151

52

Figura 55. Modelul ecuaţiei diferenţiale x'' + 3x' + 2x = 0.

Intrarea în blocul Scope este ieşirea integratorului, vectorul [x x’]’. Dimensiunea

semnalelor multidimensionale este afişată selectând un semnal şi executând clic pe

opţiunea Signal dimensions a meniului Format. Semnalele multidimensionale sunt

desenate îngroşat, selectând un semnal şi executând clic pe opţiunea Wide nonscalar

lines a aceluiaşi meniu. Rezultatul simulării modelului este cel din Figura 18.

2.6 Blocurile Bus Creator şi Bus Selector

Un bus (magistrală) este un semnal compus ce are o structură ierarhică. Semnalele

componente pot fi, la rândul lor, semnale compuse şi pot fi de tipuri diferite. Pentru a

lucra cu semnale compuse de tip bus, există trei blocuri: Blocul Bus Creator crează un

semnal tip bus din semnalele de la intrarea sa. Blocul Bus Selector selectează

semnalele din bus. Blocul Bus Assignment atribuie valori semnalelor din bus. Ele sunt

simbolizate ca în Tabelul 19 şi se găsesc în biblioteca Signal Routing.

Bloc Simbolizare

Bus Creator

Bus Selector

Bus Assignment

Tabelul 19. Blocurile Bus Creator, Bus Selector, Bus Assignment.

Page 53: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 53/151

53

2.6.1 Crearea unui bus

Blocul Bus Creator crează un bus din semnalele de la intrările sale. Fiecare semnal are

un nume, atribuit de bloc (implicit), sau de utilizator. Semnalul poate avea numele

semnalului conectat la intrare (implicit), sau alt nume.

Vom exemplifica utilizarea blocului Bus Creator pe modelul din Figura 56, în care

creăm un bus cu două semnale, unul cu dimensiunea unu, creat de blocul PulseGenerator, altul cu dimensiunea doi, creat de blocul Sine Wave.

Figura 56. Crearea unei magistrale (bus).

Blocul Bus Creator are caseta cu parametri din Figura 57.

In caseta Number of inputs introducem numărul de semnale, care este numărul de

intrări în bloc.

Numele semnalelor apar în lista Signals in bus. Aceste nume se aleg astfel:

dacă în lista din zona Parameters alegem opţiunea Inherit bus signal name

from input ports, blocul atribuie semnalelor numele semnalelor conectate la

porturi, sau numele inplicite signal1, signal2, …, dacă aceste semnale nu au

nume.

dacă alegem opţiunea Require input signal names to match signals below ,

putem alegem numele dorite pentru semnale.

Pentru a modifica numele unui semnal se procedează astfel:

1. selectăm opţiunea Require input signal names to match signals below,

2. selectăm semnalul în lista Signals in bus,

3. în lista Rename selected signal se introduce noul nume al semnalului,

4. clic pe butonul Apply.

Page 54: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 54/151

54

Figura 57. Caseta cu parametrii a blocului Bus Creator.

Putem afla sursa unui semnal selectând semnalul cu un clic şi apoi clic pe butonul

Find. In Figura 58 este afişată sursa semnalului signal1

Page 55: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 55/151

55

Figura 58. Afişarea sursei unui semnal.

2.6.2 Selectarea semnalelor din bus

Blocul Bus Selector selectează semnalele din bus. Selectarea semnalelor la ieşiri se

face în caseta cu parametrii blocului din Figura 59. In lista Signals in the bus suntafişate semnalele din bus cu numele lor, în ordinea în care au fost introduse în bus. In

lista Selected signals sunt semnalele selectate pentru fiecare ieşire, în ordinea dorită.

Implicit, semnalele la ieşiri au ordinea din bus. Selectarea semnalelor la ieşiri, în

ordinea în care vrem se face astfel:

1. se selectează un semnal în caseta Signals in the bus,

2. clic pe butonul Select, .

Se poate şterge un semnal din lista Selected Signals selectându-l în lista Selected

signals şi apoi clic pe butonul .

Se poate naviga prin semnalele din lista Selected signals cu butoanele Up,

şi Down, .

Page 56: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 56/151

56

Figura 59. Caseta cu parametri a blocului Bus Selector.

Page 57: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 57/151

57

3. Blocuri pentru generarea şi analiza semnalelor

3.1 Blocuri pentru generarea semnalelor

In Simulink există blocuri de semnal pentru generarea de semnale standard : treaptă,

rampă, sinusoidă, zgomote aleatoare cu distribuţie uniformă şi gaussiană, etc. Câteva

din aceste blocuri sunt prezentate în Tabelul 20. Ele se găsesc în biblioteca Sources.

Bloc Simbolizare

Ceasul simulării

Constantă

Treaptă

Rampă

Generator de zgomot uniform

Generator de zgomot gaussian

Generator sinusoidal

Generator de impulsuri

Generator de zgomot alb cu

bandă limitatăTabelul 20. Blocuri de generare a semnalelor.

O descriere a acestor blocuri este următoarea:

blocul Ceasul simulării generează timpul simulării,

blocul Constantă generează o constantă care poate fi scalar, vector sau matrice,

blocul Treaptă (Step), generează semnale treaptă, scalare, vectori sau matrice.

Pentru fiecare semnal se prescriu parametrii valoarea iniţială, finală şi

momentul saltului,

blocul Rampă generează semnale rampă scalare, vectori sau matrice. Pentru

fiecare semnal se prescriu parametrii momentul de începere, panta şi valoarea

iniţială a semnalului, blocul Generator de zgomot uniform generează zgomote aleatoare uniforme

scalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii

valoarea minimă şi maximă. Semnalele necesită un parametru suplimentar, un

număr natural impar,

blocul Generator de zgomot gaussian generează zgomote aleatoare gaussienescalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii

valoarea medie şi dispersia. Semnalele necesită un parametru suplimentar, un

număr natural impar.

blocul Generator sinusoidal (Sin Wave), generează semnale sinusoidale,

scalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii

amplitudine, faza (rad) şi frecvenţa (rad/s),

Page 58: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 58/151

58

blocul Generator de impulsuri generează trenuri de impulsuri scalare, vectori

sau matrice. Pentru fiecare semnal se prescriu parametrii amplitudine, perioada

(s), lăţimea impulsului (% din perioadă) şi întârzierea de fază (s),

blocul Generator de zgomot alb cu bandă limitată generează zgomot alb

gaussian.

3.2 Blocuri pentru analiza semnalelor

Blocurile de analiza semnalelor sunt cele din Tabelul 21. Ele sunt definite în

biblioteca Simulink Extras / Additional Sinks.

Bloc Simbolizare

Autocorelaţie

Corelaţie

Analizor de spectru

Tabelul 21. Blocuri de analiza semnalelor.

Menţionăm că, pentru toate blocurile ce nu sunt definite în biblioteca Simulink, vezi

Figura 5, putem afişa biblioteca unui bloc în felul următor:

1. se selectează bloc,

2. clic pe Edit Link Options Go To Library Block , sau pe opţiunile Link

Options Go To Library Block ale meniului contextual al blocului.

De exemplu, biblioteca Simulink Extras / Additional Sinks din Figura 60, se afişază

cu clic pe blocul Cross Correlator din Figura 61.

Figura 60. Biblioteca Simulink Extras / Additional Sinks.

Page 59: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 59/151

59

Primul exemplu de utilizare a blocurilor de semnal este calculul corelaţiei a două

semnale sinusoidale, sin(2πt) şi sin(2πt) + n(t), unde n(t) este zgomot alb gaussian cu

valoare medie nulă şi dispersia unu. Modelul sistemului este cel din Figura 61.

Corelaţia este calculată de blocul Cross Correlator care are ca intrări cele două

semnale. Funcţia de corelaţie este cea din Figura 62.

Figura 61. Calculul corelaţiei a două semnale sinusoidale.

Page 60: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 60/151

60

Figura 62. Corelaţia a două semnale sinusoidale.

Al doilea exemplu este calculul funcţiei de autocorelaţie a unui semnal sinusoidal.

Funcţia de autocorelaţie a unui semnal se defineşte ca

P

P P

dt t f t f P

R 2

1lim

In cazul unei funcţii periodice, se arată că se poate calcula integrala doar pe o

perioadă. Pentru funcţia

t At f c sin

Funcţia de autocorelaţie este

c

A R cos

2

2

Fie de calculat funcţia de autocorelaţie pentru semnalul t t f 2sin .

Modelul este cel din Figura 63, iar rezultatul este cel din Figura 64.

Page 61: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 61/151

61

Figura 63. calculul autocorelaţiei unui semnal sinusoidal.

Figura 64. Autocorelaţia unui semnal sinusoidal.

Page 62: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 62/151

62

Al treilea exemplu este analiza spectrului semnalului la ieşirea unei funcţii de transfer.

Modelul este cel din Figura 65, iar spectrul este cel din Figura 66.

Parametrii blocului Band Limited White Noise sunt puterea zgomotului = 0.1, timpul

de eşantionare 0.1s. Parametrii blocului Spectrum Analyzer sunt dimensiunea

transformatei Fourier 256 puncte, timpul de eşantionare 0.1s.

Figura 65. Analiza spectrului unei funcţii de transfer.

Page 63: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 63/151

63

Figura 66. Spectrul unei funcţii de transfer.

Vom reprezenta caracteristicile logaritmice de frecvenţă ale funcţiei de transfer de

mai sus.

creăm un obiect funcţie de transfer

>> M = [1];>> N = [1 1];

>> tfa = tf(M, N);

>> tfa

Transfer function:

1

-----

s + 1

reprezentăm grafic caracteristicile amplitudine şi fază la scară logaritmică

Page 64: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 64/151

64

>> bode(tfa)

>> grid

Rezultatul este cel din

Figura 67. Caracteristicile logaritmice ale funcţiei de transfer 1 / (s + 1).

3.3 Analiza modelelor la diverse intrări

Aplicaţia Signal & Scope Manager ne permite să aplicăm la intrarea unui model

diverse intrări şi să observăm ieşirea.

Aplicaţia se lansează cu clic pe Tools Signal & Scope Manager al ferestreieditorului de modele. Fereastra aplicaţiei este cea din Figura 68. In partea stângă

există fereastra Types cu tipurile de elemente generatoare de semnal şi elemente de

afişare a semnalelor. In partea dreaptă sus există fereastra Generators / Viewers in

model, cu secţiunile Generators şi Viewers cu liste cu generatoarele de semnal şi

elemente de afişare a semnalelor ataşate modelului. Fereastra are trei butoane:

Open parameters for selection, , care afişază caseta cu parametri a

elementului selectat,

Edit signal connection for selection, , care afişază caseta Port Selector pentru elementul selectat. In această casetă alegem elemental din model la care

conectăm generatorul de semnal sau elementul de afişare selectat,

Page 65: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 65/151

65

Delete selection, , care şterge generatorul de semnal sau elementul de

afişare selectat.

In dreapta jos este lista Signals connected to generator / Viewer. La un clic pe un

generator de semnal / element de afişare se afişază semnalele conectate la generatorul

de semnal / elementul de afişare.

Figura 68. Fereastra aplicaţiei Signal & Scope Manager.

Fie de exemplu, modelul din Figura 69, la care aplicăm o treaptă unitară şi înregistrăm

ieşirea.

Figura 69. Model testat la intrare treaptă.

Se adaugă un generator de semnal la model astfel:

1. se expandează nodul Simulink şi clic pe Constant,

2. clic pe butonul Attach to model. In secţiunea Genarators apare blocul

(generatorul de semnal) Constant1. In lista Signals connected to generator /

Page 66: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 66/151

66

Viewer se arată că ieşirea blocului de semnal nu este conectată, vezi Figura

70,

Figura 70. Ataşarea unui generator de semnal la model.

3. clic pe butonul Edit signal connection for selection, , care afişază caseta

Port Selector pentru elementul selectat. In fereastra din dreapta apar blocuriledin model şi se selectează cel la a cărui intrare se aplică semnalul, vezi Figura

71,

Figura 71. Fereastra Port Selector pentru generatorul de semnal.

In lista Signals connected to generator / Viewer se arată că ieşirea blocului desemnal este conectat la intrarea elementului Transfer Fcn, vezi Figura 72.

Page 67: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 67/151

67

Figura 72. Generator de semnal conectat la model.

Se procedează în acelaşi mod şi pentru elementul Scope:

1. se expandează nodul Simulink şi clic pe Scope,

2. clic pe butonul Attach to model,

3. clic pe butonul Edit signal connection for selection, , care afişază casetaPort Selector pentru elementul selectat. In fereastra din dreapta apar blocurile

din model şi se selectează cel la a cărui ieşire se afişază, vezi Figura 73,

Figura 73. Fereastra Port Selector pentru elemental de afişare a semnalelor.

Modelul cu generatorul de semnal ataşat este cel din Figura 74.

Page 68: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 68/151

68

Figura 74. Modelul cu generatorul de semnal ataşat.

Se simulează modelul. Se afişază fereastra aplicaţiei Signal & Scope Manager şi clic

pe butonul Open parameters for selection, . Reazultatul simulării este cel dinFigura 75.

Figura 75. Ieşirea elementului Transfer Fcn.

Un generator de semnal are meniul contextual din Figura 76. Cu acest meniu putem

modifica proprietăţile generatorului, deconecta sau şterge generatorul, etc.

Page 69: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 69/151

69

Figura 76. Meniul contextual al unui generator de semnal.

Ca un alt exemplu, fie blocurile tip Transfer Fcn din Figura 77 la intrarea cărora

aplicăm acelaşi semnal treaptă.

Figura 77. Model cu generator de semnal ataşat.

Ieşirile celor două elemente la acelaşi semnal treaptă unitară sunt cel din Figura 78.

Page 70: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 70/151

70

Figura 78. Ieşirile elementelor Transfer Fcn.

Page 71: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 71/151

71

4. Blocuri de calculSimulink are blocuri de calcul ce realizează operaţiile aritmetice şi funcţiile

matematice uzuale din Matlab. Câteva dintre ele sunt prezentate în Tabelul 22. Ele se

găsesc în biblioteca Math Operations.

Bloc Simbolizare

Valoare absolută

Gain

Funcţie matematică

Reshape

Produs

Produs scalar

Funcţie trigonometrică

Sumator

Tabelul 22. Blocuri de calcul.

Blocul Abs calculează valoarea absolută a intrării.

Blocurile Gain, Matrix Gain şi Sumator au fost prezentate anterior.

Blocul Reshape redimensionează o matrice.

Blocul Produs înmulţeşte sau împarte intrările. Intrările pot fi scalare, vectori saumatrice. Operaţia se poate realiza :

element cu element (Element-wise),

matricial (Matrix) .

Intrările trebuie să aibe dimensiuni compatibile cu operaţia realizată : în primul caz

compatibile pentru operaţia element cu element, în al doilea caz intrările trebuie să

aibă dimensiuni compatibile pentru înmulţirea matricelor sau pentru înmulţirea cu

matricea inversă.

In exemplul din Figura 79 se împart două mărimi scalare.

Page 72: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 72/151

72

Figura 79. Inpărţirea a două mărimi.

Figura 80. Caseta de dialog cu parametrii elementului Produs.

In caseta de text Number of inputs se introduce pentru fiecare intrare * pentru

înmulţire şi / pentru împărţire. In cazul în care în caseta de text Multiplication se

alege opţiunea Matrix se face înmulţirea matricială a intrărilor în cazul operaţiei de

înmulţire (*), sau înmulţirea cu inversa în cazul operaţiei de împărţire (/). In cazul

când toate intrările se inmulţesc, în caseta de text Number of inputs se poate scrie

doar numărul intrărilor.

In exemplul de mai sus parametrul Number of inputs are valoarea */ deoarece

intrările se împart.

Page 73: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 73/151

73

Blocul Produs scalar, (Dot product), calculează produsul scalar al celor două intrări.

Intrările pot fi vectori linie sau coloană sau scalari.

Blocul Funcţie trigonometrică realizează funcţii trigonometrice sau hiperbolice.

Funcţiile disponibile sunt cele din caseta Function arătate în Figura 81.

Figura 81. Caseta de dialog cu parametrii blocului Funcţie trigonometrică.

Blocul Funcţie matematică poate realiza funcţiile din Figura 82. Intrarea blocului

poate fi scalară, vector sau funcţie. Blocul aplică funcţia alesă asupra fiecărui element

al intrării.

Figura 82. Caseta de dialog cu parametrii blocului Funcţie matematică.

Vom exemplifica aplicarea blocului calculând ln(a) pentru matricea

a = [1 2; 3 4]Rezultatul este prezentat în Figura 83.

Page 74: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 74/151

74

Figura 83. Calculul matricei ln(a).

Page 75: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 75/151

75

5. Blocuri neliniareMatlab defineşte blocuri neliniare corespunzând neliniarităţilor des întâlnite: saturaţie,

relee, zonă moartă, etc. Câteva din blocurile neliniare existente sunt cele din Tabelul

23. Ele se găsesc în biblioteca Discontinuities.

Bloc Simbolizare

Saturaţie

Releu

Zonă moartă

Cuantizare

Tabelul 23. Blocuri neliniare.

O descriere a acestor blocuri este dată în continuare.

blocul Saturaţie realizează o caracteristică tip saturaţie. Parametrii bloculuisunt limita superioară şi limita inferioară la care este limitat semnalul. Blocul

poate avea mai multe intrări,

blocul Releu realizează o caracteristică tip releu. Parametrii blocului sunt celedouă valori minimă şi maximă ale semnalului de intrare la care releul comută

şi cele două valori ale ieşirii la comutare,

blocul Zonă Moartă realizează o caracteristică tip zonă moartă. Parametrii blocului sunt cele două valori limită, minimă şi maximă ale zonei moarte.

blocul Cuantizare realizează o caracteristică de cuantizare. Parametrul bloculuieste intervalul de cuantizare.

Vom exemplifica utilizarea blocurilor neliniare prin simularea sistemului din Figura

84. In primul caz vom utiliza un releu ideal. Ieşirea releului este +1 când intrarea este

pozitivă şi -1 când intrarea este negativă. In cazul al doilea utilizăm un releu cu

histerezis, ieşirea releului este +1 sau -1, limitele când ieşirea îşi schimbă starea sunt

0.2 şi respectiv -0.2. Traiectoriile de fază şi ieşirile sistemului pentru cele două tipuri

de relee sunt prezentate în Tabelul 24 şi Tabelul 25. Reamintim că parametrii blocului

XYGraph sunt limitele axelor. Aceşti parametrii se pot prescrie în caseta respectivă

afişată cu un clic pe opţiunea Mask Parameters a meniului Edit sau a meniului

contextual al elementului.

Rezultatele pot fi salvate şi în spaţiul de lucru Matlab. Pentru aceasta se afişază casetaSimulation Parameters cu un clic pe opţiunea Simulation parameters a meniului

Simulation din Figura 85. In secţiunea Workspace I / O, zona Save to workspace se

marchează opţiunile Time şi States.Valorile momentelor la care este calculată soluţia

sunt scrise în vectorul tout, iar valorile soluţiei la aceste momente în matricea xout pe

coloane. Figura 86 prezintă traiectoria de fază a sistemului trasată în Matlab cu

instrucţiunea

plot(xout(:, 1), xout(:, 2))

Page 76: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 76/151

76

Figura 84. Sistem neliniar.

a) releu ideal b) releu cu histerezis

Tabelul 24. Traiectoria de fază a sistemului din Figura 84 pentru două tipuri de relee.

a) releu ideal b) releu cu histerezis

Tabelul 25. Răspunsul sistemului din Figura 84 pentru două tipuri de relee.

Page 77: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 77/151

77

Figura 85. Caseta Simulation Parameters.

Figura 86. Traiectoria de fază a sistemului din Figura 84 in cazul releului ideal.

Două blocuri ce modelează convertoare analog-numerice, (CAN), şi numeric-

analogice, (CAN), sunt cele din Tabelul 26. Ele se găsesc în biblioteca Signal

Processing Blockset / Quantizers.

Page 78: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 78/151

78

Bloc Simbolizare

Decoder uniform (CNA)

Encoder uniform (CAN)

Tabelul 26. Convertoare analog-numerice şi numeric analogice.

Blocul Encoder uniform, (CAN), are la intrare un semnal continuu, iar la ieşie un

număr binar. Parametrii blocului sunt numărul de biţi ai ieşirii, 8, 16 sau 32 şi tipul

ieşirii număr cu semn sau fără semn.

Blocul Decoder uniform, (CAN), are la intrare un număr întreg şi la ieşire un semnal

continuu. Parametrii blocului sunt numărul de biţi, 8, 16 sau 32 şi valoarea de vârf

corespunzătoare numărului maxim la intrare (Peak).

Un exemplu de conversie analog-numerică şi apoi numeric – analogică a unui semnal

este cel din Figura 87. Numărul de biţi ale celor două convertoare s-a ales opt.

Valoarea de vârf a blocului Decoder uniform este unu, egală cu amplitudinea

sinusoidei generate de blocul Sine Wave.

Figura 87. Utilizarea blocurilor Decoder uniform şi Encoder uniform.

Semnalul generat de blocul Sine Wave este arătat în Figura 88.

Page 79: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 79/151

79

Figura 88. Semnalul de intrare generat de blocul Sine Wave.

Semnalul de la ieşirea blocului Encoder uniform este arătat în Figura 89. Valoarea lui

este cuprinsă între [-128, +127] corespunzând celor 8 biţi ai convertorului.

Figura 89. Semnalul de ieşire al blocului Encoder uniform.

Semanlul de la ieşirea blocului Decoder uniform este arătat în Figura 90. Ieşirea

blocului este cuprinsă între [-1, +1] conform valorii de vârf a ieşirii blocului

(parametrul Peak).

Page 80: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 80/151

80

Figura 90. Semnalul de ieşire al blocului Decoder uniform.

Page 81: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 81/151

81

6. Funcţii definite de utilizator Utilizatorul poate defini propriile funcţii utilizate în simulare. Pentru aceasta se

utilizează blocurile din Tabelul 27. Ele se găsesc în biblioteca User Defined

Functions.

Bloc Simbolizare

Funcţie

Funcţie Matlab

Funcţie utilizator

Tabelul 27. Blocuri pentru funcţii definite de utilizator.

6.1 Funcţii definite printr- o expresieUtilizatorul poate defini propria funcţie, ce constă dintr-o expresie, cu blocul Fcn.

Blocul poate avea ca intrare un scalar sau un vector şi o ieşire scalară. Funcţia constă

într-o singură expresie aritmetică, în care se pot folosi funcţiile matematice standard

din Matlab, aplicate asupra elementelor scalare ale intrării. Intrarea este notată cu u.

Fie de exemplu u un vector de intrare linie cu două componente. O expresie posibilă

pentru blocul Fcn este

u(1) * u(1) + u(2) * u(2)

dar nu u * u’.

Ca exemplu, fie de integrat ecuaţia diferenţială Duffing

Mx’’ + Kx + Qx3=F sin(ωt)

în condiţii iniţiale nule. Parametrii ecuaţiei sunt K = 10, Q = -0.4, F = 5, ω=10 şi M =0.041. Modelul ecuaţiei este prezentat în Figura 91. Expresia Kx + Qx3 este realizată

cu un bloc Fcn. Caseta cu expresia blocului este arătată în Figura 92. Ieşirea

modelului este arătată în Figura 93.

Page 82: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 82/151

82

Figura 91. Modelul ecuaţiie diferenţiale Mx’’++Kx+Qx3=Fsin(ωt)

Figura 92. Funcţie definită de utilizator.

Page 83: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 83/151

83

Figura 93. Soluţia sistemului din Figura 91.

6.2 Utilizarea funcţiilor Matlab

Utilizatorul poate folosi în simulare funcţii Matlab definite în fişiere cu extensia m.

Pentru aceasta se introduce în model un bloc MATLAB Fcn care apelează o funcţie

Matlab. Vom exemplifica utilizarea acestui bloc la calculul inversei unei matrice.

Vom scrie funcţia Matlab din Figura 94. După calculul matricei inverse, aceasta este

convertită la un vector coloană cu funcţia reshape, care pune coloanele într-un vector,

una după alta.

Figura 94. Funcţie Matlab ce inversează o matrice.

Pentru a testa funcţia din fişierul ainv.m, fie programul Matlab de mai jos, în care

inversăm matricea

4321 .

>> a = [1 2;3 4]

a =

1 2

3 4

>> inv(a)

ans =

-2.0000 1.0000

1.5000 -0.5000

>> ainv(a)

Page 84: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 84/151

84

ans =

-2.0000

1.5000

1.0000

-0.5000

Modelul pentru calculul inversei unei matrice este cel din Figura 95. In blocul

Constant se defineşte matricea [1 2; 3 4]. In blocul MATLAB Fcn se apelează funcţia

din fişierul ainv.m. Rezultatul blocului este matricea inversă sub forma unui vector ce

conţine coloanele matricei. Blocul Reshape redimensionează matricea inversă din

vectorul furnizat de blocul MATLAB Fcn. Rezultatele sunt afişate de cele două

blocuri Display.

Figura 95. Calculul inversei unei matrice.

Caseta cu parametrii blocului MATLAB Fcn este arătată în Figura 96.

Page 85: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 85/151

85

Figura 96. Caseta de dialog cu parametrii blocului MATLAB Fcn.

Figura 97. Caseta de dialog cu parametrii blocului Reshape.

6.3 Funcţii definite de utilizator (S-Funcţii)

La simularea unui model descris de un sistem de ecuaţii diferenţiale este posibil să

definim funcţia ce calculează derivatele (membrul drept al sistemului de ecuaţii

diferenţiale) într-un fişier Matlab şi să definim un bloc ce utilizează această funcţie

pentru a calcula soluţia sistemului de ecuaţii diferenţiale în cadrul unui model.

Vom arăta cum se rezolvă ecuaţiile diferenţiale în Matlab cu exemplul următor. Fie de

rezolvat ecuaţia diferenţială

x'' + 3 x' + 2 x = u

în condiţiile iniţiale x(0) = 0, x'(0) = 0 şi u(t) = 1. Punem ecuaţia sub forma sistemului

de ordin I cu substituţiile y1 = x, y2 = x', şi avem sistemul

u y y

1

0

32

10

Page 86: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 86/151

86

Pentru a rezolva sistemul în Matlab cu funcţia ode45(), procedăm în felul următor.

Definim o funcţie Matlab care calculează membrul drept al ecuaţiei diferenţiale.

Funcţia are ca parametrii de intrare :

1. t, timpul la care se calculează derivata,

2. x, vector cu soluţia la momentu t,

3. parametrii funcţiei, (opţional),Funcţia pentru exemplul de mai sus este definită în fişierul sfct.m, în care u este un

parametru al funcţiei.

function dx = fct(t, x, u)

dx(1) = x(2);

dx(2) = -2 * x(1) - 3 * x(2) + u;

dx = dx';

Parametrii funcţiei ode45() ce integrează ecuaţii diferenţiale ordinare sunt următorii :

1. variabilă tip handle a funcţiei ce calculează membrul drept al sistemului deecuaţii diferenţiale,

2. vector ce conţine limitele intervalului de integrare,

3. vector cu condiţiile iniţiale,

4. variabilă cu opţiuni pentru funcţia ode45(), de exemplu eroarea relativă sau

absolută la integrare, etc.,

5. vector cu parametrii ce vor fi pasaţi funcţiei ce calculează membrul drept al

sistemului de ecuaţii diferenţiale.

Funcţia are ca rezultat :

1. un vector coloană t, cu momentele de timp la care s-a calculat soluţia,

2. matricea x ce conţine pe coloane soluţiile corespunzătoare elementelor

vectorului de stare.

Apelăm funcţia ode45() astfel :

ts = [0, 10]

x0 = [0 0]

[t, x] = ode45(@sfct, ts, x0, [], 1);

Ultimul parametru al funcţie are valoarea 1 şi el corespunde intrării u(t) = 1.

Avem posibilitatea de a defini un bloc ce integrează acelaşi sistem de ecuaţii

diferenţiale şi să-l utilizăm în cadrul unui model. Blocul va apela funcţia sfct ce

calculează membrul drept al sistemului de ecuaţii diferenţiale la fiecare pas deintegrare. Acest bloc este de tipul S-Function în Tabelul 27.

Pentru a defini un asemenea bloc procedăm în felul următor.

Definim o funcţie cu informaţii despre sistemul de ecuaţii diferenţiale ce trebuie

integrat, numită în continuare S-funcţie. Funcţia este apelată de Simulink la diferite

momente ale simulării. Prototipul funcţiei este

function [sys, x0, str, ts] =sfcn(t, x, u, flag, p1, p2, …)

switch flag

case 0 % initializare……………..

Page 87: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 87/151

87

case 1 % informatii despre derivate

……………..

case 2 % informatii in cazul sistemelor discrete

……………..

case 3 % informatii despre iesire

………………case 4 %

………………..

case 9 % calcule la sfarsitul simularii

………………..

otherwise

error([' unhandled flag = ', num2str(flag)]);

end

Parametrii de intrare ai funcţiei sunt :

t- variabila timp,

x – vector cu soluţia la momentul t, (variabilele de stare),u – vector cu variabilele de intrare la momentul t,

flag – variabilă cu valorile

0 – se definesc dimensiunile vectorilor de intrare, ieşire, etc. şi vectorul

condiţiilor iniţiale,

1 – informaţii despre derivate; funcţia ce calculează membrul drept al sistemului

de ecuaţii diferenţiale,

2 – utilizat pentru ecuaţii discrete,

3 – informatii despre iesire ; se definesc ieşirile în funcţie de vectorul x al

variabilelor de stare,

4 -

9 – calcule la sfârşitul simulării.

p1, p2, … - parametri suplimentari ai funţiei sfcn, introduşi în caseta cu parametrii a

blocului S-Function.

Parametrii t, x, u, flag sunt pasaţi funcţiei de către Simulink.

Parametrii de ieşire ai funcţiei sunt :

sys – vector cu valori ce depind de parametrul flag, cu valorile :

0 - sys = [nsc, nsd, ne, ni, ne, nf, nst], unde :

nsc – numărul de stări continue (ordinul sistemului de ecuaţii diferenţiale),

nsd - numărul de stări discrete,

ne – numărul de ieşiri,

ni - numărul de intrări,ne = 0,

nf – 1 dacă există legătură directă de la intrare la ieşire şi 0 în caz contrar,

nst –

1 – sys = vectorul derivatelor sistemului de ecuaţii diferenţiale,

2 – sys = ,

3 – sys = vectorul ieşirilor,

4 – sys = ,

9 – sys = .

In cazul când sys este un vector vid, vom scrie sys = [].

x0 – vector cu condiţiile iniţiale,

str = []ts – vector cu două componente ce specifică timpul de eşantionare.

Page 88: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 88/151

88

Informaţiile din vectorul sys pentru flag = 0 se prescriu astfel. Se crează o structură cu

următoarele câmpuri :

NumContStates - numărul de stări continue,

NumDiscStates - numărul de stări discrete,

NumOutputs - numărul de ieşiri,

NumInputs - numărul de intrări,DirFeedthrough - 1 dacă există legătură directă de la intrare la ieşire şi 0 în

caz contrar,

NumSampleTimes - numărul de

Completarea vectorului sys pentru flag = 0 se face cu funcţia simsizes astfel :

1. se crează o structură s, neiniţializată, cu instrucţiunea

s = simsizes

2. se completează elementele structurii s,

3. se transformă valorile structurii într-un vector cu instrucţiunea

sys = simsizes(s)

In cazul nostru, funcţia este cea de mai jos şi este definită în fişierul sfuns.m.

function [sys, x0, str, ts] = sfuns(t, x, v, flag)

switch flag

case 0 % initializare

str = [];

ts = [0 0];

s = simsizes;

s.NumContStates = 2;

s.NumDiscStates = 0;

s.NumOutputs = 2;

s.NumInputs = 1;

s.DirFeedthrough = 0;

s.NumSampleTimes = 1;

sys = simsizes(s);

x0 = [0 0]; % vector cu condiţiile iniţiale

case 1 % informatii despre derivate

u = v; % valoarea parametrului u

sys = sfct(t, x, u); % funcţia ce calculează derivatele

case 3 % informatii despre iesire

sys = x;

case 2 4 9

sys = [];

otherwise

error([' unhandled flag = ', num2str(flag)]);

end

Page 89: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 89/151

89

In cazul flag = 1, sys va conţine vectorul derivatelor. Acesta este rezultatul funcţiei

sfct care are ca parametru u intrarea sistemului, u. Aceasta este chiar intrarea în bloc,

parametrul v al funcţiei sfuns. Avem deci instrucţiunile de mai jos.

case 1 % informatii despre derivate

u = v; % valoarea parametrului usys = sfct(t, x, u); % funcţia ce calculează derivatele

In cazul flag = 3 sys conţine vectorul ieşirilor, în cazul nostru vectorul x.

case 3 % informatii despre iesire

sys = x;

Modelul este cel din Figura 98.

Figura 98. Model cu bloc S-Function.

Caseta cu parametrii blocului este cea din Figura 99. Numele S-funcţiei se introduce

în caseta S-function name. La clic pe butonul Edit, , se afişază funcţia în

editorul Matlab, unde poate fi modificată. Parametrii suplimentari ai S-funcţiei se

introduc în caseta S-function parameters.

Page 90: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 90/151

90

Figura 99. Caseta cu parametrii a blocului S-Function.

Ieşirea modelului este cea din Figura 100.

Figura 100. Rezultatul simulării sistemului din Figura 98.

Page 91: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 91/151

91

7. Simularea sistemelor liniare continue cucoeficienţi constanţiVom considera sisteme descrise prin (sisteme de) ecuaţii diferenţiale liniare cu

coeficienţi constanţi. Acestea pot fi simulate: construind modelul ecuaţiilor diferenţiale ordinare, ca mai înainte,

utilizând blocuri Transfer-Fcn ce descriu funcţii şi matrice de transfer,

utilizând blocuri Zero-Pole ce descriu funcţii şi matrice de transfer,

utilizând blocuri State-Space ce descriu sisteme de ecuaţii diferenţiale liniare.

Blocurile corespunzătoare sunt cele din Tabelul 28. Ele se găsesc în biblioteca

Continuous.

Bloc Simbolizare

Matrice de transfer dată prin

coeficienţii polinoamelor

Matrice de transfer dată prin poli

şi zerouri

Ecuaţii de stare

Tabelul 28. Blocuri de simulare a sistemelor liniare continue cu coeficienţi constanţi.

Exemplu. Să calculăm soluţia ecuaţiei diferenţiale ordinare

x'' + 3x' + 2x = 1

în condiţii iniţiale nule, pe o durată de 5s.

Modelul, construit cu elemente Integrator, Sum şi Gain ca mai sus, este arătat în

Figura 101. Treapta unitară este generată de un bloc Constant.

Figura 101. Modelul ecuaţiei diferenţiale ordinare x''+3x'+2x=1.

Page 92: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 92/151

92

Rezultatul simulării modelului este cel din Figura 102.

Figura 102. Rezultatul simularii sistemului din Figura 101.

7.1 Blocul Transfer Fcn

Blocul Transfer Fcn poate simula sisteme liniare descrise printr-o funcţie sau matrice

de transfer. Fie din nou ecuaţia diferenţială

x'' + 3x' + 2x = 1

Să calculăm soluţia ecuaţiei diferenţiale în condiţii iniţiale nule.Funcţia de transfer

corespunzătoare ecuaţiei este

23

12

s s

s H

Modelul corespunzător din Figura 103 este construit cu blocul Transfer Fcn.

Page 93: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 93/151

93

Figura 103. Modelul unei funcţii de transfer.

Pentru a prescrie numărătorul şi numitorul funcţiei de transfer se execută un clic cu

butonul drept pe bloc şi se afişază caseta de dialog din Figura 104.

Figura 104. Caseta de dialog cu parametrii blocului Transfer Fcn.

Polinomul de la numitor se defineşte prin vectorul coeficienţilor în ordinea

descrescătoare a puterilor lui s. Numărătorul funcţiei de transfer este definit în acelaşifel, aici o matrice de dimensiune 1. Rezultatul simulării este cel din Figura 102.

Page 94: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 94/151

94

Blocul Transfer Fcn poate modela şi matrice de transfer corespunzând unui sistem cu

o intrare şi mai multe ieşiri la care funcţiile de transfer corespunzătoare canalelor

intrare – ieşire au acelaşi numitor. In acest caz numărătorul este o matrice, cu numărul

de linii egal cu numărul de ieşiri. Numitorul este vectorul corespunzător polinomului

numitorului comun al tuturor canalelor intrare - ieşire, cu coeficienţii daţi în ordinea

descrescătoare a puterilor lui s. Polinoamele numărătorilor fiecărui canal intrare – ieşire trebuie să aibă acelaşi grad. Aceste polinoame sunt date tot în ordinea

descrescătoare a puterilor lui s, în liniile matricei de la numărător.

Fie de exemplu matricea de transfer

1

2

23

12 s

s

s s s H

Vom simula această matrice de transfer la intrare treaptă în condiţii iniţiale nule.

Modelul este cel din Figura 105.

Figura 105. Simularea unei matrice de transfer.

Caseta de dialog cu parametrii blocului este cea din Figura 106. Aceşti parametrii sunt

în cazul numărătorului matricea

[1 2; 1 1]

iar în cazul numărătorului vectorul

[1 3 2]

Rezultatul simulării este prezentat în Figura 107.

Page 95: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 95/151

95

Figura 106. Caseta de dialog cu parametrii blocului Transfer Fcn.

Figura 107. Rezultatul simulării unei matrice de transfer.

Pentru a calcula valoarea staţionară a ieşirilor se poate aplica teorema valorii finale atransformatei Laplace. Transformata Laplace a intrării este

s

sU 1

Transformata Laplace a ieşirii este

1

2

23

112 s

s

s s s sU s H sY

5.0

1

1

2

2

1lim

0

s sY s

Page 96: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 96/151

96

7.2 Blocul Zero-Pole

Blocul Zero-Pole poate simula sisteme liniare descrise printr-o matrice de transfer.

Exemplu. Fie din nou ecuaţia diferenţială

x'' + 3x' + 2x = 1

Să calculăm soluţia ecuaţiei diferenţiale în condiţii iniţiale nule. Funcţia de transfer

corespunzătoare ecuaţiei diferenţiale este

23

12

s s

s H

Pentru modelarea funcţiei de transfer vom folosi blocul Zero-Pole care are ca

parametrii polii, zerourile şi factorul de amplificare ale funcţiei de transfer. Modelul

corespunzător este cel din Figura 108.

Caseta de dialog a blocului Zero-Pole este arătată în Figura 109. In exemplu polii

funcţiei de transfer sunt -1 şi -2. Factorul de amplificare are valoarea 1. Deoarece nu

avem nici un zero, matricea corespunzătoare zerourilor este [].

Figura 108. Modelul unei funcţii de transfer.

Page 97: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 97/151

97

Figura 109. Parametrii blocului Zero-Pole.

Blocul poate modela şi o matrice de transfer a unui sistem cu o intrare şi mai multe

ieşiri. In acest caz numărătorul este o matrice, cu numărul de linii egal cu numărul de

ieşiri la care funcţiile de transfer corespunzătoare canalelor intrare – ieşire au acelaşi

numitor. Numitorul este un vector ce conţine polii corespunzători canalelor intrare –

ieşire. Deoarece funcţiile de transfer corespunzătoare canalelor intrare – ieşire au

acelaşi numitor, polii sunt comuni. Zerourile sunt elementele unei matrice, fiecare

linie a matricei conţine zerourile corespunzătoare unui canal intrare-ieşire. Factorii de

amplificare pentru fiecare canal intrare-ieşire sunt elementele unui vector.

7.3 Blocul State-Space

Exemplu. Fie din nou ecuaţia diferenţială

y'' + 3y' + 2y = 1

Să calculăm soluţia ecuaţiei diferenţiale în condiţii iniţiale nule.Vom scrie ecuaţia

diferenţială sub forma unui sistem de ecuaţii diferenţiale de ordinul I, liniar şi cu

coeficienţi constanţi de forma:

x' = Ax + Bu

y = Cx + Du

Cu substituţiile:

y = x1

y' = x2

avem

32

10 A

1

0 B 01C 0 D

Blocul utilizat în acest caz este State-Space. Modelul este cel din Figura 110.

Page 98: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 98/151

98

Figura 110. Modelul unui sistem de ecuaţii diferenţiale ordinare cu coeficienţi constanţi.

Parametrii blocului State-Space sunt arătaţi în Figura 111. Ei sunt cele patru matrice,

A, B, C, D şi condiţiile iniţiale, vectorul x0. Rezultatul simulării este cel din Figura

102.

Figura 111. Parametrii blocului State-Space.

Este posibil ca parametrii blocului State-Space să fie citiţi din spaţiul de lucru Matlab.

Pentru acesta parametrii sunt definiţi ca nişte variabile în spaţiul Matlab şi în caseta dedialog cu parametrii blocului se introduc aceste variabile în locul valorilor numerice.

Page 99: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 99/151

99

Fie de exemplu parametrii modelului de mai sus definiţi în spaţiul de lucru Matlab

astfel :

>> A = [0 1; -2 -3];

>> B = [0; 1];

>> C = [1 0];>> D = 0;

Caseta de dialog cu parametrii blocului este cea din Figura 112.

Figura 112. Caseta de dialog cu parametrii blocului State-Space.

Page 100: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 100/151

100

8. Crearea de subsistemeSimulink permite crearea de subsisteme care pot fi utilizate în mai multe locuri în

sistem.

8.1 Crearea unui subsistem prin inserarea unui bloc Subsystem

Un mod de a crea un subsistem este prin inserarea unui bloc Subsystem simbolizat ca

în Figura 113. La un clic pe acest bloc se deschide ferestra subsistemului în care se

adaugă blocurile ce formează subsistemul. Iniţial subsistemul conţine un bloc Inport

ce constituie intrarea subsistemului, conectat la un bloc Outport ce constituie ieşirea

subsistemului, ca în Figura 113.

Figura 113. Blocul Subsystem.

Un subsistem poate avea oricâte intrări şi ieşiri. Blocurile Inport reprezintă intrările în

subsistem, blocurile Outport reprezintă ieşirile din subsistem, vezi Tabelul 29.

Bloc Simbolizare

Inport

Outport

Tabelul 29. Blocurile Inport şi Outport.

Page 101: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 101/151

101

Ele se găsesc în biblioteca Ports & Subsystems.

Vom exemplifica crearea unui subsistem ce modelează funcţia de transfer

1Ts

k

Vom scrie ecuaţia diferenţială corespunzătoare funcţiei de transfer

)()()(' t uk t yt Ty de unde deducem expresia derivatei

)()(1

)(' t yt kuT

t y

Subsistemul va avea o intrare, u(t) şi doi coeficienţi, k şi T şi este cel din Figura 114.

Figura 114. Subsistem ce modelează funcţia de transfer k/(Ts+1).

Pentru a prescrie parametrii k şi T putem proceda în două moduri:

se deschide fereastra subsistemului şi se afişază caseta de parametri a

elementelor Gain în care se introduc valorile dorite, se defineşte o caseta de dialog a subsistemului în care se prescriu toţi

parametrii subsistemului.

Definirea unei casete de dialog a subsistemuluiSubsistemul va avea o casetă de dialog definită de programator pentru prescrierea

celor doi parametri, k şi T. In consecinţă, parametrii celor două blocuri Gain sunt

variabile, k şi respectiv 1/T.

Page 102: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 102/151

102

Figura 115. Parametrii blocurilor Gain ale subsistemului din Figura 114.

Un subsistem odată creat poate fi deschis astfel:

1. se selectează blocul cu un clic,

2. clic pe opţiunea Open block a meniul Edit.

Alternativ se procedează astfel:

1. se afişază meniul contextual din Tabelul 30,

2. clic pe opţiunea Open block sau pe opţiunea Open block in new window.

a) meniul Edit b) meniu contextual

Tabelul 30. Afişarea unui subsistem.

Page 103: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 103/151

103

a) meniul Edit b) meniu contextual

Tabelul 31. Creare casetei de dialog a unui subsistem.

Definirea casetei de dialog a subsistemului, în care se prescriu coeficienţii k şi T se

face astfel :

1. se deschide caseta de dialog a editorului Mask din Figura 116 cu un clic pe

opţiunea Mask subsystem a meniului Edit sau a meniului contextual dinTabelul 31,

2. se afişază secţiunea Parameters a casetei de dialog din Figura 117,

3. în tabelul Dialog parameters din Figura 117 se introduc în coloana Prompt

numele parametrilor şi în coloana Variable numele variabilelor din modelul

subsistemului ; acestea vor apărea în caseta de dialog a subsistemului.

Page 104: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 104/151

104

Figura 116. Caseta de dialog a editorului Mask, secţiunea Icon.

In cazul subsistemului din exemplu, tabelul Dialog parameters se completează ca înFigura 117. Pentru inserarea unei linii, ştergerea unei linii şi navigarea între liniile

tabelei se utilizează butoanele din Tabelul 32. Caseta de dialog a subsistemului este

cea din Figura 118.

Page 105: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 105/151

105

Figura 117. Caseta de dialog a editorului Mask, secţiunea Parameters.

Buton Funcţie

Crează o nouă linie în tabel

Sterge linia selectată din tabel

Selectează linia precedentă

Selectează linia următoare

Tabelul 32. Butoanele editorului Mask, secţiunea Parameters.

Figura 118. Caseta de dialog a subsistemului din Figura 114.

Page 106: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 106/151

106

Vom utiliza subsistemul creat pentru a modela sistemul din Figura 119.

Figura 119. Sistem de reglare.

Vom studia stabilitatea sistemului cu metoda locului rădăcilor. Vom determina

polinoamele de la numărător şi de la numitor. Pentru înmulţirea polinoamelor de la

numitor se utilizează funcţia conv.

num = [1];

den1 = conv([0.1 1], [0.05 1]) ;

den = [den1 0];

rlocus(num, den) ;

Locul rădăcinilor sistemului este cel din Figura 120.

Figura 120. Locul rădăcilor sistemului din Figura 119.

Răspunsul sistemului la intrare treaptă pentru factorul de amplificare din Figura 119

este cel din Figura 121.

Page 107: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 107/151

107

Figura 121. Răspunsul sistemului din Figura 119 la intrare treaptă.

In cazul în care factorul de amplificare se modifică după cum se arată în Figura 122,

se obţine răspunsul din Figura 123.

Figura 122. Sistem de reglare.

Figura 123. Răspunsul sistemului din Figura 122 la intrare treaptă.

Un model ce conţine subsisteme este un model ierarhic ce poate fi reprezentat sub

forma unui arbore ca în Figura 124. Acesta se face clic pe View Model Browser

Options Model Browser. La un clic pe un subsistem din arbore se afişază modelul

subsistemului într-o fereastră separată.

Page 108: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 108/151

108

Figura 124. Reprezentarea unui model cu subsisteme.

8.2 Crearea unui subsistem prin gruparea blocurilor

Un alt mod de a crea un subsistem este acele de a grupa blocurile unui model ce vor

constitui un subsistem. Ca exemplu, vom crea un subsistem ce modelează funcţia de

transfer

1Ts

k

Subsistemul va avea trei intrări, u(t) şi coeficienţii k şi T. Vom construi modelul

sistemului şi al subsistemului ca mai jos :

1. se construieşte modelul parţial al sistemului din Figura 125 în care s-a

reprezentat şi blocurile ce vor constitui subsistemul,

2. se încadrează într-un dreptunghi blocurile subsistemului şi conexiunile între

ele cu butonul stâng al mousului apăsat,

3. se selectează opţiunea Create subsystem a meniului Edit; Simulink crează un

subsistem ca în Figura 126,4. se copiază subsistemul unde este necesar şi rezultă modelul din Figura 119.

In modelul parţial al sistemului am introdus un bloc Outport cu numele Out1 doar

pentru a marca semnalul de ieşire ce va fi selectat. După crearea subsistemului el va fi

şters.

Page 109: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 109/151

109

Figura 125. Modelul parţial al sistemului în care s-a reprezentat subsistemul.

Figura 126. Subsistem creat de Simulink.

Page 110: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 110/151

110

Figura 127. Modelul sistemului din Figura 119.

Subsistemul creat de Simulink este arătat în Figura 128.

Figura 128. Modelul subsistemului k/(Ts+1).

Page 111: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 111/151

111

9. Descrierea fişierului creat de editorul de modeleEditorul de modele crează un fişier cu extensia mdl din modelul sistemului în care

sunt descrise interfaţa grafică şi caracteristicile elementelor.

Vom prezenta fişierul creat de editorul de modele pentru modelul din Figura 11,

repetat în Figura 129.

Figura 129. Modelul ecuaţiei diferenţiale ordinare x'' + 3x' + 2x = 0.

Pentru fiecare bloc din model este definită o structură Block ce conţine:

tipul blocului, BlockType,

numele atribuit de programator, Name,

parametrii blocului din caseta Block Parameters: InitialCondition, Gain, etc.,

numărul de porturi de intrare şi de ieşire, Ports,şi informaţii pentru desenare:

poziţia în cadrul desenului, Position,

orientarea, Orientation.Mai jos sunt arătate structurile pentru trei blocuri din model.

Block

BlockType Gain

Name "Gain1"

Position [170, 135, 200, 165]

Orientation "left"

Gain "3"

Block

BlockType IntegratorName "Integrator1"

Ports [1, 1]

Page 112: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 112/151

112

Position [260, 85, 290, 115]

InitialCondition "1"

Port

PortNumber 1

Name "x"

TestPoint off

LinearAnalysisOutput offLinearAnalysisInput off

RTWStorageClass "Auto"

DataLogging off

DataLoggingNameMode "SignalName"

DataLoggingDecimateData off

DataLoggingDecimation "2"

DataLoggingLimitDataPoints off

DataLoggingMaxPoints "5000"

Block

BlockType SumName "Sum"

Ports [2, 1]

Position [120, 90, 140, 110]

ShowName off

IconShape "round"

Inputs "--"

InputSameDT off

OutDataTypeMode "Inherit via internal rule"

Editorul defineşte o structură Line pentru săgeţile ce conectează blocurile în care se

înscriu:

blocul sursă SrcBlock şi portul sursă ScrPort,

blocul destinaţie DstBlock şi portul destinaţie DstPort,

numele semnalului Name, dacă există.

Mai jos sunt arătate structurile pentru două linii, prima fără ramificaţii, ce conectează

blocul Sum cu blocul Integrator2 şi a doua cu ramificaţii, ce conectează blocul

Integrator2 cu blocurile Integrator1 şi Gain1.

Line

SrcBlock "Sum"

SrcPort 1

DstBlock "Integrator2"

DstPort 1

Line

Name "x'"

Labels [0, 0]

SrcBlock "Integrator2"

SrcPort 1

Points [20, 0]

Branch

DstBlock "Integrator1"

DstPort 1

Branch

Points [0, 50]

DstBlock "Gain1"

Page 113: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 113/151

113

DstPort 1

Page 114: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 114/151

114

10. Secvenţa de calcul a elementelor modeluluiFie de integrat ecuaţia diferenţială

x’ = f(x, t) x(0) = x0

care corespunde modelului din Figura 130.

Figura 130. Modelul unei ecuaţii diferenţiale.

Presupunem că utilizăm pentru integrare formula lui Euler cu pasul de integrare h.

Integrarea ecuaţiei se face astfel:

se calculează derivate la momentul 0

0,0' 0 x f x se calculează soluţia la momentul h

0'0 xh xh x

se calculează derivate la momentul h

hh x f h x ,'

se calculează soluţia la momentul 2 h

h xhh xh x '2

………………………………

ceea ce corespunde calculului tuturor blocurilor din model ce nu sunt integratoare la

momentul tn = n h, urmat de calculul ieşirilor integratoarelor la momentul tn+1=tn+h.Considerând un model oarecare, trebuie să calculăm la fiecare pas de integrare:

1. ieşirile elementelor din model ce nu sunt integratoare (ceea ce înseamnă

calculul intrărilor integratoarelor la momentul tn = n h),

2. urmează calculul ieşirilor integratoarelor la momentul tn+1=tn+h prin aplicarea

formulei de integrare.

Pentru calcului elementelor din model ce nu sunt integratoare aplicaţia Simulonk

trebuie să deducă secvenţa în care se calculează aceste elemente.

Alegerea secvenţei de calcul a elementelor unui model

Secvenţa corectă de calcul a elementelor unui model asigură că ieşirea fiecăruielement al modelului la momentul t este calculată pe baza valorilor intrărilor

elementului la acelaşi moment t. Considerând momentul t = 0, la acest moment sunt

cunoscute ieşirile integratoarelor (egale cu condiţiile iniţiale), ieşirile elementelor de

întârziere şi intrările externe. Variabila independentă a simulării, timpul, este de

asemenea cunoscută în orice moment. Se pot calcula deci la momentul t = 0

elementele ce au ca intrări ieşirile integratoarelor şi ale elementelor de întârziere şi

întrări externe. Se calculează apoi ieşirile altor elemente ce au ca intrări şi ieşirile

elementelor deja calculate.

Algoritmul de alegere a secvenţei de calcul este următorul:

1. se pun într-o listă integratoarele şi elementele de întârziere din model,

2. se pun într-o listă intrările externe în model,

Page 115: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 115/151

115

3. se pun într-o listă de elemente ordonate mai întâi elementele ce au ca intrări

ieşirile integratoarelor, ale elementelor de întârziere şi intrări externe. Urmează

apoi alte elemente ce au ca intrări şi ieşirile elementelor puse anterior în listă.

Pasul 3 al algoritmului se repetă până când toate elementele modelului au fost puse în

listă. Secvenţa de calcul se deduce doar pentru elementele ce nu sunt integratoare.

Intrările externe sunt blocurile de semnal din biblioteca Source: Constant, Clock (timpul simulării), etc. Ieşirile lor sunt cunoscute la începutul unui nou pas de

integrare.

Fie de exemplu modelul din Figura 131.

Figura 131. Sistem de reglare.

Intrarea în sistem este este blocul Constant, ce generează o treaptă unitară. Ieşirea

acestui bloc este cunoscută la orice moment de timp.

Secvenţa de calcul a elementelor ce nu sunt integratoare şi intrări externe este:

Sum, Sum1, Gain, Saturation, Gain1

sauSaturation, Gain1, Sum, Sum1, Gain

sau

Sum, Saturation, Sum1, Gain1, Gain

etc.

Deci secvenţa de calcul a elementelor nu este unică.

Secvenţa de calcul a elementelor în model se afişază cu clic pe Format Bloc

Displays Sorted Order.

Secvenţa de calcul a elementelor în modelul de mai sus este arătată în Figura 132.

Pentru elementele ce nu sunt integratoare sau intrări externe, ea este

Sum, Sum1, Gain, Saturation, Gain1

Blocul Constant este calculat primul, fiind intrare externă.

Page 116: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 116/151

116

Figura 132. Secvenţa de calcul a elementelor în model.

Page 117: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 117/151

117

11. Explorarea modelului

11.1 Explorarea modelului

Simulink are aplicaţia Model Explorer care ne permite să explorăm elementele unui

model.Lansarea aplicaţiei Model Explorer se face cu clic pe View Model Explorer a

editorului de modele sau cu clic pe opţiunea Explore a meniului contextual al unui

element al modelului.

Fie de exemplu modelul din Figura 29, repetat în Figura 133.

Figura 133. Modelul ecuaţiei diferenţiale x’’ + 3 x’ + 2 x = 0.Figura 133.

Fereastra aplicaţiei Model Explorer este cea din Figura 134. Ea conţine următoarele

secţiuni:

Model Hierarchy, afişază structura ierarhică a modelului, sub forma unuiarbore,

Content of : nodul selectat, afişază conţinutul elementului selectat însecţiunea (arborele) Model Hierarchy,

Model Properties afişază proprietăţile elementului selectat.Secţiunea Model Hierarchy conţine nodul rădăcină Simulink Root şi nodurile

Base Workspace ce reprezintă spaţiul Matlab,

Modelul, reprezintă configuraţia modelului,

Configuration Preferences, dacă este marcată opţiunea View Show

Configuration Preferences în fereastra Model Explorer.

Page 118: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 118/151

118

Figura 134. Fereastra aplicaţiei Model Explorer.

Nodul Base Workspace reprezintă spaţiul Matlab şi este spaţiul de bază pentru

Simulink. Orice variabilă Matlab poate fi utilizată în orice model Simulink . La un

clic pe acest nod, în secţiunea Content of Base Workspace sunt afişate toate

variabilele Matlab ce pot fi utilizate în model, cu numele şi tipul lor.In cazul exemplului nostru, după simularea lui, în secţiunea Content of : Base

Workspace apar variabilele ScopeData şi tout, scrise în spaţiul Matlab de către

blocul Scope, vezi Figura 135.

Figura 135. Conţinutul nodului Base Workspace.

Nodul Configuration Preferences conţine parametrii modelului. La un clic pe acest

nod în secţiunea Content of : Configuration Preferences sunt afişate opţiunile din

caseta Configuration Parameters a modelului, afişată cu clic pe Simulation

Configuration Parameters a editorului de modele.

Nodul modelului conţine configuraţia modelului, elementele modelului şi parametrii

lor şi semnalele cu nume. Ele sunt afişate în secţiunea Content of : nodul selectat,

vezi Figura 134. La clic pe un element, în secţiunea Model Properties este afişată o

casetă cu parametrii elementului, aceiaşi parametrii ca în caseta afişată în editorul de

modele, vezi Figura 136 pentru un exemplu.

Page 119: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 119/151

119

Figura 136. Caseta de proprietăţi a elementului Integrator1.

In această casetă putem modifica parametrii elementului.

La un clic cu butonul drept pe un element se afişază meniul contextual din Figura 137.

Opţiunea Properties a acestui meniu afişază caseta de proprietăţi a elementului din

editorul de modele, în care putem modifica parametrii elementului.

Figura 137. Meniul contextual al unui element.

Putem căuta elemente din model după un anumit criteriu. Pentru aceasta se utilizează

bara din Figura 138.

Figura 138. Bara de căutare.

Opţiunile de căutare sunt cele din Tabelul 33. In lista Search din Tabelul 33a se alege

modul de căutare, după nume, după tipul blocului, etc. In caseta din dreapta se

introduce numele elementului, tipul blocului, etc. Opţiunile de căutare se prescriu din

meniul afişat cu butonul Search Options, , din Tabelul 33b. Butonul Search,

, iniţiază o nouă căutare.

Page 120: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 120/151

120

a) modul de căutare b) opţiuni de căutare

Tabelul 33. Opţiuni de căutare.

Un exemplu de căutare a elementelor cu numele Gain din model este arătat în Figura

139.

Figura 139. Rezultatul căutării elementelor cu numele Gain.

11.2 Navigarea în model Navigarea în model se face cu aplicaţia Model Browser, care se lansează cu clic pe

View Model Browser Options Model Browser a editorului de modele.

Pentru un exemplu vezi Figura 124.

Page 121: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 121/151

121

12. Simularea unui motor asincronIn acest capitol vom prezenta un exemplu semnificativ, simularea unui motor

asincron.

Ecuaţiile ce descriu motorul asincron sunt:

ds sdsdr

shds

s i Rudt

di L

dt

di L

'

qs sqs

qr

sh

qs

s i Rudt

di L

dt

di L

'

qs shqr r dr r dr ds

shdr

r i Li Li Rudt

di L

dt

di L '''''

''

ds shdr r qr r qr

qs

sh

qr

r i Li Li Rudt

di L

dt

di L '''''

'

'

r M M dt

d

p

J

unde cuplul electromagnetic M are expresia

''

2

3qr dsdr qs sh iiii pL M

şi r M este cuplul rezistent. In cazul motorului avem

ft U u nds 2cos2

ft U u nqs 2sin2

0

'

dr u

0' qr u

sh s s L L L

shr r L L L ''

In ecuaţiile de mai sus s L şi '

r L sunt inductivităţile de pierderi în stator şi rotor, sh L

este inductivitatea mutuală, s L şi '

r L sunt inductivităţile totale, iar s R şi '

r R sunt

rezistenţele electrice ale statorului şi rotorului. J este momentul de inerţie, p este

numărul de perechi de poli. dsi şi qsi sunt curenţii din axa d, dr i , qr i sunt curenţii din

axa q, este viteza unghiulară a câmpului învârtitor.ds

u şiqs

u sunt tensiunile

statorice în axele de şi q, '

dr u şi '

qr u sunt tensiunile rotorice în axele d şi q. f este

frecvenţa tensiunii de alimentare.

Parametrii motorului sunt:

V U n 220 , f= 50 Hz, 16.1 s R , 515.3'

r R , H L s 024.0 ,

H Lr 0034.0' , H L sh 2986.0 , p = 2, 2024.0 kgm J

Vectorul de stare al sistemului este ''

qr dr qsds iiiiVom considera acest vector de stare format din vectorul ''

qr dr qsds iiii x şi .Facem următoarele notaţii:

Page 122: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 122/151

122

'

'

00

00

00

00

r sh

r sh

sh s

sh s

L L

L L

L L

L L

A ,

'

'

000

000

000

000

r

r

s

s

R

R

R

R

R ,

00

00

0000

0000

sh sh

sh sh

L L

L L L ,

'

'

qr

dr

qs

ds

u

u

u

u

U

Cu aceste notaţii, rescriem sistemul de ecuaţii diferenţiale de mai sus ca

Lx RxU dt

dx A

Pentru a calcula derivata dt

dx

trebuie să calculăm matricea inversă A-1

.

Pentru a calcula cuplul electromagnetic M vom defini matricea

0000

0000

0100

1000

MC

şi expresia ''

qr dsdr qs iiii se calculează ca x’ MC x. Ecuaţia de mişcare

r M M

dt

d

p

J

se va scrie ca

MCx x pL p J dt

d sh '

2

31

Vom defini aceste matrice în fişierul Matlab asyncmotsim.m de mai jos, în care

matricele sunt declarate ca variabile globale.

function asyncmot

global Ainv R L MC J

rs = 1.16;rpr = 3.515;

lss = 0.024;

lprs = 0.0034;

lsh = 0.2986;

lpr = lsh + lprs;

ls = lss + lsh;

p = 2;

J = 0.024;

A = [ls 0 lsh 0

0 ls 0 lsh

lsh 0 lpr 0

0 lsh 0 lpr];

Page 123: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 123/151

123

R = [rs 0 0 0

0 rs 0 0

0 0 rpr 0

0 0 0 rpr];

L = [0 0 0 0

0 0 0 00 -lsh 0 -lsh

lsh 0 lsh 0];

MC = [0 0 0 -1

0 0 1 0

0 0 0 0

0 0 0 0];

MC = MC * 1.5 * p * lsh * p;

Ainv = inv(A);

In spaţiul Matlab vom defini variabilele globale R, L, MC şi J corespunzând

matricelor de mai sus, Ainv care este A-1 şi momentului de inerţie J. Instrucţiunea

global din spaţiul Matlab este aceeaşi ca cea din funcţia asyncmotsim. Apoi apelăm

funcţia asyncmotsim.

global Ainv R L MC J

asyncmotsim

Este posibil să definim variabile utilizate în model în spaţiul Matlab. Ca exemplu, am putea defini în spaţiul Matlab momentul de inerţie J (fără să-l mai definim în funcţie)

J = 0.024;

In acest caz, nu trebuie ca variabila respectivă să fie declarată într-o instrucţiune

global, nici în spaţiul Matlab şi nici în funcţie.

Modelul simulink este cel din Figura 140.

Page 124: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 124/151

124

Figura 140. Modelul motorului asincron.

Blocul Mux crează un semnal cu patru componente, ce corespunde vectorului U.

Parametrii celorlalte elemente din model sunt cei din Tabelul 34.

Bloc Funcţia Ieşirea

Clock Timpul simulării tGain 2*pi*50 2*pi*50*t

cos cos cos(2*pi*50*t)

sin sin sin(2*pi*50*t)

Gain6 220*sqrt(2) '00502sin502cos*2*220 t t sqrt U

Gain1 Ainv x L x RU Ainvdt

dx****

Gain2 R R * x

Gain3 L L * x

Gain4 MC MC * x

Gain5 1/j x MC x jdt

d *'*1

Product *L*x *L*x

Dot product x’MC x x’ * MC * x

Integrator 00

xdt dt

dxt

x

Integrator1 00

dt dt

d t

Constant 0 0

Sum Sum x L x RU *** Tabelul 34. Elementele modelului.

Page 125: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 125/151

125

In blocurile Gain1, Gain2, Gain3, Gain4 factorul de amplificare este o matrice, ce

înmulţeşte intrarea în bloc, în acest caz un vector. In consecinţă, vom alege parametrul

Multiplication ca Matrix (K*u) sau Matrix (K*u) (u vector), vezi Figura 15.

Vom simula modelul pe o durată de 3 s, în condiţii iniţiale nule şi 0r M . Parametrii

configuraţiei relative la exportul datelor în spaţiul Matlab sunt cei din Figura 141.

Figura 141. Parametrii pentru exportul datelor.

S-au marcat opţiunile Time şi States şi se vor salva în spaţiul Matlab vectorul tout cu

timpii soluţiei şi respectiv matricea xout cu cele cinci variabile de stare pe coloane.

Curenţii motorului sunt cei din Figura 142, iar turaţia cea din Figura 143.

Figura 142. Curenţii motorului asincron.

Page 126: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 126/151

126

Figura 143. Turaţia motorului asincron.

Rezultatele se pot prelucra ulterior în Matlab. De exemplu, curentul ids este memorat

în prima coloană a matricei xout, şi este reprezentat în Figura 144 cu instrucţiunile

plot(tout, xout(:, 1))

grid

xlabel(‘t [s]’)

ylabel(‘i_ds [A]’)

pause

Page 127: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 127/151

127

Figura 144. Curentul ids.

Page 128: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 128/151

128

13. Simularea maşinilor electriceBlocurile utilizate în simularea maşinilor electrice sunt definite în bibliotecile grupate

sub numele SimPowerSystems.

13.1 Maşina asincronăConvenţiile utilizate în scrierea ecuaţiilor sunt următoarele: mărimile din axele d şi q

au indicii d şi respectiv q, mărimile statorice şi rotorice au indicii s şi respectiv r.

Inductivităţile de pierderi au indicele l, inductivitatea de magnetizare are indicele m.

Maşina asincronă este descrisă de ecuaţiile:

ds sdsdr

mds

s i Rudt

di L

dt

di L

'

qs sqs

qr

m

qs

s i Rudt

di L

dt

di L

'

qsmqr r dr r dr ds

mdr

r i Li Li Rudt di L

dt di L '''''

''

dsmdr r qr r qr

qs

m

qr

r i Li Li Rudt

di L

dt

di L '''''

'

'

me T F T dt

d J

dt

d

unde cuplul electromagnetic Te are expresia

''

2

3qr dsdr qsm iiii pL M

Tm este cuplul mecanic şi J este momentul de inerţie, p este numărul de perechi de

poli, F este coeficientul de frecare Coulomb. Ω este viteza unghiulară a rotorului iar

este poziţia rotorului. Cuplul de frecare Coulomb are expresia

F T f

In ecuaţiile de mai sus

mls s L L L

mlr r L L L ''

ls L şi '

lr L sunt inductivităţile de pierderi în stator şi rotor, m L este inductivitatea de

magnetizare, s L şi '

r L sunt inductivităţile totale, iar s R şi '

r R sunt rezistenţele

electrice ale statorului şi rotorului. dsi şi qsi sunt curenţii din axa d, dr i , qr i sunt

curenţii din axa q.

Menţionăm că, relaţia între viteza unghiulară a rotorului, Ω, şi viteza unghiulară a

câmpului învârtitor, ω, este

ω = p Ω

In cazul motorului avem

ft U u nds 2cos2

ft U u nqs 2sin2

0'dr u

Page 129: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 129/151

129

0' qr u

Există două modele ale maşinii asincrone, unul cu parametrii reali şi altul cu

parametrii raportaţi (per unit, pu), arătate în Tabelul 35.

a) în unităţi relative b) în unităţi SI

Tabelul 35. Modelele maşinii asincrone.

Ele se află în biblioteca SimPowerSystems / Machines.

Maşina poate funcţiona ca motor sau generator, după cum Tm este pozitiv sau negativ.

Dacă Tm este pozitiv, maşina funcţionează în regime de motor, iar pentru Tm negativ

în regime de generator.

Parametrii maşinii se prescriu în caseta din Figura 145. Aceşti parametri sunt:

1. cuplul rezistent, în cazul motorului, sau cuplul de antrenare în cazul generatorului,

în Nm; cuplul rezistent este pozitiv, cuplul de antrenare este negativ,

2. puterea nominală, n P [VA], tensiunea de linie, nU [V], frecvenţa tensiunii de

alimentare, n f [Hz],

3. rezistenţa şi inductivitatea de pierderi ale statorului, s R [Ω], şi Lls [H] ,

4. rezistenţa şi inductivitatea de pierderi ale rotorului, '

r R [Ω], şi L’lr [H],

5. inductivitatea de magnetizare, m L [H],

6. momentul de inerţie J, [kg m2], coeficientul de frecare vâscoasă F, [Nms], şi

numărul de perechi de poli, p,

7. condiţiile iniţiale sunt

[s, θ0, isa, isb, isc ]

unde s este alunecarea, θ0 este poziţia iniţială a rotorului, isa, isb, isc sunt curenţiistatorici.

Page 130: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 130/151

130

Figura 145. Caseta cu parametrii maşinii asincrone.

Variabilele de ieşire, în număr de 21, sunt următoarele:

1. '

rai , '

rbi , '

rci , '

qr i , '

dr i ,

2.'

qr ,'

dr ,

3. '

qr u , '

dr u ,

4. sai , sbi , sci , qsi , dsi ,

5. qs , ds

6. qsu , dsu ,

7. viteza rotorului, Ω [rad/s],

8. cuplul electromagnetic, [Nm],

9. unghiul rotorului, [rad].

Vom prezenta rezultatele simulării motorului din exemplul anterior, ai cărui

parametrii sunt repetaţi aici.

Page 131: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 131/151

131

V U n 220 , f n= 50 Hz, 16.1 s R , 515.3'

r R , H Lls 024.0 ,

H Llr 0034.0' , H Lm 2986.0 , p = 2, 2024.0 kgm J

Cuplul mecanic Tm este luat 20 Nm. Modelul este cel din Figura 146.

Figura 146. Modelul motorului asincron.

Semnalul de la ieşirea maşinii, m în Figura 146, este un semnal virtual. El nu are

semnificaţie fizică sau matematică. El este demultiplexat şi trimis la blocurile Scope

cu un bloc Demux.

In model mai utilizăm o sursă de tensiune trifazată programabilă şi un aparat de

măsurare a tensiunii între două noduri, din Tabelul 36. Ele se găsesc în bibliotecileSimPowerSystems/Electrical Sources şi respectiv Measurements.

Bloc Simbolizare

Sursă de tensiune programabilă trifazată

Măsoară tensiunea electrică instantanee

între două noduri.

Tabelul 36. Blocuri utilizate în model.

Page 132: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 132/151

132

Figura 147. caseta cu parametrii sursei de tensiune trifazată programabilă.

Turaţia motorului este cea din Figura 148.

Figura 148. Turaţia motorului.

Menţionăm că, în capitolul precedent, am reprezentat viteza unghiulară a câmpului

învârtitor, ω, iar în exemplul de aici reprezentăm viteza rotorului, Ω.

Vom transmite în Matlab variabila reprezentată în blocul Scope2. Pentru aceasta vom

modifica parametri blocului ca în Figura 149.

Page 133: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 133/151

133

Figura 149. Parametrii blocului Scope2.

In Matlab vom afişa componentele structurii ScopeData2 şi apoi vom reprezenta

grafic turaţia rotorului. Pentru numele structurii vezi caseta Variable name din Figura

149.

>> ScopeData2

ScopeData2 =

time: [10006x1 double]

signals: [1x1 struct]

blockName: 'asyncmodel2/Scope2'

>> plot(ScopeData2.time, ScopeData2.signals.values(:,1))

>> grid

>> xlabel('t[s]')

>> ylabel('\Omega [rad/s]')

Turaţia este cea din Figura 150.

Page 134: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 134/151

134

Figura 150. Turaţia motorului reprezentată grafic în Matlab.

Curenţii statorici ai motorului sunt cei din Figura 151.

Figura 151. Curenţii statorici ai motorului asincron.

Page 135: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 135/151

135

Vom transmite în Matlab componentele structurii ScopeData1 şi apoi vom reprezenta

grafic curentul ids. Conform celor de mai sus, curentul ids este al cincilea din cele nouă

componente reprezentate în blocul Scope1.

>> ScopeData1

ScopeData1 =

time: [10006x1 double]

signals: [1x1 struct]

blockName: 'asyncmodel2/Scope1'

>> plot(ScopeData1.time, ScopeData1.signals.values(:,5))

>> grid

>> xlabel('t[s]')

>> ylabel('i_ds [A]')

Figura 152. Curentul ids al motorului asincron.

Cuplul dezvoltat de motor este cel din Figura 153.

Page 136: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 136/151

136

Figura 153. Cuplul motorului asincron.

Pentru a vedea modelul motorului asincron se procedează astfel:

1. se afişază meniul contextual al blocului cu clic pe bloc cu butonul drept şi apoi

clic pe Look under mask .

2. se selectează blocul şi clic pe Edit Look under mask .

Se afişază modelul din Figura 154.

Page 137: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 137/151

137

Figura 154. Modelul motorului asincron.

Pentru afişa modelele celor două subsisteme, electric şi mechanic, se procedează

astfel

1. se afişază meniul contextual al subsistemului şi clic pe Open Bloc.

2. se selectează blocul şi clic pe Edit Open Bloc.

Modelele celor două subsisteme, electric şi mecanic, sunt cele din Figura 155 şi

Figura 156.

Page 138: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 138/151

138

Figura 156. Modelul părţii electrice a motorului asincron.

Figura 157. Modelul părţii mecanice a motorului asincron.

13.2 Maşina de curent continuu Modelul maşinii de curent continuu este o maşină cu excitaţie separată.

Figura 158. Simbolizarea maşinii de current continuu.

Terminalele F+ şi F- corespund infăşurării de excitaţie, iar A+ şi A- circuitului

rotoric. Ecuaţiile maşinii sunt:

Page 139: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 139/151

139

f f f

f

f U i Rdt

di L

E aaaa

a K U i Rdt

di L

f m Le T BT T dt d J

unde:

f i , ai sunt curenţii circuitului de excitaţie şi rotoric,

este viteza rotorului,

f L , f R sunt inductivitatea şi rezistenţa circuitului de excitaţie,

a L , a R sunt inductivitatea şi rezistenţa circuitului rotoric,

f U , aU sunt tensiunile la bornele înfăşurărilor de excitaţie şi rotorice,

J este momentul de inerţie în kg m2, m B este coeficientul de frecare vâscoasă în

N m s, f T este cuplul de frecare Coulomb în N m.

Tensiunea contraelectromotoare este E K . Constanta E K este dată de relaţia

f af E i L K unde af L este inductivitatea mutuală excitaţie-rotor . Cuplul dezvoltat de

maşină este

aT e i K T

unde K T = K E.

Intrarea în model este cuplul aplicat la arbore, TL. Pentru Te TL > 0 maşina

funcţionează înregim de motor, pentru Te TL < 0 în regime de generator.

Simbolul maşinii de curent continuu în biblioteca SimPowerSystems/Machines. este

cel din Tabelul 37.

Bloc Simbolizare

Maşina de current continuu

Tabelul 37. Maşina de curent continuu.

Caseta cu parametrii maşinii de current continuu este arătată în Figura 159. Parametrii

sunt:

1. intrarea mecanică, cuplu, TL sau viteza,

2. rezistenţa şi inductivitatea circuitului rotoric, R a [Ω], La [H],

3. rezistenţa şi inductivitatea circuitului de excitaţie, R f [Ω], Lf [H],

4. inductivitatea Laf [H],

5. momentul de inerţie J [kg m2],

6. coeficientul de frecare vâscoasă, Bm [N m s],

7. cuplul de frecare Coulomb, Tf [N m].

Condiţia iniţială este viteza iniţială în [rad/s].

Ieşirea maşinii este formată din:

1. viteza unghiulară a rotorului, , [rad/s],

2. curentul rotoric ai [A],

3. curentul de excitaţie ei [A],

4. cuplul electric [N m]

Page 140: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 140/151

140

Figura 159. Caseta cu parametrii maşinii de curent continuu.

Vom exemplifica simularea unui motor de current continuu cu următorii parametri:

Ua = 120 V, Ue = 120 V, R a = 0.075 Ω, La = 0.003 H, R f = 30 Ω, Lf = 30 H, K E = 0.75

H.

Caseta cu parametrii modelului este cea din Figura 159, iar modelul cel din Figura

160.

Page 141: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 141/151

141

Figura 160. Modelul motorului de curent continuu.

In model utilizăm surse de curent continuu pentru tensiunea de excitaţie şi tensiunea

de alimentare. Simbolizarea sursei de curent continuu şi caseta cu parametri sunt cele

din Tabelul 38 şi Figura 161. Ea se găseşte în biblioteca

SimPowerSystems/Electrical Sources.

Bloc Semnificaţie

Sursă de current continuu.

Tabelul 38. Sursa de curent continuu.

Figura 161. Caseta cu parametrii sursei de curent continuu.

Page 142: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 142/151

142

Figura 162. Turaţia morului de curent continuu.

13.3 Maşina sincronă

Modelele maşinii sincrone descriu o maşină cu poli aparenţi sau înecaţi.

Covenţiile utilizate în scrierea ecuaţiilor sunt următoarele: mărimile din axele d şi q

au indicii d şi respectiv q, mărimile din înfăşurările de amortizare au indicele k, cele

din înfăşurarea de excitaţie au indicele f. Inductivităţile de pierderi au indicele l,

inductivitatea de magnetizare are indicele m.

Maşina sincronă este descrisă de ecuaţiile următoare:

qd d sd dt

d i Ru

d

q

q sqdt

d i Ru

dt

d i Ru

fd

fd fd fd

'

'''

dt

d i Ru kd kd kd kd

''''

dt

d i Ru

kq

kqkqkq

'

1'

1

'

1

'

1

dt

d i Ru

kq

kqkqkq

'

2'

2

'

2

'

2

In aceste ecuaţii s

R este rezistenţa infăşurărilor din axele d şi q, '

fd R este rezistenţa

înfăşurării de excitaţie, '

kd R , '

1kq R , '

2kq R sunt rezistenţele înfăşurărior de amortizare din

axele d şi q. Fluxuriled

,q

din axele d şi q, '

fd din înfăşurarea de excitaţie şi '

kd ,

'

1kd , '

2kd ale înfăşurărilor de amortizare au expresiile:

''

kd fd md d d d ii Li L

'

kqmqqqq

i Li L

''''

kd d md fd fd fd ii Li L

Page 143: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 143/151

143

''''

fd d md kd kd kd ii Li L

qmqkqkqkqi Li L '

1

'

1

'

1

qmqkqkqkqi Li L '

2

'

2

'

2

unded

L şiq L sunt inductivităţile înfăşurărilor din axele d şi q,

md L şi

mq L sunt

inductivităţile de magnetizare în axele d şi q, '

fd L este inductivitatea înfăşurării de

excitaţie, '

kd L , '

1kq L şi '

2kq L sunt inductivităţile înfăşurărilor de amortizare din axele d şi

q. Aceste inductivităţi sunt date de relaţiile:

md l d L L L

mql qL L L

md lfd fd L L L ''

md lkd kd L L L ''

mqlkqkqL L L

1

'

1

mqlkqkq L L L 2' 2

In relaţiile de mai sus Ll, L'lfd, L'lkd, L'lkq1 şi L'lkq2 sunt inductivităţile de scăpări.

Ecuaţia de mişcare este

m f e T T T dt

d J

la care se adaugă ecuaţia

dt

d

unde cuplul electromagnetic Te are expresia

d qqd e ii pT

J este momentul de inerţie, p este numărul de perechi de poli, este viteza

unghiulară a rotorului, iar este poziţia rotorului. Tm este cuplul mecanic la arborele

maşinii. Cuplul de frecare vâscoasă Tf are expresia

Tf = FΩ

unde F este coeficientul de frecare Coulomb.

In cazul maşinii cu poli aparenţi, în axa q există o singură înfăşurare de amortizare.

Modelele maşinii sincrone sunt cele din Tabelul 39.

Page 144: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 144/151

144

Model Semnificaţie

Model simplificat în unităţi SI

Model simplificat în unităţi pu

Maşină cu magneţi permanenţi

Tabelul 39. Modelele maşinii sincrone.

Maşina poate funcţiona în regim de motor sau generator.

Simbolizarea modelului fundamental al maşinii sincrone cu parametrii în sistemul SI

este cea din Figura 163.

Figura 163. Simbolizarea maşinii sincrone.

In aceste modele uA, uB, uC sunt tensiunile statorice, uf este tensiunea înfăşurării de

excitaţie, Pm este puterea mecanică. Modul de funcţionare este dat de semnul puterii

mecanice, Pm, pozitiv în caz generatorului, negativ în cazul motorului.

Parametrii maşinii se prescriu în caseta din Figura 166. Aceşti parametri sunt

1. intrarea mecanică, puterea mecanică Pm sau viteza w.

2. tipul rotorului, cu poli aparenţi, sau cu poli înecaţi,

3. puterea nominală, Pn [VA], tensiunea de linie nominală, Un [V], frecvenţa

nominală, f n [Hz], curentul de excitaţie nominal, ifn [A],

4. parametrii infăşurării statorice, rezistenţa, R s [Ω], inductivitatea de pierderi, Ll

[H], inductivităţile de magnetizare, Lmd [H], Lmq [H],

5. parametrii infăşurării de excitaţie, rezistenţa, R f ' [Ω], inductivitatea de pierderi,

L'lfd [H],

6. parametrii infăşurărilor de amortizare, în axa d, rezistenţa, R'kd [Ω], inductivitatea

de pierderi, L'lkd [H], în axa q, R kq1 [Ω], L'lkq1 [H], R kq2 [Ω], L'lkq2 [H],

7. momentul de inerţie J [kg m2], factorul de frecare F [Nm s], numărul de perechi de

poli, p,

8. condiţiile iniţiale, deviaţia iniţială a vitezei, ∆Ω, în procente din viteza iniţială,

unghiul electric al rotorului, ][o

e , curenţii de linie ia, i b, ic [A], unghiurile iniţiale

ale fazelor,a

,b

,c

, [o], tensiunea de excitaţie iniţială, Uf [V].

Tensiunea de excitaţie iniţială se introduce astfel: dacă se cunoaşte curentul de

excitaţie nominal, (ultimul parametru din prima linie), se marchează opţiunea DisplayVfd which produces nominal Vt, care afişază caseta din Figura 164.

Page 145: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 145/151

145

Figura 164. Calculul tensiunii iniţiale de excitaţie.

In caz contrar se introduce curentul de excitaţie nominal zero şi se introduce tensiunea

de excitaţie în V cc raportată la stator.

Variabilele de ieşire, în număr de 22, sunt următoarele:

1. curenţii statorici, isa, isb, isc, isq, isd, [A],

2. curentul de excitaţie, ifd [A],

3. curenţii infăşurărilor de amortizare în axa q, ikq1, ikq2, [A],

4. curenţii infăşurărilor de amortizare în axa d ikd, [A],

5. fluxurile în axele q şi d, mq , md , [V s],6. tensiunile statorice în axele q şi d, uq, ud [V],

7. deviaţia unghiului rotorului ∆ [rad],

8. viteza unghiulară Ω [rad/s] ,

9. puterea electrică, Pe, [VA],

10.deviaţia vitezei rotorului, ∆Ω [rad/s],

11. unghiul mecanic al rotorului, [rad],

12.cuplu electromagnetic, Te, [N m],

13. unghiul de sarcină, [Nm]

14. puterile activă şi reactivă, Peo, Qeo, la ieşire.

Vom exemplifica utilizarea modelului pentru un motor cu parametrii:

m R s

967.32 , m R fd

798.1' , mH Lkd 046.92' , mH L

kq921.0'

1 , 0'2 kq

L

mH Lmd 2.11 , mH Lmq 692.6 ,

p = 2, f = 50 Hz, J = 616 kg m2, F = 0, nn = 1500 rot/min

Pn = 8000 Kw, Un = 2887 / 5000 V.

Modelul este cel din Figura 165, iar caseta cu parametrii motorului este cea din Figura

166.

Page 146: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 146/151

146

Figura 165. Modelul motorului sincron.

Am introdus curentul de excitaţie nominal zero şi tensiunea de excitaţie este u’fd = 2

V, puterea mecanică Pm = -1 w.

Page 147: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 147/151

147

Figura 166. Parametrii maşinii sincrone.

Page 148: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 148/151

148

Figura 167. Variabilele de ieşire ale motorului sincron.

Valorile lor au fost transmise în spaţiul Matlab cu parametrii blocului Scope din

Figura 168.

Figura 168. Parametrii blocului Scope.

In spaţiul Matlab, în structura ScopeData este cea de mai jos.

>> ScopeData

ScopeData =

time: [10006x1 double]

signals: [1x1 struct]

blockName: 'syncmodel2/Scope'

Valorile pentru curentul id, viteza unghiulară şi cuplul electric sunt arătate în figurileurmătoare.

Page 149: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 149/151

149

Figura 169. Curentul id al motorului.

Page 150: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 150/151

150

Figura 170. Viteza unghiulară.

Page 151: 117691778-Simulink

7/29/2019 117691778-Simulink

http://slidepdf.com/reader/full/117691778-simulink 151/151

Fi 171 C l l l t i