You are on page 1of 90

Fakultet strojarstva i brodogradnje

Katedra za strojarsku automatiku
















Mikroprocesorsko upravljanje






Dr. Sc. Davor Zorc













2013.
2
MIKROPROCESORSKO UPRAVLJANJE
KOLEGIJ SE BAVI PRIMJENOM MIKRORAUNALA U
UPRAVLJANJU STROJEVA I PROCESA, TE PRIPADNIM
SKLOPOVIMA I POSTUPCIMA.

SADRAJ:
1. UVOD
2. STRUKTURA MIKRORAUNALA
3. ANALOGNO/DIGITALNI PRETVORNICI
4. DIGITALNO/ANALOGNI PRETVORNICI
5. SENZORI I PRIHVAT SIGNALA
6. AKTUATORI
7. IMPLEMENTACIJA UPRAVLJAKIH ALGORITAMA
8. DISTRIBUIRANO I PARALELNO PROCESIRANJE
9. INDUSTRIJSKI RAUNALNI SUSTAVI I MREE
10. PROGRAMIRANJE


DODACI:

DIGITALNI SUSTAVI UPRAVLJANJA

LABORATORIJSKE VJEBE:
DIGITALNI SUSTAVI UPRAVLJANJA
PRAKTIKUM IZ MIKROPROCESORA
PRAKTIKUM IZ PLC PROGRAMABILNO LOGIKIH KONTROLERA
3
Potrebno predznanje:
OSNOVE AUTOMATSKE REGULACIJE
OSNOVE ELEKTRONIKE
OSNOVE DIGITALNIH RAUNALA
LITERATURA
AUTOMATSKA REGULACIJA - DIGITALNO UPRAVLJANJE
Phillips: Digital control systems, Analysis & Design, 3th-edition, Mc
Graw Hill Int., 1994.
Fadali: Digital Control Engineering Analysis and Design, Elsevier, 2009
urina: Automatska regulacija, kolska knjiga, 1985.

RAUNALA
Gibson: Computer systems, concepts and design, Prentice Hall Int,
1991.
Ribari: Graa raunala - arhitektura i organizacija raunarskih sustava,
Algebra uilite, 2011

PARALELNO I DISTRIBUIRANO PROCESIRANJE
Hwang, Briggs: Computer architecture and parallel processing, Mc
Graw Hill Int. 1990.
Sharp: An Introduction to distributed and parallel processing, Blackwell,
London, (Alfred Waller Ltd), 1987.

PROGRAMABILNI LOGIKI KONTROLERI
W. Bolton: Programmable Logic Controllers, 5th-edition, Elsevier-
Newnes, 2009.

STRUKTURNO PROGRAMIRANJE
Goodman: Introduction to the design and analysis of algorithms, Mc
Graw Hill, 1977.
Knuth: The art of Computer programming, Addison-Wesley
Professional; 1st edition, 1998
H.Schildt : C - the complete reference, Osborne-McGraw-Hill, 1990.

4
1. UVOD
Procesno raunalo opremljeno je sklopovima za fiziko
povezivanje s vanjskim ureajima/ strojevima
Veze (signali) mogu biti analognog ili digitalnog tipa
) (t u
t
M
J
.

P
O
D
R
U

J
E
) (t u
t
" 1 "
" 0 "
ANALOGNI SIGNAL
DIGITALNI SIGNAL


Signali mogu nadalje biti:
ulazni (prihvat informacije),
izlazni (generirani signal),

Sustavi mogu biti:
Akvizicijski sustav (mjerni sustav, nadzorni sustav),
samo primaju informacije iz procesa.
Upravljaki sustavi - alju informacije u proces
Regulacijski sustavi - Primaju informacije i, na osnovu
obrade, generiraju izlazne signale, koji preko aktuatora
utjeu na proces.

5
REGULACIJSKA PETLJA
SENZORI
OBJEKT
AKTUATOR
REGULATOR
POREMEAJI
OSTALE IZLAZNE VELIINE
VOENE VELIINE
OSTALE UL. VELIINE
UPRAV. VELIINE
VODEE (REFERENTNE)
VELIINE

Cilj regulacije je dovesti voene (upravljane) veliine na
iznos vodeih (eljenih, referentnih) veliina

A

T
R
NTC
BAT
U +
REF
U +
B
U
A
U
+
A
POJAALO
SNAGE
i
U
POJAALO
REFERENTNA VELIINA


Jednostavni analogni regulator

NTC
R
B
U
i
U
RT
P


6
DIGITALNA REGULACIJA
Sklopovi potrebni za regulaciju izvode se u digitalnoj
tehnici, najee pomou mikroraunala.


OBJEKT
AKTUATORI
SENZORI
PRIHVAT
SIGNALA
VOENE VAR.
ANALOGNI
SIGNALI DIGIT. S.
TIPKA I
A/D
REFERENTNE
VELIINE
ULAZI
RAUNALO
+
UPRAVLJAKI
ALGORITAM
IZLAZI
UPRAVLJAKE
VARIJABLE
PRILAGO
SNAGE
D/A I
ZADR. SIG.

7

Prednosti i mane digitalnog upravljanja
Prednosti:
Upotreba digitalnih pretvornika (preciznost, linearnost,
manja osjetljivost na smetnje)
Digitalni signali lako se spremaju i prenose bez
degradacije, prijenos vie signala istim medijem
Obrada digitalnim raunalom
Fleksibilnost (zamjena software-a)
Sloenost obrade po volji, proizvoljni operatori
Velika preciznost prorauna
Lako izvodivi hijerarhijski sustavi upravljanja
Daljinska kontrola/ nadzor/ upravljanje
Mane:
Matematika analiza upravljanja je sloenija
Diskretizacija uzrokuje gubitak informacije po vremenu i
amplitudi
Kanjenje reakcije zbog trajanja A/D pretvorbe, itd.
Smanjena stabilnost uz iste parametre
Greke u software-u kritino za sigurnost
Otkazi su najee potpuni (u analognim sustavima
degradacija je esto postupna)
Problem oporavka nakon smetnji i otkaza
8

UZORKOVANJE I KVANTIZACIJA SIGNALA

A/D
T
B
x
D
x
x


D
x
x
T T 2 t
b
x
T T 2 t
0
0
1
1
0
1
0
1
0 0
1 1
1 0
0 0
T T 2 T 3
t


f
( ) f x
( ) f x
b
f
Spektri signala
1/T


RAUNALO
(OBRADA)
D/A
D
X
b
Y
Y


0
0
0
1
( ) t Y
b
T T 2
T 3
T 4
t
( ) t Y
T T 2 T 3 T 4
t



9
Uzorkovanje:
Kontinuirana funkcija x (t) zamjenjuje se svojim
vrijednostima na intervalima k * T
Tako nastaje diskontinuirana funkcija
Spektar uzorkovanog signala (x
b
) razlikuje se od spektra
ulaznog signala (x)
Shannonov teorem uzorkovanja:
Signal koji ne sadri komponente
m
f
, potpuno je
odreen nizom svojih vrijednosti na jednoliko
raspodijeljenom intervalu
( )
m
f T 2 / 1 =
.

T
f
ul
2
1
max
=
- maksimalna frekvencija koja e se moi
rekonstruirati iz uzoraka (= max. harmonika komponenta
ulaznog signala po Fourierovoj transformaciji)
Antialiasing filteri stavljaju se ispred A/D pretvornika i iza
D/A pretvornika da se zadovolji teorem.
Kvantizacija
Vrijednost ulaznog signala aproksimira se cjelobrojnim
viekratnikom koraka kvantizacije q, ime se ini greka
kvantizacije.
i
X
u
X
q

Kodiranje
Svakom iznosu
q k X
i
=
pridjeljuje se kd (brojka)
10
Primjer:

ms T 100 =
- period uzorkovanja

20 10 .. 10 = + = V V A
- ulazni opseg

8 = N
- duina digit. rijei (D0...D7)

mV
A
q
Hz
T
f
N
ul
78
256
20
2
5
2 , 0
1
2
1
max _
= = =
= = =



T T
AD
<
(vrijeme A/D konverzije mora biti krae od T)



Ulazni signal mijenja se za vrijeme A/D konverzije
AD
T


( )
( )
AD ts t
T
dt
t dx
t x =
=
/


Ta promjena treba biti manja od nivoa kvantizacije

N N
A
x
A
q
2 2
=


Za sinusni napon na ulazu --> maksimalna frekvencija:
AD
N
u
T
M

1
2
1



A/D
T
ul
u
7
D
0
D

11

2. STRUKTURA MIKRORAUNALA
Mikroraunalo je digitalni automat sposoban za izvrenje raunskih
operacija, a na osnovu programa pohranjenog u memoriji. Izvedeno
je od jednog ili vie integriranih krugova.


P
MEMORIJA
ROM
MEMORIJA
RAM
Input/
Output
Vanjski
ureaji
SABIRNICA
TAKT


Mikroprocesor (P, CPU) upravlja radom i izvrava
instrukcije (program) koji se nalazi u memoriji
Input/ Output (I/O) sklopovi povezuju raunalo s okolinom
Sabirnice su vodii koji sve povezuju u cjelinu
Program se u pravilu izvrava sekvencijalno, instrukciju po
instrukciju.
Mikrokontroler (MCU) je cijelo mikroraunalo u obliku
jednog integriranog kruga. Moe sadravati A/D, D/A
pretvornike i druge periferne sklopove.

12
Memorija
RAM memorija se sastoji od niza paralelnih registara, svaki
registar se sastoji od niza bistabila (8, 16, 32,)
Moe se adresirati odreeni registar i itati ili mijenjati
njegov sadraj.
N Adresnih linija moe adresirati 2
N
lokacija (registara)
Memorija se spaja na sabirnicu podataka, adresa i
upravljaku sabirnicu: Read/ Write, CS= chip select.
Vrijeme pristupa.. 5.. 500 nS

0 0 1 0 1 0 1 1
1 1 1 1 0 0 0 0
7
D
0
D
SADRAJ ADRESA
D
0
D
1
D
2
D
3
D
4
0 0 0
0 0 1
0 0 1
0 1 1
1 0 0
RAM
A
D
R
E
S
A
0
A
1
A
0
D
7
D
P
O
D
A
C
I
<>
<>
<>
<>
<>
<>
<>
<>
W R/
CS
UPRAVLJANJE

RAM statike i dinamike Read/ Write memorije
ROM ne sadri bistabile > samo za itanje
PROM programabilni ROM
EPROM, EEPROM, FLASH izbrisivi programabilni
13

Sabirnice mikroraunala
Sabirnicu ini niz fizikih linija za internu vezu P, memorije i
sklopova za ulaz/izlaz
Adresna sabirnica: postavlja adresu
Sabirnica podataka: prenosi podatke
Upravljaka sabirnica: signali
W R/
itd.
Sekvenca (vremenski tijek) dogaaja na sabirnici strogo je
propisana za odreeni procesor. Sabirnica moe biti izvedena kao
niz utinica za dodatne ploice s memorijom, I/0 sklopovima, itd.

Sklopovi za ulaz/ izlaz (input- output I/0)
Povezuju raunalo s perifernim dijelovima (disk, A/D, D/A,
komunikacija s drugim sustavima, veza sa strojevima i procesima)
Paralelni I/0. N-fizikih linija=komunikacija rije po rije
Serijski I/0. Jedna informacijska linija: komunikacija bit po
bit. Pretvara se u paralelnu pomou UART-a

( ) t u
t
0
D
ST.
2
D
4
D
7
D
UART
SERIJSKA
VEZA
R
T
7
D
0
D

14
Primjer paralelnog izlaznog sklopa
X
M
REGISTAR
D
D Q
7
D
0
D

+
+
SABIRNICA
PODATAKA
D D Q
CL
Enable
DEKODER
ADRESE
I
0
A
15
A
SABIRNICA
ADRESE
WRITE
IO/MEM
IZLAZI



Primjer paralelnog ulaznog sklopa
VRATA S
TRI STANJA
7
D
0
D
SABIRNICA
PODATAKA
Enable
I
0
A
15
A
SABIRNICA
ADRESE
READ
10/MEM
O.E.
+
ULAZ-
TIPKA


15
Memorijska mapa
Memorijsko (adresno) polje radne memorije moe biti popunjeno
razliitim vrstama memorije ili I/0 ureajima
ROM
RAM 1
RAM 2
I/0
ADRESA
0000
1FFF
2FFF
3FFF
4A00


Adresni dekoder je sklop koji prima adresne linije i za odreeno
polje adresa aktivira pripadni memorijski (ili I/0) krug (daje signal
CS). I/O krugovi mogu biti spojeni i na posebne adresne linije.

DEKODER
ADRESE
TAKT
ROM RAM
P
CS
CS
R
w R/
I/O
D Q
P
CS
UPRAVLJANJE
ADRESE
Podaci

16
Struktura mikroprocesora ope namjene
Procesna snaga mikroprocesora najvie zavisi o vremenu izvrenja
instrukcija i duini rijei
Proizvoa:
Duina: INTEL: MOTOROLA:
Frekv. [MHz]:
8 8080, 8085 6800
3 8
16 8086, 80286 68000
12 20
32 80386, 80486 68020
25 66
64 Pentium 4 PowerPC ... 1400 ... 4000?


PROCESOR
KONTROLNA JEDINICA
KONTROLNA MEMORIJA
PROGRAMSKO BROJILO
PC
REGISTAR INSTRUKC.
IR
STATUSNA RIJE
PSW
DA P Z N C
POKAZIVALO SLOAJA
SP
INTERNA MEMORIJA/SLOAJ TAKT GENERATOR
A
B
ALU
P REGISTRI ARIT./LOG. JED UPRAVLJ. SABIRNICOM
PODACI ADR. UPRAVLJ.
SABIRNICE


Programsko brojilo (PC) sadri adresu na kojoj e se traiti
slijedea instrukcija iz memorije. Pri ukljuenju postavlja se
na nulu.
17
Registar instrukcije (IR) sprema instrukciju preuzetu iz
memorije
Statusna rije procesora (PSW) niz bistabila koji
oznaavaju stanje ALU (aritmetiko-logike jedinice), te
svojstva zadnjeg rezultata (nula, negativan, preliv,..)
Kontrolna memorija sadri mikrokod izvoenja instrukcije
Pokazivalo sloaja (SP= Stack Pointer). Sloaj (stog) je
pomona struktura podataka tipa LIFO (last-in first-out).
Pokazivalo sloaja sadri adresu zadnjeg unosa u sloaj.

MEMORIJA
SP = ADRESA ZADNJEG UNOSA

Registri
P
- privremeni spremnici rezultata, adresa i sl.
Koraci izvoenja jedne instrukcije:
Instruction fetch (dobavi instrukciju)
Instruction decode (dekodiraj instrukciju)
Operand fetch (dobavi operand- podatak)
Execute (izvri instrukciju)
Store result (spremi rezultat)
Instrukcije traju 1, 2 ili vie koraka takta
18
Registri procesora 8080 (INTEL)
AKUMULATOR
A
1 8
DA P Z N C
PSW
1 8
16
REGISTAR INSTRUKCIJE
IR
PROGRAMSKO BROJILO
PC
POKAZIVA SLOAJA
SP
1
16
B
D
H
C
E
L


Program u strojnom kodu
Proizvoa
P
definira skup instrukcija i njihove kodove.
Instrukcije, podaci i adrese su binarni brojevi.
Primjer programa procesora (INTEL) 8085:

1
0 0 0 1
1 1
1
1
0 0
adr. 0..7
adr. 7..15
0 D D D S S S
0
1
1
1
1 0 0
2
1
3
1 0
0
4
1
1 0
adr. 0..7
adr. 7..15
0 0 S S S
C C C
0
0
adr. 0..7
adr. 7..15
6
5
7
8
9
10
MEMORIJA MNEMONIKI ZAPIS
LDA NUM1
MOV B,A
LDA NUM2
ADD B
JZ
AKTIVNOST
( ) ( )( ) ( ) 2 3 byte byte A
( ) ( ) A B
( ) ( )( ) ( ) 2 3 byte byte A
( ) ( ) ( ) B A A +
( ) ( )( ) 2 3 byte byte PC

19

Dogovoreni su kodovi i naini za pohranjivanje:
Slova, brojeva i znakova (ASCII standard kod)
Brojeva s pokretnim zarezom, itd.
Skup instrukcija mikroprocesora (primjer)
Mnemoniki zapis koji slijedi Assembler program pretvara u strojni
program. Svaki procesor ima drugaije instrukcije.
Instrukcije za prijenos podataka

MOV r1, r2
( ) ( ) 2 1 r r
MOV=COPY!
MOV r, M
( ) ( )( ) ( ) L H r

MVI r, data
( ) ( ) 2 byte r


Aritmetike operacije
ADD r
( ) ( ) ( ) A r A +

SUB r
( ) ( ) ( ) r A A


Za cjelobrojne vrijednosti, brojevi (0..2
N
)

Logike operacije (izmeu bitova operanada)
I (AND), ILI (OR), Ekskluzivno ILI (EX-OR), NOT
ANA r
( ) ( ) ( ) r A A +


Manipulacije podatka u registru
Rotiranje znamenki u lijevo (RLC), desno (RRC),
poveanje za 1 (INR), smanjenje za 1 (DCR), negacija
bitova u Akumulatoru (CMA), itd.
20
RLC 00010010
00100100
Instrukcije za manipulaciju znamenkama (bitovima) mogu
postavljati ili itati odreenu znamenku u binarnom broju.
Instrukcije za grananje u programu
JMP adr bezuvjetni skok
JZ adr skok ako je sadraj nula (uvjetni)

Instrukcije za ulaz/izlaz
OUT port pie podatke u vanjski I/0 ureaj
IN port ita podatak sa vanjskog ureaja
Instrukcije za rad sa sloajem (stack)
PUSH dodaje broj u sloaj
POP vadi zadnji uneseni broj iz sloaja
Instrukcije za kontrolu rada procesora
HLT zaustavi izvoenje
EI/ DI omogui/ onemogui prekide (interrupt)
NOP instrukcija koja ne radi nita
Instrukcije za poziv podprograma i povratak
CALL adr poziv podprograma na adresi
RET povratak iz podprograma u glavni program

21
Koncepcije ulazno/ izlaznog prijenosa
1. Programski prijenos (POLLING).
Stanje I/0 ureaja ispituje se u programskoj petlji
neprihvatljivo za rijetke i nepredvidive dogaaje
2. Prekidni prijenos (INTERRUPT TRANSFER)
Mikroprocesor ima fiziki ulaz kojim se moe traiti prekid rada u
bilo kojem trenutku. Slijedi:
1.
P
spremi trenutno stanje i poalje signal da je prekid
prihvaen
2.
P
prebacuje programsko brojilo (PC) na adresu gdje
se nalazi prekidni program
3. izvri se prekidni program
4. Na kraju izvrenja prekidnog programa obnavlja se
predhodni status
P
i nastavlja redovni program.
- esto postoji vie prekidnih linija uz hijerarhiju (zadani prioriteti)
- Pogodan za hitne ili/i sporadine dogaaje. Prekid se moe
programski onemoguiti
- Korisnik ima dojam da se glavni i prekidni program istovremeno
odvijaju
- Moe postojati takoer i software interrupt request gdje se
prekid zatrai preko instrukcije
22
3. Prijenos s direktnim pristupom memoriji (DMA)
P
RAM
ADRESE
PODACI
DMA
KONTROLER
DMA
ZAHTJEV
VANJSKI
UREAJ


DMA kontroler obustavlja rad
P
, preuzima kontrolu nad
sabirnicama, zatim velikom brzinom prenosi podatke u/iz memorije.
Ako postoji cache memorija,
P
moe za vrijeme DMA nastaviti
izvoditi program

Hijerarhija memorije sloenih sustava
P
KAPACITET MEMORIJE
INTERNI REG.
CACHE RAM
RADNA MEM.
DISK CACHE
VIRTUAL. MEM.
DISK BRZINA PRIJENOSA

Virtualna memorija nadoknauje nedostatak RAM-a
stvaranjem slike dijela RAM-a na disku.
23
Meumemorija (CACHE)
Ako radna (glavna RAM) memorija nije dovoljno brza, manja
koliina brze memorije moe se umetnuti izmeu radne memorije i
mikroprocesora.
P
ADRESE
GLAVNA
MEM.
TAG-
RAM
CACHE
MATCH
UPRAVLJ.
WAIT
PODACI


CACHE HIT traena lokacija postoji u CHACHE-u
dobavlja se bez ekanja
CACHE MISS traene lokacije nema u CACHE-u
dobavlja se iz glavne memorije, a ujedno kopira u CACHE
Efikasnost:
% 80
+MISS HIT
HIT
(ovisno o koliini CACHE-a)
TAG RAM sadri adrese podataka koji su trenutno u cache-u.
Cache se nadopunjuje po principu brii najmanje koriteno u
zadnje vrijeme (LRU least recently used).
Takoer, moe se organizirati i druga CACHE-memorija: izmeu
diska i radne memorije (izvedena programski - bez dodatnog
hardware-a)
24
Procesori za posebne namjene
1. Procesor za brojeve s pokretnim zarezom (floating point
co-processor), ubrzava rad s takvim podacima za red
veliine. Danas se integrira sa CPU

FPU CPU RAM


2. RISC-procesori (reduced instruction set)
Mali broj instrukcija uz veliku brzinu izvoenja
3. Signalni procesori slue u digitalnoj obradi signala
(digitalno filtriranje itd.).
Posjeduje instrukcije za realne brojeve visoke preciznosti
(mnoenje realnih brojeva 100 nS). Najpoznatija tzv. Harvard
arhitektura, odvojena sabirnica za program i podatke. Veina sadri
i internu memoriju, neki i A/D i D/A pretvornike.
4. Specijalne arhitekture
Vektorski procesori,
Nizovi procesora (ARRAY),
Vieprocesorski sustavi,
Masivno paralelni sustavi,
Grafiki procesori, GPGPU (mogue ubrzanje 50x)
Neuronske mree, ...
25

Posebni zahtjevi i sklopovi kod raunala za
upravljanje procesima
Zahtijeva se visoka pouzdanost, neosjetljivost na smetnje i uvjete
okoline te rad u realnom vremenu.

UTJECAJ OKOLINE: RJEENJE:

Temperatura komponente za 25..+85C
Agresivni plinovi, praina zaptivanje, zatita
Vlaga, pritisak zaptivanje, zatita
Vibracije, okovi mehaniki priguivai
Elektro-mag. smetnje E.M. filteri, galvansko odvajanje

Suzbijanje elektro-magnetskih smetnji:
Upotreba elektro-magnetskih filtera
Galvansko odvajanje
Kontrola ispada programa
Kontrola napona napajanja
Rezervno (neprekidno) napajanje
26
Sat realnog vremena
R
OSCILATOR
1 Hz
:60
:60
BRO-
JILO
+
SATI
MIN.
SEK.


Radi se o nezavisnom sklopu iz ijih se izlaznih registara moe
oitati realno vrijeme (sati, minute, sekunde)
Kontrola napona napajanja

R
b
U
+
PIO/INTR
+
+
-
-
+
+
1 ref
U
2 ref
U
1 ref b
U U >
2 ref b
U U <
KOMPARATORI


bN ref
U U = 1 , 1
1
- gornja granica,
bN ref
U U = 95 , 0
2
- donja granica
Ako je napon izvora
b
U
vii od gornje granice, ili nii od donje
granice, komparatori mogu izazvati prekid (INTERRUPT). Prekidna
rutina moe sauvati vane podatke prije prekida rada.
27
Vremenski sklop za kontrolu izvoenja programa (WATCH-
DOG TIMER)
U programsku petlju ubaci se instrukcija koja preko PI0 (parallel
I/O) izlaza U
p
prazni kondenzator u pravilnim vremenskim
intervalima. Ispad programa e preko komparatora izazvati prekid.
R
+
p
U
P/0
IZLAZ
c
U
b
U +
-
KOMPARATOR
ref
U + izl
U
2 / b ref
U U =
PREKID / RESET
izl
U
c
U
2 / b
U
Up
t
t
t
PREKID

Druga mogunost izvedbe: digitalno brojilo koje se resetira sa
p
U
.
Sustav dvostrukog napajanja
U sluaju ispada napona napajanja, cijeli sustav ili samo vitalni
dijelovi mogu koristiti rezervni izvor. Upis u RAM treba biti
onemoguen za vrijeme dok
P
nema kontrolu nad sabirnicom.
p
U
+
P
RAM
SABIRNICA
Pomona
baterija
U + U +
+


Filtriranje vanjskih elektromagnetskih smetnji
Smetnje na linijama napajanja ili ulazno/ izlaznim (I/O) linijama
mogu unititi sklopove ili poremetiti tok programa. To se sprjeava
EM filterima i prenaponskom zatitom (Varistori, Zener diode).
28

MIKRORAUNALO
FILTER
FILTER
FILTER
ULAZI
IZLAZI
IZVOR
I/O R
METALNO
KUITE

Primjeri filtera:
ul
U
R
C
PROCES
R
R
F
MREA
0
C
C
C
L
L
F
0


EM smetnje koje potjeu iz samog sustava upravljanja:
Izlazni ureaji (aktuatori) stvaraju smetnje (iskrenje
kontakta, induktivni tereti, tiristorski regulatori)
Mehaniki kontakti efekt istitravanja
Ulazni signali koji dolaze preko kontakata treba ugraditi
program za eliminaciju istitravanja (KEY DEBOUNCING)
29
I
t
ON OFF



Zatita mikroraunala i osoblja galvanskim odvajanjem
R
P
R
O
C
E
S
OD
VA
JA
NJ
E
ULAZI
IZLAZI
ULAZ IZLAZ
b
U
+
-
+
-
OPTOSPOJKA


Poeljno je galvanski odvojiti sklopove visokog i niskog
energetskog nivoa
Umjesto icama, signali se u sredinama s jakim
smetnjama prenose optikim vlaknom
30
Autonomni sustavi za nadzor / zatitu
UPRAVLJAKE
VELIINE
PROCES
R
UPRAVLJAKI
SISTEM
ZATITA/
NADZOR
IZLAZNE (VOENE)
VELIINE
NEZAVISNO
NAPAJANJE

Zatitni sustav treba biti potpuno nezavisan od
upravljakog i imati svoj vlastiti izvor napajanja i senzore.
Aktuatori zatite nadreeni su aktuatorima upravljakog
sustava.
titi se sam proces ali i okolina

31
3. ANALOGNO/DIGITALNI PRETVORNICI
TAKT
A/D
P
( ) t U
ul
KRAJ
PRETVORBE
START
1 N
D
0
D
CS
AD
T
T
KRAJ PR.
t
t
t
1 0
...
N
D D
START

Karakteristike A/D pretvornika
1. Razluivanje (2
N
moguih iznosa)
2. Vrijeme pretvorbe (nSmS)
3. Tonost mjernog podruja A
4. Temperaturni koeficijent, stabilnost
5. Izlazni kod (binarni, BCD, )
6. Linearnost

A
M
I
ul
U
idealna
karakt.
111
110
101
100
011
010
001
000


Integralna nelinearnost I
M
je maksimalno odstupanje
stvarne od idealne karakteristike.

32
A/D pretvornik s dvostrukim nagibom
Dual slope (integrating) converter - spor ali precizan, moe i
potiskivati mrene smetnje.

ul
U
+
ref
U
R
S1
INTEGRATOR
C
i
U
+
-
+
-
S2
KOMPARATOR
START
Cl
e
Cp
Brojilo
TAKT
DIGIT. IZLAZI


i
U
0
T
1
T
2
T
1
t
2
t
3
t
t






33
Ciklus rada:
1. Prazni se C trenutnim ukljuivanjem S2, brojilo se vraa na nulu
pomou Cl (Period T
0
)
2. Integracija ulaznog napona (Period T
1
). Sklopka S
1
je u gornjem
poloaju. Brojilo broji do preliva: 2
N
impulsa
3. Integracija ref. napona (U
ref
) (Period T
2
). S
1
je u donjem poloaju.
Brojilo broji dok se napon U
i
ne vrati na nulu. Oita se n
2
impulsa.

Na kraju ciklusa:
( ) ( ) ( )
T T n T
T U T U const U U
dt t U
RC
dt t U
RC
t U
N
ref ul ref ul
t
t
t
t
ref u i
= =
= + =
= =

2
0 ,
0
1 1
1 1
2 1
3
2
1
3
2

2
1
2
2 2
2
n
U
T
T
U U T n T
N
ref
ref ul
= = =


34
Sklop za zadravanje signala (SAMPLE & HOLD)
Zadrava signal na stabilnom iznosu za vrijeme A/D pretvorbe.
~
C
SAMPLE
A/D
ul
U
izl
R
ul
R
i
U


( ) 1 >> =
=
=
izl
ul
NAB
IZB
ul IZB
izl NAB
R
R
C R
C R


MAX
MIN
a aq AD
MAX
f
T
T T T
f
1
;
1
=
+ +
=


u l
U
S
a Q
t
U
a
t
A D M A X
t
i
U
t
t
S
H
H

t
a
aperture time kanjenje izmeu naredbe HOLD i
stvarnog zaustavljanja
t
aQ
vrijeme potrebno za primanje novog uzorka i
stabilizaciju tog iznosa
35
A/D pretvornik sa sukcesivnom aproksimacijom
Ulazni napon uzastopno se usporeuje sa odreenim djelom
referentnog napona.
Brz: potrebno N komparacija napona (koraka) 1..50 s
Zahtjeva stabilan ulazni napon (SAMPLE & HOLD)
ref
U +
ul
U
KOMPARATOR
KRAJ PRETVORBE
+
-
EOC
REGISTAR
SUKCES.
APROX.
SAR
IZLAZ
MSB
LSB
1 N
D
2
D
1
D
0
D


DA
ul
U
NE
2
A
U >
0
D
1XX
0XX
DA NE
11X
10X
A U
4
3
>
A U
8
7
>
DA NE DA NE
111
110
A U
8
5
>
A U
4
1
>
101 100
DA NE DA NE
011 010 001 000
DA NE
01X 00X
1
D
2
D 1
2
3
BIT KORAK

36
Paralelni A/D pretvornik (FLASH CONVERTER)
KODER
R
R
R
R
R
R
R
+
-
+
-
+
-
+
-
+
-
+
-
+
-
REF
U
ul
U
2
D
1
D
0
D
KOMPARATORI


Komparatori usporeuju ulazni napon s djelom
referentnog napona (1 korak)
Koder pretvara kd n od M u binarni
Za N-bita treba 2
N
-1 komparator
Vrijeme konvencije 10 ns..1 s (frekvencija reda 100 MHz)
37
Analogni multiplekser
UPRAVLJANJE
ULAZI
ADRESA
SAMPLE
START
KRAJ KONV.
S&H
A/D
PODACI
M
R
0
1
2
3
4
5



Sekvenca upravljanja: Trajanje:
1. Postavi adresu ulaza
MUX
T

2. Uzmi uzorak (HOLD)
a aQ
T T +

3. Start A/D
4. Kraj konverzije
AD
T


( )
AD MUX A aQ
MAX
T T T T M
f
+ + +
=
1


38
4. DIGITALNO /ANALOGNI PRETVORNICI

D/A
i
U
0
D
1
D
1 N
D
i
U
D
0
0
0
0
0
1
1
0 0
0
1
1
0
1
0 0
1
1

2
D
MSB
LSB
1
D
0
D
REF
U
2
2 / R
1
2 / R
0
2 / R
0
R
i
U


n = D
0
2
0
+ D
1
2
1
+ D
2
2
2
U
i

= - U
ref
n R
0
/R





39
Karakteristike D/A pretvornika:
Linearnost
Tonost podruja
Stabilnost, temperaturni koeficijent
Vrijeme pretvorbe (reda s)
Programski D/A pretvornik
t
t
T T
1
t
D A
U
P W M
U


PWM
U
D/A
IZLAZ
R
+
-
T=konst.
T
t
konst U
DA
1
. =

R
izvodi program za pulsno-irinsku modulaciju
40
Programski A/D pretvornik
ul
U
IZLAZI
R
ULAZI
D/A
KOMPARATOR
+
-



Raunalo postavlja svoje izlaze prema algoritmu sukcesivne
aproksimacije, D/A pretvornik to pretvori u odgovarajui napon,
zatim raunalo oitava stanje izlaza komparatora

41
5. SENZORI I PRIHVAT SIGNALA
Senzori su takvi elementi kod kojih neko elektriko svojstvo ovisi o
jednoj fizikalnoj (neelektrikoj) veliini.

Aktivni senzori: Pasivni senzori:

- fotodioda (svjetlo) - fotootpornik
- piezokristal (sila) - zavojnica s pominom jezgrom
- EM indukcija - potenciometar (pomak)
- HALL-generator (mag. polje)
- tenzometar (deformacija)

SENZORSKI SKLOP
SENZOR
S e
Prihvat i
prilagoenje
( ) S f e=


S fizikalna veliina, e elektrika veliina (analogna ili digitalna)

Podjela
Digitalni senzorski sklopovi daju digitalnu informaciju o
ulaznoj veliini (koja je analogna ili digitalna)
Analogni senzorski sklopovi daju analognu informaciju o
analognoj ulaznoj veliini
Ako sklop za prihvat signala senzora moe dati digitalni signal
izbjegava se upotreba A/D pretvornika to je direktna digitalizacija.
42
Digitalni senzorski sklopovi s analognom ulaznom
veliinom
Oblici digitalnih (izlaznih) signala:
f= func (S) promjenljiva izlazna frekvencija
i= func (S) broj izlaznih impulsa
d= func (S) digitalni broj na izlazu

Optiki digitalni senzorski sklopovi
Mjerenje kuta, pomaka, brzine (koristi optike barijere)
+
+
+
bat
U
bat
U
2
D
1
D
0
D
0
1
4 3
2
5
6
7

x
x
x


Koritenje svih izlaza = apsolutni koder poloaja
Koritenje jednog izlaza = brojanje impulsa, mjerenje ,
mjerenje relativnog pomaka
43
Linearna izvedba optikog senzora
D0
D1
D2
D3
v l,
opto-barijere


Magnetski digitalni senzorski sklopovi
-
-
ref
U
-
+
A
HALLOVA
SONDA
f/u
Komparator
Mjeri se brzina
strujanja
BROJILO
DIGIT. IZLAZ
0
D
1 N
D
R

Sklopka blizine (proximity switch)
N
0
D
S
S 0
A
+
-
ref
U
i
U
0
D
KOMPARATOR
pomak S
"0"
"1"
digitalni izlaz (1 bit)

Sklopka blizine slui za indikaciju pribliavanja predmeta.
44
Posebne izvedbe za indikaciju:
Feromagnetskih
Metalnih
Nemetalnih materijala




Analogni senzorski sklop
Mjere analognu veliinu i daju na izlazu analogni signal
Standardni naponski signal (0..10 V, -10..+10 V)
Standardni strujni signal (0..20 mA, 4..20 mA)
S
S
e
e
prihvat i
prilagoenje
kompenzacija
filtriranje
pojaanje
linearizacija
normiranje


1. Prihvat i prilagoenje signala Pasivne senzore treba spojiti na
elektriki izvor. Aktivni senzor treba spojiti na odgovarajue troilo, te
na ulaz pojaala.
2. Kompenzacija Ako je izlazna veliina senzora e
s
funkcija vie
fizikalnih veliina (1 mjerena + smetnje) smetnje se mogu posebno
mjeriti i oduzeti od signala
3. Filtriranje Potiskivanje smetnji (npr. elektro-magnetskih od mree)
ili potiskivanje neeljenih frekventnih komponenti signala.
4. Pojaanje Frekventni opseg pojaala mora biti prilagoen dinamici
senzora i eljenom spektru, takoer eljenom izlaznom opsegu.
5. Linearizacija Ako
) (S f e
S
=
nije linearna funkcija, to se moe
ispraviti nelinearnim pojaalom ili raunalom.
6. Normiranje eljeno podruje
max min
...S S
se preslikava u
max min
...e e
.
Granice izlaznog signala su standardizirane.

i
U
ref
U
St S

45

Sklop za mjerenje rasvjete

0 =&
ul
i
A
+
-
0 =&
D
U
0
R
izl
U
E k i
s D
=
E R k
R i U U U
s
D R D izl
=
= = + =
0
0 0
&

Struja koju generira fotodioda linearno je zavisna od rasvjete. MOS-
FET operacijsko pojaalo pojaava tu vrlo malu struju i odrava
napon na diodi
0
D
U
. Vrijeme odziva je reda veliine s.

Mjerenje temperature termoparom
Komp.
1

Ni
S
U
CrNi
( )
k
U
ul
U
a
R
0
R
R
izl
U
2
=
s k
k U
A/D
Filtriranje
Lineariza-
cija
( )
2 1
=
s s
k U
1
k U U U
K s ul
= + =
+
-


Napon termopara funkcija je razlike
2 1


Da se dobije
1
= k U
s
treba ugraditi sklop za
kompenzaciju koji mjeri
2
(temperaturu ambijenta) i
ponitava njen utjecaj
Pojaanje
1
0
+ =
R
R
A
treba biti veliko
( ) mV C 50 1000
o
, a
pojaalo vrlo precizno i neovisno o temperaturi
46
Prilagoavanje nivoa signala (skaliranje)

Iznos mjernog signala treba prilagoditi podruju A/D pretvornika
Ako se ne koristi cijelo ulazno podruje napona A/D pretvornika
onda je efektivna rezolucija manja.

Primjer mjernog lanca termopar pojaalo A/D pretvornik:

S = 0 ... 1000 C (signal)

K
s
= 40V/C (konstanta termopara)

U
s
= 40V/C 1000 = 40mV (maksimalni napon termopara)

Mjerno podruje A/D: A
ad
= 0 ... 1.2V = 1.2V

Potrebno pojaanje: A
v
= A
ad
/U
s
= 1200 mV /40 mV = 30

Zadana rezolucija: q
s
= 1 C q
s
/S = 1/1000 = 0.1 %

A/D pretvornik treba davati 1000 diskretnih vrijednosti d = 2
N


Rezolucija A/D pretvornika N=10 bita daje 2
10
= 1024 diskretnih
vrijednosti, to zadovoljava zadanu rezoluciju.

Egzaktan iznos potrebnog broja bitova dobije se na sljedei nain:

2
N
= 1000 /log
2
(logaritmiranje)

96 . 9
303 . 0
3
) 2 ( log
) 1000 ( log
) 1000 ( log
10
10
2
= = = = N

Raunanje mjerene temp. (oitanje A/D: N = 10, D = 0 ... 1023):

s v
ad
N
K A
A D
) 1 2 (
C] Temp[

=

47

Mjerenje deformacije tenzometrom

1
R
Mjerilo
otpora
F
0
R
B
R
0
R
R
+
-
izl
U
V
F k A U U
F k U
AB izl
AB
= =
=
&
&
(usko podruje)
bat
U +
R1 R2
R4
R3
A


Otpor R
1
(tenzometar) pod utjecajem sile F podvrgnut je
deformaciji i mijenja otpor
Wheatstoneov most R
1
..R
4
postavi se u ravnoteu za F=0
Diferencijalno pojaalo je spojeno na mjestu galvanometra
u mostu, pojaava U
AB

Ulazni napon < 1 mV (problem pomaka radne toke
drift-a, zahtijeva precizno pojaalo)



Nove tehnologije inteligentni senzori
Senzori s ugraenim procesorom i A/D pretvornikom
Beine i iane mree senzora
Plug and Play: senzori koji se identificiraju nadreenom
raunalu, automatska konfiguracija i kalibracija
48

6. AKTUATORI
D/A
PARALELNI
IZLAZ
ULAZ
R
M
M
KONTROLA
DIGITALNI
AKTUATORSKI
SKLOP
ANALOGNI
AKTUATORSKI
SKLOP


Aktuatori pojaavaju energetski nivo izlaznih signala i
prilagoavaju oblik energije troilima (upravljakim
ureajima)
Potrebno je takoer i galvansko odvajanje troila
Digitalni aktuatorski sklop
PI0 R
0
D
2
D
mA
V ili
1
5 0
+
~
M
100
mA
R S T
TRANZIST.
SKLOPKA
RELEJ SKLOPNIK
A V x 25 / 380 3

Koriste se tranzistorske sklopke za pojaanje signala
Releji i sklopnici takoer omoguuju upravljanje velike
snage iz kruga male snage (uz galvansko odvajanje)
49
Analogni aktuatorski sklopovi
Ulazni i izlazni signal se kontinuirano mijenja

ULAZ IZLAZ AKTUATORSKI SKLOP TROILO
( )
( ) t i
t u
ul
ul

( )
( ) t i K
t u K
ul
ul


Pojaalo snage, tirist., reg.
(fazna reg. i ispravljai) tirist.
regulatori (Zero crossing)
DC MOTORI,
GRIJALA
( ) t u
ul

( ) t u K
ul



U/f pretvara
SINKRONI I
ASINKRONI
MOTORI

Izlazno djelovanje prilagoeno je troilu i moe ukljuivati i
ispravljako djelovanje
Izlazno djelovanje je esto prekidako (tiristori) zbog
velikog iskoritenja tj. malih gubitaka regulacije

Fazni regulator izmjenine snage
~ U F
IND.
PROLAZA
NULE
bat
U +
R
c
U
C
M
g
i
1
A
2
A
G
0
+
+
-
K
U
ul
U
0...10 V
KOMPARATOR
POJAALO
STRUJE
ul
U k =&


Tiristor istosmjerna snaga
Trijak izmjenina snaga

( )
ul T
U f U =
- inverzna i nelinearna funkcija
50
sklop usporeuje ulazni napon s pilastim naponom i tako
generira impuls u momentu kad se oni izjednae
potrebno je rijeiti i problem galvanskog odvajanja mree
od ulaznih signalnih linija



C
U
u l
U

G
i
T
U
~
U
t
t
t
K
U


51

7. IMPLEMENTACIJA UPRAVLJAKIH
ALGORITAMA
Svojstva upravljakih algoritama:
Pojam vremena je vrlo vaan (tzv. realno vrijeme): SOFT
REAL TIME, HARD REAL TIME
Program se stalno izvrava (cikliko ponavljanje)
Prestanak rada i druge greke mogu izazvati havariju
Program je upravljiv vanjskim dogaajima od kojih neki
dolaze u pravilnim vremenskim intervalima. Vrijeme
odziva je bitno
Ulazni podaci se itaju direktno i bez kanjenja. Izlazni
podaci se odmah po nastajanju alju u okolinu
Obrauju se neposredno nastali signali = sadanje stanje
raunala (procesa)
esta su upravljanja vie vanjskih procesa ureaja u
vremenskoj paraleli
esto se koristi distribuirano procesiranje sa vie raunala
Kritina je brzina rada a nekad i utroak memorije
Kritina je pouzdanost i predvidiv rad u svim redovnim i
izvanrednim okolnostima (naglasak na software-u)
52
Ciklus rada digitalnog regulatora
S DA C AD
T T T T T + + +


max
2
1
ul
f
T
(Shannonov teorem) + drugi uvjeti

Izlazni signal kasni u odnosu na ulazni

AD
T
C
T
DA
T
AD
T
S
T
t
kT
T
( )T k 1 +


T
S
sistemsko vrijeme potrebno je za dijagnostiku sistema
i vremensku rezervu
Maksimalno raspoloivo vrijeme za proraun:
S DA AD C
T T T T T =



53

Ocjena potrebne snage
1. Iz upravljakog programa potrebno je zbrojiti vremena
izvoenja svih instrukcija koje se izvre u jednom ciklusu
(T
C
). Vremena za pojedine instrukcije daje proizvoa
procesora.
2. Ponavljati korak 1) za razliite procesore i/ili mogue
frekvencije generatora takta dok se ne uskladi brzina
procesora sa potrebnim T
C

3. Ako se problem ne moe rijeiti jednim procesorom
potrebno je razmotriti upotrebu distribuiranog ili paralelnog
procesiranja sa vie procesora, ili primjenu jednostavnijeg
upravljakog algoritma

Vrijeme izvoenja se stohastiki mijenja unutar nekih
granica ( 20%).
Kod primjene viih jezika potrebno je probno izvoenje
Dominantne su operacije sa realnim brojevima jer su
spore.
Cijena potrebne procesorske snage ovisi o samoj
potrebnoj brzini (MIPS Mega Instructions Per Second)

$
MIPS
MIPS

54
8. DISTRIBUIRANO I PARALELNO
PROCESIRANJE
Postupak prorauna (program) moe se prikazati
dijagramom toka podataka
Dekompozicija programa u raunarske procese

INICIJALIZACIJA
ITANJE A/D
PRORAUN
UPIS U D/A
SISTEMSKI
PROGRAM
PROCESNI
DIJAGRAM



Mogui sluajevi:
nezavisni paralelni procesi
sekvencijalni niz
opi sluaj proizvoljan procesni dijagram
55
Nezavisni paralelni procesi
Ako se proraun sastoji od niza vremenski paralelnih aktivnosti
(npr.: regulacija vie objekata) i ako su te aktivnosti meusobno
neovisne (ne razmjenjuju podatke u toku rada), lako je sprovesti
distribuirano procesiranje na vie nezavisnih
R
.

t
1
P
2
P
3
P
3
T
1
T
2
T



POETAK
1 R
KRAJ
1
T
2
T
3
T
2 R 3 R
M M M
1
T
2
T
3
T
1
P
2
P
3
P


Svaki regulacijski program T
i
izvodi se na zasebnom
procesoru.
MAX i C
T T =

Alokacija:
3 3 2 2 1 1
, , P T P T P T


56
Sekvencijalni niz
Ako se proraun sastoji od niza sekvencijalnih aktivnosti, opet je
mogue koristiti vie procesora i u ciklikom radu postii poveanje
propusnosti (PIPELINE)

1
T
2
T
3
T
1

1
T
1
T
1
T
2
T
2
T
2
T
3
T
3
T
3
T
t
t
t
1 = k 2 = k 3 = k
1 = k 2 = k 3 = k
1 = k 2 = k 3 = k
1
P
2
P
3
P


1 1
P T
2 2
P T
3 3
P T
1 R 2 R 3 R
M M M
P P P


Sekvencijalno izvoenje na jednom procesoru:
3 2 1
3 2 1
1


+ +
= + + = f T
C
Paralelno izvoenje uz
T
T = = =
3 2 1

:
T
T
f
1
=
dobije se 3 puta bre izvoenje
Ova metoda primjenjivanja je i unutar mikroprocesora (T
1
,
T
2
, T
3
, su tada dijelovi instrukcije)
57
Opi sluaj proizvoljan procesni dijagram
Upravljaki postupak sastoji se od vie aktivnosti a one su na
proizvoljan nain meusobno uslovljene (razmjenom podataka)
Postupak implementacije:
1. Particija 2. alokacija 3. vremenski redoslijed

1. Particija (podijela) prorauna u procese

PROCES IZRAZ VRIJEME PRETHODNICI
1
T
2
T
3
T
4
T
5
T
6
T
A:=sin(ALFA)
B:=sin(BETA)
C:=A*B
D:=A/B
E:=C+D
F:=A+C
G:=ALFA+BETA
300
300
100
100
50+50
50
-
-
2 1
,T T
2 1
,T T
4 3 1
, , T T T
,
,
1
T
2
T
3
T
4
T
5
T
6
T
A B
C D
E,F
G


Pretpostavka je da je proraun stalan i unaprijed poznat.
Svaki proces ima poznato
i

, m= broj procesa, n= broj


procesora.
Proces veu uvjeti precendencije (prethoenja), to daje
djelomino vremensko ureenje
1, 2 i 6 su poetni procesi (bez prethodnika)
5 i 6 su zavrni procesi (bez nasljednika)
6 je ujedno i nezavisan proces
58

2. Alokacija procesa na procesore


1
P
3
P
2
P
4
P
1 T 2 T 3 T 4 T
- - 6 T 5 T 2 M 1 M 3 M 4 M
KOMUNIKACIJA


Postupkom alokacije pridjeljuju se procesi pojedinom procesoru
(raunalu) na koje e se izvravati.

Rijeiti PROBLEM ALOKACIJE znai pronai optimalan raspored
procesa koji daje minimalno vrijeme izvoenja posla. Problem
alokacije je za opi sluaj posla nerjeiv (bez ispitivanja svih
mogunosti - to je takoer nemogue). Zbog toga je i optimalno
rjeenje nepoznato.
Pretpostavke za paralelan rad:
Mora postojati mogunost komunikacije meu
procesorima
Mora postojati mehanizam sinkronizacije tako da se
procesi mogu uputati kad su za njih spremni svi ulazni
podaci
59
3. Redoslijed izvoenja u vremenu
Jednostavna strategija- upustiti proces im je spreman (ne
daje uvijek najbolje rjeenje):

5 T 4 T
3 T 6 T
2 T
1 T
p
T
1
P
2
P
3
P
4
P
t
t
t
t
p
i
T
SP

=

n
SP
n T
p
i
=


4. Alokacija i vremenski raspored koritenjem heuristikih
algoritama:
NIVO PROCESA je najvea vremenska udaljenost tog procesa od
zavrnog procesa:

+ =

=
SS
S
S i i
N
1
max
(zbroj po svakoj moguoj
stazi, SS = broj nasljednika)
KRITINA STAZA je staza na (usmjerenom) grafu s najveom
sumom i

. Vrijeme izvoenja cijelog posla ne moe biti krae od


T
ks

( )
KS p
T T

NIVO ALOKACIJA je postupak koji koristi heuristiko pravilo:
procesoru koji se prvi oslobaa treba (izmeu svih nealociranih
spremnih procesa) pridijeliti proces s najveim nivoom.
Tako se dobiju kvalitetna suboptimalna rjeenja
n T
T
t op p
p
1
2
_


60
Podjela paralelnih sustava
SISD single instr. stream, single data (klasino
R
)
SIMD single inst.; multiple data (npr. vector processing)
MISD multiple instruction stream, single data stream
MIMD multiple instruction, multiple data (multiprocesor)

Izvedbe MIMD sustava:
M
ZM
M
P P
M M M
P P P
SABIRNICA KOMUNIKAC. LINIJA
ZAJEDNIKA MEM. KOMUNIKACIJA PORUKAMA

Zajednika mem. je u adresnom polju vie procesora
Postoje i masivno paralelni sustavi sa 10
5
procesora
Konfiguracija povezivanja raunala:
1 R
2 R
3 R
4 R
PRSTEN ZVIJEZDA
SISTOLIKO
POLJE
3-D: KOCKE, HIPERKOCKE, ITD.
61
9. INDUSTRIJSKI RAUNALNI SUSTAVI I MREE
Podjela mikroraunala po fizikoj izvedbi:
1. Integrirano mikroraunalo (single chip microcomputer,
microcontroller) - sadre CPU, manju koliinu memorije (npr. 2 KB
ROM, 256 bytes RAM), I/O portove, itd. Ugrauju se u manje ureaje
2. Raunala na jednoj ploi (single board microcomputer) - sadre
odvojene integrirane krugove: procesor, RAM, ROM, I/0
3. Raunala s vanjskom sabirnicom sabirnica raunala izvedena je u
obliku niza utinica (npr. razne izvedbe industrijskog PC-a)
KOMUNIKACIJA
P
RAM
I/0
STRANJA PLOA
SABIRNICA
UTINE
PLOE
STANDARDI UTINICA:
-VME
-S100
-MULTI BUS

4. Multiprocesor: u sloenijim izvedbama ima vie procesorskih ploica
5. Distribuirana mrea raunala

Koncepcijska podjela industrijskih raunala:
1. Integrirani kontroler (EMBEDDED CONTROLER)
2. Programabilni (logiki) kontroler (PLC)
3. Raunalo za upravljanje NC strojeva
4. Robotski kontroler (esto vieprocesorski sustav)
5. Raunalo za nadzor i umreavanje
62
Programabilni logiki kontroler (PLC)
U poetku zamiljen kao zamjena za relejnu (kontaktnu)
logiku. Danas je to univerzalna komponenta za
industrijsku automatizaciju. Povezuje se u (hijerarhijsku)
mreu sa drugim PLC-ima ili nadreenim sustavom
DIGIT.
ULAZI
V 220
~
IZLAZI
PLC
SPOJ NA MREU
PROGRAMATOR
ANALOGNI I/0
+ -

Programiranje se izvodi posebnim (viim) programskim
jezicima (koji su danas standardizirani):
1. - IS instruction set, statement language, AWL
2. - LD ladder diagram language
3. - FBL function block language
4. - BDL binary decision language
5. SCL Structured Control Language (slino Pascal-u)

Ugraeni programski elementi u PLC-u:
Logike operacije Aritmetike operacije
A - AND ADD
O - OR DIV
N - NOT MUL
XO - XOR SUB
Ostale operacije:
S/ R BISTABILI
63
SR POSMANI REGISTRI
C BROJILA (GORE/ DOLJE)
C...0 BRZO BROJILO
TR VREMENSKI SKLOP ZA KANJENJE

A/D PRETVORNIK
D/A PRETVORNIK

Varijable mogu biti duine 1 bit, 8 bit i 16 (32) bita.
Ciklus rada PLC-a
1. Upis ulaznih stanja u registar
2. Obrada ulaza (privid paralelne obrade)
3. Ispis u izlazne registre
4. Sistemska provjera, povratak na korak 1.
Vrijeme ciklusa < 5 ms/1000 instrukcija IS (Klockner-Moeller PS3)
Instruction set (IS), statement list (STL)

Simbol: Znaenje: Simbol: Znaenje:
= STORE (spremi) MUL mnoenje
A AND (logiki I) NOT komplement
ADD Zbrajanje O OR (logiki ILI)
BC, BCN uvjetno grananje R reset bistabila
DIV Dijeljenje S set bistabila
JC, JCN uvjetni skok SUB oduzimanje
JP bezuvjetni skok XO ekskluzivni ILI
L unos nove varijable EP kraj programa

64
Primjer istog programa u raznim jezicima:
Instrukcijske liste (STL, IS)
LD I123
OR Q233
ANDN I124
ANDN I125
=Q233
123 I
124 I 125 I
233 Q
233 Q


LD jezik (LADDER DIAGRAM stepenasti dijagram)
123 I 124 I 125 I
233 Q
233 Q

Nazivaju se i kontaktni planovi (uobiajeni u montai postrojenja)
FBL jezik - funkcijski blokovi (functional blocks)

233 Q
123 I
124 I
125 I
233 Q
OR
1
&
AND

65
Prikaz je identian sklopovskoj shemi sa integriranim krugovima,
iako se to ovdje izvodi programski (simulacija). Standardiziran po
IEC 65A.
BDL jezik
125 I
124 I
123 I
233 Q
0 233 = Q 1 233 = Q
1
1
1
1
Binary decision tree (logic)=
BINARNO STABLO
ODLUIVANJA




Ista se logika funkcija moe izraziti i matematiki:
Matematika notacija (za istu funkciju):
Q233=(I123 OR Q233) AND NOT I124 AND NOT I125

STL (Structured Text Language)
(Siemens: SCL Structured Control Language) ( DIN EN
6.1131-3), koji je slian Pascalu:
Q233:=(I123 OR Q233) AND NOT I124 AND NOT I125;

66
Sekvencijski funkcijski dijagrami (SFC Sequential
Function Charts)
to je PLC jezik za programiranje sekvencijskih automata,
baziran na Petri mreama i Grafcetu. Podrava vie
istovremenih stanja (concurrent sequential programming)
graf se sastoji od linija toka (flowlines), prelazaka
(transition), koraka (step) i akcija (action)

Primjer poetka rada perilice rublja
67
Industrijski multiprocesor robotski kontroler
1 R 1 ZM 2 R 2 ZM 3 R
1
M
2
M
3
M
2
P
1
P
3
P


Implementacija sloenih upravljakih algoritama robota
(dinamika, kinematika) esto zahtijeva vieprocesorski
sustav i primjenu paralelnog procesiranja
U jednostavnim izvedbama svakom procesoru se
pridruuje proraun za jedan odreeni zglob robota (kada
je proraun podijeljen po zglobovima)
Zajednike memorije ZM slue za razmjenu podataka
68
Raunarske mree za distribuirano upravljanje i
nadzor
Raunala na vee udaljenosti u pravilu komuniciraju
serijskim vezama (bit po bit)
( ) t u
START STOP
LSB MSB
RS 485/422
0 1 2 3
4
5 6 7
1
P
P=PARITETNI BIT


STANDARD NAIN MAX.
UDALJENOST
Pred/Prij BRZINA MEDIJ
RS 232-C ASIN. 15 m 1/1 20 kbit/s PARICA
RS 423-A ASIN. 1200 m 1/10 100 kbit/s --
RS 422-A SIN. 1200 m 1/10 10 Mbit/s --
RS 485 SIN. 1200 m 32/32 10 Mbit/s --
Kljuna su pitanja pouzdanosti prijenosa i sigurnosti.
Za vee udaljenosti koristi se:
1. Modulatori i demodulatori (MODEMI) za prijenos podataka preko
telefonske mree. Osim fizike veze, mora postojati podudarnost
protokola i brzine prijenosa (9600 bit/s,...,54000 bit/s [bps=BAUD])
2. ADSL - (Asymmetric Digital Subscriber Line) je brzi digitalni prijenos
informacija preko telefonske mree
3. LAN (Local Area Networks) obino preko koaksijalnog kabela,
parice ili optikog vlakna-fibera. Brzina prijenosa 10 Mbit/s (FAST
100 Mbit/s, 1Gbit/s). Standardi IEEE 802.3 za ETHERNET LAN,
IEEE 802.4 za TOKEN PASSING LAN
4. MAN - metropolitan area network
5. WAN (Wide Area Networks) globalne mree, Internet.
69

Lokalne mree industrijskih raunala
Karakteristike mree:
Tip medija:
Telefonska parica 1 Mbps ili vie na kratkim udaljenostima
UTP kabel 10 Mbps (do 1 Gbps na kratkim udaljenostima)
Koaksijalni kabel 10 Mbps/ 100 Mbps/ 1 Gbps
Optiko vlakno 100 Mbs ili vie
Beino Eter (sateliti, radio signal)
Struktura (topologija)
Nain prijenosa informacije
Nain pristupa
Struktura poruke
Sigurnost prijenosa

Strukture mree

ZVIJEZDA (STAR) PRSTEN (RING)


70
SABIRNICA (BUS)
STABLO (TREE)



Nivoi industrijske komunikacije


PRODUCTION
MANAGEMENT
PROCESS
MANAGEMENT
GROUP
MANAGEMENT
SHOP FLOOR
ISO/OSI MODEL
KOMUNIKACIJE
APPLICATION
PRESENTATION
SESSION
TRANSPORT
NETWORK
LINK LAYER
PHYSICAL LAYER
MEDIUM
0
1
2
3
4
5
6
7

71

Struktura poruke
Definirana na nivou prijenosa jedne rijei (byte) i cijele poruke:

ZAGLAVLJE TIJELO REP
- startni kod
- adrese
- kontrolne informacije.

Podaci
- podaci za
ustanovljenje
pogreke

Komunikacijski protokol definira kodove, nain prijenosa, smjer
prijenosa, format prijenosa i metode uspostavljanja i prekidanja
veze.
Nain pristupa mrei:
CSMA /CD - Stohastiki pristup
TOKEN PASSING - Deterministiki pristup
MASTER/SLAVE --
MULTI MASTER --

CSMA/CD Ethernet lokalna mrea (LAN)
TAP
KOAX. KABEL
TERMINATOR
BUS INTERFACE UNIT
1 R 2 R 2 R


Princip CSMA/CD (carrier sense multiple access with
collission detection = viestruki pristup uz detekciju
kolizije)
72
Uglavnom se koristi za viekorisnike operativne sisteme
Za nie nivoe industrijskog upravljanja nije pogodna zbog
nepredvidivog vremena pristupa, osim brzog 100Mbps
Etherneta



Slika prikazuje moderniju izvedbu Ethernet mree
Switch i hub razvodnici pojaavaju signale
Klijenti se spajaju UTP (telefonskim) kabelima
Postoje izvedbe za 10 MBps, 100 Mbps, gigabit, a takoer
i 10 gigabit mrea
73

Token-passing ring LAN
Mrea s prijenosom etona (tokena)
R
RING INTERFACE UNIT
R
R
R


Podaci se kreu prstenom u jednom smjeru
Svi sluaju (LISTEN MODE)
eton cirkulira (eton je specijalni kod)
Predaja: dotino raunalo zaustavlja eton i pretvara ga u
konektor, slijedi poruka
Ciljno raunalo postavlja ACK (prihvat)
Kraj poruke. eton se stavlja na kraju poruke

Postoji i izvedba TOKEN BUS. Kod nje postoji logiki prsten,
makar fiziki veza nije u obliku prstena
TOKEN-RING je efikasniji od CSMA/CD kod velikog
optereenja mree. Pogodan je za sve nivoe upravljanja.
74
Master/slave lokalna mrea
Master ispituje svakog slave-a (POLLING)
Sva komunikacija ide preko master-a
SAN - mree za male udaljenosti
CAN Controller Area Network (mrea za automobile)
Home LAN (mree za kunu upotrebu, HAVI, Jini,..)
IIC (I
2
C) i SPI mree za povezivanje integriranih krugova
Beine mree standard IEEE 802
WPAN- Wireless personal area networks, npr. Bluetooth,
za ureaje u istoj sobi, standardi IEEE 802.15
LAN- Wireless LAN (WLAN, Wi-FI), standardi IEEE
802.11
MAN- WIMAX, 70 km, 70MBit/s, standardi IEEE 802.16
WAN- mrea za velike udaljenosti, standardi IEEE 802.20

Beine mree senzora (smart sensor networks,
standard IEEE1451.4)
Plug and Play: senzori koji se identificiraju na mrei.
Automatska konfiguracija, kalibracija i dijagnostika.
75

Povezivanje vie mrea
REPEATER pojaalo u homogenoj mrei
HUB, SWITCH razdjelnik u homogenoj mrei
BRIDGE povezivanje razliitih mrea (ISO nivo 2)
ROUTER povezivanje razliitih mrea (ISO nivo 3)
GATAWAY povezivanje mrea uz pretvorbu protokola

INTERNET
To je mrea svih mrea, na bazi TCP/IP protokola.
Definira mrene servise na viim nivoima.
Najee primjene Interneta:
TELNET - Koritenje raunala preko udaljenog terminala
FTP razmjena datoteka
E-MAIL elektronska pota
W W W World Wide Web Internet info stranice



76
Industrijske mree standardni protokoli
Postoje stotine razliitih industrijskih mrea (Industrial Field bus) i
protokola, od kojih su neki standardizirani.
Industrial Field Buses:
Control Buses: High Speed Ethernet (HSE) i ControlNet,
Field Buses: Foundation Fieldbus i Profibus,
Device Buses: DeviceNet, Profibus DP, SDS i Interbus-S,
Sensor Buses: CAN, ASI, Seriplex i LonWorks

PROFIBUS (DIN 19245) PROCESS FIELD BUS
udaljenosti 0.2 km 2.4 km (15 km optiki) + repeateri
brzina 9,6 kbit/s (kilobit per second) 12 Mbit/s
32 aktivna uesnika (122 sa pasivnima)
prijenos RS 485 serijskom vezom preko oklopljenog
telefonskog kabela ili preko optikog vlakna
metoda pristupa: MULTI MASTER/SLAVE (TOKEN
PASSING + MASTER/SLAVE)
CC-link
10 Mbit/s brzina prijenosa
baziran na RS485, mrea do 1.2 km/ 13.2 km repeater-ima
64 uesnika (stanica) u mrei
vrijeme osvjeavanja <3.9ms za 65 I/O stanica
Master/Slave network sa Floating Masters, omoguuje hot
swap stanica
DeviceNet
Za komunikaciju industrijskih kontrolera i perifernih
ureaja, bazira se na CAN protokolu
Koristi se u automobilskoj, poluvodikoj industriji i montai
77
Do 64 uesnika i do 500 m preko telefonskog kabela
CANopen
U smislu OSI modela CANopen implementira sloj
network layer te slojeve iznad njega. Nii slojevi data
link i physical layer su na bazi CAN-a ali mogu biti i
drugi.
Ethernet
Ethernet 100 Mbps, Gigabit Ethernet (1000BASE)
Brzi Ethernet (HSE) i Real time Ethernet (RTE) sve se
vie koriste u industrijskoj sredini radi jednostavnosti,
cijene i kompatibilnosti sa nadreenim mreama intranet/
Internet. Neovisan o proizvoau.
EtherCAT
Ethernet for Control Automation Technology je otvorena
mrea visokih performansi za automatizaciju. Cilj je bio
razviti industrijsku mreu sa kratkim vremenom ciklusa-
obnavljanja i niskim variranjem vremena (jitter) za bolju
sinkronizaciju i nisku cijenu.
PROFINET
otvorena mrea za automatizaciju bazirana na Ethernet
standardu i TCP/IP protokolu. Ona predstavlja real-time
Ethernet i omoguuje povezivanje industrijskih mrea uz
niske trokove.
HART protokol za komuniciranje sa senzorima
Razvijen od Rosemount Inc, omoguuje nadzor,
dijagnostiku i konfiguriranje senzora (Highway
Addressable Remote Transducer Protocol)
U Analog/ Digital modu koristi postojee 4-20 mA signale
na koji je dodana digitalna informacija (1200 baud
Frequency Shift Keying (FSK))
U Multidrop modu koristi samo digitalni prijenos. Do 15
senzora spaja se na isti kabel sa signalom 4 mA.
78

Mrena arhitektura za automatizaciju industrijskog pogona


Slojevi protokola za automatizaciju industrijskog pogona
79

10. PROGRAMIRANJE
Programska oprema (okruenje) je skup svih programa potrebnih
za razvoj, izvoenje i pronalaenje greaka u korisnikim
programima
OPERATIVNI SUSTAV (OS) upravlja radom i resursima raunala
(diskom, procesorom, memorijom). Iz njega se pokreu drugi
(korisniki) programi
OS K1
KORISNIKI PROGRAM
- PR.: MS DOS NA IBM-PC
= DISK OPERATING SYSTEM

Ako se istovremeno moe izvravati vie korisnikih programa OS
se zove vieprocesni (MULTITASKING), a ako uz to ima isto-
vremeno vie korisnika > viekorisniki (MULTIUSER), npr. Unix
OS
K1
K2 K3
K4
K1
K2
K3
K4 K1
t
CIKLUS
P
PROCESORSKO VRIJEME

Ako postoji samo jedan procesor OS e pridijeliti svakom procesu
jedan dio svog vremena (TIME SHARRING). Neki OS podravaju
programiranje s ogranienjem realnog vremena (REAL-TIME OS)
za pojedine procese
80
Operativni sustavi realnog vremena (Real-time
operating systems- RTOS)
U irem smislu to su sustavi koji moraju odgovarati na dogaaje u
vanjskom svijetu onim tempom kako se ovi dogaaju (reaktivni
sustavi)
Ogranienja realnog vremena:
MEKA (SOFT) npr. zadano maksimalno vrijeme
izvoenja posla ili min. frekvencija
TVRDA (HARD) zadano maksimalno vrijeme reakcije
pojedinih raunarskih procesa na vanjski dogaaj
(DEADLINE)
Obino postoje prioriteti procesa koji obrauju pojedine
dogaaje.
Izvedba je najee takva da se procesi mogu prekidati u
toku izvoenja (PREEMPTION).
Procesi se moraju sinkronizirati i razmjenjivati podatke
Kod sustava realnog vremena upotrebljivost rezultata
prorauna ovisi o tonosti rezultata ali i o trenutku kad je
dobiven
Za programiranje se koriste specijalni jezici (ADA, PEARL,
MODULA-2, HIGH INTEGRITY PEARL, REAL-TIME
EUCLID) ili standardni jezici (C) sa ekstenzijama
Primjeri RTOS: QNX, LynxOS, Windows CE
81
Pomagala za razvoj programa
EDITOR upis i promjena programskog teksta
ASSEMBLER program za prevoenje programskog
teksta (mnemoniki kod) u strojni kod (1:1)
COMPILER program prevodilac. Prevodi tekst pisan u
viem jeziku (PASCAL, FORTRAN, C) u strojni (izvrni)
kod ili objektni kod. Jedan red programa proizvodi vie
strojnih instrukcija
LINKER povezuje jednu ili vie objektnih datoteka i
stvara izvrni kod
LOADER program koji izvrnu datoteku kopira u radnu
memoriju i pokree taj program (dio OS)
DEBUGGER pronalaenje greaka u programu (npr.
izvoenjem korak po korak)
SIMULATOR program koji simulira rad nekog fizikog
ureaja (procesa)
82
PROBLEMATIKA RAZVOJA FIRMWARE-a
Firmware je software fiksno ugraen u sustav
Programi za mala raunala esto se razvijaju na velikima
(gdje se moe koristiti editor, compiler, assembler, cros-
compiler, simulator, emulator), to se zajedno naziva
razvojni sustav
Kako mali sustavi nemaju disk, program treba spremiti u
ROM ili FLASH memoriju, to je u industrijskim sredinama i
najsigurnije
Programirani ROM se prebacuje u malo raunalo i ispita da
li program radi kako je planirano
Integrirani mikrokontroleri (MCU) sadre RAM i FLASH
memoriju u koju se moe jednostavno upisati program
preko serijske veze sa razvojnim sustavom.

RAZVOJNI
SUSTAV
EPROM
PROGRAMATOR
EPROM
EMULATOR
CPU
EMULATOR
M
I/0
UART ROM
RAM CPU IO
CILJNI SUSTAV (TARGET)

Popularni 8 bit MCU: Intel 8051 i kompatibilni, Atmel AVR (Arduino
platforma), Microchip Technology PIC, Texas Instruments MSP430
(mala potronja), ARM (32bit MCU)
83
Nain razvoja programa
Nivoi programiranja: Nii nivo > Vii nivo
Program u strojnom kodu
Asembler
Vii jezici (prevodioci) prve generacije (Fortran),
interpreteri (Basic)
Strukturno programiranje (Pascal, Algol, C, Modula 2)
Objektivno orjentirano programiranje (SMALLTALK, C++)
Vizualno programiranje (Visual Basic, Visual C, Delphi)
Logiko programiranje (LIST, PROLOG), Matematiki
programi (Matlab), simulacijski (Simulink)
Specijalni jezici, npr. za Real-time, baze podataka, PLC i
robote, skriptni jezici (Python), Internet programiranje
Radi se o razliitim pristupima programiranju
Razvoj (Nii nivo > Vii nivo) ide prema sve veem nivou
apstrakcije, (orijentacija prema problemu) gdje detalji
stroja i operativnog sistema, postaju sve manje vani
Ovakav razvoj zahtijeva bra raunala i s veom
memorijom, za rjeenje istog problema u istom vremenu
izvoenja
Prednosti vieg nivoa:
Niska cijena razvoja korisnikog programa
Lako odravanje, ponovna upotreba gotovih rjeenja
Prenosivost izvornog programa na drugi stroj


84
DODATAK1 - PROGRAMIRANJE
Principi strukturnog programiranja
Strukturno oblikovanje programa
Problem (koji treba biti potpuno definiran) razloi se u
logike cjeline (module i procedure)
Za svaku logiku cjelinu (modul) moraju biti tono
definirani ulazni i izlazni parametri i vlastiti podaci
Nacrtati strukturu programa s modulima

PROBLEM
1
X
KORAK 1)
1
X Y
KORAK 2)
X
X Y
2
X
3
X
KORAK 3)

85
Strukturno programiranje (kodiranje)
Svaki sloeni problem moe se ralaniti na elementarne
strukture:
Sekvenca (niz)
Grananje (izbor)
Ponavljanje (iteracije, petlje)

( ); 4 : sqr a =
; 2 : + =a b
a) b)
DA
NE
?
A
B
the a IF 2 >
Prog B
Else Prog A



)
1
c
ULAZ
Prog.
?
DA
NE
IZLAZ
While a>2 Do Prog;
)
2
c
ULAZ
Prog.
?
DA
NE
Repeat Prog;
Until a<2:
IZLAZ


86
TOP-DOWN metoda strukturnog programiranja
Uzastopno raslanjivanje problema na sve manje dijelove
koritenjem osnovnih elemenata strukturnog programiranja.

I
II III
T F
III


II
III
F T
T F
T

87
Umjesto naredbe GOTO u strukturnom programiranju koriste se
dane elementarne strukture te pozivi procedura i funkcija
Svaka logika cjelina programa pretvara se u proceduru (ak ako
se poziva samo jednom)
Svaka procedura moe imati i vlastite varijable koje su nedostupne
ostalim procedurama i glavnom programu (zatita podataka)
S pozivajuim programom komunicira se preko ulaznih/ izlaznih
parametara koji moraju odgovarati po broju i tipu podataka
PARAMETRI
STRUKTURA
PODATAKA
OBRADA
(ALGORITAM)
program
ili modul
Procedure Zamjeni (VAR x,y:real)
VAR temp:real;
Begin
temp:=x;
x:=y;
y:=temp;
End
Begin {glavni program}
Zamjeni (a, b);
End.
VAR a, b: real; {globalne var.}

Parametri se povezuju po redoslijedu u pozivu, a ne po
imenima
Mogunost rekurzivnog poziva procedure
Programi= strukture podataka + algoritmi
88

Programiranje u PASCALU
Blok programa:
BEGIN



END

Naredbe se separiraju znakom toka-zarez (;)
Primjer (struktura programa):
PROGRAM Ime
CONST
TYPE
VAR

PROCEDURE ( );
VAR
BEGIN
END
BEGIN
. . .
. . .
END.
PROCEDURA je program
u malom
moe sadravati
vlastite PROCEDURE

89

Proirenja (EKSTENZIJE) viih programskih jezika
Concurrent Programming (MULTIPROGRAMMING) =
vie procesno programiranje (npr. CONCURRENT C)
Real-Time Constraints = realno vrijeme (ADA, PEARL,
MODULA-2, MODULA-3)
Paralelne ekstenzije programskih jezika (PARALLEL-C,
PARALLEL PASCAL)
OBJECT ORIENTED PROGRAMMING (C C++)


Programski koncepti za konkurentno programiranje
Konkurentno programiranje na nivou programa rjeava problem
komunikacije i sinkronizacije meu dijelovima programa. Dijelovi se
izvode u vremenskoj paraleli (jedno ili vie procesorski sustavi).

Vie rjeenja :
Semafori (L.W. Dijkstra 1968)
Semafor je varijabla kojom se odreuje vremensko ureenje.
Postoje 2 operatora:
P(S) ekaj. Ako je semafor S aktivan (true) pozivajui proces se
obustavlja. Inae se S aktivira, a proces nastavlja.
V(S) signal. Ako postoje procesi koji ekaj zbog P(S) onda se
jedan od njih proputa, inae semafor se deaktivira (FALSE).
Monitori (Hoare 1974)
Monitor je zajednika struktura podataka koja se moe dosegnuti
monitorskim operacijama koje se izvode uz meusobno
iskljuivanje. Zahtjevi za operaciju nad monitorom se spremaju i
90
izvode jedan po jedan. Redoslijed nije specificiran (CONCURRENT
PASCAL).
Komuniciranje porukama
Jedan proces alje poruku, drugi je prima. U sistemu s blokiranjem,
poiljalac mora ekati dok primalac ne potvrdi prijem.
CSP (HOARE 1978) (COMMUNICATING SEQUENTIAL
PROCESSES) ovaj princip ujedinjuje komunikaciju i
sinkronizaciju.
Naredbe: INPUT I OUTPUT. Mehanizam sastajanja (RANDEZ-
VOUS). Jedan mora biti spreman da prima, drugi da alje, ako
jedan nije drugi ga eka.
Druga rjeenja: ADA, CONCURRENT-C, OCCAM
Postoji i implementacija u hardware-u (transputeri)

Najbolje je kad se u operativnom sistemu moe specificirati procese
i nain njihovog komuniciranja te koritenja zajednikih resursa.



< kraj predavanja >
25.9.2013

You might also like