Mikroprocesorska upravljanja
August 13, 2017 | Author: snblto | Category: N/A
Short Description
Mikrokontroleri...
Description
Fakultet strojarstva i brodogradnje Katedra za strojarsku automatiku
Mikroprocesorsko upravljanje
Dr. Sc. Davor Zorc
2013.
MIKROPROCESORSKO UPRAVLJANJE KOLEGIJ SE BAVI PRIMJENOM MIKRORAČUNALA U UPRAVLJANJU STROJEVA I PROCESA, TE PRIPADNIM SKLOPOVIMA I POSTUPCIMA.
SADRŽAJ: 1. UVOD 2. STRUKTURA MIKRORAČUNALA 3. ANALOGNO/DIGITALNI PRETVORNICI 4. DIGITALNO/ANALOGNI PRETVORNICI 5. SENZORI I PRIHVAT SIGNALA 6. AKTUATORI 7. IMPLEMENTACIJA UPRAVLJAČKIH ALGORITAMA 8. DISTRIBUIRANO I PARALELNO PROCESIRANJE 9. INDUSTRIJSKI RAČUNALNI SUSTAVI I MREŽE 10. PROGRAMIRANJE
DODACI: DIGITALNI SUSTAVI UPRAVLJANJA LABORATORIJSKE VJEŽBE: DIGITALNI SUSTAVI UPRAVLJANJA PRAKTIKUM IZ MIKROPROCESORA PRAKTIKUM IZ PLC – PROGRAMABILNO LOGIČKIH KONTROLERA
2
Potrebno predznanje: OSNOVE AUTOMATSKE REGULACIJE OSNOVE ELEKTRONIKE OSNOVE DIGITALNIH RAČUNALA
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.
RAČUNALA • Gibson: Computer systems, concepts and design, Prentice Hall Int, 1991. • Ribarić: Građa računala - arhitektura i organizacija računarskih sustava, Algebra učilište, 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 LOGIČKI KONTROLERI • W. Bolton: Programmable Logic Controllers, 5th-edition, ElsevierNewnes, 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. 3
1. UVOD • Procesno računalo opremljeno je sklopovima za fizičko povezivanje s vanjskim uređajima/ strojevima • Veze (signali) mogu biti analognog ili digitalnog tipa
u(t)
u(t)
MJ. PODRUČJE
"1"
t "0"
t 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. • Upravljački sustavi - šalju informacije u proces • Regulacijski sustavi - Primaju informacije i, na osnovu obrade, generiraju izlazne signale, koji preko aktuatora utječu na proces.
4
REGULACIJSKA PETLJA POREMEĆAJI
OSTALE UL. VELIČINE
OSTALE IZLAZNE VELIČINE
OBJEKT UPRAV. VELIČINE
VOĐENE VELIČINE
AKTUATOR
SENZORI
REGULATOR VODEĆE (REFERENTNE) VELIČINE
• Cilj regulacije je dovesti vođene (upravljane) veličine na iznos vodećih (željenih, referentnih) veličina ϑA
ϑ
+UBAT NTC
RT POJAČALO SNAGE
+UREF A
Ui
+
UB REFERENTNA VELIČINA
UA
POJAČALO
Jednostavni analogni regulator
ϑ
RNTC
UB
Ui
PRT
ϑ
5
DIGITALNA REGULACIJA • Sklopovi potrebni za regulaciju izvode se u digitalnoj tehnici, najčešće pomoću mikroračunala.
UPRAVLJAČKE VARIJABLE
OBJEKT VOĐENE VAR.
AKTUATORI
SENZORI
PRILAGOĐ SNAGE
PRIHVAT SIGNALA RAČUNALO
D/A I ZADRŽ. SIG.
DIGIT. S.
+ UPRAVLJAČKI ALGORITAM
ANALOGNI SIGNALI
TIPKA I A/D REFERENTNE VELIČINE
IZLAZI
ULAZI
6
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 više signala istim medijem Obrada digitalnim računalom Fleksibilnost (zamjena software-a) Složenost obrade po volji, proizvoljni operatori Velika preciznost proračuna Lako izvodivi hijerarhijski sustavi upravljanja Daljinska kontrola/ nadzor/ upravljanje • Mane: Matematička analiza upravljanja je složenija Diskretizacija uzrokuje gubitak informacije po vremenu i amplitudi Kašnjenje reakcije zbog trajanja A/D pretvorbe, itd. Smanjena stabilnost uz iste parametre Greške u software-u – kritično za sigurnost Otkazi su najčešće potpuni (u analognim sustavima degradacija je često postupna) Problem oporavka nakon smetnji i otkaza
7
UZORKOVANJE I KVANTIZACIJA SIGNALA
x
A/D
xB
T
xb
x
xD
t
T 2T
x( f )
T 2T
t
0 0
0 1
0 1
0 1
1 1
0 1
1 0
0 0
t
T 2T 3T
xb( f )
Spektri signala
f
1/T
RAČUNALO (OBRADA)
XD
xD
f
D/A
Y
Yb Yb (t )
Y (t )
0 0 1 0
T
2T
3T 4 T
t
T
2T 3T 4 T
t
8
• Uzorkovanje: Kontinuirana funkcija x (t) zamjenjuje vrijednostima na intervalima k * T
se
svojim
Tako nastaje diskontinuirana funkcija Spektar uzorkovanog signala (xb) razlikuje se od spektra ulaznog signala (x) • Shannonov teorem uzorkovanja: Signal koji ne sadrži komponente ≥ f m , potpuno je određen nizom svojih vrijednosti na jednoliko raspodijeljenom intervalu T = 1 / (2 f m ) .
f ul max =
1 2T
- maksimalna frekvencija koja će se moći
rekonstruirati iz uzoraka (= max. harmonička 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 višekratnikom koraka kvantizacije q, čime se čini greška kvantizacije.
Xi
q Xu
• Kodiranje Svakom iznosu X i = k ⋅ q pridjeljuje se kôd (brojka) 9
• Primjer:
T = 100 ms - period uzorkovanja
A = −10V .. + 10V = 20 - ulazni opseg N = 8 - dužina digit. riječi (D0...D7)
uul
A/D
D7 D0
T
1 1 = = 5 Hz 2T 0,2 A 20 q= N = = 78 mV 2 256 f ul _ max =
TAD < T (vrijeme A/D konverzije mora biti kraće od T)
Ulazni signal mijenja se za vrijeme A/D konverzije T AD
∆x(t ) =
dx (t ) / t =ts ⋅ T AD dt
Ta promjena treba biti manja od nivoa kvantizacije
q=
A A → ∆ ≤ x 2N 2N
Za sinusni napon na ulazu --> maksimalna frekvencija:
ωu ≤ M
1 2 N −1 ⋅ TAD
10
2. STRUKTURA MIKRORAČUNALA Mikroračunalo je digitalni automat sposoban za izvršenje računskih operacija, a na osnovu programa pohranjenog u memoriji. Izvedeno je od jednog ili više integriranih krugova.
TAKT
µP
MEMORIJA ROM
MEMORIJA RAM
Input/ Output
Vanjski uređaji
SABIRNICA
• Mikroprocesor (µP, CPU) upravlja radom i izvršava instrukcije (program) koji se nalazi u memoriji • Input/ Output (I/O) sklopovi povezuju računalo s okolinom • Sabirnice su vodiči koji sve povezuju u cjelinu • Program se u pravilu izvršava sekvencijalno, instrukciju po instrukciju. • Mikrokontroler (MCU) je cijelo mikroračunalo u obliku jednog integriranog kruga. Može sadržavati A/D, D/A pretvornike i druge periferne sklopove.
11
Memorija • RAM memorija se sastoji od niza paralelnih registara, svaki registar se sastoji od niza bistabila (8, 16, 32,…) • Može se adresirati određeni registar i čitati ili mijenjati njegov sadržaj. • N – Adresnih linija može adresirati 2N lokacija (registara) • Memorija se spaja na sabirnicu podataka, adresa i upravljačku sabirnicu: Read/ Write, CS= chip select. • Vrijeme pristupa.. 5.. 500 nS
D7
SADRŽAJ
D0
1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0
ADRESA
0D 1D 2D 3D 4D
000 001 010 011 100
A D R E S A
A0
A1
RAM
D0 D7
P O D A C I
R/ W CS UPRAVLJANJE
RAM – statičke i dinamičke Read/ Write memorije ROM – ne sadrži bistabile –> samo za čitanje PROM – programabilni ROM EPROM, EEPROM, FLASH – izbrisivi programabilni
12
Sabirnice mikroračunala Sabirnicu čini niz fizičkih linija za internu vezu µP, memorije i sklopova za ulaz/izlaz • Adresna sabirnica: postavlja adresu • Sabirnica podataka: prenosi podatke • Upravljačka sabirnica: signali R/ W itd. Sekvenca (vremenski tijek) događaja na sabirnici strogo je propisana za određeni procesor. Sabirnica može biti izvedena kao niz utičnica za dodatne pločice s memorijom, I/0 sklopovima, itd.
Sklopovi za ulaz/ izlaz (input- output I/0) Povezuju računalo s perifernim dijelovima (disk, A/D, D/A, komunikacija s drugim sustavima, veza sa strojevima i procesima) • Paralelni I/0. N-fizičkih linija=komunikacija riječ po riječ • Serijski I/0. Jedna informacijska linija: komunikacija bit po bit. Pretvara se u paralelnu pomoću UART-a
u(t )
D0 R T
UART ST. D0 D2 D4
D7
t
D7
SERIJSKA VEZA
13
Primjer paralelnog izlaznog sklopa REGISTAR D
D0
D
+
X
Q
Ž
SABIRNICA PODATAKA
D
D7
D
M
Q CL
+
A0 SABIRNICA ADRESE
Enable
A15
I
WRITE IO/MEM
DEKODER ADRESE
IZLAZI
Primjer paralelnog ulaznog sklopa VRATA S TRI STANJA
D0
+ ULAZTIPKA
SABIRNICA PODATAKA
D7
SABIRNICA ADRESE
O.E.
A0 A15
Enable
I
READ 10/MEM
14
Memorijska mapa Memorijsko (adresno) polje radne memorije može biti popunjeno različitim vrstama memorije ili I/0 uređajima ADRESA 0000 1FFF 2FFF
ROM RAM 1 RAM 2
3FFF 4A00
I/0
Adresni dekoder je sklop koji prima adresne linije i za određeno polje adresa aktivira pripadni memorijski (ili I/0) krug (daje signal CS). I/O krugovi mogu biti spojeni i na posebne adresne linije.
UPRAVLJANJE Podaci R
µP
ROM
RAM CS
R/ w
I/O D
CS
Q
P CS
ADRESE
DEKODER ADRESE TAKT
15
Struktura mikroprocesora opće namjene Procesna snaga mikroprocesora najviše zavisi o vremenu izvršenja instrukcija i dužini riječi Dužina: 8 16 32 64
Proizvođač: INTEL: MOTOROLA: 8080, 8085 6800 8086, 80286 68000 80386, 80486 68020 Pentium 4 PowerPC ...
Frekv. [MHz]: ≈3…8 ≈ 12 … 20 ≈ 25 … 66 1400 ... 4000? µ PROCESOR
KONTROLNA JEDINICA PROGRAMSKO BROJILO
KONTROLNA MEMORIJA
PC REGISTAR INSTRUKC. IR STATUSNA RIJEČ DA P Z N C PSW POKAZIVALO SLOŽAJA SP
INTERNA MEMORIJA/SLOŽAJ
REGISTRI
µP
ARIT./LOG. JED
TAKT GENERATOR
UPRAVLJ. SABIRNICOM
A B
ALU
PODACI ADR. UPRAVLJ. SABIRNICE
• Programsko brojilo (PC) sadrži adresu na kojoj će se tražiti slijedeća instrukcija iz memorije. Pri uključenju postavlja se na nulu. 16
• Registar instrukcije (IR) sprema instrukciju preuzetu iz memorije • Statusna riječ procesora (PSW)– niz bistabila koji označavaju stanje ALU (aritmetičko-logičke jedinice), te svojstva zadnjeg rezultata (nula, negativan, preliv,..) • Kontrolna memorija sadrži mikrokod izvođenja instrukcije • Pokazivalo složaja (SP= Stack Pointer). Složaj (stog) je pomoćna struktura podataka tipa LIFO (last-in first-out). Pokazivalo složaja sadrži adresu zadnjeg unosa u složaj.
MEMORIJA
SP = ADRESA ZADNJEG UNOSA
Registri µP - privremeni spremnici rezultata, adresa i sl. • Koraci izvođenja jedne instrukcije: Instruction fetch (dobavi instrukciju) Instruction decode (dekodiraj instrukciju) Operand fetch (dobavi operand- podatak) Execute (izvrši instrukciju) Store result (spremi rezultat) • Instrukcije traju 1, 2 ili više koraka takta
17
Registri procesora 8080 (INTEL) REGISTAR INSTRUKCIJE
AKUMULATOR A
DA P Z N C PSW
1
IR
8 PROGRAMSKO BROJILO B
C
D
E
H
L
1
PC POKAZIVAČ SLOŽAJA SP 16
8
16
1
Program u strojnom kodu Proizvođač µP definira skup instrukcija i njihove kodove. Instrukcije, podaci i adrese su binarni brojevi. • Primjer programa procesora (INTEL) 8085: •
MEMORIJA 0 1
0 0 1 1 1 0 1 0 adr. 0..7
2 3
adr. 7..15 0 1 DDDS S S
4 5 6 7
0 0 1 1 1 0 1 0 adr. 0..7
8 9 10
adr. 7..15 1 0 0 0 0S S S 1 1 C C C 0 10 adr. 0..7 adr. 7..15
MNEMONIČKI ZAPIS LDA NUM1
MOV B,A LDA NUM2
ADD B JZ
AKTIVNOST
( A ) ← ((byte 3 )(byte 2 )) (B ) ← ( A )
( A ) ← ((byte 3 )(byte 2 )) ( A) ← ( A) + (B)
(PC ) ← (byte3)(byte2)
18
• Dogovoreni su kodovi i načini za pohranjivanje: Slova, brojeva i znakova (ASCII standard kod) Brojeva s pokretnim zarezom, itd.
Skup instrukcija mikroprocesora (primjer) Mnemonički zapis koji slijedi Assembler program pretvara u strojni program. Svaki procesor ima drugačije instrukcije. • Instrukcije za prijenos podataka MOV MOV MVI
r1, r2 r, M r, data
(r1) ← (r 2) (r ) ← ((H )(L)) (r ) ← (byte2)
MOV=COPY!
• Aritmetičke operacije ADD r SUB r
( A) ← (r ) + ( A) ( A) ← ( A) − (r )
Za cjelobrojne vrijednosti, brojevi (0..2N) • Logičke operacije (između bitova operanada) I (AND), ILI (OR), Ekskluzivno ILI (EX-OR), NOT ( A) ← ( A) + (r ) ANA r • Manipulacije podatka u registru Rotiranje znamenki u lijevo (RLC), desno (RRC), povećanje za 1 (INR), smanjenje za 1 (DCR), negacija bitova u Akumulatoru (CMA), itd. 19
RLC
00010010 00100100
• Instrukcije za manipulaciju znamenkama (bitovima) mogu postavljati ili čitati određenu znamenku u binarnom broju. • Instrukcije za grananje u programu JMP adr JZ adr
bezuvjetni skok skok ako je sadržaj nula (uvjetni)
• Instrukcije za ulaz/izlaz OUT port – piše podatke u vanjski I/0 uređaj IN port – čita podatak sa vanjskog uređaja • Instrukcije za rad sa složajem (stack) PUSH – dodaje broj u složaj POP – vadi zadnji uneseni broj iz složaja • Instrukcije za kontrolu rada procesora HLT – zaustavi izvođenje EI/ DI – omogući/ onemogući prekide (interrupt) NOP – instrukcija koja ne radi ništa • Instrukcije za poziv podprograma i povratak CALL adr – poziv podprograma na adresi RET – povratak iz podprograma u glavni program
20
Koncepcije ulazno/ izlaznog prijenosa 1. Programski prijenos (POLLING). Stanje I/0 uređaja ispituje se u programskoj petlji – neprihvatljivo za rijetke i nepredvidive događaje
2. Prekidni prijenos (INTERRUPT TRANSFER) Mikroprocesor ima fizički ulaz kojim se može tražiti prekid rada u bilo kojem trenutku. Slijedi: 1. µP spremi trenutno stanje i pošalje signal da je prekid prihvaćen 2. µP prebacuje programsko brojilo (PC) na adresu gdje se nalazi prekidni program 3. izvrši se prekidni program 4. Na kraju izvršenja prekidnog programa obnavlja se predhodni status µP i nastavlja redovni program. - Često postoji više prekidnih linija uz hijerarhiju (zadani prioriteti) - Pogodan za hitne ili/i sporadične događaje. Prekid se može programski onemogućiti - Korisnik ima dojam da se glavni i prekidni program istovremeno odvijaju - Može postojati također i «software interrupt request» gdje se prekid zatraži preko instrukcije
21
3. Prijenos s direktnim pristupom memoriji (DMA)
DMA KONTROLER
µP
RAM
VANJSKI UREĐAJ
DMA ZAHTJEV
ADRESE PODACI
DMA kontroler obustavlja rad µ P , preuzima kontrolu nad sabirnicama, zatim velikom brzinom prenosi podatke u/iz memorije. Ako postoji cache memorija, µ P može za vrijeme DMA nastaviti izvoditi program
Hijerarhija memorije složenih sustava INTERNI REG. CACHE RAM
µP
RADNA MEM. DISK CACHE VIRTUAL. MEM. KAPACITET MEMORIJE
BRZINA PRIJENOSA
DISK
• Virtualna memorija nadoknađuje nedostatak RAM-a stvaranjem slike dijela RAM-a na disku.
22
• Međumemorija (CACHE) Ako radna (glavna RAM) memorija nije dovoljno brza, manja količina brze memorije može se umetnuti između radne memorije i mikroprocesora.
ADRESE TAGRAM
µP
CACHE MATCH
WAIT
GLAVNA MEM.
UPRAVLJ.
PODACI
CACHE HIT – tražena lokacija postoji u CHACHE-u dobavlja se bez čekanja
→
CACHE MISS – tražene lokacije nema u CACHE-u → dobavlja se iz glavne memorije, a ujedno kopira u CACHE Efikasnost:
HIT ≈ 80% (ovisno o količini CACHE-a) HIT + MISS
TAG –RAM sadrži adrese podataka koji su trenutno u cache-u. Cache se nadopunjuje po principu ““briši najmanje korišteno u zadnje vrijeme”” (LRU –least recently used). Također, može se organizirati i druga CACHE-memorija: između diska i radne memorije (izvedena programski - bez dodatnog hardware-a)
23
Procesori za posebne namjene • 1. Procesor za brojeve s pokretnim zarezom (floating point co-processor), ubrzava rad s takvim podacima za red veličine. Danas se integrira sa CPU
FPU
CPU
RAM
• 2. RISC-procesori (reduced instruction set) Mali broj instrukcija uz veliku brzinu izvođenja • 3. Signalni procesori – služe u digitalnoj obradi signala (digitalno filtriranje itd.). Posjeduje instrukcije za realne brojeve visoke preciznosti (množenje realnih brojeva ≅ 100 nS). Najpoznatija tzv. Harvard arhitektura, odvojena sabirnica za program i podatke. Većina sadrži i internu memoriju, neki i A/D i D/A pretvornike. • 4. Specijalne arhitekture Vektorski procesori, Nizovi procesora (ARRAY), Višeprocesorski sustavi, Masivno paralelni sustavi, Grafički procesori, GPGPU (moguće ubrzanje 50x) Neuronske mreže, ... 24
Posebni zahtjevi i sklopovi upravljanje procesima
kod
računala
za
Zahtijeva se visoka pouzdanost, neosjetljivost na smetnje i uvjete okoline te rad u realnom vremenu.
UTJECAJ OKOLINE:
RJEŠENJE:
Temperatura Agresivni plinovi, prašina Vlaga, pritisak Vibracije, šokovi Elektro-mag. smetnje
komponente za –25..+85°C zaptivanje, zaštita zaptivanje, zaštita mehanički prigušivači E.M. filteri, galvansko odvajanje
•
Suzbijanje elektro-magnetskih smetnji: Upotreba elektro-magnetskih filtera Galvansko odvajanje Kontrola ispada programa Kontrola napona napajanja Rezervno (neprekidno) napajanje
25
• Sat realnog vremena
+
OSCILATOR
1 Hz
:60 :60
SATI MIN.
BROJILO
SEK.
µR
Radi se o nezavisnom sklopu iz čijih se izlaznih registara može očitati realno vrijeme (sati, minute, sekunde) • Kontrola napona napajanja
KOMPARATORI +
Ub
µR
+ PIO/INTR
+
+
Ub > Uref1
Uref1 Uref2 +
-
Ub < U ref 2
Uref1 =1,1⋅UbN - gornja granica, Uref2 = 0,95⋅UbN - donja granica Ako je napon izvora Ub viši od gornje granice, ili niži od donje granice, komparatori mogu izazvati prekid (INTERRUPT). Prekidna rutina može sačuvati važne podatke prije prekida rada.
26
• Vremenski sklop za kontrolu izvođenja programa (WATCHDOG TIMER) U programsku petlju ubaci se instrukcija koja preko PI0 (parallel I/O) izlaza Up prazni kondenzator u pravilnim vremenskim intervalima. Ispad programa će preko komparatora izazvati prekid. PREKID / RESET
Uc Ub/2
+Ub KOMPARATOR
µR
Up P/0 IZLAZ
Uc
+Uref
t
Up
+ -
t
Uizl
Uizl
Uref = Ub / 2
t PREKID
Druga mogućnost izvedbe: digitalno brojilo koje se resetira sa Up . • Sustav dvostrukog napajanja U slučaju ispada napona napajanja, cijeli sustav – ili samo vitalni dijelovi mogu koristiti rezervni izvor. Upis u RAM treba biti onemogućen za vrijeme dok µ P nema kontrolu nad sabirnicom. +U +
Up
µP
+U +
RAM SABIRNICA
Pomoćna baterija
• Filtriranje vanjskih elektromagnetskih smetnji Smetnje na linijama napajanja ili ulazno/ izlaznim (I/O) linijama mogu uništiti sklopove ili poremetiti tok programa. To se sprječava EM filterima i prenaponskom zaštitom (Varistori, Zener diode). 27
MIKRORAČUNALO FILTER
FILTER
ULAZI IZVOR
µR
I/O
IZLAZI
FILTER
METALNO KUĆIŠTE
Primjeri filtera: R F C
C
Uul PROCES
F
C
µR
C
L
L 0
0
µR
MREŽA
EM smetnje koje potječu iz samog sustava upravljanja: Izlazni uređaji (aktuatori) stvaraju smetnje (iskrenje kontakta, induktivni tereti, tiristorski regulatori) Mehanički kontakti – efekt istitravanja Ulazni signali koji dolaze preko kontakata – treba ugraditi program za eliminaciju istitravanja (KEY DEBOUNCING)
28
I
t ON
OFF
• Zaštita mikroračunala i osoblja galvanskim odvajanjem OPTOSPOJKA P R O C E S
ULAZI OD VA JA NJ E
Ub
+
+
-
-
µR IZLAZI
ULAZ
IZLAZ
Poželjno je galvanski odvojiti sklopove visokog i niskog energetskog nivoa Umjesto žicama, signali se u sredinama s jakim smetnjama prenose optičkim vlaknom
29
• Autonomni sustavi za nadzor / zaštitu UPRAVLJAČKE VELIČINE
PROCES
IZLAZNE (VOĐENE) VELIČINE
µR UPRAVLJAČKI SISTEM
ZAŠTITA/ NADZOR
NEZAVISNO NAPAJANJE
Zaštitni sustav treba biti potpuno nezavisan od upravljačkog i imati svoj vlastiti izvor napajanja i senzore. Aktuatori zaštite nadređeni su aktuatorima upravljačkog sustava. Štiti se sam proces ali i okolina
30
3. ANALOGNO/DIGITALNI PRETVORNICI START
KRAJ PRETVORBE
TAKT
t
Uul(t)
START
D0...DN−1
A/D
DN−1
t
µP
KRAJ PR.
D0
t
TAD CS
T
• Karakteristike A/D pretvornika 1. 2. 3. 4. 5. 6.
Razlučivanje (2N mogućih iznosa) Vrijeme pretvorbe (nS…mS) Točnost mjernog područja A Temperaturni koeficijent, stabilnost Izlazni kod (binarni, BCD, …) Linearnost 111 110 101
IM
100 011 010 001 000
idealna karakt.
U ul A
Integralna nelinearnost IM je maksimalno odstupanje stvarne od idealne karakteristike.
31
A/D pretvornik s dvostrukim nagibom Dual slope (integrating) converter - spor ali precizan, može i potiskivati mrežne smetnje.
START S2 KOMPARATOR
+
S1 C
Uul
R
+
+
−Uref
e
Cp
Ui
Cl
Brojilo
DIGIT. IZLAZI
INTEGRATOR
TAKT
Ui T0 t1
T1
T2
t2
t3
t
32
• Ciklus rada: 1. Prazni se C trenutnim uključivanjem S2, brojilo se vraća na nulu pomoću Cl (Period T0) 2. Integracija ulaznog napona (Period T1). Sklopka S1 je u gornjem položaju. Brojilo broji do preliva: 2N impulsa 3. Integracija ref. napona (Uref) (Period T2). S1 je u donjem položaju. Brojilo broji dok se napon Ui ne vrati na nulu. Očita se n2 impulsa. • Na kraju ciklusa:
1 U i (t 3 ) = − RC
t2
1 U ( t ) dt − u ∫t RC 1
t3
∫ U (t )dt ref
=0
t2
U ul , U ref = const → U ul T1 + U ref T 2 = 0 T1 = n 1 ⋅ T = 2 N ⋅ T
T2 = n 2 ⋅ T → U ul = −U ref
U ref T2 ⋅ = − N ⋅ n2 T1 2
33
Sklop za zadržavanje signala (SAMPLE & HOLD) Zadržava signal na stabilnom iznosu za vrijeme A/D pretvorbe. SAMPLE
Ui
Rizl ~
Uul
C
τ NAB = R izl ⋅ C τ IZB = R ul ⋅ C R ul τ IZB (>> 1 ) = τ NAB R izl
A/D
Rul
1 1 fMAX = ; TMIN = TAD +Taq +Ta fMAX
U
Uu l
ta
U
i
taQ t ADM AX
t
t S
H
S
H
ta – aperture time – kašnjenje između naredbe HOLD i stvarnog zaustavljanja taQ – vrijeme potrebno za primanje novog uzorka i stabilizaciju tog iznosa
34
A/D pretvornik sa sukcesivnom aproksimacijom Ulazni napon uzastopno se uspoređuje sa određenim djelom referentnog napona. Brz: potrebno N komparacija napona (koraka) 1..50 µs Zahtjeva stabilan ulazni napon (SAMPLE & HOLD) +Uref IZLAZ MSB
REGISTAR SUKCES. APROX.
DN −1
D2 D1 D0
SAR
+
Uul
LSB
EOC KRAJ PRETVORBE KOMPARATOR Uul
DA
U>
1XX
DA
U>
11X
DA
U>
111
7 A 8
NE
110
BIT NE
A 2
DA
101
5 U> A 8
NE
100
DA
011
NE
1 U> A 4
01X
10X
DA
D2
1
D1
2
D0
3
0XX
NE
3 A 4
KORAK
NE
010
00X
DA
001
NE
000
35
Paralelni A/D pretvornik (FLASH CONVERTER) + U REF
U
ul
R
+ -
R
+ -
R
KODER
D
2
+ -
D
1
R
+ -
D
0
R
+ -
R
+ -
R
KOMPARATORI
Komparatori uspoređuju ulazni referentnog napona (1 korak)
napon
s
djelom
Koder pretvara kôd n od M u binarni Za N-bita treba 2N -1 komparator Vrijeme konvencije 10 ns..1 µs (frekvencija reda 100 MHz)
36
Analogni multiplekser
ULAZI 0 1 2
S&H
PODACI
A/D
µR
3 4 5
SAMPLE
KRAJ KONV.
M ADRESA
START
UPRAVLJANJE
Sekvenca upravljanja:
Trajanje:
1. Postavi adresu ulaza
TMUX
2. Uzmi uzorak (HOLD)
TaQ +Ta
3. Start A/D
TAD
4. Kraj konverzije
f MAX =
1 M(TaQ + TA + TMUX + TAD)
37
4. DIGITALNO /ANALOGNI PRETVORNICI
Ui D0 D1
D/A
Ui
DN −1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1
D
MSB D2
R / 22 D1
R0
Ui
R / 21 LSB D0
R / 20 − UREF
n = D0 · 2 0 + D1· 2 1 + D2 · 2 2
Ui = - Uref · n · R0/R
38
Karakteristike D/A pretvornika: Linearnost Točnost područja Stabilnost, temperaturni koeficijent Vrijeme pretvorbe (reda µs)
Programski D/A pretvornik
U PW M
t
−U
t1
T
T
DA
t
µR U PWM +
T=konst.
U DA = − konst .⋅
D/A IZLAZ
t1 T
µR izvodi program za pulsno-širinsku modulaciju
39
Programski A/D pretvornik
IZLAZI
D/A
Uul
+
µR ULAZI
KOMPARATOR
Računalo postavlja svoje izlaze prema algoritmu sukcesivne aproksimacije, D/A pretvornik to pretvori u odgovarajući napon, zatim računalo očitava stanje izlaza komparatora
40
5. SENZORI I PRIHVAT SIGNALA Senzori su takvi elementi kod kojih neko električko svojstvo ovisi o jednoj fizikalnoj (neelektričkoj) veličini. Aktivni senzori:
Pasivni senzori:
- fotodioda (svjetlo)
- fotootpornik
- piezokristal (sila)
- zavojnica s pomičnom jezgrom
- EM – indukcija
- potenciometar (pomak) - HALL-generator (mag. polje) - tenzometar (deformacija)
SENZORSKI SKLOP
Prihvat i prilagođenje
S
e
e = f (S )
SENZOR
S – fizikalna veličina,
e – električka veličina (analogna ili digitalna)
• Podjela Digitalni senzorski sklopovi – daju digitalnu informaciju o ulaznoj veličini (koja je analogna ili digitalna) Analogni senzorski sklopovi – daju analognu informaciju o analognoj ulaznoj veličini Ako sklop za prihvat signala senzora može dati digitalni signal izbjegava se upotreba A/D pretvornika – to je direktna digitalizacija.
41
Digitalni senzorski sklopovi s analognom ulaznom veličinom • Oblici digitalnih (izlaznih) signala: f= func (S) – promjenljiva izlazna frekvencija i= func (S) – broj izlaznih impulsa d= func (S) – digitalni broj na izlazu • Optički digitalni senzorski sklopovi Mjerenje kuta, pomaka, brzine (koristi optičke barijere) Ubat
+ U bat D2
4
3
+ D1
2
5
+ D0
x x
6
1
x 7
0
ω
Korištenje svih izlaza = apsolutni koder položaja Korištenje jednog izlaza = brojanje impulsa, mjerenje ω, mjerenje relativnog pomaka
42
• Linearna izvedba optičkog senzora
opto-barijere D3 D2 D1 D0
l,v
• Magnetski digitalni senzorski sklopovi Komparator HALLOVA SONDA
A
+ -
Uref
f/u
D0
-
BROJILO
Mjeri se brzina strujanja
DN−1
µR
DIGIT. IZLAZ
• Sklopka blizine (proximity switch) KOMPARATOR N S
Ui A
Uref
+ -
D0 "1"
D0 "0"
S
0
pomak S digitalni izlaz (1 bit)
Sklopka blizine služi za indikaciju približavanja predmeta. 43
Posebne izvedbe za indikaciju:
Ui
Feromagnetskih Metalnih Nemetalnih materijala
U ref
St
S
Analogni senzorski sklop Mjere analognu veličinu i daju na izlazu analogni signal Standardni naponski signal (0..10 V, -10..+10 V) Standardni strujni signal (0..20 mA, 4..20 mA)
eS S
prihvat i prilagođenje
kompenzacija filtriranje pojačanje
linearizacija normiranje
e
1. Prihvat i prilagođenje signala – Pasivne senzore treba spojiti na električki izvor. Aktivni senzor treba spojiti na odgovarajuće trošilo, te na ulaz pojačala. 2. Kompenzacija – Ako je izlazna veličina senzora es funkcija više fizikalnih veličina (1 mjerena + smetnje) smetnje se mogu posebno mjeriti i oduzeti od signala 3. Filtriranje – Potiskivanje smetnji (npr. elektro-magnetskih od mreže) ili potiskivanje neželjenih frekventnih komponenti signala. 4. Pojačanje – Frekventni opseg pojačala mora biti prilagođen dinamici senzora i željenom spektru, također željenom izlaznom opsegu. 5. Linearizacija – Ako eS = f (S ) nije linearna funkcija, to se može ispraviti nelinearnim pojačalom ili računalom. 6. Normiranje – željeno područje S min ...S max se preslikava u emin ...emax . Granice izlaznog signala su standardizirane.
44
• Sklop za mjerenje rasvjete
A
iul =& 0
UD =& 0
R0
+
U izl
iD = k s ⋅ E
U izl = U D + U R 0 =& iD ⋅ R0 = = k s ⋅ R0 ⋅ E
Struja koju generira fotodioda linearno je zavisna od rasvjete. MOSFET operacijsko pojačalo pojačava tu vrlo malu struju i održava napon na diodi UD ≈ 0. Vrijeme odziva je reda veličine µs.
• Mjerenje temperature termoparom ϑ2 Ni
ϑ1
U ul
US Komp.
CrNi
(Uk )
U k = k s ⋅ ϑ2
U s = k s ⋅ (ϑ1 − ϑ2 )
+ Ra -
Filtriranje
R
R0
A/D
Uizl Linearizacija
U ul = U s + U K = k ϑ1
Napon termopara funkcija je razlike ϑ1 − ϑ 2 Da se dobije U s = k ⋅ ϑ1 treba ugraditi sklop za kompenzaciju koji mjeri ϑ 2 (temperaturu ambijenta) i poništava njen utjecaj
(
)
R0 + 1 treba biti veliko 1000 o C ≈ 50 mV , a R pojačalo vrlo precizno i neovisno o temperaturi
Pojačanje A =
45
Prilagođavanje nivoa signala (skaliranje) • Iznos mjernog signala treba prilagoditi području A/D pretvornika • Ako se ne koristi cijelo ulazno područje napona A/D pretvornika onda je efektivna rezolucija manja. Primjer mjernog lanca termopar → pojačalo → A/D pretvornik: S = 0 ... 1000 °C
(signal)
Ks = 40µV/°C
(konstanta termopara)
Us= 40µV/°C •1000 = 40mV
(maksimalni napon termopara)
Mjerno područje A/D: Aad = 0 ... 1.2V = 1.2V Potrebno pojačanje: Av = Aad /Us = 1200 mV /40 mV = 30 Zadana rezolucija: qs = 1 °C → qs /S = 1/1000 = 0.1 % A/D pretvornik treba davati 1000 diskretnih vrijednosti → d = 2N Rezolucija A/D pretvornika N=10 bita daje 210 = 1024 diskretnih vrijednosti, što zadovoljava zadanu rezoluciju. Egzaktan iznos potrebnog broja bitova dobije se na sljedeći način: 2N = 1000
/log2 (logaritmiranje)
N = log 2 (1000) =
log10 (1000) 3 = = 9.96 log10 ( 2) 0.303
Računanje mjerene temp. (očitanje A/D: N = 10, D = 0 ... 1023):
Temp[ °C] =
D Aad ( 2 N − 1) Av K s
46
• Mjerenje deformacije tenzometrom + U bat R0
R R1
R1
R2
R A
F
Mjerilo otpora
+
U izl
B R3
R4
R0
V
U AB =& k ⋅ F (usko područje) U izl = U AB ⋅ A =& k ⋅ F
Otpor R1 (tenzometar) pod utjecajem sile F podvrgnut je deformaciji i mijenja otpor Wheatstoneov most R1..R4 postavi se u ravnotežu za F=0 Diferencijalno pojačalo je spojeno na mjestu galvanometra u mostu, pojačava UAB Ulazni napon < 1 mV (problem pomaka radne točke – drift-a, zahtijeva precizno pojačalo)
• Nove tehnologije – «inteligentni senzori» Senzori s ugrađenim procesorom i A/D pretvornikom Bežične i žičane mreže senzora Plug and Play: senzori koji se identificiraju nadređenom računalu, automatska konfiguracija i kalibracija
47
6. AKTUATORI D/A PARALELNI IZLAZ
µR
ANALOGNI AKTUATORSKI SKLOP
DIGITALNI AKTUATORSKI SKLOP
M
M
ULAZ KONTROLA
Aktuatori pojačavaju energetski nivo izlaznih signala i prilagođavaju oblik energije trošilima (upravljačkim uređajima) Potrebno je također i galvansko odvajanje trošila
Digitalni aktuatorski sklop +
0 ili 5V 1mA
µR
PI0 D0
D2
R S T 100 mA
~
TRANZIST. SKLOPKA
M RELEJ SKLOPNIK
3x380V / 25 A
Koriste se tranzistorske sklopke za pojačanje signala Releji i sklopnici također omogućuju upravljanje velike snage iz kruga male snage (uz galvansko odvajanje) 48
Analogni aktuatorski sklopovi Ulazni i izlazni signal se kontinuirano mijenja ULAZ
IZLAZ
uul (t )
K ⋅ u ul (t )
u ul (t )
K ⋅ u ul (t )
iul (t )
AKTUATORSKI
SKLOP
TROŠILO
Pojačalo snage, tirist., reg. (fazna reg. i ispravljači) tirist. regulatori (Zero crossing)
K ⋅ iul (t )
DC MOTORI, GRIJALA SINKRONI I ASINKRONI MOTORI
U/f pretvarač
Izlazno djelovanje prilagođeno je trošilu i može uključivati i ispravljačko djelovanje Izlazno djelovanje je često prekidačko (tiristori) zbog velikog iskorištenja tj. malih gubitaka regulacije • Fazni regulator izmjenične snage +Ubat M
Uc
R
0...10 V
Uul
+ -
A2
IND. PROLAZA NULE
C
+ UK
KOMPARATOR
POJAČALO STRUJE
F U~
A1
ig
G 0
α =& k ⋅ U ul
Tiristor – istosmjerna snaga Trijak – izmjenična snaga
UT = f (Uul) - inverzna i nelinearna funkcija 49
sklop uspoređuje ulazni napon s pilastim naponom i tako generira impuls u momentu kad se oni izjednače potrebno je riješiti i problem galvanskog odvajanja mreže od ulaznih signalnih linija
UC
U
t
ul
iG
α
UK
t
UT
t U~
50
7. IMPLEMENTACIJA UPRAVLJAČKIH ALGORITAMA Svojstva upravljačkih algoritama: Pojam vremena je vrlo važan (tzv. realno vrijeme): SOFT REAL TIME, HARD REAL TIME Program se stalno izvršava (cikličko ponavljanje) Prestanak rada i druge greške mogu izazvati havariju Program je upravljiv vanjskim događajima od kojih neki dolaze u pravilnim vremenskim intervalima. Vrijeme odziva je bitno Ulazni podaci se čitaju direktno i bez kašnjenja. Izlazni podaci se odmah po nastajanju šalju u okolinu Obrađuju se neposredno nastali signali = sadašnje stanje računala (procesa) Česta su upravljanja više vanjskih procesa – uređaja u vremenskoj paraleli Često se koristi distribuirano procesiranje sa više računala Kritična je brzina rada a nekad i utrošak memorije Kritična je pouzdanost i predvidiv rad u svim redovnim i izvanrednim okolnostima (naglasak na software-u)
51
Ciklus rada digitalnog regulatora T ≥ TAD + TC + TDA + TS 1 T≤ 2 f ul max (Shannonov teorem) + drugi uvjeti
Izlazni signal kasni u odnosu na ulazni T AD
kT
TC
T DA
T
TS
T AD
(k
t
+ 1 )T
TS – sistemsko vrijeme potrebno je za dijagnostiku sistema i vremensku rezervu • Maksimalno raspoloživo vrijeme za proračun: TC = T − T AD − TDA − TS
52
• Ocjena potrebne snage 1. Iz upravljačkog programa potrebno je zbrojiti vremena izvođenja svih instrukcija koje se izvrše u jednom ciklusu (TC). Vremena za pojedine instrukcije daje proizvođač procesora. 2. Ponavljati korak 1) za različite procesore i/ili moguće frekvencije generatora takta dok se ne uskladi brzina procesora sa potrebnim TC 3. Ako se problem ne može riješiti jednim procesorom potrebno je razmotriti upotrebu distribuiranog ili paralelnog procesiranja sa više procesora, ili primjenu jednostavnijeg upravljačkog algoritma
Vrijeme izvođenja se stohastički mijenja unutar nekih granica (± 20%). Kod primjene viših jezika potrebno je probno izvođenje 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
53
8. DISTRIBUIRANO I PARALELNO PROCESIRANJE Postupak proračuna (program) dijagramom toka podataka
može
se
prikazati
Dekompozicija programa u računarske procese INICIJALIZACIJA
ČITANJE A/D
PRORAČUN UPIS U D/A PROCESNI DIJAGRAM SISTEMSKI PROGRAM
Mogući slučajevi: nezavisni paralelni procesi sekvencijalni niz opći slučaj – proizvoljan procesni dijagram
54
Nezavisni paralelni procesi Ako se proračun sastoji od niza vremenski paralelnih aktivnosti (npr.: regulacija više objekata) i ako su te aktivnosti međusobno neovisne (ne razmjenjuju podatke u toku rada), lako je sprovesti distribuirano procesiranje na više nezavisnih µ R .
µ R1
P1
T1
P2
T2
P3
T3
µR 2
t µR3 POČETAK
M
M
M
T1
T2
T3
P1
P2
P3
T1
T3
T2
KRAJ
Svaki regulacijski program Ti izvodi se na zasebnom procesoru. TC = Ti MAX Alokacija: T1 → P1 , T2 → P2 , T3 → P3
55
Sekvencijalni niz Ako se proračun sastoji od niza sekvencijalnih aktivnosti, opet je moguće koristiti više procesora i u cikličkom radu postići povećanje propusnosti (PIPELINE)
k =1 k = 2 k = 3
P1 T1
T2
T3
T1
τ1
τ2 τ3
τ1
T1
T1
t k =1 k = 2 k = 3
P2
T2
τ2
T2
T2
t k =1 k = 2 k =3
P3
T3
T3
τ3
T3
t
µ R1
µR 2
µR 3
T2 →P2
M
M
M
T3 →P3
P
P
P
T1 → P1
Sekvencijalno izvođenje na jednom procesoru: TC = τ 1 + τ 2 + τ 3
→
f =
1
τ1 + τ 2 + τ 3
Paralelno izvođenje uz τ 1 = τ 2 = τ 3 = TT : f =
1 TT → dobije se 3 puta brže izvođenje
Ova metoda primjenjivanja je i unutar mikroprocesora (T1, T2, T3,… su tada dijelovi instrukcije) 56
Opći slučaj – proizvoljan procesni dijagram Upravljački postupak sastoji se od više aktivnosti a one su na proizvoljan način međusobno uslovljene (razmjenom podataka) Postupak implementacije: 1. Particija → 2. alokacija → 3. vremenski redoslijed
• 1. Particija (podijela) proračuna u procese PROCES
IZRAZ
VRIJEME
PRETHODNICI
T1
A:=sin(ALFA)
300
-
T2
B:=sin(BETA)
300
-
T3
C:=A*B
100
T1 ,T2
T4
D:=A/B
100
T1 ,T2
T5
E:=C+D F:=A+C
50+50
T1,T3 ,T4
T6
G:=ALFA+BETA
50
T2
T1 A
T3 C
T4
B
D
T5 E,F ,
T6
G
,
Pretpostavka je da je proračun stalan i unaprijed poznat. Svaki proces ima poznato τ i , m= broj procesa, n= broj procesora. Proces vežu uvjeti precendencije (prethođenja), to daje djelomično vremensko uređenje 1, 2 i 6 su početni procesi (bez prethodnika) 5 i 6 su završni procesi (bez nasljednika) 6 je ujedno i nezavisan proces
57
• 2. Alokacija procesa na procesore
T2
T1 -
P1
M1
-
T3
M2
T6
P3
P2
T4 M3
T5
M4
P4
KOMUNIKACIJA
Postupkom alokacije pridjeljuju se procesi pojedinom procesoru (računalu) na koje će se izvršavati.
Riješiti PROBLEM ALOKACIJE znači pronaći optimalan raspored procesa koji daje minimalno vrijeme izvođenja posla. Problem alokacije je za opći slučaj posla nerješiv (bez ispitivanja svih mogućnosti - što je također nemoguće). Zbog toga je i optimalno rješenje nepoznato. Pretpostavke za paralelan rad: Mora postojati procesorima
mogućnost
komunikacije
među
Mora postojati mehanizam sinkronizacije tako da se procesi mogu upuštati kad su za njih spremni svi ulazni podaci
58
• 3. Redoslijed izvođenja u vremenu Jednostavna strategija- upustiti proces čim je spreman (ne daje uvijek najbolje rješenje):
P1 P2
P3 P4
T1 T2
T6
T3 T4
∑τ
SP =
Tp
T5
t t t t
η =
i
Tp
∑τ
i
Tp ⋅ n
=
SP n
• 4. Alokacija i vremenski raspored korištenjem heurističkih algoritama: NIVO PROCESA je najveća vremenska udaljenost tog procesa od SS završnog procesa: N i = max τ i + ∑ τ S (zbroj po svakoj mogućoj S =1 stazi, SS = broj nasljednika) KRITIČNA STAZA je staza na (usmjerenom) grafu s najvećom
sumom τ i . Vrijeme izvođenja cijelog posla ne može biti kraće od Tks (T p ≥ TKS )
NIVO ALOKACIJA je postupak koji koristi heurističko pravilo: procesoru koji se prvi oslobađa treba (između svih nealociranih spremnih procesa) pridijeliti proces s najvećim nivoom. Tp
Tako se dobiju kvalitetna suboptimalna rješenja T p _ op t
≤ 2−
1 n
59
Podjela paralelnih sustava SISD – single instr. stream, single data (klasično µ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: ZAJEDNIČKA MEM.
ZM
M
KOMUNIKACIJA PORUKAMA
M
M
M
M
P
P
P
P
P
SABIRNICA
KOMUNIKAC. LINIJA
Zajednička mem. je u adresnom polju više procesora Postoje i masivno paralelni sustavi sa 105 procesora • Konfiguracija povezivanja računala: PRSTEN
ZVIJEZDA
SISTOLIČKO POLJE
µ R1 µR 4
µR 2 µR3
3-D: KOCKE, HIPERKOCKE, ITD.
60
9. INDUSTRIJSKI RAČUNALNI SUSTAVI I MREŽE • Podjela mikroračunala po fizičkoj izvedbi: 1. Integrirano mikroračunalo (single – chip microcomputer, microcontroller) - sadrže CPU, manju količinu memorije (npr. 2 KB ROM, 256 bytes RAM), I/O portove, itd. Ugrađuju se u manje uređaje 2. Računala na jednoj ploči (single board microcomputer) - sadrže odvojene integrirane krugove: procesor, RAM, ROM, I/0 3. Računala s vanjskom sabirnicom – sabirnica računala izvedena je u obliku niza utičnica (npr. razne izvedbe industrijskog PC-a) KOMUNIKACIJA RAM UTIČNE PLOČE
I/0
STRAŽNJA PLOČA
µP
SABIRNICA
STANDARDI UTIČNICA: -VME -S100 -MULTI BUS
4. Multiprocesor: u složenijim izvedbama ima više procesorskih pločica 5. Distribuirana mreža računala
• Koncepcijska podjela industrijskih računala: 1. Integrirani kontroler (EMBEDDED CONTROLER) 2. Programabilni (logički) kontroler (PLC) 3. Računalo za upravljanje NC strojeva 4. Robotski kontroler (često višeprocesorski sustav) 5. Računalo za nadzor i umrežavanje
61
Programabilni logički kontroler (PLC) U početku zamišljen kao zamjena za relejnu (kontaktnu) logiku. Danas je to univerzalna komponenta za industrijsku automatizaciju. Povezuje se u (hijerarhijsku) mrežu sa drugim PLC-ima ili nadređenim sustavom SPOJ NA MREŽU
DIGIT. ULAZI
IZLAZI
220V ~
PLC
ANALOGNI I/0
+
PROGRAMATOR
-
• Programiranje se izvodi posebnim (višim) 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 (slično Pascal-u)
• Ugrađeni programski elementi u PLC-u: Logičke operacije A O N XO
- AND - OR - NOT - XOR
Aritmetičke operacije ADD DIV MUL SUB
Ostale operacije: S/ R
– BISTABILI 62
SR C C...0 TR
– POSMAČNI REGISTRI – BROJILA (GORE/ DOLJE) – BRZO BROJILO – VREMENSKI SKLOP ZA KAŠNJENJE
A/D PRETVORNIK D/A PRETVORNIK
Varijable mogu biti dužine 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:
Značenje:
Simbol:
Značenje:
=
STORE (spremi)
MUL
množenje
A
AND (logički I)
NOT
komplement
ADD
Zbrajanje
O
OR (logički 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
63
Primjer istog programa u raznim jezicima: • Instrukcijske liste (STL, IS) LD I123 OR Q233 ANDN I124 ANDN I125 =Q233 I 123 I 124
I 125
Q 233 Q 233
• LD jezik (LADDER DIAGRAM – stepenasti dijagram)
I 124
I 123
I 125 Q 233
Q 233 Nazivaju se i kontaktni planovi (uobičajeni u montaži postrojenja) • FBL jezik - funkcijski blokovi (functional blocks)
I 123
Q233
Q233 &
≥1
I 124
OR
I 125
AND
64
Prikaz je identičan sklopovskoj shemi sa integriranim krugovima, iako se to ovdje izvodi programski (simulacija). Standardiziran po IEC 65A. • BDL jezik
1
Binary decision tree (logic)= BINARNO STABLO ODLUČIVANJA
I 125
1
I 124
I 123 1 Q 233
1
Q 233 = 0
Q 233 = 1
Ista se logička funkcija može izraziti i matematički: • Matematička 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 sličan Pascalu:
Q233:=(I123 OR Q233) AND NOT I124 AND NOT I125;
65
Sekvencijski funkcijski dijagrami (SFC – Sequential Function Charts) • to je PLC jezik za programiranje sekvencijskih automata, baziran na Petri mrežama i Grafcetu. Podržava više istovremenih stanja (concurrent sequential programming) • graf se sastoji od linija toka (flowlines), prelazaka (transition), koraka (step) i akcija (action)
Primjer početka rada perilice rublja
66
Industrijski multiprocesor – robotski kontroler µR1
ZM1
µR2
ZM2
µR3
M1
M2
M3
P1
P2
P3
Implementacija složenih upravljačkih algoritama robota (dinamika, kinematika) često zahtijeva višeprocesorski sustav i primjenu paralelnog procesiranja U jednostavnim izvedbama svakom procesoru se pridružuje proračun za jedan određeni zglob robota (kada je proračun podijeljen po zglobovima) Zajedničke memorije ZM služe za razmjenu podataka
67
Računarske mreže za distribuirano upravljanje i nadzor • Računala na veće udaljenosti u pravilu komuniciraju serijskim vezama (bit po bit) u (t ) STOP
START
0 1 2 3 4 5 6 7 P 1 LSB
MSB
RS 485/422 P=PARITETNI BIT
STANDARD
NAČIN
RS 232-C RS 423-A RS 422-A RS 485
ASIN. ASIN. SIN. SIN.
MAX. UDALJENOST 15 m 1200 m 1200 m 1200 m
Pred/Prij 1/1 1/10 1/10 32/32
BRZINA
MEDIJ
20 kbit/s PARICA 100 kbit/s -“10 Mbit/s -“10 Mbit/s -“-
Ključna su pitanja pouzdanosti prijenosa i sigurnosti. • Za veće udaljenosti koristi se: 1. Modulatori i demodulatori (MODEMI) za prijenos podataka preko telefonske mreže. Osim fizičke 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 mreže 3. LAN (Local Area Networks) – obično preko koaksijalnog kabela, parice ili optičkog 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 mreže, Internet.
68
Lokalne mreže industrijskih računala Karakteristike mreže: Tip medija: Telefonska parica 1 Mbps ili više na kratkim udaljenostima UTP kabel 10 Mbps (do 1 Gbps na kratkim udaljenostima) Koaksijalni kabel 10 Mbps/ 100 Mbps/ 1 Gbps Optičko vlakno 100 Mbs ili više Bežično “Eter” (sateliti, radio signal)
Struktura (topologija) Način prijenosa informacije Način pristupa Struktura poruke Sigurnost prijenosa
Strukture mreže
ZVIJEZDA (STAR)
PRSTEN (RING)
69
SABIRNICA (BUS)
STABLO (TREE)
• Nivoi industrijske komunikacije
ISO/OSI MODEL KOMUNIKACIJE
PRODUCTION MANAGEMENT PROCESS MANAGEMENT GROUP MANAGEMENT SHOP FLOOR
7
APPLICATION
6
PRESENTATION
5
SESSION
4
TRANSPORT
3
NETWORK
2
LINK LAYER
1 0
PHYSICAL LAYER MEDIUM
70
• Struktura poruke Definirana na nivou prijenosa jedne riječi (byte) i cijele poruke: ZAGLAVLJE - startni kod - adrese - kontrolne informacije.
TIJELO
REP - podaci za ustanovljenje pogreške
Podaci
Komunikacijski protokol definira kodove, način prijenosa, smjer prijenosa, format prijenosa i metode uspostavljanja i prekidanja veze. • Način pristupa mreži: CSMA /CD
- Stohastički pristup
TOKEN PASSING
- Deterministički pristup
MASTER/SLAVE
-“-
MULTI MASTER
-“-
CSMA/CD – Ethernet lokalna mreža (LAN) TAP
KOAX. KABEL
TERMINATOR
µ R1
µR 2
µR 2
BUS INTERFACE UNIT
Princip CSMA/CD (carrier sense multiple access with collission detection = višestruki pristup uz detekciju kolizije) 71
Uglavnom se koristi za višekorisničke operativne sisteme Za niže nivoe industrijskog upravljanja nije pogodna zbog nepredvidivog vremena pristupa, osim brzog 100Mbps Etherneta
Slika prikazuje moderniju izvedbu Ethernet mreže Switch i hub razvodnici pojačavaju signale Klijenti se spajaju UTP (telefonskim) kabelima Postoje izvedbe za 10 MBps, 100 Mbps, gigabit, a također i 10 gigabit mreža
72
Token-passing ring LAN • Mreža s prijenosom žetona (tokena)
µR
RING INTERFACE UNIT
µR
µR
µR
• Podaci se kreću prstenom u jednom smjeru Svi slušaju (LISTEN MODE) Žeton cirkulira (žeton je specijalni kod) Predaja: dotično računalo zaustavlja žeton i pretvara ga u konektor, slijedi poruka Ciljno računalo postavlja ACK (prihvat) Kraj poruke. Žeton se stavlja na kraju poruke Postoji i izvedba “TOKEN BUS”. Kod nje postoji logički prsten, makar fizički veza nije u obliku prstena TOKEN-RING je efikasniji od CSMA/CD kod velikog opterećenja mreže. Pogodan je za sve nivoe upravljanja. 73
Master/slave lokalna mreža Master ispituje svakog slave-a (POLLING) Sva komunikacija ide preko master-a
SAN - mreže za male udaljenosti CAN – Controller Area Network (mreža za automobile) Home LAN (mreže za kućnu upotrebu, HAVI, Jini,..) IIC (I2C) i SPI mreže za povezivanje integriranih krugova
Bežične mreže – standard IEEE 802 WPAN- Wireless personal area networks, npr. Bluetooth, za uređaje 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- mreža za velike udaljenosti, standardi IEEE 802.20 • Bežične mreže senzora («smart sensor networks», standard IEEE1451.4) Plug and Play: senzori koji se identificiraju na mreži. Automatska konfiguracija, kalibracija i dijagnostika.
74
Povezivanje više mreža REPEATER – pojačalo u homogenoj mreži HUB, SWITCH – razdjelnik u homogenoj mreži BRIDGE – povezivanje različitih mreža (ISO nivo 2) ROUTER – povezivanje različitih mreža (ISO nivo 3) GATAWAY – povezivanje mreža uz pretvorbu protokola
INTERNET To je “mreža svih mreža”, na bazi TCP/IP protokola. Definira mrežne servise na višim nivoima. Najčešće primjene Interneta: TELNET - Korištenje računala preko udaljenog terminala FTP – razmjena datoteka E-MAIL – elektronska pošta W W W – World Wide Web – Internet info stranice
75
Industrijske mreže – standardni protokoli Postoje stotine različitih industrijskih mreža (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 optički) + repeateri brzina 9,6 kbit/s (kilobit per second) – 12 Mbit/s 32 aktivna učesnika (122 sa pasivnima) prijenos RS 485 serijskom vezom preko oklopljenog telefonskog kabela ili preko optičkog vlakna metoda pristupa: MULTI MASTER/SLAVE PASSING + MASTER/SLAVE)
(TOKEN
CC-link • • • • •
10 Mbit/s brzina prijenosa baziran na RS485, mreža do 1.2 km/ 13.2 km repeater-ima 64 učesnika (stanica) u mreži vrijeme osvježavanja višekorisnički (MULTIUSER), npr. Unix
K4
K1
P
OS
K3
PROCESORSKO VRIJEME
K2
K1
K2
K3
CIKLUS
K4
K1
t
Ako postoji samo jedan procesor OS će pridijeliti svakom procesu jedan dio svog vremena (TIME SHARRING). Neki OS podržavaju programiranje s ograničenjem realnog vremena (REAL-TIME OS) za pojedine procese 79
Operativni sustavi realnog operating systems- RTOS)
vremena
(Real-time
U širem smislu to su sustavi koji moraju odgovarati na događaje u vanjskom svijetu onim tempom kako se ovi događaju (reaktivni sustavi) • Ograničenja realnog vremena: MEKA (SOFT) – npr. zadano maksimalno vrijeme izvođenja posla ili min. frekvencija TVRDA (HARD) – zadano maksimalno vrijeme reakcije pojedinih računarskih procesa na vanjski događaj (DEADLINE) • Obično postoje prioriteti procesa koji obrađuju pojedine događaje. • Izvedba je najčešće takva da se procesi mogu prekidati u toku izvođenja (PREEMPTION). • Procesi se moraju sinkronizirati i razmjenjivati podatke • Kod sustava realnog vremena upotrebljivost rezultata proračuna ovisi o točnosti 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
80
Pomagala za razvoj programa EDITOR – upis i promjena programskog teksta ASSEMBLER – program za prevođenje programskog teksta (mnemonički kod) u strojni kod (1:1) COMPILER – program prevodilac. Prevodi tekst pisan u višem jeziku (PASCAL, FORTRAN, C) u strojni (izvršni) kod ili objektni kod. Jedan red programa proizvodi više strojnih instrukcija LINKER – povezuje jednu ili više objektnih datoteka i stvara izvršni kod LOADER – program koji izvršnu datoteku kopira u radnu memoriju i pokreće taj program (dio OS) DEBUGGER – pronalaženje grešaka u programu (npr. izvođenjem korak po korak) SIMULATOR – program koji simulira rad nekog fizičkog uređaja (procesa)
81
PROBLEMATIKA RAZVOJA FIRMWARE-a • Firmware je software fiksno ugrađen u sustav • Programi za mala računala često se razvijaju na velikima (gdje se može koristiti editor, compiler, assembler, croscompiler, 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 računalo i ispita da li program radi kako je planirano • Integrirani mikrokontroleri (MCU) sadrže RAM i FLASH memoriju u koju se može jednostavno upisati program preko serijske veze sa razvojnim sustavom.
EPROM PROGRAMATOR
EPROM EMULATOR
RAZVOJNI SUSTAV
RAM CPU
IO
CPU EMULATOR
M I/0
UART ROM
CILJNI SUSTAV (TARGET)
Popularni 8 bit MCU: Intel 8051 i kompatibilni, Atmel AVR (Arduino platforma), Microchip Technology PIC, Texas Instruments MSP430 (mala potrošnja), ARM (32bit MCU)
82
Način razvoja programa • Nivoi programiranja: Niži nivo > Viši nivo Program u strojnom kodu Asembler Viši jezici (prevodioci) interpreteri (Basic)
prve
generacije
(Fortran),
Strukturno programiranje (Pascal, Algol, C, Modula 2) Objektivno orjentirano programiranje (SMALLTALK, C++) Vizualno programiranje (Visual Basic, Visual C, Delphi) Logičko programiranje (LIST, PROLOG), Matematički programi (Matlab), simulacijski (Simulink) Specijalni jezici, npr. za Real-time, baze podataka, PLC i robote, skriptni jezici (Python), Internet programiranje • Radi se o različitim pristupima programiranju Razvoj (Niži nivo > Viši nivo) ide prema sve većem nivou apstrakcije, (orijentacija prema problemu) gdje detalji stroja i operativnog sistema, postaju sve manje važni Ovakav razvoj zahtijeva brža računala i s većom memorijom, za rješenje istog problema u istom vremenu izvođenja • Prednosti višeg nivoa: Niska cijena razvoja korisničkog programa Lako održavanje, ponovna upotreba gotovih rješenja Prenosivost izvornog programa na drugi stroj
83
DODATAK1 - PROGRAMIRANJE Principi strukturnog programiranja • Strukturno oblikovanje programa Problem (koji treba biti potpuno definiran) razloži se u logičke cjeline (module i procedure) Za svaku logičku cjelinu (modul) moraju biti točno definirani ulazni i izlazni parametri i vlastiti podaci Nacrtati strukturu programa s modulima PROBLEM
KORAK 1)
KORAK 2)
1
Y
X X X
Y
X1 X2
X3
KORAK 3)
84
Strukturno programiranje (kodiranje) • Svaki složeni problem može se raščlaniti na elementarne strukture: Sekvenca (niz) Grananje (izbor) Ponavljanje (iteracije, petlje) a)
b)
a := sqr (4);
?
IF a > 2 the
DA
Prog B Else Prog A
NE
b := a + 2;
A
ULAZ
c1 )
ULAZ
c2 )
NE
?
B
Prog.
DA
Prog.
DA
? NE
While a>2 Do Prog;
IZLAZ
Repeat Prog; Until a 25.9.2013
90
View more...
Comments