sistemi u realnom vremenu

Upload: izudin-avdibasic

Post on 29-Oct-2015

309 views

Category:

Documents


9 download

DESCRIPTION

Skripta pisana od strane studenta za sisteme u realnom vremenu

TRANSCRIPT

  • Fakultet elektrotehnike Tuzla

    Sistemi u realnom vremenu predavanja

    Damir Nii 1/1/2013

  • 1

    Real-time sistemi

    Real-time sistemi su sistemi kod kojih je vremensko izvrenje bitno isto onoliko koliko i korektnost izlaza. Vrijeme izmeu prezentacije skupa ulaznih signala softverskom sistemu i pojave asociranih izlaza naziva se vrijeme odgovora softverskog sistema.

    Neki primjeri aplikacija real-time sistema su: sistemi voenja procesa, industrijski automatizovani sistemi, SCADA aplikacije, oprema za testiranje i mjerenje, te robotski sistemi (u medicini, perifernoj opremi, prevozu i transportu, telekomunikacijskim aplikacijama, avioindustriji, internet i multimedijalnim aplikacijama, vojnim i kunim aplikacijama).

    Karakteristike real-time sistema:

    1. Vremensko ogranienje. Svaki real-time sistem je povezan sa nekim vremenskim ogranienjem. Jedan oblik vremenskog ogranienja je krajnji rok izvrenja zadatka. Pored toga postoje i odgoda i trajanje.

    2. Kriterij nove tanosti. Pojam tanosti se kod real-time sistema razlikuje od onog koritenog kod tradicionalnih sistema. Kod real-time sistema, tanost implicira ne samo logiku tanost rezultata, nego je bitno i vrijeme izrade rezultata. Logiki taan rezultat proizveden nakon krajnjeg roka izvravanja zadatka se smatra netanim rezultatom.

    3. Ugraenost. Velika veina real-time sistema je po prirodi ugraena (ugradbena). Ugraeni raunarski sistem je fiziki ugraen u svoju okolinu i esto njome upravlja.

    4. Kritina sigurnost. Kritino siguran sistem mora biti visoko pouzdan, jer bilo koja pogreka sistema moe prouzrokovati veliku tetu.

    5. Istodobnost. Real-time sistem obino treba da reaguje na nekoliko nezavisnih dogaaja u veoma kratkim i striktnim vremenskim ogranienjima.

    6. Distribuirana i povratno-sprena struktura. U real-time sistemima su esto razliite komponente sistema distribuirane na velikom geografskom podruju. Potrebno je osigurati i povratnu spregu kao nain kontrole promjene okoline.

    7. Kljunost zadatka. Kljunost zadatka je mjera cijene neizvrenja zadatka. Odreuje se ispitivanjem koliko su kljuni rezultati zadatka za pravilno funkcionisanje sistema.

    8. Prilagoen hardver. Real-time sistem je esto implementiran sa prilagoenim hardverom koji je izraen specijalno za tu namjenu.

    9. Reaktivnost. Real-time sistemi su esto reaktivni. Reaktivan sistem je onaj kod koga se odrava konstantna interakcija izmeu raunara i okoline.

    10. Stabilnost. ak i pod uslovima preoptereenja real-time sistem treba da potuje rokove izvrenja kljunih zadataka, dok se ostali zadaci ne moraju pravovremeno izvriti.

    11. Obrada iznimki. Real-time sistem treba ak i bez operatera biti u mogunosti da otkloni greku kako bi se sprijeile katastrofalne posljedice i nastavilo to bolje funkcionisanje sistema.

  • 2

    Klasifikacija raunarskih sistema

    - Softverski aspekt - Sistemski aspekt - Aspekt perfomanse - Funkcionalni aspekt

    - Prema oblasti primjene

    Softverski aspekt:

    - Ugraeni sistemi (eng. embedded) softverski sistemi koji su kompletno inkapsulirani u hardver koji kontroliu.

    - Organski sistemi sistemi kod kojih softver nije ovisan o hardveru na kojem radi. - Djelimino ovisni sistemi (eng. semi-detached) mogu se izvravati na

    razliitom hardveru, uz potrebu ponovnog pisanja odreenih softverskih modula.

    Sistemski aspekt: Sistem ne mora da obrauje podatke u s ili ns da bi bio sistem realnog vremena.

    Mora imati prediktabilno, odnosno ogranieno vrijeme odziva u okviru dinamikog sistema u kojem je primijenjen. Primjeri:

    - sistemi sa odgovorom u s ili ns, - sistemi sa odgovorom u ms, - sistemi sa odgovorom u min...

    Aspekt perfomanse:

    - Soft real-time sistemi sistemi ija se perfomansa degradira, ali ne unitava usljed greki tipa zadovoljenja ogranienja vremena odgovora.

    - Hard real-time sistemi (ili samo real-time sistemi) sistemi kod kojih greka tipa zadovoljenja ogranienja realnog vremena vodi ka greki sistema.

    - Firm real-time sistemi sistemi kod kojih mala vjerovatnoa neslaganja s vremenskim ogranienjem moe biti tolerantna.

    Funkcionalni aspekt:

    - Sistemi na bazi sata - Senzorski bazirani sistemi - Interaktivni sistemi

    Sistemi na bazi sata

    Industrijska i tehnika postrojenja uglavnom rade u realnom vremenu i zato je neophodno promatrati vremenske konstante postrojenja. Raunarski sistem koji upravlja razliitim postrojenjima mora se sinhronizovati sa brzinom rada postrojenja, kako bi se uspjeno izvrile akcije mjerenja, prorauna i djelovanja u realnom vremenu unutar predefinisanog radnog takta. Ova sinhronizacija se obino postie dodavanjem raunarskom sistemu jednog vanjskog sata, tzv. sat realnog vremena. Ovaj sat daje signale koji prekidaju operacije u raunaru u nekim unaprijed odreenim vremenskim intervalima, te raunar pokree specifine procesirajue taskove.

  • 3

    Senzorski bazirani sistemi

    To su sistemi u kojima su potrebne akcije, ne u unaprijed definisanim vremenskim trenucima ili intervalima, ve kao odziv na neki dogaaj (npr. ukljuenje pumpe pri niskom nivou tenosti u rezervoaru ili zatvaranje ventila, u cilju odranja pritiska ili temperature u posudi).

    Interaktivni sistemi

    Obuhvataju aplikacije tipa automatskog bankovnog blagajnika, sisteme za rezervaciju karata bilo koje vrste, sisteme polaganja ispita kod uenja na daljinu itd. U ovim sistemima realno vrijeme podrazumijeva vrijeme odziva koje ne prelazi definisanu vrijednost. Ovi sistemi su vrlo slini senzorski baziranim sistemima, pri emu senzorski bazirani sistemi reaguju na signale iz postrojenja, dok interaktivni sistemi reaguju na zahtjev ovjeka u predefinisanom vremenskom intervalu.

    Prema oblasti primjene: Sa aspekta rasprostranjenosti:

    - telemetrijski sistemi upravljanja (naftovodi, plinovodi, vodovodi, elektrane), - sistemi upravljanja na lokalnom kompleksnom objektu (avion, brod,

    podmornica, automobil i sl).

    - kompaktni ureaji i sistemi (regulator u industrijskom procesu, maina za sue, pametna medicinska sonda, itd.)

    Zavisno od dimenzija procesa, zavisi i dimenzija procesora neophodnog za obavljanje upravljakih akcija, tj. da li e nam biti dovoljan mikrokontroler ili kompletan raunar ili procesni raunar. Zajedniko za sisteme iz ove grube podjele: - da je raunar u njima ugraena komponenta u vei sistem, - korisnik ne moe da modifikuje programe, - da zadovoljavaju dijagram procesa i dogaanja sistema u realnom vremenu.

    Programiranje sistema u realnom vremenu

    Jedna od bitnih karakteristika sistema u realnom vremenu pored njihove hardverske strukture, jeste svakako i njihov specifini nain programiranja. Klasifikacija programa:

    - sekvencijalni programi (akcije striktno poredane u jednom vremenskom redoslijedu (sekvenci)),

    - multitasking programi (neke operacije se izvode paralelno, mada je i dalje u nekim vremenskim periodima zastupljeno slijedno programiranje, pri emu procesi ili taskovi mogu komunicirati preko djeljenih varijabli i signala),

    - programi realnog vremena (akcije vremenski ne slijede nuno jedna drugu, sekvenca nekih akcija nije odreena od strane projektanta, ve od dogaaja koji se deavaju u realnom vremenu).

  • 4

    Operativni sistemi za rad u realnom vremenu (eng. Real-Time Operating Systems)

    Pored standardnog sistemskog softvera i funkcija vezanih za koritenje raunarskih resursa koje se sreu i kod klasinih operativnih sistema, operativni sistem za rad u realnom vremenu treba da omogui i detekciju vanjskih dogaaja i adekvatnu reakciju na svaki od njih u smislu odreivanja redoslijeda izvoenja pojedinih zadataka. Zahtjevi na real-time dizajn:

    - terminologija realnog vremena,

    - sistemski koncepti, - selekcija efikasnog hardvera i softvera po prihvatljivoj cijeni, - izbor tehnika dizajniranja.

    Odluka da li koristiti prednosti:

    - komercijalnog, ali real-time riskantnog operativnog sistema ili - koristiti specijalni operativni sistem.

    Selekcija odgovarajueg softverskog jezika za razvoj softvera: - maksimizacija sistemske fault tolerancije i pouzdanosti kroz paljiv dizajn i

    rigorozan test.

    - predvianje, mjerenje i redukcija vremena odziva. - dizajn i selekcija testova i razvojne opreme.

    Dizajn sistema realnog vremena

    Hardverski dio dizajna podrazumijeva dizajn, razvoj i testiranje arhitekture fizikog sistema, tampane ploe, individualnih komponenti, pri emu se za modeliranje hardvera i kao simulacioni alat esto koristi Verilog HDL (Hardware Design Language).

    Softverski dio dizajna ukljuuje taskove ili algoritme aplikacije, pisane u jezicima visokog nivoa, asembleru ili kombinaciji, pri emu se kao strukturna metoda za prezentaciju softverskog alata za modeliranje esto koristi UML (Unified Modeling Language), te testiranje i debagiranje sistema u sprezi sa fizikim svijetom analognih i digitalnih signala. Proces dizajna Podjela procesa dizajna s obzirom na smjer toka odvijanja dizajna:

    - Odozgo prema dole (eng. Top-Down),

    - Odozdo prema gore (eng. Bottom-Up).

    Proces dizajna Odozgo-prema dole Prednost: Pogreke i nedostaci u dizajnu se otkrivaju ranije (u ranim fazama).

  • 5

    Proces dizajna Odozdo-prema gore Prednost: Uticaj neidealne implementacije moe se uzeti u obzir u ranom stadiju procesa dizajna. Nedostatak: Sistem moe biti simuliran samo kada je u cijelosti implementiran, tako da pogreke i nedostaci u dizajnu sistema nisu primjetni do kasnijih faza, to moe uzrokovati znaajne trokove i kanjenja u razvoju. Tehnike dizajniranja:

    - prirodni jezici,

    - matematika specifikacija, - dijagrami toka, - pseudokod, - dijagrami stanja,

    - maina konanog stanja, - Petrijeve mree...

    Dijagrami toka

    Dijagrami toka su vjerovatno najstariji alat za modeliranje softverskih sistema i iroko su razumljivi. Korisni su za sisteme reda 5000 do 10000 instrukcija i nisu pogodni za sisteme iznad te veliine. U sistemima sa vie zadataka, dijagrami toka mogu biti koriteni da opiu svaki zadatak posebno, ali meudjelovanje izmeu procesa nije lako predstavljeno i vremensko ponaanje ne moe biti opisano. Pored toga, esto podravaju neeljeni GOTO iskaz. Pseudokod

    Pseudokod je jezik za programiranje sa jednostavnom semantikom za koju obino nijedan kompajler nije napravljen. Koristi se za specifikaciju sistema na nain koji je blizak stvarnom pisanju koda. Dijagrami stanja

    Definisanje stanja sistema u bilo kom vremenskom trenutku moemo prikazati koritenjem varijabli stanja. Kada doe do bilo kakve promjene varijabli stanja, mijenja se i stanje sistema. Sistem moe promijeniti stanje u zavisnosti od vremena ili specifinih dogaaja. Za skup varijabli stanja, promjena stanja sa vremenom se naziva ponaanje sistema. Dijagrami stanja ili grafovi opisuju ponaanje sistema.

    Dijagrami stanja su moan alat za specifikaciju i modeliranje ponaanja bilo kojeg tipa hardverskog ili softverskog sistema. U dijagramima stanja, svako stanje je predstavljeno krugom, vorom, npr. memorija ima 2 stanja, 1 ili 0, to izraava njeno ponaanje puna ili prazna. Tranzicije izmeu 2 stanja oznaavamo labeliranim usmjerenim linijama ili strelicama. Kako su linije usmjerene, dijagrami stanja nazivaju se usmjereni grafovi.

  • 6

    Maina konanog stanja

    Maina konanog stanja oslanja se na injenicu da mnogi sistemi mogu biti predstavljeni tano odreenim brojem jedinstvenih stanja.

    Postoje tri metode za predstavljanje maina sa konanim brojem stanja (eng. Finite State Machine FSM): metoda teorije skupova, metoda dijagrama i metoda predstavljanja matricama.

    Maina konanog stanja je prezentacija dogaajem voenog (reaktivnog) sistema. U takvom sistemu, sistemski prelazi iz jednog stanja (moda) u drugo propisano stanje obezbjeuju da definisani uslov promjene bude taan.

    Hardverska implementacija maina konanog stanja postie se upotrebom VLSI, ROM-ova i diskretne logike.

    Softverska implementacija se tipino pojavljuje kao ugraeni program, koji se izvrava na razliitim vrstama hardvera. FSM maina: M=(I,O,S,,) - I konaan neprazan skup ili vektor ulaza - O konaan neprazan skup ili vektor izlaza - S konaan neprazan skup ili vektor stanja - - mapiranje I x S -> S

    Izlazi mogu biti:

    - vrijednosti varijabli stanja, - kombinacija varijabli stanja ili

    - kombinacija varijabli stanja i ulaza Ako izlazna funkcija ovisi samo o stanju, tada ta definicija odgovora Mooreovom modelu. Ako je izlazna funkcija funkcija stanja i ulazne abecede, tada ta definicija odgovora Mealyjevom modelu.

    Petrijeve mree

    Petrijeve mree predstavljaju formalni grafiki metod modeliranja predloen od strane Carla Adama Petrija 1962. godine. Predstavlja matematski alat za opisivanje, upravljanje i analizu sistema, ije su osobine: asinhronost, distribuiranost, paralelnost, nedeterminizam i/ili stohastinost. Petrijeve mree su tip matematikih modela koji se koriste kako bi se identifikovale operacije koje treba izvesti u sredini viestrukog procesiranja ili viestrukih zadataka, ali se takoe mogu i grafiki predstaviti.

    Koriste se za: dizajn komunikacijskih protokola, dizajn raunarskih arhitektura, dizajn sistema baze podataka, dizajn distribuiranih sistema, dizajn upravljake logike i planiranja za automatizirane i proizvodne sisteme, brzi razvoj prototipa itd.

  • 7

    Vrste Petrijevih mrea: - mree stanja i prelaza (Petrijeve mree, predikcijske mree) - vremenske Petrijeve mree, - stohastike Petrijeve mree najpopularnije.

    Najvanija primjena Petrijevih mrea je u modeliranju sloenih stohastikih sistema DES (Discrete Event Systems). Petrijeva mrea je bipartitni graf sastavljen od: - mjesta (eng. places), koja su grafiki predstavljena krugovima, G = (V, A) - prelaza (eng. transitions) predstavljenim pravougaonicima i - direktnih grana (eng. directed arcs) koje povezuju mjesta i prelaze.

    Mjesta imaju ulogu uslova, prelazi ulogu dogaaja u smislu definicije sistema uslova i dogaaja.

    MATLAB/Stateflow dijagrami:

    Simulink maina je kolekcija Stateflow blokova u Simulinku. Startanjem simulacije

    automatski se izvravaju i Simulink i Stateflow dio modela. Stateflow se koristi sa Simulinkom i opciono sa Real-Time Workshop-om (RTW).

    Stateflow dozvoljava korisniku da koristi notaciju dijagrama toka i tranzicije (prelaza) stanja u istom Stateflow dijagramu. Sa Stateflow-om je mogue: - vizuelizirati model i simulirati kompleksne reaktivne sisteme bazirane na teoriji

    maina konanog stanja, - dizajnirati i razviti deterministike sisteme supervizijske kontrole, - jednostavno modifikovati dizajn, vrednovati rezultate i dizajn, verifikovati

    ponaanje sistema na bilo kom nivou dizajna. Pored toga, koristi prednosti integracije MATLAB i Simulink okruenja za modeliranje, simulaciju i analizu sopstvenih sistema. Hardverske osnove mikrokontrolerskih platformi

    IC krugovi Tri tipa IC krugova srodnih mikrokontrolerima, koji se koriste u raznim aplikacijama:

    1. mikroprocesori (P) 2. mikrokontroleri (C) 3. DSP (Digital Signal Processing)

  • 8

    Mikroprocesori su IC koji u sebi imaju CPU formiran kao procesor opte namjene, te periferne jedinice odabrane tako da podravaju primjenu procesora opte namjene.

    Mikrokontroleri su IC koji u sebi imaju CPU formiran kao siromaniji procesor opte namjene, te periferne jedinice koje su odabrane tako da pojednostavljuju primjenu u upravljakim aplikacijama i radu u aplikacijama, u realnom vremenu.

    DSP su IC koji posjeduju CPU optimiziran za obradu digitalnih signala u realnom vremenu, te periferne jedinice podeene za upravljake aplikacije, aplikacije u komunikacijama, aplikacije u akviziciji podataka, aplikacije kod obrade slike i zvuka i sl. Osnove mikrokontrolera

    Mikrokontroler je elektroniki ureaj koji, slino kao i raunar, ima zadau da zamijeni ovjeka u kontroli dijela ili skoro cijelog proizvodnog procesa. Mikrokontroleri su uglavnom dizajnirani za specifine zadae, vrlo raznolike od sluaja do sluaja. Primjena ima mnogo, od jednostavne regulacije osvjetljenja, alarmnih sistema, pa do upravljanja robotima u industrijskim pogonima. Arhitekture mikrokontrolera

    Kao i mikroporocesori, i mikrokontroleri se klasificiraju kao 8, 16, 32 ili 64-bitni to se odnosi na irinu internih registara i akumulatora. 8-bitni sistem obino podrazumijeva da se CPU konektuje na razliite ipove preko 8-bitnih sabirnica. Mo (brzina) mikrokontrolera se izraava u MIPS (broj miliona instrukcija u sekundi). Hardver mikrokontrolera

    - CPU - Interni clock

    - ROM (engl. Read Only Memory) - RAM (engl. Read Access Memory) - Watchdog - Tajmer

    - I/O portovi - A/D konvertor - Serijski interfejs - Paralelni interfejs

    CPU

    CPU (engl. Central Processing Unit) je osnovna jedinica (mozak) svakog mikrokontrolera. Sastoji se od aritmetiko-logike (ALU) i upravljake jedinice (CU). ALU sadri: - akumulator i/ili vie registara opte namjene, - jedinicu za aritmetike operacije, - jedinicu za logike operacije.

    Upravljaka jedinica u svom sastavu ima programski broja (PC1). Ovo je registar ija je zadaa da pokazuje adresu instrukcije koja e sljedea biti pribavljena u instrukcijski registar.

  • 9

    ROM

    ROM (eng. Read Only Memory) memorija, namijenjena samo za itanje. Njen sadraj je nemogue mijenjati u toku izvoenja programa. ROM se koristi za smjetanje koda programa i konstanti. Razlikuju se:

    - interni ROM integrisan u sam ip mikrokontrolera; - eksterni ROM, koji se koristi kao zasebna komponenta; - ROM memorija u koju se ne mogu upisivati podaci; - PROM (engl. Programmable ROM) memorija koja se moe programirati

    upotrebom posebnog ureaja PROM programatora. esto se prilikom upisivanja podataka na ovaj nain kidaju unutranje veze, te se zbog toga PROM moe samo jednom programirati;

    - EPROM (engl. Erasable PROM) memorija iji sadraj se moe brisati izlaganjem ultraljubiastom (UV) svjetlu, a zatim upisivati putem EPROM programatora. Broj brisanja (izlaganja UV zrakama) je ogranien;

    - EEPROM (engl. Electrical EPROM) memorija u formi flash memorije (Flash ROM drugi naziv za EEPROM). Moe se cijeli sadraj ili samo dio, izbrisati elektrinim putem (posljedica ove osobine je i integrisanje ROM-a u ip mikrokontrolera). Sadraj se uva i u odsudstvu napajanja. Koriste se u telefonima, pejderima, prenosivim raunarima, PDA ureajima, itd.

    RAM

    RAM (eng. Random-Access Memory) je oblik primarne memorije ijem se sadraju moe direktno pristupiti. RAM omoguuje upisivanje, itanje i brisanje podataka, za razliku od ROM-a, iz kojeg je podatke mogue samo itati. U RAM se upisuju aktivni programi, te informacije potrebne za trenutni rad raunara. Kod aplikacija za rad u realnom vremenu RAM predstavlja radnu memoriju u koju se smjetaju meurezultati, podaci nad kojim se trenutno izvode operacije, parametri koji se upisuju prilikom pokretanja programa, stanje registara CPU-a kod prekida (stack) itd. Razlikuju se:

    - interni RAM integriran u ip mikrokontrolera, - eksterni RAM dodaje se kao spoljanja komponenta.

    Memorija

    - CPU registri

    - Privremene lokacije za meurezultate i tekue instrukcije - Cache memorija (L1 interno u procesoru, L2 brza memorija izmeu CPU-a i

    RAM-a, za podatke koje CPU esto trai ~ 1MB) - RAM (read/write memorija za prihvat podataka i instrukcija programa koji se

    izvrava ~ 256, 512, 1024, 2048 MB)

    Clock oscilator (sistemski sat)

    Mikrokontroler izvrava program u tano odreenim vremenskim taktovima. Takt je odreen frekvencijom clock oscilatora (interni RC oscilator ili oscilator sa eksternim

  • 10

    vremenskim elementom, kao to je kristal kvarca, LC rezonantno kolo). im se mikrokontroler pokrene, ovaj oscilator poinje sa radom. Watchdog

    Za tano izvravanje programa mikrokontrolera brine se sigurnosni sat (watchdog). U sam mikrokontroler ugrauje se jedan broja koji se automatski poveava, inkrementira poslije odreenog broja mainskih ciklusa. On starta od nule, poslije njegovog aktiviranja, pa do maksimalne vrijednosti koju moe dostii koritena duina brojaa. Kada dostigne maksimalnu vrijednost izvrit e reset mikrokontrolera (automatski starta unutranji reset, te e program zapoeti proceduru ispoetka). Prilikom pisanja aplikacije, programer vodi rauna o ovom brojau, te izvri njegovo resetovanje programski uvijek kada se program zavri do kraja, odnosno korektno. Ako se iz bilo kojeg razloga program zaglavi, on nee stii do kraja, te nee ni resetovati broja. Tajmer

    Brojai iji se sadraj mijenja u skladu sa takt impulsom kojeg generie sat (clock) nazivaju se tajmerima. Brojanje kod tajmera moe da starta od nule ili od neke druge poetne vrijednosti koja je programski upisana. Takoer, brojanje tajmera moe ii u opadajuem smjeru, od neke maksimalne vrijednosti. Po dostizanju maksimalne (minimalne) vrijednosti tajmeri poinju brojati od poetne vrijednosti. Neki tajmeri kada dostignu svoju maksimalnu (minimalnu) vrijednost automatski generiu unutranji prekid, na osnovu kojeg se moe realizirati neka upravljaka funkcija. Tajmeri se razlikuju po broju bita, pa tako imamo 8-bitne, 16-bitne, 32-bitne itd., to odreuje duinu brojanja. I/O portovi

    Ulazno/izlazni portovi predstavljaju dvosmjerne rastavne stepene, koji omoguavaju vezu CPU-a i perifernih jedinica koje se dodaju kod specifinih aplikacija. To su u osnovi registri koji mogu prihvatiti podatak od vanjskog ureaja kada vre funkciju ulaza ili od CPU-a (tada vre funkciju izlaza). Upisani podatak se moe proitati i on ostaje prisutan u registru do upisivanja novog podatka ili iskljuenja napajanja. Ulazno/izlaznom portu je mogue pristupiti kao grupi od 8 bita ili 16 bita, te pojedinano svakom bitu. Razlikuju se dva tipa ulazno/izlaznih portova:

    - oni koji prenose samo digitalne podatke; - oni koji mogu da prenose digitalne podatke i/ili analogne signale.

    Digitalni I/O port

    Mikrokontroleri koriste digitalne I/O komponente za razmjenu digitalnih podataka sa vanjskim svijetom. Za razliku od serijskog porta koji podatke prenosi serijski bit po bit, podaci na digitalnom I/O portu se razmjenjuju kao bajti. Analogni I/O port

    Analogni ulaz se realizuje koritenjem analogno-digitalnog (A/D) konvertora (ADC). Mikrokontroler moe biti opremljen sa integrisanim ADC ili analognim komparatorom koji radi pod softverskom kontrolom i obavlja A/D konverziju. ADC se

  • 11

    koriste za prikupljanje podataka kao to su senzori temperature pritiska koji daju analogne napone na svom izlazu. A/D konvertor

    U zavisnosti od izvedbe A/D konvertor se nalazi u ipu mikrokontrolera ili sa dodaje kao zaseban ip. A/D konvertor obino ima vie multipleksiranih kanala sa odgovarajuom duinom izlazne rijei. Opremljen je sa kolima za uzorkovanje i zadravanje (Sample/Hold). Trajanje A/D koverzije zavisi od tipa A/D konvertora i bitan je parametar za definisanje primjene. D/A konvertor

    Analogni izlaz se ostvaruje koritenjem digitalne/analogne konverzije (DAC). Veina mikrokontrolera je opremljena sa irinsko-impulsnim modulatorima (engl. Pulse Width Modulator PWM) koji mogu biti koriteni za dobijanje analognog napona uz pomo odgovarajuih RC filtera. DAC se koriste za upravljanje motorima, displejima, generisanje zvuka, muzike i sl. Serijski interfejs

    Koristi se za serijsku komunikaciju sa eksternim ureajima. Zadatak interfejsa je da prevede:

    - serijski podatak u paralelni kada mikrokontroler prima podatke, - paralelni podatak u serijski kad mikrokontroler alje podatke, - da otpremljene podatke proiri sa dodatnim bitovima potrebnim za prenos.

    Dva osnovna tipa serijske komunikacije:

    - sinhrona i - asinhrona komunikacija.

    Kod sinhrone komunikacije u startu se alju sinhronizacioni impulsi, a nakon toga informacija. Kod asinhrone komunikacije prenosna linija dri se na logikoj jedinici, a svaki bit koji se alje omeen je sa START i STOP bitima. START je logika nula, a STOP logika jedinica. Frekvencija kojom se alju ovi impulsi naziva se baud rate i njene uobiajene vrijednosti su: 1200, 2400, 4800, 9600 i 19200 Hz (bit/sec).

    Ugraeni (embedded) raunarski sistemi

    Definicija 1: Embedded sistemi su raunarski sistemi sa jako izraenom integracijom hardvera i softvera, prije svega namjenjeni da obavljaju specifine funkcije. Definicija 2: Embedded sistemi su raunarsko bazirani sistemi ugraeni u okviru drugog sistema, za koga obezbjeuju bolju funkcionalnost i performanse. Definicija 3: Embedded sistemi su sistemi specijalne namjene kod kojih je raunar u potpunosti enkapsuliran od strane ureaja kojeg kontrolie. Nasuprot raunaru opte nemjene, kakav je personalni raunar (PC), embedded sistem obavlja jedan ili vei broj unaprijed definisanih zadataka, obino sa veoma specifinim zahtjevima.

  • 12

    Embedded sistemi za rad u realnom vremenu Odziv na spoljne dogaaje ukljuuje: - prepoznavanje trenutka kada se dogaaj desio, - obavljanje procesiranja kao odziv na pojavu dogaaja, - generisanje rezultata za zadano vremensko ogranienje.

    Razlike izmeu embedded sistema i maina opte namjene:

    1. Embedded sistemi su namijenjeni da obavljaju specifine zadatke, dok se PC raunari prvenstveno koriste kao raunarske maine opte namjene.

    2. Rad embedded sistema podran je od strane irokog dijapazona procesora i procesorskih arhitektura.

    3. Embedded sistemi treba da su jeftini. 4. Embedded sistemi imaju ogranienja koja se odnose na rad u realnom vremenu:

    1. vremenski osjetljiva ogranienja (time sensitive constraints) 2. vremenski kritina ogranienja (time critical constraints)

    5. Ako embedded sistem koristi operativni sistem, to obino mora biti RTOS (Real Time Operating System).

    6. Posljedice softverskih greaka su znaajno ozbiljnije kod embedded sistema u odnosu na desktop sisteme.

    7. Embedded sistemi se u velikom broju sluajeva izrauju kao baterijsko napajani ureaji pa zbog toga je imperativ da se oni izvode kao sistemi sa minimalnom potronjom.

    8. Embedded sistemi moraju da rade u ekstremnim ambijentnim uslovima. 9. Embedded sistemi imaju daleko manji broj ugraenih sistemskih resursa u

    poreenju sa desktop sistemima. 10. Embedded sistemi uvaju sav svoj objektni kod u ROM-u. 11. Embedded sistemi zahtjevaju koritenje specijalnih sredstava i metoda za

    projektovanje. 12. Embedded mikroprocesori obino imaju implementirano namjenska debugging

    kola (watchdog tajmeri, self-test kola itd.). Razvojna kros-platforma

    Softver za embedded sistem se razvija na jednoj platformi, a izvrava na drugoj. Host sistem je sistem na kome se embedded softver razvija. Ciljni (target) sistem je embedded sistem koji se razvija. U najveem broju

    sluajeva, host i ciljni sistem nisu bazirani na istom procesoru. Glavno softversko razvojno sredstvo koje ini razvojnu kros-platformu moguom

    predstavlja kros-kompajler. Kros-kompajler je kompajler koji se izvrava na jednom tipu procesorske arhitekture, a generie objektni kod za drugi, razliit tip procesorske arhitekture. Softver embedded sistema Embedded RTOS (Real Time Operating Sistem)

    Operativni sistem je specijalizirana kolekcija sistemskih programa koja upravlja fizikim resursima raunara.

  • 13

    Aplikativni softver

    Aplikativni programi su programi pisani za rjeavanje specifinih problema. Programski jezici realnog vremena:

    - jezici za programiranje ugraenih raunarskih sistema - asembleri - C, C++, C# - Java - MATLAB

    Treba da podre izraze i analizu vremenskog ponaanja na jedan od tri naina: - eliminacija konstruktora koji imaju neutvrena vremena izvrenja, - ekstenzija postojeih jezika (npr C za npr. realno vrijeme), - konstrukcija jezika u sprezi sa operativnim sistemima.

    Kako izvriti izbor jezika realnog vremena? Od globalnih zahtjeva na RSRV:

    - tanost, - pravovremenost,

    - sigurnost, - pouzdanost,

    do zahtjeva na softver:

    - taan softver, - pouzdan softver,

    pa do optih (deklaracija, tipovi, inicijalizacija, multitasking, rad sa bitima itd.) i korisnikih

    zahtjeva (sigurnost, itljivost itd.).

    Dobre osobine C-a:

    - C je dobro utvren kao sistemski programski jezik sazrio sa velikim brojem dokazanih kompajlera, koji su raspoloivi,

    - mnogi softverski razvojni alati (editori, debuggeri i sl.) razvijeni za C,

    - proizveden veliki skup C biblioteka.

    C++ dominantan u svijetu mikroprocesora, jer ga odlikuju:

    - mone metode za rad sa izuzecima, - razvijene biblioteke funkcija za konkurentno programiranje posebnih proizvoaa, - rapoloivost matematskih i optenamjenskih biblioteka, - raspoloivost na tritu alata s bogatim okruenjem, - alati za prevoenje dizajna u programski dizajn jezika.

  • 14

    Hardver procesnih raunara

    Procesni digitalni raunar

    Bilo koji digitalni raunar ne moe se koristiti za upravljanje u realnom vremenu. Raunar za upravljanje procesom treba da komunicira i sa postrojenjem i sa osobljem. Komunikacija mora biti efikasna i procesor mora pravovremeno izvravati upravljake akcije u realnom vremenu. Jedna od karakteristika raunara za rad u realnom vremenu je modularna izvedba (lake dodavanje posebnih ulaznih i izlaznih modula).

    Mogunosti osnovne jedinice u terminima: snaga procesiranja, memorijski kapacitet, ulazno/izlazni propusni opseg i strukture prekida odreuju perfomanse sistema u realnom vremenu.

    Procesna periferija

    Pod procesnom periferijom se podrazumjevaju svi elementi, komponente i ureaji koji su potrebni za razmjenu informacija izmeu procesorske jednice i tehnikog procesa. To su: mjerna osjetila (senzori), izvrni elementi (aktuatori), koji su inkorporirani u tehniki proces, kablovi i ulazno-izlazne analogne i digitalne jedinice koje su sastavni dio procesnog raunara. Procesni raunar prihvata informaciju o toku procesnih veliina (npr. temperature, pritiska, brzine...) preko ulaznih jedinica i djeluje na odvijanje tehnikog procesa (npr. otvaranjem/zatvaranjem ventila) preko izlaznih jedinica.

  • 15

    U mjerenju, obradi i prihvatu procesnih veliina uestvuju: - mjerni lan (senzor+pretvara), pomou kojih se mjere fizikalne veliine i

    pretvaraju u elektrine ili optike signale, prikladne za prenos do procesnog raunara,

    - prenosni medij (npr. bakarni ili optiki kabl) za prenos elektrinih ili optikih signala,

    - filter za potiskivanje eventualnih superponiranih smetnji, - sklop za galvansko odvajanje i prilagoavanje s obzirom na amplitudu i

    impendanciju A/D pretvaraa, - multiplekser sa ciklinim ili programski upravljanim spajanjem ulaznih signala na

    A/D pretvara, - A/D pretvara (mora biti brzina pretvaraa vea od brzine promjene analognog

    signala). Pri djelovanju raunara na proces, sudjeluju sljedei elementi: - demultiplekser koji rasporeuje izlazne vrijednosti raunara na razliite izlazne

    kanale,

    - registar koji memorie vremenski diskretne vrijednosti po intervalima uzorkovanja (do trenutka narednog slanja izlazne veliine na izlazni signal),

    - D/A pretvara koji pretvara digitalnu vremensku diskretnu vrijednost u analogni signal,

    - sklop za galvansko odvajanje i pojaalo snage prilagoeno karakteristikama aktuatora,

    - kabl koji povezuje pojaalo snage sa aktuatorom, - aktuator koji se sastoji od pretvaraa i izvrnog elementa (npr. servo-motora).

    Vrste procesnih signala:

    - binarni procesni signali poprimaju samo 2 stanja, pridruena odgovarajuim stanjima procesnih velilina (ventil je otvoren/zatvoren, prekida OFF/ON),

    - digitalni procesni signali (vremenskim diskretnim vrijednostima procesne veliine pridruene n-bitne rijei),

    - analogne veliine (termoparovi, mjerai pritiska, -10 - 10V, 4-20mA) moraju biti uzorkovane, kvantizirane i skalirane,

    - procesni signali u obliku slijeda impulsa (zahtijevaju ih mjerai protoka, step-motori, inkrementalni enkoderi za mjerenje brzine obrtanja...),

    - procesni signali u vidu ruba impulsa (daju prelaz procesne veliine iz jednog stanja u drugo stanje, koriste se za izazivanje prekida).

    Vrste signala:

    - kontinualni signali: - vremenski kontinualan analogni signal - vremenski kontinualan kvantiziran signal

    - diskretni signali:

    - vremenski diskretan signal (amplitudno modulisan) - vremenski diskretan signal sa kvantiziranom amplitudom

  • 16

    Digitalne ulazne jedinice Ulazne operacije se obavljaju u 2 koraka:

    1. Adresiranje grupe ulaznih kanala preko adresnog dekodera:

    - itanje linija vezanih za digitalni ulazni registar: postaviti adresu preko adresnog dekodera signal SELECT;

    - signal ENABLE sa kontrolne sabirnice. 2. Prenos binarnih vrijednosti ulaznih signala adresirane grupe na sabirnicu

    podataka.

    Digitalne izlazne jedinice Izlazne operacije se obavljaju u 3 koraka:

    1. Adresiranje grupe izlaznih kanala preko adresnog dekodera:

    - izlazni registar se odaziva samo kada je adresiran;

    - signal ENABLE indicira ureaju da su podaci na sabirnici stabilni i da se mogu itati. Registar mora prihvatiti podatke brzo (< 1 ms).

    2. Prenos binarnih signala od sabirnice podataka do registara. 3. Prenos binarnih signala iz registara na procesne elemente.

  • 17

    Na shemama izvedbe digitalnih ulaznih i izlaznih jedinica, egzisitiraju prespojni elementi izmeu procesorskih jedinica i procesnih elemenata. Time se osigurava galvansko odvajanje procesnog raunara od tehnikog dijela procesa (pomou optokaplera i releja). Impulsni ulazi

    Najjednostavniji impulsni interfejs jeste broja vezan na liniju koja dolazi iz postrojenja. Programska kontrola resetuje broja i nakon fiksnog vremena raunar ita sadraj brojaa. Prenos sadraja iz brojaa u raunar je slian opisanom za digitalni ulazni interfejs. Impulsni izlazi

    Impulsni generatori alju seriju impulsa, koji su svaki pojedinano fiksnog trajanja (npr. za pokretanje step-motora) ili jedan impuls varijabilne duine (npr. rad sa procesnim ventilima), Mjerenja u postrojenju Instrumenti i aktuatori vezani za proces ili postrojenje koriste se za:

    - mjerenje temperature, - mjerenje protoka,

    - otvaranje ventila, - kontrolu tiristorskog grijaa...

  • 18

    Analogni ulazni sistem

    Iz postrojenja dolazi vie ulaznih analognih signala. Kako su A/D pretvarai skupi, koristi se multiplekser u cilju izbora samo jednog ulaznog signala u jedinici vremena. Koristei SH (sample/hold) kolo u cilju diskretizacije i zadrke ulaznog signala, signal ide na A/D konvertor kako bi dobili signal u digitalnoj formi, koji moe procesirati CPU. A/D pretvara

    Transformira analogni signal u digitalni kao numeriki kodiranu rije ograniene duine. Operacije:

    - diskretizacije i zadrke - kvantizacija i - kodiranje

    Podjela u dvije grupe: 1. pretvarai trenutne vrijednosti

    (visoka brzina pretvaranja, uticaj smetnji na digitalnu vrijednost signala),

    2. pretvarai srednje vrijednosti (mala brzina pretvaranja, potiskuju smetnje superponirane procesnom signalu primjena u tehnikim procesima sa sporo promjenljivim procesnim veliinama).

    Analogni izlazni sistem

    Analogne izlazne jedinice pretvaraju digitalne diskretne vrijednosti iz procesnog raunara u kontinuirane signale. Nakon to se digitalna vrijednost pohrani u registar preko prespojnog elementa, slijedi D/A konverzija pretvaranje u analognu vrijednost. Registar je neophodan kako bi se memorisala digitalna vrijednost sve do prispijea nove digitalne vrijednosti. Izlaze iz D/A pretvaraa po pravilu treba pojaati.

  • 19

    D/A pretvara

    Transformira digitalni signal u analogni. Gotovo svi D/A pretvarai rade na osnovu metode pretvaranja sa otpornikom mreom.

    Sat realnog vremena

    Vitalni ureaj za raunarske sisteme upravljanja impulsni generator sa precizno kontrolisanom frekvencijom.

    Impulsi se koriste da generiu prekide. Softver rauna prekide i tako prati vrijeme.

    Impulsni generator fiksne frekvencije (obino na bazi kristala) stepuje silazni broja. Kada dostigne nulu, generie se jedan prekid i ponovo puni iznos za raunanje. Prekid aktivira softver za sat realnog vremena. Interval u kome vremenska jedinica vremena generie prekid (a time i preciznost sata) kontrolie se punjenjem vrijednosti u hardversku vremensku jedinicu. Watchdog Timer (WDT)

    Obezbjeuje da se odreeni ureaji servisiraju u regularnim intervalima i da CPU nastavlja svoju funkciju. Interapti

    Interapti su hardverski generisani subrutinski pozivi. Procesni hardver generie jedan ili nekoliko interapta kao odgovor na neki eksterni dogaaj. Interapti mogu biti prouzrokovani internim ili eksternim dogaajima.

    Interni dogaaji (trap-ovi), ukljuuju greke usljed dijeljenja sa nulom, operacije prekoraenja i uslove usljed operacija sa pokretnim zarezom.

    Eksterni interapti su prozrokovani drugim ureajima (satovi, prekidai).

  • 20

    Sistemi voeni prekidom Nakon prihvatanja interapta, procesor:

    - zavrava instrukciju koju je izvravao, - sauva programski broja, da bi se mogao vratiti tamo gdje je stao (eng. interrupt

    return location),

    - puni programski broja sa sadrajem lokacije za rukovanje interaptom (eng. interrupt handler location),

    - Izvrenje se nastavlja sa specijalnim kodom za servisiranje interapta. Sistemski koncept upravljanja Osnovni zahtjevi na raunarski sistemski koncept upravljanja:

    - mora komunicirati s procesom u stvarnom (realnom) vremenu,

    - multitasking, tj. sposobnost obavljanja vie zadataka istovremeno bez meusobnog sukoba meu njima.

    Direktno digitalno upravljanje (DDC)

    Kod ovog tipa upravljanja raunar (najee procesni raunar) je direktno u povratnoj sprezi. Raunar je kritina komponenta i potrebno je osigurati da u sluaju njegove neispravnosti postrojenje ostane u sigurnom stanju (postie se ograniavanjem DDC kontrolera da ini inkrementalne promjene na aktuatore u postrojenju). Supervizijski nadzor (SCADA)

    Primjena raunara u procesnom upravljanju poveala je opseg aktivnosti u pogledu snabdijevanja menadera i ininjera s jasnom slikom stanja procesa. Koritenjem supervizijskog nadzora (SCADA sistema) procesni operater moe vriti: - promjene zadate vrijednosti, - runo podeavanje aktuatora, - potvrdu alarmnih stanja, - definisanje mjerenja i upravljakih signala, - postavljanje konstante skaliranja i filtera, limita alarma i aktuatora, intervala

    uzorkavanja,

    - definisanje DDC kontrolera, meupovezivanje ili kaskadu kontrolera i veza sa ostalim elementima u shemi upravljanja,

    - podeavanje sheme upravljanja, tj. odabir odgovarajuih parametara podeenja regulatora u skladu sa specifikacijama,

    - definisanje i programiranje sekvence upravljakih procedura nunih za automatizaciju rada postrojenja,

    - implementaciju zadovoljavajuih supervizijskih shema upravljanja.

  • 21

    Arhitekture sistema nadziranja i upravljanja:

    1. Centralizirana arhitektura 2. Distribuirana arhitektura s pojedinanim (point-to-point) vezama 3. Distribuirana mrena arhitektura

    Centralizirana arhitektura

    Sadri samo jednu procesorsku jedinicu, izravno povezanu s procesom za koji je zaduena i s operatorskim interfejsom. Njezine prednosti bile su niska cijena i jednostavnost. Zbog sve nie cijene i sve jednostavnije instalacije sloenijih upravljakih arhitektura centralizirana arhitektura je zastarjela. Njena primjena je ostala ograniena na manje podsisteme sa strogo lokalnim nadzorom i upravljanjem.

    Centralni raunar samo nadzire i prosljeuje komande PLC-ovima.

    Distribuirani sistem

    Distribuirani raunarski sistemi (DRS) su sistemi u kojima vie neovisnih procesora

    i memorijskih resursa podrava interakciju procesa i/ili baza podataka usmjerenu ka postizanju zajednikog cilja. Bazne pretpostavke distribuiranog pristupa su:

    - svaka jedinica izvrava sline taskove ostalim jedinicama, - u sluaju neispravnosti ili preoptereenja jedne jedinice sav posao ili samo dio

    posla moe se prenijeti na druge jedinice. Prednosti koje distribuirani sistemi pruaju u odnosu na centralizirane sisteme (manji poetni trokovi izvoenja, vea pouzdanost, proirljivost, bri odziv itd.) rezultiraju njihovom vrlo irokom primjenom. Distribuirana arhitektura s pojedinanim (point-to-point) vezama

    Sadri vie procesorskih jedinica fiziki smjetenih blizu nadziranih ureaja i operatorskih stanica. Kako lokalne procesorske jedinice mogu raditi ako je njihov dio sistema nadzora i upravljanja ispravan, bez obzira na zbivanja u preostalom dijelu sistema (kvarovi, odravanje), bitno je poveana pouzdanost sistema. Distribuirana mrena arhitektura

    Procesorske jedinice nisu povezane pojedinanim komunikacijskim vezama, ve su spojene na zajedniku komunikacijsku mreu. Savremeni sistemi nadzora i upravljanja koriste mrenu distribuiranu arhitekturu, dok se point-to-point veza upotrebljava uglavnom za povezivanje specijalnih, nestandardnih ureaja.

  • 22

    SCADA sistemi Uvod u SCADA sisteme

    SCADA sistemi (Supervisory Control And Data Acquisition) su programska podrka za nadzor i upravljanje industrijskim procesima. SCADA podrazumijeva cijeli spektar opreme, sistema i rjeenja koja omoguavaju prikupljanje podataka o nekom procesu udaljenom sistemu, obradu istih, nadzor i u pojedinim sluajevima reagovanje na adekvatan nain. Osnovni ciljevi SCADA sistema su:

    - nadzor i upravljanje sistemima,

    - efektivno upravljanje resursima sistema, - prikupljanje i memorisanje podataka, - smanjenje potrebe za fizikim prisustvovanjem u odreenim dijelovima sistema, - sniavaju trokove rada tehnolokog procesa i poveavaju sigurnost rada, - omoguava nadogradnju mnogih dodatnih funkcija, dalji razvoj i unaprijeenje.

    SCADA sistemi se koriste u gotovo svim industrijskim procesima (proizvodnja elika, hemijska industrija, rafinerije nafte i plina, nuklearke, itd.), u energetici (za nadzor, kontrolu i praenje rada elektroenergetskih sistema), u sistemu saobraaja i komunikacija, sistemima preiavanja vode i vodosnabdijevanja, sigurnosnim sistemima, mehatronikim sistemima itd. Najpoznatije kompanije i njihovi proizvodi:

    - ABB: MircoSCADAPro, Process Portal, OperatorIT - Siemens: WinCC, ProTool/Pro - National Instruments: LabView

    Podjela SCADA sistema po generacijama:

    - monolitski SCADA sistemi mainframe sistemi, nerazvijene mree, nepostojanje modernih protokola za komunikaciju, slaba redundancija, reagovanje na greke koje su se ve desile,

    - distribuirani SCADA sistemi minijaturizacija, LAN mree, vie stanica, stanice su imale raznovrsnije funkcije, protokoli za komunikaciju su bili jo uvijek vlasnike prirode, poveana procesna snaga i bolja redundantnost,

    - umreeni SCADA sistemi blisko vezani za arhitekturu druge generacije, otvoreni standardi za komunikaciju, koritenje mree, mogunost prevazilaenja veih padova sistema.

    Primjeri SCADA sistema po veliini: - temeljni SCADA sistemi (kontrola temperature prostorije, robot u automobilskoj

    industriji itd.)

    - distribuirani SCADA sistemi (sistem za nadzor cesti, sigurnosni sistem itd.)

    - umreeni SCADA sistemi (energetski distribuirani sistemi)

  • 23

    Funkcionalne komponente SCADA sistema SCADA sistemi obuhvataju vie funkcionalno povezanih cjelina: - hardverski podsistem obuhvata cjelokupan hardver koji se instalira za potrebe

    nadzora i upravljanja (raunarska oprema, programabilni kontroleri, hardver za komunikaciju, davai, modemi, kablovi, ...),

    - softverski podsistem obuhvata cjelokupan softver, ukljuujui i pomone programe kojima se kontrolie rad cjelokuponog hardvera,

    - komunikacioni podsistem obuhvata softver i hardver za povezivanje elemenata SCADA sistema,

    - tehnoloki proces predstavlja sistem u kojem se eli nadzor, upravljanje i akvizicija podataka instaliranjem SCADA sistema.

    SCADA sistem se sastoji od nekoliko cjelina:

    - centralna jedinica ili Master Terminal Unit (MTU),

    - Remote Terminal Unit (RTU), - PLC-ovi, - komunikacijska mrea, - instrumentacija.

    Centralna jedinica

    Najvii nivo SCADA lanca predstavlja centralna jedinica (eng.master terminal unit, MTU).

    MTU je raunar na kome se realizuje nadzor i upravljanje razliitim udaljenim procesima. U centralnoj jednici vri se prikupljanje podataka i to periodino, inicirano odreenim dogaajima ili na zahtjev operatera. Sve informacije, bilo da su vezane za stanja procesa, komunikaciju, preduzete upravljake akcije, greke i sl., slivaju se u bazu podataka. Na osnovu ovih podataka dobija se informacija o trenutnom stanju sistema, analizira se performansa, formiraju razliiti izvjetaji i arhiviraju se odgovarajui podaci. U zavisnosti od veliine sistema moemo imati i vie centralnih jedinica vezanih za jedno postrojenje. RTU

    RTU-ovi (eng. Remote Telemetry Units udaljene telemetrijske jedinice) omoguavaju pretvaranje elektrinih signala primljenih iz mjernih jedinica, u jezik, koji predstavlja formu prenosa podataka preko komunikacijskog kanala. U SCADA sistemu, RTU izvrava specifine zadatke (npr. operacije nad kontrolnim takama, postavljanje nivoa analognih izlaza te odziv na odreene zahtjeve). Takoe, obezbjeuje informacije tipa statusa, te akumulira podatke za glavnu stanicu. Reprezentacija podataka koja se alje je analogna i ima jedinstveno adresiranje. RTU su mali ureaji namijenjeni iskljuivo za koritenje u vanjskim prostorima i industrijskim sredinama. PLC

    PLC (eng. Programmabile Logic Controller) je ureaj koji se koristi za automatski monitoring i kontrolu industrijskih ureaja. Moe biti koriten samostalno ili u kombinaciji sa SCADA ili drugim sistemima. PLC dodaje programsku podrku u formi logikih

  • 24

    procedura koje se izvravaju u tano odreenim uslovima karakteristinim za dati ureaj kojim PLC upravlja. Komunikacijska mrea

    Komunikacijska mrea ostvaruje vezu izmeu centralne terminalne stanice (MTU-a) i udaljenih stanica (RTU-a) i vri prenos podataka MTU i RTU izmeu njih. Ona moe biti izvedena:

    - radio komunikacijom (primjerena velikim udaljenostima RTU-a i MTU-a),

    - putem telekomunikacijske mree (sa obinim modemima ili modemima spojenim poprenim vezama ako nam ne treba stalna veza sa RTU-om, koristimo obine modeme, jer je to jeftinija solucija),

    - poloenim vodovima (najvie u industriji, tj. na kratkim udaljenostima unutar postrojenja).

    Komunikacioni sistemi se prema vrsti medija mogu podijeliti na ine, beine I optike. Primjeri inih komunikacijskih sistema su postojee telefonske linije, zakupljene telefonske linije, mree uih podruja (LAN,RS485), internet i druge. Velika prednost LAN i RS485 mrea je njihova potpuna nezavisnost. Ipak one se primjenjuju samo u uslovima gdje je udaljenost izmeu objekata komunikacije limitirana (fabriki krug). Beini komunikacioni kanali su podloni interferenciji, iezavanju i guenju signala, to zahtijeva primjenu robusnih komunikacionih protokola. Optiki komunikacioni sistemi su otporni na bilo kakvu vrstu elektromagnetne interferencije obzirom da optiki kablovi za prijenos signala koriste svjetlost umjesto elektriciteta. SCADA sa LAN mreom

    LAN je komunikacijski put izmeu raunara, servera, terminala, radnih stanica i razne druge inteligentne periferne opreme. LAN omoguava ogranienom broju korisnika pristup ureajima. Ethernet je najee koriteni LAN, jer je jeftin i jednostavan za upotrebu. Upotreba WAN-a u SCADA sistemu

    WAN (eng. Wide Area Network mrea velike povrine) povezuje centralni raunar sa multiplekserima i moe se smatrati kimom distribuiranog SCADA sistema. Moe da sadri komunikacijske medije poput: optikog kabla, radio ili satelitske veze (u zavisnosti od distribuiranosti SCADA sistema). Veoma je bitno pravilno dimenzionirati WAN linkove kako bi mogli nositi WAN saobraaj. Instrumentacija

    - Mjerai nivoa u rezervoaru mjerai protoka vode odailjai poloaja ventila, odailjai temperature, mjerai utroka energije i mjerai pritiska

    - Analitiki instrumenti - Dijagramski snimai, digitalni indikatori, rekorderi, procesni kontroleri - Aktuatori pozicioneri elektrini aktuatori na ventilima, kontroleri rada motora i

    ureaji za hemijsko doziranje)

  • 25

    Upravljanje SCADA sistemima Kod SCADA sistema funkcije upravljanja se dijele na:

    1. lokalno upravljanje moe biti runo ili automatsko, 2. daljinsko upravljanje moe biti runo ili automatsko.

    Runo upravljanje na lokalnom nivou se koristi u sluaju pada kompletnog SCADA sistema, direktnim komandovanjem izvrnim organima od strane obuenih lica Zato se u nekim prilikama pored SCADA sistema, ostavljaju kontrolni ormari preko kojih se proces ranije runo vodio. Automatsko upravljanje na lokalnom nivou realizuje PLC ili FPGA kontroler, uz pomo programa koji je u njega uitan. Ovo omoguuje nesmetano voenje procesa i u sluaju prekida komunikacije sa ostalim djelovima SCADA-e. Runo upravljanje na daljinu predstavlja akcije operatera iz nadzorno-upravljakog centra, na osnovu podataka koji su mu prezentovani na ekranu. Automatsko upravljanje na daljinu SCADA realizuje putem specijalnog softvera koji sadri upravljake algoritme, koristei se informacijama iz baze podataka.

    Projektovanje SCADA sistema Softverske komponente SCADA sistema

    Vaan aspekt svakog SCADA sistema je raunarski softver koji se koristi unutar sistema. Dobro definisan, dizajniran, isprogramiran, provjeren i testiran softver rezultira kvalitetnim SCADA sistemom. Najoiglednija softverska komponenta MMI interfejs (eng. Man-Machine Interface), tj. paket za ovaj interfejs, je u sklopu operativnog sistema na raunaru. irok spektar komercijalnih softverskih proizvoda (eng. Commercial Of the Shelf COTS):

    - operativni sistem na centralnom serveru, - operativni sistemi na operacionim terminalima, - aplikacije centralnog raunara, - aplikacije operacionih terminala,

    - pokretai komunikacionih protokola, - softver za ureenje mree za komunikaciju, - RTU automatizacioni softver.

    Projektovanja nadzorno-upravljakog sistema se vri na ve postojeem, dobro

    razraenom sistemu, sa svom prateom mjernom opremom i izvrnim elementima. Takoe podrazumijevamo postojanje distribuiranog sistema koji sadri udaljene stanice, raunarsku mreu i opremu preko koje smo realizovali istu. Od projektanta se oekuje da bude upoznat sa cijelim sistemom, da razumije principe njegovog rada i da je definisano na koji nain e se obavljati nadzor i upravljanje radom sistema. Najvaniji kriteriji koje SCADA sistemi moraju da ispune su:

    1. dostupnost (mjeri se s obzirom na dostupnost funkcija koje sistem podrava, vano je obezbijediti sigurnost pristupa mrenim ureajima),

    2. odravanje (na raspolaganju uvijek mora biti preventivno odravanje, otkrivanje i otklanjanje greaka, mogunost primjene prilagodljivih dijelova (Asset

  • 26

    Optimization), nadogradnja, testiranje i poboljanje bez uticaja na performanse sistema),

    3. performanse (za svaku funkciju SCADA sistema moraju biti definisana vremena odziva, koja moraju djelovati u skladu sa nainom rada sistema i njegovim upravljanjem),

    4. proirivost (koja je odreena sa mogunou dodavanja novih radnih taaka, funkcija i opreme u sistem).

    Glavne funkcije SCADA sistema su:

    1. prikupljanje (akvizicija) podataka i prikaz (display) pohrana binarnih i analognih podataka u procesnu bazu,

    2. alarm i dogaaji snimanje vanih promjena i operatorskih akcija, 3. baza historijskih podataka uvanje pohranjenih vrijednosti procesnih varijabli, 4. obrada izmjerenih podataka raunanje izvedenih vrijednosti (npr. nadzor limita), 5. evidentiranje i izvjetavanje, 6. Human Machine Inerface (HMI) grafiki prikaz stanja objekta, liste, izvjetaji, 7. rukovanje operatorskim komandama (naredbama) binarne komande, uputstva,

    skripte. HMI za ininjering (HMI-E) sadri:

    1. Konfiguracija postrojenja povezivanje novih ureaja, program, dostavljanje i popravka ureaja, dodjeljivanje imena i adresa ureajima

    2. Izgled (oblik) ekrana i tastature elementi slike, slikovne varijable 3. Definisanje komandnih sekvenci komandni jezik 4. Definisanje protokola ta je dogaaj i kako ga treba registrovati 5. Parametriziranje front-end ureaja referentne vrijednosti, limiti, koeficijenti 6. Dijagnostika pomo zapisivanje situacija kvara, lokalizacija kvara

    HMI za postrojenje (HMI-P) sadri:

    1. prikaz stanja postrojenja lampa, instrumenti, ekran, foto, prikaz trendova i alarma, prikaz poruka odravanja,

    2. protokol stanja postrojenja snimanje procesnih varijabli i dogaaja sa vremenskom ovjerom,

    3. dijalog sa operatorom upis teksta, provjera i potvrda, 4. direktne komande pritisak dugmeta, dodir ekrana ili tastature, 5. snimanje svih manipulacija snimanje svih komandi, a posebno kritinih

    operacija, 6. oznaavanje objekta zakljuavanje objekta i komandi, 7. administracija ispravan prisup, sigurnosne razine, 8. Online pomo konstrukcija crtea, pristup Internetu.

    Funkcije operatorskog suelja su:

    1. grafika procesa, 2. rukovoenje dogaajem/alarmom, 3. kretanja (trendovi), 4. historija, 5. integracija kontrolera, 6. uputstva.

  • 27

    Tehnoloki aspekt nadogradnje SCADA sistema

    Program optimizacije rada ureaja donosi i tehnoloka unapreenja koja se moraju desiti nad postojeim kontrolnim SCADA sistemima Trenutno SCADA ukazuje na probleme, a cilj je da SCADA ukazuje na potencijalne probleme prediktivna dijagnostika. Bitno pravilno odravanje senzora, te napraviti optimalan plan odravanja, jer su senzori izvor informacija SCADA sistema; opcionalno uvesti napredne inteligentne senzore. Uvode se programi napredne dijagnostike nad mainskom opremom i prikupljanje informacija Asset Optimizacija - ideja optimizacije postrojenja i ureaja bazirana na optimalnoj upotrebi informacija koje dolaze iz samog postrojenja Ekonomski aspekt Asset optimizacije:

    - maksimalan profit se ostvaruje samo onda kada itavo postrojenje operie na optimumu i u optimalnim uslovima,

    - optimum lokalne procesne jedinice ili opreme nije jednak optimumu itavog postrojenja,

    - optimalno poslovanje u funkciji raznih faktora, - optimizacija rada ureaja => optimizacija rada postrojenja => postizanje veeg

    profita. Tehnike prednosti Asset optimizacije: - bolja iskoritenost inteligentnih ureaja u postrojenju, - poboljanje efikasnosti operacija odravanja, - smanjeno vrijeme kalibracije i konfiguracije, - poboljanje cjelokupne dostupnosti postrojenja preko optimiziranih MMI interfejsa.

    Real-time komunikacije

    Bitan faktor evolucije ugradbenih sistema jesu distribuirani ugraeni sistemi, to ukazuje na znaaj mrene infrastrukture i komunikacionih protokola. Mreni ugraeni sistem je kolekcija specijalnih i funkcionalno distribuiranih ugraenih vorova, uvezanih ianom i/ili beinom komunikacijskom infrastrukturom i protokolima, te djelujui sa okruenjem (senzori/aktuatori) i meusobno. Kontroleri ugraeni u vorove ili ureaje polja (kao to su senzori i aktuatori) obino obezbjeuju on-chip konverziju signala, procesiranje podataka i signale te komunikacione funkcije. Brojne aplikacije:

    - industrija monitoring i kontrola, - automatizacija zgrada,

    - automobilska industrija, - vozovi, avioni...

    Mrene tehnologije i aplikacije u industriji: - uredske mree: TCP IP, Ethernet; - mree procesa: Ethernet, ControlNet.

  • 28

    Mrene tehnologije i aplikacije Specijalizovane mrene tehnologije ovise o aplikaciji: - industrijska kontrola i automatizacija: PROFIBUS, PROFInet, Ethernet/IP

    (podravaju real-time komunikacije); - automatizacija elektroenergetskih sistema (proizvodnja TE i HE,

    vjetroelektrane, distribucija, prenos elektrine energije): IEC870.5.101, IEC870.5.103, 104, SPA protokol, LON);

    - automobilske aplikacije: CAN, TTP/C, FlexRay; - automatizacija i kontrola zgrada, centralno grijanje: LonWorks, BACnet,

    EIB/KNX;

    - automatizacija vozova: TCN (Train Communication Network). Primjeri mrenih sistema: - Mreno uvezani ureaji polja (senzori i aktuatori) sa kontrolerima: programabilnim

    logikim kontolerima (PLC-ovima) u industrijskoj automatizaciji ili elektonikim kontrolnim ureajima (ECU-ovi) u ugraenim mikrokontrolerskim (automobilskim aplikacijama)

    Sabirnica polja (Fieldbus)

    Industrijski komunikacioni protokoli koji se koriste na polju mjerenja i upravljanja se nazivaju fieldbus protokoli. Ovi protokoli u SCADA sistemima su napravljeni iskljuivo za rad u uslovima smanjene pouzdanosti komunikacije, da omogue siguran prijenos podataka, garantujui pouzdan prijenos podataka do eljenih destinacija. Veina protokola posjeduje sistem za detekciju greaka i tehnike za ponovno slanje poruka.

    Omoguava uveanu fleksibilnost, unapreuje sistemske perfomanse, te olakava sistemsku instalaciju, proirenje i podrku, manjuje oienje, jednostavno locira kvar i olakano je odravanje. Nedostatak je to fiziki poveavaju postrojenja.

    Primjene: Pumpe, upravljake elektrode, ventili, motori, senzori nivoa vode, mjerai protoka,senzori temperature, mjerai gasa (CH4), , rasporeeni su na podruju od nekoliko km2. Neki dijelovi postrojenja mogu se nalaziti unutar eksplozivne atmosfere. Oienje je tradicionalno 4-20 mA, rezultirajui u dugim nizovima kablova (nekoliko 100 km). Koriste se u formi Man-Machine Interfejsa u okviru SCADA sistema. TTP Time-Triggered Protocol

    TTP (Time-Triggered Protocol) je otvorena i modularna platforma kontrolnih sistema, lako dogradivih i integrisanih. Cilj: Real-time protokol niske cijene za poveanje sigurnosti vremenski kritinih sistema. Protokoli u SCADA LAN mreama:

    - Ethernet TCP/IP najee koriteni mreni protokol. Primarno dizajniran za komunikaciju izmeu raunara.

    - DeviceNet oslanja se na CAN (eng. Controller Area Network mrea kontrolera) tehnologiju. Dizajniran je kako bi bio otporan na sredine bogate umom.

    - ModBus najee koriten za komunikaciju sa PLC-ovima. Takoer se koristi za spajanje nadzornih raunara sa RTU-ovima.

  • 29

    - ProfiBus najee se koristi za komunikaciju sa mjernim instrumentima - LonTalk protokol optimiziran za kontrolu mrenih ureaja putem parice,

    dalekovoda, optikih vlakana i radio veze. Izgraen je na referentnom OSI (eng. Open System Interconnection otvorena mrena veza) modelu i implementira svih 7 slojeva povezanosti.

    Industrijski Ethernet

    EtherNet/IP (Ethernet Industrial Protocol) je otvoreni komunikacioni protokol razvijen od Rockwell Automation za koritenje u procesnoj kontroli i drugim industrijskim aplikacijama automatike. EtherNet/IP je izveden na standardnom TCP/IP steku i koristi svih 7 nivoa OSI referentnog modela

    Danas PLC-ovi komuniciraju koritenjem protokola poput Modbus-a, Profibus-a, CANopen, DeviceNet, FOUNDATION Fieldbus-a. MODBUS

    Kompatibilan sa TCP/IP-om. Relativno mala brzina prenosa podataka (reda Kbit/s), ali je osiguran vremenski odziv reda milisekunde. MODBUS/TCP kreirala je kompanija Modicon/Group Schneider kasnih 70-tih i danas predstavlja jedan od najpopularnijih protokola ugraenih u TCP/IP okvire Etherneta. MODBUS/TCP je komunikacijski protokol dizajniran za podrku industrijske opreme (npr. PLC-ovi), raunara, operatorskih panela, motora, senzora i drugih tipova fizikih U/I ureaja. MODBUS TCP/IP je postao industrijski standard zbog otvorenosti, jednostavnosti, niske cijene razvoja, minimuma hardvera neophodnog za podrku. PROFIBUS

    PROFIBUS je standardiziran, otvoren digitalni komunikacijski sistem za sva podruja primjene u proizvodnoj i procesnoj industriji. Pogodan je za brze (do 12Mbit/s), vremenski zahtjevne aplikacije i sloene komunikacijske zadatke ime je omogueno da centralni programabilni kontroleri (PLC, PC) ili sistemi za kontrolu procesa komuniciraju sa distribuiranim ureajima polja preko brze serijske veze.

    PROFInet je namijenjen komunikaciji prema viim nivoima i predstavlja suelje prema Ethernetu.

    PROFIBUS DP (Distributid Processing) namijenjen je za komunikaciju PLC-ova i distribuiranih U/I ureaja.

    PROFIBUS PA (Process Automation) se koristi za povezivanju senzora i aktuatora u opasnim podrujima (npr. hemijska industrija). CAN (Control Area Network)

    Standard u automobilskim bus sistemima, dizajniran da dozvoli mikrokontrolerima i ureajima da komuniciraju meusobno unutar vozila bez host raunara. Razvijen krajem 80-ih za potrebe auto industrije (Robert Bosch GmbH), za povezivanje velikog broja elektronikih ureaja u vozilu. Alternativa je bila direktno oiavanje potrebnih veza. Naao je primjenu i u drugim podrujima industrijske automatizacije, te u ugraenim raunarskim sistemima (medicinska oprema,...) CAN je protokol baziran na porukama; to je irokopojasna serijska sabirnica za efikasnu podrku distribuiranim raunarskim

  • 30

    sistemima u realnom vremenu (moe da kontrolie do 70 elektronskih kontrolnih jedinica (ECU)). Ureaji (senzori, aktuatori i dr.) su povezani preko CAN bus-a koritenjem host kompjutera ili CAN kontrolera. Primjenjuje difuzijski prijenos poruka poruka ima identifikator umjesto adrese. FlexRay

    Komunikacijski protokol za distribuirane sisteme za rad u realnom vremenu. Osobine:

    - deterministiko i real-time ponaanje, vremenski i dogaajno trigerovano, - visok nivo pouzdanosti, neovisnosti, - podrava optike i elektrike prijenosne medije, - brzine prenosa 20 Mbit/s, a moe i vie ako se koristi sabirnica sa 64 vora (ide se

    na 100 Mbit/s),

    - jednostavno dodavanje/uklanjanje vorova bez naruavanja aplikacije. Primjena: automobili (BMW, Audi, Volkswagen), sistemi upravljanja (npr. upravljanje elektrinom energijom), sistemi upravljanja vuom (npr. program elektronike stabilnosti, inercijalni senzori), vazduni jastuci i sve druge primjene gdje se trenutno koristi CAN. Upravljanje u sistemima pametne kue i automatizacija zgrada

    Sistem pametna kua preuzima brigu i kontrolu nad svim ureajima u stanu, porodinoj kui, kancelariji, hotelu i dr. Ovaj sistem e zatvoriti prozore kad pone da pada kia, kontrolisati i regulisati temperaturu, ventilaciju i rasvjetu, sprijeie poplavu, poar, isticanje plina, signalizirati neovlateni pristup, te omoguiti da cijelim sistemom upravljamo na vie naina: daljinskim upravljaem, raunarom, telefonom, internetom i sl. Pametna kua je koncept modernog domainstva i ivljenja u njoj. Kua je pametna, jer se prilagoava trenutnoj aktivnosti, raspoloenju navikama i ivotnom stilu svakog ukuana, a pri tome ostvaruje znaajne energetske utede. Velika prednost ovih sistema je olakavanje ivota bolesnim, nemonim, te starijim osobama. Sistem je potpuno otvoren za eventualnu dalju nadogradnju u sluaju novih potreba, prilagoavanja i reprogramiranja. Inteligentne elektrine instalacije EIB European Installation Bus

    EIB vodei svjetski sistem elektrinih instalacija koji e u dogledno vrijeme u potpunosti zamijeniti klasine elektrine instalacije. EIB komponente moemo podijeliti u dvije grupe:

    1. komponente koje prikupljaju informacije iz okoline i alju ih u sistem, 2. izvrne komponente, koje e na osnovu informacija iz sistema odraditi funkciju za

    koju su namijenjene. Osnovni protokoli za umreavanje kunih ureaja: - X10, - CEBus,

    - BACnet, - LONWorks.

  • 31

    X10 protokol

    Definisan je 1977 godine u Americi. Medij za prenos podataka je ve postojea elektrina instalacija. Koristi se ako imamo maksimalno 256 razliitih ureaja u mrei. Prednosti ovakvog umreavanja su: jednostavnost instaliranja i relativno niska cijena na tritu. Glavni nedostaci su razne vrste interferencija i umova koji ureaji unose u mreu, kao i relativno mali broj razliitih ureaja koji se mogu prikljuiti na mreu. CEBus protokol

    CEBus je razvijen 1984 godine. Stavke koje su uticale na standard:

    - mogunost nadogradnje kune automatizacije u ve postojee kue ili stanove, - dozvoliti koritenje kompatibilnih ureaja, - podsticati razvoj interfejsa sa malom cijenom, - omoguiti koritenje raznih vrsta medija za prenos podataka, - podravati distribuirani irokopojasni audiovideo servis u analognom i digitalnom

    formatu,

    - koristiti distribuiranu komunikacionu strategiju za CEBus, tako da se ne koristi centralni kontroler,

    - osigurati da se komponente i ureaji mogu dodavati i uklanjati iz mree bez prekida (plugandplay),

    - osigurati povoljnu metodu za pristup na zajedniki medij. CEBus podrava sljedee medije za prenos podataka: - energetske linije,

    - upredene parice, - koaksijalne kablove, - infracrvene signale,

    - radiofrekventne signale, - optika vlakna, - audio i video kanale.

    Protokol podrava fleksibilnu topologiju mree. Svi ureaji oslukuju poruke istovremeno. Samo onaj ureaj kome je poruka namijenjena ita poruku i reaguje na nju. Kontrola je distribuirana izmeu CEBus ureaja i medijskih usmjerivaa. BACnet protokol

    Osnovne ideje BACneta: - mora biti primjenjiv na sve tipove sistema koji postoje u jednoj zgradi ili objektu,

    - kombinacija nekoliko tipova lokalnih mrea za prenos BACnet aplikacijskih poruka, - BACnet prua sofisticiran model za opisivanje sistema svih tipova automatizacije.

    Komponente modela:

    - objekti skupovi osobina od kojih svaki predstavlja neki dio informacije ili parametara,

    - servisi pruaju standardne metode u sluaju da jedan BACnet ureaj trai od drugog da neto izvede ili da ga obavijesti o neemu to se dogodilo.

  • 32

    LONworks

    Lokalno upravljana mrea (eng. Local Operating Network) sastoji se od vorova koji su povezani na jedan ili vie komunikacijskih medija, tako da mogu meusobno komunicirati pomou zajednikog protokola. Glavni elementi LONworksa su: - LonTalk protokol, - neuro-ipovi, - LONwork primopredajnici, - softver za upravljanje mreama.

    LonTalk protokol

    LonTalk protokol je skup servisa koji podravaju pouzdanu komunikaciju izmeu vorova. Glavne pogodnosti LonTalka su: - izdvajanje razvoja LONworks kompatibilnih ureaja od prenosa podataka putem

    LONa, - instalaterima prua ogromnu fleksibilnost pri izboru vora za odreenu primjenu, - osigurava predvieno ponaanje mree pri svim uslovima.

    Kljune stvari ovog protokola su: - pouzdanost, - raznolikosti komunikacijskog medija, - vrijeme odziva, - mala cijena kotanja, - interoperabilnost, - mrene varijable, - standardni tipovi mrenih varijabli, - LonTalk protokol servis,

    - mreno upravljanje servisima, - LonTalk adresiranje.

    Bluetooth beina tehnologija

    Ova tehnologija omoguava komunikaciju izmeu ureaja i njihovo beino povezivanje putem bluetooth pristupnih taaka sa mreom za prenos govora ili s internet mreom velikim brzinama. Bluetooth ureaji rade u frekvencijskom pojasu od 2,4 GHz. Upotrebljava se tehnologija frekvencijskog preskakanja sa rasprenim spektrom FHSS. Raspoloivi spektar se dijeli na 79 komunikacijskih kanala irine 1MHz. Pri komunikaciji radio primopredajnici preskau s kanala na kanal na pseudosluajan nain.

  • 33

    Automatizacija u zgradama Ciljevi automatizacije u zgradama su:

    - uteda energije (energetska efikasnost), - smanjenje trokova upotrebe i odravanja zgrade, - poveavanje udobnosti stanovanja i rada, - poveavanje produktivnosti uposlenih u poslovnim zgradama, - brze i jednostavne promjene unutar prostora itd.

    Vitalnim funkcijama u automatizovanoj zgradi upravlja jedan ili vie procesnih raunara uz nadzor i voenje iz centra za nadzor i upravljanje zgradom. Centar za nadzor i upravljanje zgradom je programskosklopovski sistem koji prikuplja i obrauje podatke oitane s mjernih ureaja, te upravlja svim podsistemima u zgradi. Sistemi daljinskog upravljanja

    Daljinsko voenje je tehnika voenja sistema na daljinu u situacijama u kojima neposredno (blisko) upravljanje nije ostvarivo, jer je opasno i/ili nedostupno. Udaljenost moe biti od nekoliko centimetara (mikroprostori) do vie miliona kilometara (upravljanje svemirskim letjelicama).

    Sistemi daljinskog voenja mogu se klasificirati na osnovu broja stanja u kojima se sistemi mogu nai: 2 stanja: ukljueno (ON) i iskljueno (OFF), npr. zvono na vratima i teleroboti sloeni sistemi voeni na daljinu koji imaju vie od 2 stepena slobode kretanja. Osnovni pojmovi:

    - teleoperacija tehnika upravljanja vozila ili sistemima sa udaljenog mjesta, - operator ovjek koji nadzire upravljaki stroj i poduzima neophodne upravljake

    akcije,

    - teleoperator daljinski voeno vozilo ili sistem; sofisticirani teleoperator moe se zvati i telerobotom.

    Operator se nalazi u lokalnoj sredini, a teleoperator u udaljenoj sredini. Komunikacija izmeu operatora i teleoperatora najee se svodi na komunikaciju izmeu klijenta i servera. Client server komunikacija

    Komunikacija izmeu servera i klijenta se odvija po pravilima komunikacijskog protokola, koji je dizajniran tako da odgovara zahtjevima teleoperatora. Postoje 3 vrste podataka: kratki senzorski podaci, komande za kretanje i slike. Osnovni pojmovi:

    - mehanika manipulacija upravljake naredbe se od operatora do teleoperatora prenose mehaniki hidrauliki;

    - telemanipulacija upravljake naredbe se prenose od operatora do teleoperatora elektriki;

    - daljinsko upravljanje (Remote Control) upravljano vozilo na udaljenom radnom mjestu, senzorski u vidnom polju operatora;

    - teleoperacija pooptenje telemanipulacije na mobilne sisteme (robote) te sisteme upravljanja preko komunikacijskih medija;

    - nadzirano upravljanje (Supervisory Control) velika autonomnost udaljenog sistema, a operator samo nadzire njegov rad i djeluje povremeno

  • 34

    Telemanipulacija

    Tipovi teleoperacija Upravljanje u zatvorenoj petlji (direktna teleoperacija)

    Operator direktno upravlja aktuatorima teleoperatora i dobiva povratne signale u realnom vremenu. Ovo je mogue samo kada su kanjenja u krugu mala i dinamika teleoperatora dovoljno spora. Koordinirana teleoperacija

    Operator upravlja aktuatorima teleoperatora, ali postoje i neke regulacijske petlje na samom teleoperatoru. Teleoperator nema autonomiju, ali se na njemu zatvaraju one regulacijske petlje kojima operator ne moe upravljati zbog kanjenja i dinamike. Nadzirano upravljanje

    Veliki dio upravljanja obavlja se autonomno na teleoperatoru. Operator uglavnom nadzire njegov rad i daje naredbe vieg nivoa. Ponekad se koristi i termin teleoperacija zasnovana na zadatku (eng. task-based teleoperation). Primjena novih raunarskih tehnologija u teleoperaciji omoguava operatoru dobijanje osjeaja prisutnosti u udaljenom prostoru: - Daljinska prisutnost (Telepresence): Teleoperater se nalazi izvan vidnog polja

    operatora, a senzorske informacije (video, slika, zvuk, sila itd.) daju operatoru osjeaj prisutnosti u udaljenom prostoru.

    - Virtuelna prisutnost (Virtuelna stvarnost, Virtual Reality): Slina pojmu daljinske prisutnosti, s tim da su udaljeni prostor, teleoperator i senzorske informacije generisani virtuelno u raunar.

    - Proirena stvarnost (Augmented Reality): Predstavlja kombinaciju virtuelne stvarnosti i informacija iz stvarnog udaljenog prostora.

    Problem kanjenja

    U teleoperacijskoj petlji uvijek postoji kanjenje. Svaki dio sistema ima neko kanjenje, a digitalni sistemi ga poveavaju. Informacijsko kanjenje je nuno, a energetska interakcija naruava stabilnost sistema.

    Smanjenje utjecaja kanjenja postie se primjenom tehnika virtuelne i proirene stvarnosti i koritenjem povratne veze po sili sa algoritmima predikcije i kompenzacije kanjenja.

  • 35

    Real-time operativni sistemi

    Operativni sistem (OS) je skup softverskih proizvoda koji udrueno kontroliu sistemske resurse i procese unutar jednog raunara, nadgledajui raunarski hardver. Ukoliko kontrola rada zadovoljava set specificiranih vremenskih ogranienja, operativni sistem se zove real-time operativni sistem (RTOS). Tipovi operativnih sistema:

    - real-time operativni sistemi (let aviona, kontrolni algoritam koji se izvrava 40 puta/sec),

    - ne-real-time operativni sistemi (rezervacija avionskih karata), - statiki operativni sistemi (broj taskova mora biti tano definisan prije vremena

    izvrenja i nema promjena), - dinamiki operativni sistemi (broj taskova nije unaprijed poznat, kreiraju se i

    unitavaju u toku rada sistema), Real-time aplikacije operativnih sistema su esto ugraene (embedded), jer su storirane u ROM-u kompjuterskog sistema, koji je dio veeg sistema, pa su tog tipa real-time sistemi statiki. Funkcije operativnog sistema:

    1. rasporeivanje procesa (task scheduling) odreuje koji proces e se izvravati,

    2. uzajamno iskljuenje procesa (task dispatching) vri neophodne pripreme za poetak izvoenja zadatka,

    3. komunikacija izmeu procesa (intertask communication) prenos podataka i sinhronizacija.

    Program je pasivna, statina sekvenca instrukcija, koja moe predstavljati

    hardverske i softverske resurse sistema. Stvarno izvrenje programa je aktivni, dinamiki dogaaj, kod kojeg se razliita svojstva mijenjaju sa vremenom pri izvrenju instrukcije.

    Proces (esto se naziva i task u nekim ugraenim sistemima) se kreira od strane OSa, kako bi objedinio sve informacije, koje su ukljuene pri izvrenju programa (i stek i izvorni kod i podatke). Ovo znai da je program samo dio taska.

  • 36

    Multitasking sistemi Zasebni procesi djele jedan procesor ili vie procesora. Svaki proces se izvrava unutar vlastitog okvira: posjeduje procesor, vidi vlastite varijable, moe biti interaptiran. Procesi mogu interreagovati u cilju izvrenja kompletnog programa. - Promjena sadraja (Context switching) kada CPU prelazi sa obrade jednog

    procesa na drugi;

    - Proces uvanja minimalnih informacija o real-time procesima kako bi se isti procesi mogli ponovo postaviti za izvoenje nakon sto su prekinuti;

    - U toku promjene sadraja, interapti su onemogueni; - Real-Time sistemi zahtjevaju minimalno vrijeme za promjenu sadraja.

    Rasporeiva procesa

    Kljuni faktori koji utiu na efektnost i perfomanse algoritma rasporeivanja: - vrijeme kompletiranja taska, - propusnost,

    - vrijeme ekanja, - vrijeme odgovora.

    Real-Time strategije rasporeivanja procesa: - sistemi prozivke (eng. Polled Loop Systems), - sistemi voeni prekidom (eng. Interrupt Driven Systems), - multitasking sistemi, - prednje-pozadinski (Foreground/Background) sistemi, - potpuno opremljeni real-time sistemi (eng. Full-Featured).

    Sistemi prozivke

    Najjednostavniji real-time kerneli. Ponavljajui set instrukcija koriste se za testiranje zastavice (flag), koja pokazuje da li se neki dogaaj desio. Kako postoji samo jedan proces, nije potrebno imati rasporeivanje procesa i meusobnu komunikaciju izmeu procesa.

  • 37

    Prednosti:

    - jednostavne za implementiranje i debagiranje,

    - lako odrediti vrijeme odziva. Nedostaci:

    - troe CPU vrijeme, posebno kada se dogaaj javlja rijetko, - nisu dovoljne za rukovanje komplikovanim sistemima, - esto mogu pogrijeiti, jer razvoj dogaaja nije uzet u obzir

    Sistemi voeni prekidom

    Razliiti procesi u sistemu su rasporeeni preko hardverskog ili softverskog interapta, dok se uzajamno iskljuenje izvodi pomou rutina rukovanih interaptima. Multitasking rasporeivanje procesa Postoje dva osnovna koncepta algoritma rasporeivanja, koji se implementiraju u ugraenim OS: - preduhitrivi algoritmi (preemptive), - nepreduhitrivi algoritmi (non-preemptive).

    Preduhitrivi algoritmi:

    - Round-Robin prvi odao, prvi obraen (FIFO First In, First Out) rasporeiva, - Preduhitrivi prioritetni (Priority Preemptivw) rasporeiva, - EDF (Earliest Deadline First/Clock Driven) rasporeiva.

    Nepreduhitrivi algoritmi:

    - Prvi doao prvi servisiran, izvriv do kompletiranja (First Come, First Serve FCFS),

    - Najkrai proces sljedei, izvriv do kompletiranja (Shortest Process Next (SPN) Run-To-Completion),

    - Kooperativni (Cooperative). Round-Robin sistemi

    Nekoliko procesa se izvodi sekvencijalno do zavretka. Svaki proces koji se izvodi je odreen fiksnim vremenskim iznosom. Proces se izvodi dok se ne zavri ili dok ne istekne njegovo vrijeme izvrenja izdavanjem clock interapta. Ako se proces nije izvrio do kraja, njegov sadraj se mora sauvati. Proces se tada premjeta na kraj liste gdje se nalaze procesi za izvravanje.

  • 38

    Preduhitrivi prioritetni sistemi

    Za procese vieg prioriteta se kae da su preduhitrivi (preemitivni) u odnosu na procese nieg prioriteta ako oni prekidaju procese nieg prioriteta. Proces nieg prioriteta se i dalje izvodi dok se proces vieg prioriteta priprema za poetak. Sistemi koji ovo koriste umjesto Round Robin odluivanja zovu se preduhitrivi prioritetni sistemi. Prioriteti interapta mogu biti fiksni ili dinamiki.

    Kod ovih sistema multitasking nije perfektan. Visoko-prioritetni taskovi mogu zauzeti resurse i blokirati procese niskog prioriteta. Nisko-prioritetni procesi dijele resurse sa visoko-prioritetnim procesima i mogu ih blokirati. U ovom sluaju RTOS vri promjenu prioriteta. Rasporeiva tipa prvi proces sa najskorijim vremenom zavretka (EDF rasporeiva)

    Ovaj rasporeiva odreuje prioritet procesa na osnovu tri parametra: frekvencije, granice izvrenja i trajanja. Prednje-pozadinski sistemi

    Najpogodnije hibridno rjeenje za ugraene aplikacije. Ukljuuju set procesa sa prekidima: - prednji (foreground), - grupu procesa bez prekida pozadinski (background).

    Sva Real-Time rjeenja su specijalni sluaji Foreground/Background sistema. Potpuno opremljeni real-time sistemi

    Dostupni su kao komercijalni proizvodi i oslanjaju se na kompleksne operativne sisteme koristei Round-Robin, prioritetnu preduhitrivu strategiju ili kombinaciju ova dva naina rasporeivanja. Uzajamno iskljuenje procesa

    Potreba za kontrolom pristupa djeljenim resursima ili zajednikom podatku predstavlja jednu formu sinhronizacije procesa, koja se zove uzajamno iskljuenje, gdje je potrebno osigurati da dva procesa nisu u kritinim sekcijama u isto vrijeme. Ova uslovna sinhronizacija zahtjeva da proces bude blokiran ili da

  • 39

    kasni sve dok specificirani uslov je taan ili pogrean. Kritina sekcija je resurs kojeg taskovi mogu djeliti isto kao i I/O portove ili

    segment memorije u kojima se itaju ili piu zajednike varijable. Varijable mogu biti poput pojedinanog bita ili kompleksne poput fajla ili tabele. Rjeenje kritine sekcije: - Mora obezbijediti mutualnu ekskluziju u kritinom regionu: ako je jedan task u

    kritinom regionu, ne moe biti dozvoljen pristup drugom; - Mora preventirati deadlock ako dva ili vie taskova pokuavaju ui u kritinu

    sekciju, jedan mora uspjeti;

    - Mora obezbijediti progres kroz kritinu sekciju. Naime, ako nema taska u kritinoj sekciji i neki drugi task eli da ue, samo taskovi koji nisu u izlaznoj sekciji mogu ui u kritinu sekciju kao slijedei;

    - Mora obezbijediti ogranieno ekanje. Gornja granica je vrijeme blokade taska sa najniim prioritetom od strane taska sa viim prioritetom od momenta kada postoji zahtjev za ulazom.

    Da bismo uveli nekoliko rjeenja kritine sekcije, definiimo prvo pojam atomine

    operacije: Atomina operacija je puna sekvenca koraka koja garantuje kompletiranje bez interapta. Rjeenja kritine sekcije: - flegovi, - prosljeivanje etona (token passing), - interapti, - semafori, - monitori.

    Flegovi

    Uzajamna iskljuivost sa flegovima ugraenim u atomsku operaciju. Definiimo dva procesa T0 i T1 i dva flega T0Flag i T1Flag da markiraju koji proces je u kritinoj sekciji. Atomina operacija await je oblika: Await(condition)

    {

    Iskazi

    }varijable

    Await iskazi su prikazani sljedeim kodom: Await(!T1Flag) {T0Flag = true;}

    Await(!T0Flag) {T1Flag = true;}

    Ova flag shema ispunjava tri prva postavljena uslova za rjeavanje kritine sekcije (mutualna ekskluzija, deadlock i progres). Prosljeivanje etona

    Drugo mogue rjeenje problema djeljenog bafera je koritenje etona (prava pristupa ili token-a). eton (pravo pristupa) se kontinualno prosljeuje od taska do taska i bilo koji task koji eli pristupiti kritinoj sekciji to moe uiniti kad posjeduje eton.

  • 40

    Interapti

    Problem kritine sekcije bi se mogao rjeiti ako su interapti onemogueni kada ulaze u ulaznu sekciju i omogueni kada su u izlaznoj sekciji. Specifino je da ako task implementira dugu ili beskonanu petlju u kritinoj sekciji, interapti mogu biti onemogueni dui period. Umjesto onemoguavanja svih interapta, kada se ulazi u ulazni segment, svi interapti ispod specificiranog nivoa su ili onemogueni ili maskirani. Interapt-baziran pristup rjeava probleme kritine sekcije, ali upravljajui interaptima na vlastitom procesoru. Nije efikasan kada vie procesora djeli memoriju. Semafori

    Semafori su globalni resursi i slue za sinhronizaciju taskova. Semafor je protokolni mehanizam za komunikaciju taskova.

    Postoje dvije vrste semafora: binarni i brojaki. Operacije koje se izvravaju semaforima: - inicijalizacija (kreiranje), - ekanje (pend), - signalizacija (pond).

    Binarni semafor

    Koristi se kao kontrolni mehanizam unutar programa za djeljenje resursa (meusobno iskljuenje). Signalizira deavanje dogaaja i dozvoljava da dva taska sinhroniziraju njihove aktivnosti. Svakom djeljenom resursu se pridruuje jedan semafor. Resurs sadri skup kontrolnih koeficijenata: - WAIT (koeficijenti), - SIGNAL (koeficijenti).

    Task koji izvrava prvi wait, dobiva pristup kritinoj sekciji. Drugi task e biti blokiran,

    ekajui da neki drugi task izvri signal.

  • 41

    Brojaki semafor

    Brojaki semafor (opti) koristi broj da dozvoli realizaciju nekoliko puta (do nekog max. broja). Pri zahtjevu na semafor, broja se dekrementira. Kada broja dosegne 0, bilo koji task da postavi zahtjev, semafor e biti blokiran. Kada je semafor slobodan, broja se inkrementira (analogno situaciji da imamo nekoliko kopija kljua). Monitor

    Zamjena za semafor monitor, koja je u programskim terminima jako vidljiva, jednostavna za upotrebu, ne dovodi do pogrene upotrebe i pojednostavljuje zadatak dokazivanja tanosti programa. Monitori su programski moduli koji nude vie strukture nego semafori, sa implementacijom koja moe biti efikasna. Koriste se kad su programi ogromni i kad je softver sastavljen od paralelnih taskova. Praktini sistemi imaju puno vie resursa, a jedan monitor kontrolie sve dijeljene resurse.