You are on page 1of 90

Fakultet strojarstva i brodogradnje

Katedra za strojarsku automatiku

Mikroprocesorsko upravljanje

Dr. Sc. Davor Zorc

2012.

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

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

DODACI:
DIGITALNI SUSTAVI UPRAVLJANJA LABORATORIJSKE VJEBE: DIGITALNI SUSTAVI UPRAVLJANJA PRAKTIKUM IZ MIKROPROCESORA PRAKTIKUM IZ PLC PROGRAMABILNO LOGIKIH KONTROLERA

Potrebno predznanje: OSNOVE AUTOMATSKE REGULACIJE OSNOVE ELEKTRONIKE OSNOVE DIGITALNIH RAUNALA

LITERATURA
AUTOMATSKA REGULACIJA - DIGITALNO UPRAVLJANJE
Phillips: Digital control systems, Analysis & Design, 3th-edition, Mc Graw Hill Int., 1994. Fadali: Digital Control Engineering Analysis and Design, Elsevier, 2009 urina: Automatska regulacija, kolska knjiga, 1985.

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

PARALELNO I DISTRIBUIRANO PROCESIRANJE


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

PROGRAMABILNI LOGIKI KONTROLERI


W. Bolton: Programmable Logic Controllers, 5th-edition, 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 raunalo opremljeno je sklopovima za fiziko povezivanje s vanjskim ureajima/ strojevima Veze (signali) mogu biti analognog ili digitalnog tipa

u(t)
MJ. PODRUJE

u(t)
" 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. Upravljaki sustavi - alju informacije u proces Regulacijski sustavi - Primaju informacije i, na osnovu obrade, generiraju izlazne signale, koji preko aktuatora utjeu na proces.

REGULACIJSKA PETLJA
POREMEAJI

OSTALE UL. VELIINE

OSTALE IZLAZNE VELIINE

OBJEKT
UPRAV. VELIINE VOENE VELIINE

AKTUATOR

SENZORI

REGULATOR
VODEE (REFERENTNE) VELIINE

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

RT
POJAALO SNAGE A

+UBAT
NTC

+UREF

Ui
POJAALO

UB UA
REFERENTNA VELIINA

Jednostavni analogni regulator

RNTC

UB

Ui

P RT

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

UPRAVLJAKE VARIJABLE

OBJEKT VOENE VAR.

AKTUATORI

SENZORI

PRILAGO SNAGE RAUNALO D/A I ZADR. SIG. + UPRAVLJAKI ALGORITAM

PRIHVAT SIGNALA ANALOGNI SIGNALI

DIGIT. S.

TIPKA I A/D REFERENTNE VELIINE

IZLAZI

ULAZI

Prednosti i mane digitalnog upravljanja


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

UZORKOVANJE I KVANTIZACIJA SIGNALA

x
x

xB

A/D

xD
0 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0

xb

xD

T 2T

T 2T

T 2T 3T

x( f )

Spektri signala

xb( f )

1/T

XD
Yb (t )
0 0 1 0

RAUNALO (OBRADA)

D/A

Yb
Y (t )

2T

3T 4 T

2T 3T 4 T

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

f ul max =

1 2T

- maksimalna frekvencija koja e se moi

rekonstruirati iz uzoraka (= max. harmonika komponenta ulaznog signala po Fourierovoj transformaciji) Antialiasing filteri stavljaju se ispred A/D pretvornika i iza D/A pretvornika da se zadovolji teorem. Kvantizacija Vrijednost ulaznog signala aproksimira se cjelobrojnim viekratnikom koraka kvantizacije q, ime se ini greka kvantizacije.

Xi

q
Xu

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


9

Primjer:

T = 100 ms - period uzorkovanja

A = 10V .. + 10V = 20 - ulazni opseg N = 8 - duina digit. rijei (D0...D7)


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

uul

A/D

D7 D0

TAD < T (vrijeme A/D konverzije mora biti krae 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 MIKRORAUNALA
Mikroraunalo je digitalni automat sposoban za izvrenje raunskih operacija, a na osnovu programa pohranjenog u memoriji. Izvedeno je od jednog ili vie integriranih krugova.

TAKT

MEMORIJA ROM

MEMORIJA RAM

Input/ Output

Vanjski ureaji

SABIRNICA

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

11

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

D7

SADRAJ

D0

ADRESA

1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0

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 statike i dinamike Read/ Write memorije ROM ne sadri bistabile > samo za itanje PROM programabilni ROM EPROM, EEPROM, FLASH izbrisivi programabilni

12

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

Sklopovi za ulaz/ izlaz (input- output I/0)


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

u(t )

D0

UART
ST. D0 D2 D4

R T SERIJSKA VEZA

D7

D7

13

Primjer paralelnog izlaznog sklopa


REGISTAR D0 D D Q X +

SABIRNICA PODATAKA +

D7

Q CL Enable

A0
SABIRNICA ADRESE

A15

I
DEKODER ADRESE

WRITE IO/MEM

IZLAZI

Primjer paralelnog ulaznog sklopa


VRATA S TRI STANJA

D0
ULAZTIPKA SABIRNICA PODATAKA

D7

O.E.

SABIRNICA ADRESE

A0 A15
Enable

READ 10/MEM

14

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

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

UPRAVLJANJE
Podaci R

ROM
CS ADRESE

RAM

R/ w
CS

I/O
D Q P CS

DEKODER ADRESE TAKT

15

Struktura mikroprocesora ope namjene


Procesna snaga mikroprocesora najvie zavisi o vremenu izvrenja instrukcija i duini rijei Duina: 8 16 32 64 Proizvoa: INTEL: MOTOROLA: 8080, 8085 6800 8086, 80286 68000 80386, 80486 68020 Pentium 4 PowerPC ... Frekv. [MHz]: 38 12 20 25 66 1400 ... 4000?
PROCESOR
KONTROLNA JEDINICA
PROGRAMSKO BROJILO PC REGISTAR INSTRUKC. IR STATUSNA RIJE DA P Z N C PSW POKAZIVALO SLOAJA SP KONTROLNA MEMORIJA

INTERNA MEMORIJA/SLOAJ

TAKT GENERATOR

REGISTRI

P
A B

ARIT./LOG. JED

UPRAVLJ. SABIRNICOM

ALU

PODACI ADR. UPRAVLJ. SABIRNICE

Programsko brojilo (PC) sadri adresu na kojoj e se traiti slijedea instrukcija iz memorije. Pri ukljuenju postavlja se na nulu.
16

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

MEMORIJA

SP = ADRESA ZADNJEG UNOSA

Registri P - privremeni spremnici rezultata, adresa i sl. Koraci izvoenja jedne instrukcije: Instruction fetch (dobavi instrukciju) Instruction decode (dekodiraj instrukciju) Operand fetch (dobavi operand- podatak) Execute (izvri instrukciju) Store result (spremi rezultat) Instrukcije traju 1, 2 ili vie koraka takta

17

Registri procesora 8080 (INTEL)


AKUMULATOR A 1 B D H 1 8 8 PROGRAMSKO BROJILO C E L 16 1 POKAZIVA SLOAJA SP 16 PC DA P Z N C PSW REGISTAR INSTRUKCIJE IR

Program u strojnom kodu


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

MEMORIJA
0 1 2 3 4 5 6 7 8 9 10 0 0 1 1 1 0 1 0 adr. 0..7 adr. 7..15 0 1 DDDS S S 0 0 1 1 1 0 1 0 adr. 0..7 adr. 7..15 1 0 0 0 0S S S 1 1 C C C 0 10 adr. 0..7 adr. 7..15

MNEMONIKI ZAPIS
LDA NUM1

AKTIVNOST

( A ) ((byte 3 )(byte 2 )) ( A ) ((byte 3 )(byte 2 ))


(B ) ( A )

MOV B,A LDA NUM2

ADD B JZ

(PC ) (byte3)(byte2)

( A) ( A) + (B)

18

Dogovoreni su kodovi i naini za pohranjivanje: Slova, brojeva i znakova (ASCII standard kod) Brojeva s pokretnim zarezom, itd.

Skup instrukcija mikroprocesora (primjer)


Mnemoniki zapis koji slijedi Assembler program pretvara u strojni program. Svaki procesor ima drugaije instrukcije. Instrukcije za prijenos podataka MOV MOV MVI r1, r2 r, M r, data

(r1) (r 2) (r ) ((H )(L)) (r ) (byte2)

MOV=COPY!

Aritmetike operacije ADD r SUB r

( A) (r ) + ( A) ( A) ( A) (r )

Za cjelobrojne vrijednosti, brojevi (0..2N) Logike operacije (izmeu 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), poveanje 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 odreenu znamenku u binarnom broju. Instrukcije za grananje u programu JMP adr JZ adr bezuvjetni skok skok ako je sadraj nula (uvjetni)

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

20

Koncepcije ulazno/ izlaznog prijenosa 1. Programski prijenos (POLLING).


Stanje I/0 ureaja ispituje se u programskoj petlji neprihvatljivo za rijetke i nepredvidive dogaaje

2. Prekidni prijenos (INTERRUPT TRANSFER)


Mikroprocesor ima fiziki ulaz kojim se moe traiti prekid rada u bilo kojem trenutku. Slijedi: 1. P spremi trenutno stanje i poalje signal da je prekid prihvaen 2. P prebacuje programsko brojilo (PC) na adresu gdje se nalazi prekidni program 3. izvri se prekidni program 4. Na kraju izvrenja prekidnog programa obnavlja se predhodni status P i nastavlja redovni program. - esto postoji vie prekidnih linija uz hijerarhiju (zadani prioriteti) - Pogodan za hitne ili/i sporadine dogaaje. Prekid se moe programski onemoguiti - Korisnik ima dojam da se glavni i prekidni program istovremeno odvijaju - Moe postojati takoer i software interrupt request gdje se prekid zatrai preko instrukcije

21

3. Prijenos s direktnim pristupom memoriji (DMA)

DMA KONTROLER

VANJSKI UREAJ

P
ADRESE PODACI

RAM

DMA ZAHTJEV

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

Hijerarhija memorije sloenih sustava


INTERNI REG. CACHE RAM

P
KAPACITET MEMORIJE BRZINA PRIJENOSA

RADNA MEM. DISK CACHE VIRTUAL. MEM. DISK

Virtualna memorija nadoknauje nedostatak RAM-a stvaranjem slike dijela RAM-a na disku.

22

Meumemorija (CACHE) Ako radna (glavna RAM) memorija nije dovoljno brza, manja koliina brze memorije moe se umetnuti izmeu radne memorije i mikroprocesora.

ADRESE

P
WAIT

TAGRAM

CACHE
MATCH

GLAVNA MEM.

UPRAVLJ.

PODACI

CACHE HIT traena lokacija postoji u CHACHE-u dobavlja se bez ekanja

CACHE MISS traene lokacije nema u CACHE-u dobavlja se iz glavne memorije, a ujedno kopira u CACHE Efikasnost:

HIT 80% (ovisno o koliini CACHE-a) HIT + MISS

TAG RAM sadri adrese podataka koji su trenutno u cache-u. Cache se nadopunjuje po principu brii najmanje koriteno u zadnje vrijeme (LRU least recently used). Takoer, moe se organizirati i druga CACHE-memorija: izmeu diska i radne memorije (izvedena programski - bez dodatnog hardware-a)

23

Procesori za posebne namjene


1. Procesor za brojeve s pokretnim zarezom (floating point co-processor), ubrzava rad s takvim podacima za red veliine. Danas se integrira sa CPU

FPU

CPU

RAM

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

Posebni zahtjevi i sklopovi upravljanje procesima

kod

raunala

za

Zahtijeva se visoka pouzdanost, neosjetljivost na smetnje i uvjete okoline te rad u realnom vremenu.

UTJECAJ OKOLINE:
Temperatura Agresivni plinovi, praina Vlaga, pritisak Vibracije, okovi Elektro-mag. smetnje

RJEENJE:
komponente za 25..+85C zaptivanje, zatita zaptivanje, zatita mehaniki priguivai 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

+ :60 :60
OSCILATOR SATI MIN. SEK.

1 Hz

BROJILO

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

KOMPARATORI
+

Ub

+ PIO/INTR

Ub > Uref1

Uref1 Uref2 +

Ub < U ref 2

Uref1 =1,1UbN - gornja granica, Uref2 = 0,95UbN - donja granica


Ako je napon izvora Ub vii od gornje granice, ili nii od donje granice, komparatori mogu izazvati prekid (INTERRUPT). Prekidna rutina moe sauvati vane podatke prije prekida rada.

26

Vremenski sklop za kontrolu izvoenja 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

+Ub

Uc Ub/2
KOMPARATOR

Up
P/0 IZLAZ

Uc

Up

t t t PREKID

+U ref

+ -

U izl

Uref = Ub / 2

Uizl

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

+U
+

Up

RAM
SABIRNICA

Pomona baterija

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

MIKRORAUNALO
FILTER ULAZI IZVOR IZLAZI FILTER

I/O

FILTER

METALNO KUITE

Primjeri filtera:
R F F
C C C

Uul
PROCES

L 0

MREA

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

28

t ON OFF

Zatita mikroraunala i osoblja galvanskim odvajanjem


OPTOSPOJKA P R O C E S ULAZI OD VA JA NJ E IZLAZI

U b
+

R
ULAZ IZLAZ

Poeljno je galvanski odvojiti sklopove visokog i niskog energetskog nivoa Umjesto icama, signali se u sredinama s jakim smetnjama prenose optikim vlaknom

29

Autonomni sustavi za nadzor / zatitu


UPRAVLJAKE VELIINE

PROCES

IZLAZNE (VOENE) VELIINE

R
UPRAVLJAKI SISTEM

ZATITA/ NADZOR

NEZAVISNO NAPAJANJE

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

30

3. ANALOGNO/DIGITALNI PRETVORNICI
KRAJ PRETVORBE

START t

TAKT

Uul(t)

START

D0...DN1

A/D

DN1 D0
CS

t
KRAJ PR.

TAD
T

Karakteristike A/D pretvornika


1. 2. 3. 4. 5. 6. Razluivanje (2N moguih iznosa) Vrijeme pretvorbe (nSmS) Tonost mjernog podruja A Temperaturni koeficijent, stabilnost Izlazni kod (binarni, BCD, ) Linearnost
111 110 101 100 011 010 001 000 idealna karakt.

IM

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, moe i potiskivati mrene smetnje.

START S2 KOMPARATOR Cl

S1

Uul
+

C R

Cp

Brojilo

Uref

Ui

DIGIT. IZLAZI

INTEGRATOR

TAKT

Ui
T0
t1

T1

T2

t2

t3

32

Ciklus rada: 1. Prazni se C trenutnim ukljuivanjem S2, brojilo se vraa na nulu pomou Cl (Period T0) 2. Integracija ulaznog napona (Period T1). Sklopka S1 je u gornjem poloaju. Brojilo broji do preliva: 2N impulsa 3. Integracija ref. napona (Uref) (Period T2). S1 je u donjem poloaju. Brojilo broji dok se napon Ui ne vrati na nulu. Oita se n2 impulsa. Na kraju ciklusa:

1 U i (t 3 ) = RC

t2

1 U ( t ) dt u RC t1

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 zadravanje signala (SAMPLE & HOLD)


Zadrava signal na stabilnom iznosu za vrijeme A/D pretvorbe.
SAMPLE

Rizl
~

Ui
C

A/D

Uul

Rul

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


U

1 1 fMAX = ; TMIN = TAD +Taq +Ta fMAX

Uu l

ta

taQ
t ADM AX

t
S H S H

ta aperture time kanjenje izmeu 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 usporeuje sa odreenim djelom referentnog napona. Brz: potrebno N komparacija napona (koraka) 1..50 s Zahtjeva stabilan ulazni napon (SAMPLE & HOLD)
+Uref
IZLAZ REGISTAR SUKCES. APROX. MSB

DN 1

D2 D1

SAR

D0
LSB

Uul

EOC KRAJ PRETVORBE KOMPARATOR


Uul

BIT NE 0XX

KORAK

DA 1XX

U>

A 2

D2

DA 11X

U>

3 A 4

NE 10X 01X

DA

1 U> A 4

NE 00X

D1

D0
DA

U>

7 A 8

NE

DA

5 U> A 8

NE

DA

NE

DA

NE

111

110

101

100

011

010

001

000

35

Paralelni A/D pretvornik (FLASH CONVERTER)


+ U REF
R

+ + + + + + KOMPARATORI

ul

KODER

Komparatori usporeuju ulazni referentnog napona (1 korak) Koder pretvara kd n od M u binarni Za N-bita treba 2N -1 komparator

napon

djelom

Vrijeme konvencije 10 ns..1 s (frekvencija reda 100 MHz)

36

Analogni multiplekser

ULAZI
0 1 2 3 4 5 SAMPLE M ADRESA
KRAJ KONV.

S&H

A/D

PODACI

R
START

UPRAVLJANJE

Sekvenca upravljanja:
1. Postavi adresu ulaza 2. Uzmi uzorak (HOLD) 3. Start A/D 4. Kraj konverzije

Trajanje:

TMUX

TaQ +Ta

TAD

f MAX =

1 M(TaQ + TA + TMUX + TAD)

37

4. DIGITALNO /ANALOGNI PRETVORNICI

Ui
D0 D1

D/A

Ui
0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1

DN 1

MSB D2

R / 22
D1

R0

R / 21
LSB D0

Ui

R / 20
UREF

n = D0 2 0 + D1 2 1 + D2 2 2

Ui = - Uref n R0/R

38

Karakteristike D/A pretvornika: Linearnost Tonost podruja Stabilnost, temperaturni koeficijent Vrijeme pretvorbe (reda s)

Programski D/A pretvornik

U PW M

t1
DA

T t

R
U PWM
+ D/A IZLAZ

T=konst.

U DA = konst .

t1 T

R izvodi program za pulsno-irinsku modulaciju

39

Programski A/D pretvornik

IZLAZI

D/A

R
ULAZI

Uul

+
KOMPARATOR

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

40

5. SENZORI I PRIHVAT SIGNALA


Senzori su takvi elementi kod kojih neko elektriko svojstvo ovisi o jednoj fizikalnoj (neelektrikoj) veliini.
Aktivni senzori: - fotodioda (svjetlo) - piezokristal (sila) - EM indukcija Pasivni senzori: - fotootpornik - zavojnica s pominom jezgrom - potenciometar (pomak) - HALL-generator (mag. polje) - tenzometar (deformacija)

SENZORSKI SKLOP S SENZOR

Prihvat i prilagoenje

e = f (S )

S fizikalna veliina,

e elektrika veliina (analogna ili digitalna)

Podjela Digitalni senzorski sklopovi daju digitalnu informaciju o ulaznoj veliini (koja je analogna ili digitalna) Analogni senzorski sklopovi daju analognu informaciju o analognoj ulaznoj veliini Ako sklop za prihvat signala senzora moe dati digitalni signal izbjegava se upotreba A/D pretvornika to je direktna digitalizacija.

41

Digitalni senzorski sklopovi s analognom ulaznom veliinom


Oblici digitalnih (izlaznih) signala: f= func (S) promjenljiva izlazna frekvencija i= func (S) broj izlaznih impulsa d= func (S) digitalni broj na izlazu Optiki digitalni senzorski sklopovi Mjerenje kuta, pomaka, brzine (koristi optike barijere)
Ubat + U bat D2

4 5 x 6 7 x x

3 2

+ D1 + D0

1 0

Koritenje svih izlaza = apsolutni koder poloaja Koritenje jednog izlaza = brojanje impulsa, mjerenje , mjerenje relativnog pomaka

42

Linearna izvedba optikog senzora

opto-barijere D3 D2 D1 D0

l,v

Magnetski digitalni senzorski sklopovi


Komparator HALLOVA SONDA

Uref
Mjeri se brzina strujanja

+ -

f/u

D0
BROJILO

DN1

DIGIT. IZLAZ

Sklopka blizine (proximity switch)


KOMPARATOR N S

D0
"1"

Ui
A

Uref
S 0 digitalni izlaz (1 bit)

+ -

D0
"0" pomak S

Sklopka blizine slui za indikaciju pribliavanja predmeta.


43

Posebne izvedbe za indikaciju: Feromagnetskih Metalnih Nemetalnih materijala

Ui
U ref

St

Analogni senzorski sklop


Mjere analognu veliinu i daju na izlazu analogni signal Standardni naponski signal (0..10 V, -10..+10 V) Standardni strujni signal (0..20 mA, 4..20 mA)

eS
S

prihvat i prilagoenje

kompenzacija filtriranje pojaanje

linearizacija normiranje

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

44

Sklop za mjerenje rasvjete

iul = &0

R0

UD = &0

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 pojaalo pojaava tu vrlo malu struju i odrava napon na diodi UD 0. Vrijeme odziva je reda veliine s.

Mjerenje temperature termoparom


2
Ni
+ Ra -

Filtriranje

US
Komp.

U ul

CrNi

(Uk )

R0

Uizl
Linearizacija

A/D

U k = k s 2

U s = k s (1 2 )

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 ponitava njen utjecaj
R0 + 1 treba biti veliko 1000 o C 50 mV , a R pojaalo vrlo precizno i neovisno o temperaturi

Pojaanje A =

45

Prilagoavanje nivoa signala (skaliranje)


Iznos mjernog signala treba prilagoditi podruju A/D pretvornika Ako se ne koristi cijelo ulazno podruje napona A/D pretvornika onda je efektivna rezolucija manja. Primjer mjernog lanca termopar pojaalo A/D pretvornik: S = 0 ... 1000 C C Ks = 40V/ (signal) (konstanta termopara) (maksimalni napon termopara)

Us= 40V/C 1000 = 40mV

Mjerno podruje A/D: Aad = 0 ... 1.2V = 1.2V Potrebno pojaanje: Av = Aad /Us = 1200 mV /40 mV = 30 C qs /S = 1/1000 = 0.1 % Zadana rezolucija: qs = 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 sljedei nain: 2N = 1000 /log2 (logaritmiranje)

N = log 2 (1000) =

log10 (1000) 3 = = 9.96 log10 ( 2) 0.303

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

Temp[ C] =

D Aad ( 2 N 1) Av K s

46

Mjerenje deformacije tenzometrom


+ U bat
R

R0

R1
A

R1

R2

R
B R3 R4

U izl

Mjerilo otpora

R0

U AB = & k F (usko podruje) U izl = U AB A = & kF

Otpor R1 (tenzometar) pod utjecajem sile F podvrgnut je deformaciji i mijenja otpor Wheatstoneov most R1..R4 postavi se u ravnoteu za F=0 Diferencijalno pojaalo je spojeno na mjestu galvanometra u mostu, pojaava UAB Ulazni napon < 1 mV (problem pomaka radne toke drift-a, zahtijeva precizno pojaalo)

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

47

6. AKTUATORI
D/A
PARALELNI IZLAZ
ANALOGNI AKTUATORSKI SKLOP

DIGITALNI AKTUATORSKI SKLOP

ULAZ KONTROLA

Aktuatori pojaavaju energetski nivo izlaznih signala i prilagoavaju oblik energije troilima (upravljakim ureajima) Potrebno je takoer i galvansko odvajanje troila

Digitalni aktuatorski sklop


0 ili 5V 1mA

+
R S T 100 mA TRANZIST. SKLOPKA RELEJ SKLOPNIK

PI0 D0

~
M

D2

3x380V / 25 A

Koriste se tranzistorske sklopke za pojaanje signala Releji i sklopnici takoer omoguuju upravljanje velike snage iz kruga male snage (uz galvansko odvajanje)
48

Analogni aktuatorski sklopovi


Ulazni i izlazni signal se kontinuirano mijenja
ULAZ IZLAZ AKTUATORSKI SKLOP TROILO DC MOTORI, GRIJALA SINKRONI I ASINKRONI MOTORI

uul (t ) iul (t )

K u ul (t ) K iul (t )

Pojaalo snage, tirist., reg. (fazna reg. i ispravljai) tirist. regulatori (Zero crossing) U/f pretvara

u ul (t )

K u ul (t )

Izlazno djelovanje prilagoeno je troilu i moe ukljuivati i ispravljako djelovanje Izlazno djelovanje je esto prekidako (tiristori) zbog velikog iskoritenja tj. malih gubitaka regulacije Fazni regulator izmjenine snage
+Ubat
M

F U~

Uc
C
0...10 V

IND. PROLAZA NULE

A2

+ KOMPARATOR

+
UK
POJAALO STRUJE

A1

Uul

ig

G
0

= & k U ul

Tiristor istosmjerna snaga Trijak izmjenina snaga

UT = f (Uul) - inverzna i nelinearna funkcija


49

sklop usporeuje ulazni napon s pilastim naponom i tako generira impuls u momentu kad se oni izjednae potrebno je rijeiti i problem galvanskog odvajanja mree od ulaznih signalnih linija

UC

ul

iG
UT

UK

t t
U~

50

7. IMPLEMENTACIJA UPRAVLJAKIH ALGORITAMA


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

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

TC

T DA

TS

T AD

kT

(k

+ 1 )T

TS sistemsko vrijeme potrebno je za dijagnostiku sistema i vremensku rezervu Maksimalno raspoloivo vrijeme za proraun:
TC = T T AD TDA TS

52

Ocjena potrebne snage 1. Iz upravljakog programa potrebno je zbrojiti vremena izvoenja svih instrukcija koje se izvre u jednom ciklusu (TC). Vremena za pojedine instrukcije daje proizvoa procesora. 2. Ponavljati korak 1) za razliite procesore i/ili mogue frekvencije generatora takta dok se ne uskladi brzina procesora sa potrebnim TC 3. Ako se problem ne moe rijeiti jednim procesorom potrebno je razmotriti upotrebu distribuiranog ili paralelnog procesiranja sa vie procesora, ili primjenu jednostavnijeg upravljakog algoritma

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

MIPS

53

8. DISTRIBUIRANO I PARALELNO PROCESIRANJE


Postupak prorauna (program) dijagramom toka podataka moe se prikazati

Dekompozicija programa u raunarske procese


INICIJALIZACIJA

ITANJE A/D

PRORAUN UPIS U D/A PROCESNI DIJAGRAM SISTEMSKI PROGRAM

Mogui sluajevi: nezavisni paralelni procesi sekvencijalni niz opi sluaj proizvoljan procesni dijagram

54

Nezavisni paralelni procesi


Ako se proraun sastoji od niza vremenski paralelnih aktivnosti (npr.: regulacija vie objekata) i ako su te aktivnosti meusobno neovisne (ne razmjenjuju podatke u toku rada), lako je sprovesti distribuirano procesiranje na vie nezavisnih R .

P1
P2

T1
T2

P3

T3

t
R3
POETAK

R1
M

R 2
M

T1

T2

T3

T1

T2

T3

P1

P 2

P 3
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 proraun sastoji od niza sekvencijalnih aktivnosti, opet je mogue koristiti vie procesora i u ciklikom radu postii poveanje propusnosti (PIPELINE)

P1
T1

k =1 k = 2 k = 3

T1

T1

T1

t
k =1 k = 2 k = 3

T2

2
3

P2

2
P3

T2

T2

T2

t
k =1 k = 2 k =3

T3

3
R1
T1 P 1

T3

T3

T3

R 2
M P

R 3
M P

T2 P 2
T3 P 3

M P

Sekvencijalno izvoenje na jednom procesoru:


TC = 1 + 2 + 3 f = 1

1 + 2 + 3

Paralelno izvoenje uz 1 = 2 = 3 = TT :
f = 1 TT dobije se 3 puta bre izvoenje

Ova metoda primjenjivanja je i unutar mikroprocesora (T1, T2, T3, su tada dijelovi instrukcije)
56

Opi sluaj proizvoljan procesni dijagram


Upravljaki postupak sastoji se od vie aktivnosti a one su na proizvoljan nain meusobno uslovljene (razmjenom podataka) Postupak implementacije: 1. Particija 2. alokacija 3. vremenski redoslijed

1. Particija (podijela) prorauna u procese


PROCES IZRAZ A:=sin(ALFA) B:=sin(BETA) C:=A*B D:=A/B E:=C+D F:=A+C G:=ALFA+BETA VRIJEME 300 300 100 100 PRETHODNICI

T1

T1
A

T2

T2

T3

T1 , T2 T1 , T2

T3
C

T4

T4
T5

50+50 50

T1,T3 ,T4
, ,

T5
E,F

T6

T6

Pretpostavka je da je proraun stalan i unaprijed poznat. Svaki proces ima poznato i , m= broj procesa, n= broj procesora. Proces veu uvjeti precendencije (prethoenja), to daje djelomino vremensko ureenje 1, 2 i 6 su poetni procesi (bez prethodnika) 5 i 6 su zavrni procesi (bez nasljednika) 6 je ujedno i nezavisan proces

57

2. Alokacija procesa na procesore

T1
-

T2

T3

T4
M3

M1

M2

T6

T5

M4

P1

P2

P 3

P4

KOMUNIKACIJA

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

Rijeiti PROBLEM ALOKACIJE znai pronai optimalan raspored procesa koji daje minimalno vrijeme izvoenja posla. Problem alokacije je za opi sluaj posla nerjeiv (bez ispitivanja svih mogunosti - to je takoer nemogue). Zbog toga je i optimalno rjeenje nepoznato. Pretpostavke za paralelan rad: Mora postojati procesorima mogunost komunikacije meu

Mora postojati mehanizam sinkronizacije tako da se procesi mogu uputati kad su za njih spremni svi ulazni podaci

58

3. Redoslijed izvoenja u vremenu Jednostavna strategija- upustiti proces im je spreman (ne daje uvijek najbolje rjeenje):

P1 P2

T1 T2

Tp
T3 T4

SP =

Tp

P3 P4

T6

T5

t t t t

Tp n

SP n

4. Alokacija i vremenski raspored koritenjem heuristikih algoritama: NIVO PROCESA je najvea vremenska udaljenost tog procesa od SS zavrnog procesa: N i = max i + S (zbroj po svakoj moguoj S =1 stazi, SS = broj nasljednika) sumom i . Vrijeme izvoenja cijelog posla ne moe biti krae od Tks (T p TKS ) KRITINA STAZA je staza na (usmjerenom) grafu s najveom

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

59

Podjela paralelnih sustava


SISD single instr. stream, single data (klasino R ) SIMD single inst.; multiple data (npr. vector processing) MISD multiple instruction stream, single data stream MIMD multiple instruction, multiple data (multiprocesor) Izvedbe MIMD sustava:
ZAJEDNIKA MEM. KOMUNIKACIJA PORUKAMA

M
P

ZM

M
P

M
P

M
P

M
P

SABIRNICA

KOMUNIKAC. LINIJA

Zajednika mem. je u adresnom polju vie procesora Postoje i masivno paralelni sustavi sa 105 procesora Konfiguracija povezivanja raunala:
PRSTEN ZVIJEZDA SISTOLIKO POLJE

R1 R 4
R3

R 2

3-D: KOCKE, HIPERKOCKE, ITD.

60

9. INDUSTRIJSKI RAUNALNI SUSTAVI I MREE


Podjela mikroraunala po fizikoj izvedbi:
1. Integrirano mikroraunalo (single chip microcomputer, microcontroller) - sadre CPU, manju koliinu memorije (npr. 2 KB ROM, 256 bytes RAM), I/O portove, itd. Ugrauju se u manje ureaje 2. Raunala na jednoj ploi (single board microcomputer) - sadre odvojene integrirane krugove: procesor, RAM, ROM, I/0 3. Raunala s vanjskom sabirnicom sabirnica raunala izvedena je u obliku niza utinica (npr. razne izvedbe industrijskog PC-a)
KOMUNIKACIJA RAM UTINE PLOE I/0 STRANJA PLOA

P
STANDARDI UTINICA: -VME -S100 -MULTI BUS

SABIRNICA

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

Koncepcijska podjela industrijskih raunala:


1. Integrirani kontroler (EMBEDDED CONTROLER) 2. Programabilni (logiki) kontroler (PLC) 3. Raunalo za upravljanje NC strojeva 4. Robotski kontroler (esto vieprocesorski sustav) 5. Raunalo za nadzor i umreavanje

61

Programabilni logiki kontroler (PLC)


U poetku zamiljen kao zamjena za relejnu (kontaktnu) logiku. Danas je to univerzalna komponenta za industrijsku automatizaciju. Povezuje se u (hijerarhijsku) mreu sa drugim PLC-ima ili nadreenim sustavom
DIGIT. ULAZI SPOJ NA MREU

220V ~

IZLAZI PLC

ANALOGNI I/0

PROGRAMATOR

Programiranje se izvodi posebnim (viim) programskim jezicima (koji su danas standardizirani):


1. - IS instruction set, statement language, AWL 2. - LD ladder diagram language 3. - FBL function block language 4. - BDL binary decision language 5. SCL Structured Control Language (slino Pascal-u)

Ugraeni programski elementi u PLC-u: Logike operacije


A O N XO - AND - OR - NOT - XOR

Aritmetike operacije
ADD DIV MUL SUB

Ostale operacije:
S/ R BISTABILI
62

SR C C...0 TR

POSMANI REGISTRI BROJILA (GORE/ DOLJE) BRZO BROJILO VREMENSKI SKLOP ZA KANJENJE

A/D PRETVORNIK D/A PRETVORNIK

Varijable mogu biti duine 1 bit, 8 bit i 16 (32) bita. Ciklus rada PLC-a
1. Upis ulaznih stanja u registar 2. Obrada ulaza (privid paralelne obrade) 3. Ispis u izlazne registre 4. Sistemska provjera, povratak na korak 1.

Vrijeme ciklusa < 5 ms/1000 instrukcija IS (Klockner-Moeller PS3) Instruction set (IS), statement list (STL)
Simbol: = A ADD BC, BCN DIV JC, JCN JP L Znaenje: STORE (spremi) AND (logiki I) Zbrajanje uvjetno grananje Dijeljenje uvjetni skok bezuvjetni skok unos nove varijable Simbol: MUL NOT O R S SUB XO EP Znaenje: mnoenje komplement OR (logiki ILI) reset bistabila set bistabila oduzimanje ekskluzivni ILI 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
Q 233 Q 233

I 125

LD jezik (LADDER DIAGRAM stepenasti dijagram)

I 123

I 124

I 125 Q 233

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

I 123

Q233

1
Q233
OR

&

I 124

I 125

AND

64

Prikaz je identian sklopovskoj shemi sa integriranim krugovima, iako se to ovdje izvodi programski (simulacija). Standardiziran po IEC 65A. BDL jezik

I 125

Binary decision tree (logic)= BINARNO STABLO ODLUIVANJA

I 124

I 123
1
Q 233

Q 233 = 0

Q 233 = 1

Ista se logika funkcija moe izraziti i matematiki: Matematika notacija (za istu funkciju): Q233=(I123 OR Q233) AND NOT I124 AND NOT I125 STL (Structured Text Language) (Siemens: SCL Structured Control Language) ( DIN EN 6.1131-3), koji je slian Pascalu:

Q233:=(I123 OR Q233) AND NOT I124 AND NOT I125;

65

Sekvencijski funkcijski dijagrami (SFC Sequential Function Charts)


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

Primjer poetka rada perilice rublja

66

Industrijski multiprocesor robotski kontroler


R1
ZM1

R2

ZM2

R3

M1
P1

M2
P2

M3 P 3

Implementacija sloenih upravljakih algoritama robota (dinamika, kinematika) esto zahtijeva vieprocesorski sustav i primjenu paralelnog procesiranja U jednostavnim izvedbama svakom procesoru se pridruuje proraun za jedan odreeni zglob robota (kada je proraun podijeljen po zglobovima) Zajednike memorije ZM slue za razmjenu podataka

67

Raunarske mree za distribuirano upravljanje i nadzor


Raunala na vee udaljenosti u pravilu komuniciraju serijskim vezama (bit po bit)
u (t )
START STOP

0 1 2 3 4 5 6 7 P 1
LSB MSB RS 485/422 P=PARITETNI BIT

STANDARD RS 232-C RS 423-A RS 422-A RS 485

NAIN 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 --

Kljuna su pitanja pouzdanosti prijenosa i sigurnosti. Za vee udaljenosti koristi se:


1. Modulatori i demodulatori (MODEMI) za prijenos podataka preko telefonske mree. Osim fizike veze, mora postojati podudarnost protokola i brzine prijenosa (9600 bit/s,...,54000 bit/s [bps=BAUD]) 2. ADSL - (Asymmetric Digital Subscriber Line) je brzi digitalni prijenos informacija preko telefonske mree 3. LAN (Local Area Networks) obino preko koaksijalnog kabela, parice ili optikog vlakna-fibera. Brzina prijenosa 10 Mbit/s (FAST 100 Mbit/s, 1Gbit/s). Standardi IEEE 802.3 za ETHERNET LAN, IEEE 802.4 za TOKEN PASSING LAN 4. MAN - metropolitan area network 5. WAN (Wide Area Networks) globalne mree, Internet.

68

Lokalne mree industrijskih raunala


Karakteristike mree: Tip medija:
Telefonska parica 1 Mbps ili vie na kratkim udaljenostima UTP kabel 10 Mbps (do 1 Gbps na kratkim udaljenostima) Koaksijalni kabel 10 Mbps/ 100 Mbps/ 1 Gbps Optiko vlakno 100 Mbs ili vie Beino Eter (sateliti, radio signal)

Struktura (topologija) Nain prijenosa informacije Nain pristupa Struktura poruke Sigurnost prijenosa

Strukture mree

ZVIJEZDA (STAR)

PRSTEN (RING)

69

SABIRNICA (BUS)

STABLO (TREE)

Nivoi industrijske komunikacije

ISO/OSI MODEL KOMUNIKACIJE


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

70

Struktura poruke Definirana na nivou prijenosa jedne rijei (byte) i cijele poruke:
ZAGLAVLJE - startni kod - adrese - kontrolne informacije. TIJELO Podaci REP - podaci za ustanovljenje pogreke

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

CSMA/CD Ethernet lokalna mrea (LAN)


TAP KOAX. KABEL

TERMINATOR

R1

R 2

R 2

BUS INTERFACE UNIT

Princip CSMA/CD (carrier sense multiple access with collission detection = viestruki pristup uz detekciju kolizije)
71

Uglavnom se koristi za viekorisnike operativne sisteme Za nie nivoe industrijskog upravljanja nije pogodna zbog nepredvidivog vremena pristupa, osim brzog 100Mbps Etherneta

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

72

Token-passing ring LAN


Mrea s prijenosom etona (tokena)

RING INTERFACE UNIT

Podaci se kreu prstenom u jednom smjeru Svi sluaju (LISTEN MODE) eton cirkulira (eton je specijalni kod) Predaja: dotino raunalo zaustavlja eton i pretvara ga u konektor, slijedi poruka Ciljno raunalo postavlja ACK (prihvat) Kraj poruke. eton se stavlja na kraju poruke Postoji i izvedba TOKEN BUS. Kod nje postoji logiki prsten, makar fiziki veza nije u obliku prstena TOKEN-RING je efikasniji od CSMA/CD kod velikog optereenja mree. Pogodan je za sve nivoe upravljanja.
73

Master/slave lokalna mrea


Master ispituje svakog slave-a (POLLING) Sva komunikacija ide preko master-a

SAN - mree za male udaljenosti


CAN Controller Area Network (mrea za automobile) Home LAN (mree za kunu upotrebu, HAVI, Jini,..) IIC (I2C) i SPI mree za povezivanje integriranih krugova

Beine mree standard IEEE 802


WPAN- Wireless personal area networks, npr. Bluetooth, za ureaje u istoj sobi, standardi IEEE 802.15 LAN- Wireless LAN (WLAN, Wi-FI), standardi IEEE 802.11 MAN- WIMAX, 70 km, 70MBit/s, standardi IEEE 802.16 WAN- mrea za velike udaljenosti, standardi IEEE 802.20 Beine mree senzora (smart sensor networks, standard IEEE1451.4) Plug and Play: senzori koji se identificiraju na mrei. Automatska konfiguracija, kalibracija i dijagnostika.

74

Povezivanje vie mrea


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

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

75

Industrijske mree standardni protokoli


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

PROFIBUS (DIN 19245) PROCESS FIELD BUS

Udaljenosti 0.2 km 2.4 km (15 km optiki) + repeateri Brzina 9,6 kbit/s (kilobit per second) 12 Mbit/s 32 aktivna uesnika (122 sa pasivnima) prijenos RS 485 serijskom vezom preko oklopljenog telefonskog kabela ili preko optikog vlakna metoda pristupa: MULTI MASTER/SLAVE PASSING + MASTER/SLAVE)
WorldFIP - Factory Instrumentation Protocol

(TOKEN

Centralizirano upravljanje, 256 uesnika, udaljenost 2 km 31,25kbit/s, 1Mbit/s i 2,5Mbit/s, kabel/ optiko vlakno

Devicenet

Za komunikaciju industrijskih kontrolera i perifernih ureaja, bazira se na CAN protokolu Koristi se u automobilskoj, poluvodikoj industriji i montai Do 64 uesnika i do 500 m preko telefonskog kabela

76

GM MAP MANUFACTURING AUTOMATION PROTOCOL

Definira standarde za prijenos podataka izmeu razliitih ureaja u industrijskoj sredini - ISO/OSI model (General Motors). Malo se koristi.
Ethernet

Ethernet 100 Mbps, Gigabit Ethernet (1000BASE) Brzi Ethernet (HSE) i Real time Ethernet (RTE) sve se vie koriste u industrijskoj sredini radi jednostavnosti, cijene i kompatibilnosti sa nadreenim mreama intranet/ Internet. Neovisan o proizvoau.

HART protokol za komuniciranje sa senzorima

Razvijen od Rosemount Inc, omoguuje nadzor, dijagnostiku i konfiguriranje senzora (Highway Addressable Remote Transducer Protocol) U Analog/ Digital modu koristi postojee 4-20 mA signale na koji je dodana digitalna informacija (1200 baud Frequency Shift Keying (FSK)) U Multidrop modu koristi samo digitalni prijenos. Do 15 senzora spaja se na isti kabel sa signalom 4 mA.

77

Mrena arhitektura za automatizaciju industrijskog pogona

Slojevi protokola za automatizaciju industrijskog pogona

78

10. PROGRAMIRANJE
Programska oprema (okruenje) je skup svih programa potrebnih za razvoj, izvoenje i pronalaenje greaka u korisnikim programima OPERATIVNI SUSTAV (OS) upravlja radom i resursima raunala (diskom, procesorom, memorijom). Iz njega se pokreu drugi (korisniki) programi
KORISNIKI PROGRAM

OS

K1
- PR.: MS DOS NA IBM-PC = DISK OPERATING SYSTEM

Ako se istovremeno moe izvravati vie korisnikih programa OS se zove vieprocesni (MULTITASKING), a ako uz to ima istovremeno vie korisnika > viekorisniki (MULTIUSER), npr. Unix

K4 OS

K1

PROCESORSKO VRIJEME

K1

K2

K3

K4

K1

K3

K2

CIKLUS

Ako postoji samo jedan procesor OS e pridijeliti svakom procesu jedan dio svog vremena (TIME SHARRING). Neki OS podravaju programiranje s ogranienjem realnog vremena (REAL-TIME OS) za pojedine procese
79

Operativni sustavi realnog operating systems- RTOS)

vremena

(Real-time

U irem smislu to su sustavi koji moraju odgovarati na dogaaje u vanjskom svijetu onim tempom kako se ovi dogaaju (reaktivni sustavi) Ogranienja realnog vremena: MEKA (SOFT) npr. zadano maksimalno vrijeme izvoenja posla ili min. frekvencija TVRDA (HARD) zadano maksimalno vrijeme reakcije pojedinih raunarskih procesa na vanjski dogaaj (DEADLINE) Obino postoje prioriteti procesa koji obrauju pojedine dogaaje. Izvedba je najee takva da se procesi mogu prekidati u toku izvoenja (PREEMPTION). Procesi se moraju sinkronizirati i razmjenjivati podatke Kod sustava realnog vremena upotrebljivost rezultata prorauna ovisi o tonosti rezultata ali i o trenutku kad je dobiven Za programiranje se koriste specijalni jezici (ADA, PEARL, MODULA-2, HIGH INTEGRITY PEARL, REAL-TIME EUCLID) ili standardni jezici (C) sa ekstenzijama Primjeri RTOS: QNX, LynxOS, Windows CE

80

Pomagala za razvoj programa


EDITOR upis i promjena programskog teksta ASSEMBLER program za prevoenje programskog teksta (mnemoniki kod) u strojni kod (1:1) COMPILER program prevodilac. Prevodi tekst pisan u viem jeziku (PASCAL, FORTRAN, C) u strojni (izvrni) kod ili objektni kod. Jedan red programa proizvodi vie strojnih instrukcija LINKER povezuje jednu ili vie objektnih datoteka i stvara izvrni kod LOADER program koji izvrnu datoteku kopira u radnu memoriju i pokree taj program (dio OS) DEBUGGER pronalaenje greaka u programu (npr. izvoenjem korak po korak) SIMULATOR program koji simulira rad nekog fizikog ureaja (procesa)

81

PROBLEMATIKA RAZVOJA FIRMWARE-a


Firmware je software fiksno ugraen u sustav Programi za mala raunala esto se razvijaju na velikima (gdje se moe koristiti editor, compiler, assembler, 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 raunalo i ispita da li program radi kako je planirano Integrirani mikrokontroleri (MCU) sadre RAM i FLASH memoriju u koju se moe jednostavno upisati program preko serijske veze sa razvojnim sustavom.

EPROM PROGRAMATOR

EPROM EMULATOR RAM CPU IO

CPU EMULATOR

RAZVOJNI SUSTAV
UART ROM

M I/0

CILJNI SUSTAV (TARGET)

Popularni 8 bit MCU: Intel 8051 i kompatibilni, Atmel AVR (Arduino platforma), Microchip Technology PIC, Texas Instruments MSP430 (mala potronja), ARM (32bit MCU)

82

Nain razvoja programa


Nivoi programiranja: Nii nivo > Vii nivo Program u strojnom kodu Asembler Vii 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) Logiko programiranje (LIST, PROLOG), Matematiki programi (Matlab), simulacijski (Simulink) Specijalni jezici, npr. za Real-time, baze podataka, PLC i robote, skriptni jezici (Python), Internet programiranje Radi se o razliitim pristupima programiranju Razvoj (Nii nivo > Vii nivo) ide prema sve veem nivou apstrakcije, (orijentacija prema problemu) gdje detalji stroja i operativnog sistema, postaju sve manje vani Ovakav razvoj zahtijeva bra raunala i s veom memorijom, za rjeenje istog problema u istom vremenu izvoenja Prednosti vieg nivoa: Niska cijena razvoja korisnikog programa Lako odravanje, ponovna upotreba gotovih rjeenja Prenosivost izvornog programa na drugi stroj

83

DODATAK1 - PROGRAMIRANJE Principi strukturnog programiranja


Strukturno oblikovanje programa Problem (koji treba biti potpuno definiran) razloi se u logike cjeline (module i procedure) Za svaku logiku cjelinu (modul) moraju biti tono definirani ulazni i izlazni parametri i vlastiti podaci Nacrtati strukturu programa s modulima
PROBLEM KORAK 1)

KORAK 2)

X X X

X1 X2

X3

KORAK 3)

84

Strukturno programiranje (kodiranje)


Svaki sloeni problem moe se ralaniti na elementarne strukture: Sekvenca (niz) Grananje (izbor) Ponavljanje (iteracije, petlje)
a) b)

a := sqr (4);

?
NE

DA

IF a > 2 the
Prog B Else Prog A

b := a + 2;

c1 )

ULAZ

c2 )

ULAZ

?
DA

NE

Prog.

Prog.

?
NE

DA

While a>2 Do Prog;

IZLAZ

Repeat Prog; Until a<2:

IZLAZ

85

TOP-DOWN metoda strukturnog programiranja


Uzastopno raslanjivanje problema na sve manje dijelove koritenjem osnovnih elemenata strukturnog programiranja.

III

II

III

II

III

86

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

Procedure Zamjeni (VAR x,y:real) VAR temp:real; Begin temp:=x; x:=y; y:=temp; End

STRUKTURA PODATAKA

OBRADA (ALGORITAM)

Begin

{glavni program}

Zamjeni (a, b); End. program ili modul

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

87

Programiranje u PASCALU
Blok programa: BEGIN END Naredbe se separiraju znakom toka-zarez (;) Primjer (struktura programa): PROGRAM Ime CONST TYPE VAR
PROCEDURE ( VAR BEGIN END );

BEGIN ... ... END.

PROCEDURA je program u malom moe sadravati vlastite PROCEDURE

88

Proirenja (EKSTENZIJE) viih programskih jezika


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

Programski koncepti za konkurentno programiranje


Konkurentno programiranje na nivou programa rjeava problem komunikacije i sinkronizacije meu dijelovima programa. Dijelovi se izvode u vremenskoj paraleli (jedno ili vie procesorski sustavi). Vie rjeenja : Semafori (L.W. Dijkstra 1968) Semafor je varijabla kojom se odreuje vremensko ureenje. Postoje 2 operatora: P(S) ekaj. Ako je semafor S aktivan (true) pozivajui proces se obustavlja. Inae se S aktivira, a proces nastavlja. V(S) signal. Ako postoje procesi koji ekaj zbog P(S) onda se jedan od njih proputa, inae semafor se deaktivira (FALSE). Monitori (Hoare 1974) Monitor je zajednika struktura podataka koja se moe dosegnuti monitorskim operacijama koje se izvode uz meusobno iskljuivanje. Zahtjevi za operaciju nad monitorom se spremaju i
89

izvode jedan po jedan. Redoslijed nije specificiran (CONCURRENT PASCAL). Komuniciranje porukama Jedan proces alje poruku, drugi je prima. U sistemu s blokiranjem, poiljalac mora ekati dok primalac ne potvrdi prijem. CSP (HOARE 1978) (COMMUNICATING SEQUENTIAL PROCESSES) ovaj princip ujedinjuje komunikaciju i sinkronizaciju. Naredbe: INPUT I OUTPUT. Mehanizam sastajanja (RANDEZVOUS). Jedan mora biti spreman da prima, drugi da alje, ako jedan nije drugi ga eka. Druga rjeenja: ADA, CONCURRENT-C, OCCAM Postoji i implementacija u hardware-u (transputeri)

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

< kraj predavanja >


3.12.2012

90