Mikroprocesorska upravljanja

August 13, 2017 | Author: snblto | Category: N/A
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF