Fakultet elektrotehnike Tuzla
Sistemi u realnom vremenu predavanja
Damir Nišić
1/1/2013
Real-time sistemi Real-time sistemi su sistemi kod kojih je vremensko izvršenje bitno isto onoliko koliko i korektnost izlaza. Vrijeme između prezentacije skupa ulaznih signala softverskom sistemu i pojave asociranih izlaza naziva se vrijeme odgovora softverskog sistema. Neki primjeri aplikacija real-time sistema su: sistemi vođenja 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 kućnim aplikacijama). Karakteristike real-time sistema: 1. Vremensko ograničenje.
Svaki
real-time
sistem
je
povezan
sa
nekim vremenskim ograničenjem. Jedan oblik vremenskog ograničenja je krajnji rok izvršenja zadatka. Pored toga postoje i odgoda i trajanje. 2. Kriterij nove tačnosti. Pojam tačnosti se kod real-time sistema razlikuje od onog korištenog kod tradicionalnih sistema. Kod real -time sistema, tačnost implicira ne samo logičku tačnost rezultata , nego je bitno i vrijeme izrade rezultata. Logički tačan rezultat proizveden nakon krajnjeg roka izvršavanja zadatka se smatra
netačnim rezultatom. 3. Ugrađenost. Velika većina real-time sistema je po prirodi ugrađena (ugradbena).
Ugrađeni računarski sistem je fizički ugrađen u svoju okolinu i često njome upravlja. 4. Kritična sigurnost. Kritično siguran sistem mor a biti visoko pouzdan, jer bilo koja
pogreška sistema može prouzrokovati veliku štetu. 5. Istodobnost. Real-time sistem obično treba da reaguje na ne koliko nezavisnih događaja u veoma kratkim i striktnim vremenskim ograničenjima. 6. Distribuirana i povratno-sprežna povratno-sprežna struktura. U real-time sistemima su često različite komponente sistema distribuirane na velikom geografskom području. Potrebno je osigurati i povratnu spregu kao način kontrole promjene okoline. 7. Ključnost zadatka. Ključnost zadatka je mjera cijene neizvršenja zadatka. Određuje se ispitivanjem koliko su ključni rezultati zadatka za pravilno funkcionisanje sistema. 8. Prilagođen hardver. Real-time sistem je često implementiran sa prilagođenim hardverom koji je izrađen specijalno za tu namjenu. 9. Reaktivnost. Real-time sistemi su često reaktivni. Reaktivan sistem je onaj kod
koga se održava konstantna interakcija između računara i okoline. 10. Stabilnost. Čak i pod uslovima preopterećenja real -time sistem treba da poštuje rokove izvršenja ključnih zadataka, dok se ostali zadaci ne moraju pravovremeno izvršiti. 11. Obrada iznimki. Real-time sistem treba čak i bez operatera biti u mogućnosti da otkloni grešku kako bi se spriječile katastrofalne posljedice i nastavilo što bolje funkcionisanje sistema.
1
Klasifikacija računarskih sistema
-
Softverski aspekt Sistemski aspekt Aspekt perfomanse Funkcionalni aspekt Prema oblasti primjene
Softverski aspekt: - Ugrađeni Ugrađeni sistemi (eng. embedded) – softverski sistemi koji su kompletno inkapsulirani u hardver koji kontrolišu. - Organski sistemi – sistemi kod kojih softver nije ovisan o hardveru na kojem radi. - Djelimično ovisni sistemi (eng. (eng. semi-detached) – mogu se izvršavati na različitom hardveru, uz potrebu ponovnog pisanja odre đenih softverskih modula. Sistemski aspekt: Sistem ne mora da obrađuje podatke u μs ili ns da bi bio sistem realnog vremena.
Mora imati prediktabilno, odnosno ograničeno vrijeme odziva u okviru dinamičkog 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 uništava usljed greški tipa zadovoljenja ograničenja vremena odgovora . - Hard real-time sistemi (ili samo real-time sistemi) – sistemi kod kojih greška tipa zadovoljenja ograničenja realnog vremena vodi ka greški sistema . - Firm real-time sistemi – sistemi kod kojih mala vjerovatnoća neslaganja s
vremenskim ograničenjem može biti tolerantna.
Funkcionalni aspekt: - Sistemi na bazi sata - Senzorski bazirani sistemi - Interaktivni sistemi Sistemi na bazi sata
Industrijska i tehnička postrojenja uglavnom rade u realnom vremenu i zato je neophodno promatrati vremenske konstante postrojenja. Računarski sistem koji upravlja različitim postrojenjima mora se sinhronizovati sa brzinom rada postrojenja, kako bi se uspješno izvršile akcije mjerenja, proračuna i djelovanja u realnom vremenu unutar predefinisanog radnog takta. Ova sinhronizacija se obično postiž e dodavanjem računarskom sistemu jednog vanjskog sata, tzv. sat realnog vremena. Ovaj sat daje signale koji prekidaju operacije u računaru u nekim unaprijed određenim vremenskim intervalima, te računar pokreće specifične procesirajuće taskove.
2
Senzorski bazirani sistemi To su sistemi u kojima su potrebne akcije, ne u unaprijed definisanim vremenskim trenucima ili intervalima, već kao odziv na neki događaj (npr. uključenje pumpe pri niskom nivou tečnosti u rezervoaru ili zatvaranje ventila, u cilju održanja pritiska ili temperature u posudi). Interaktivni sistemi Obuhvataju aplikacije tipa automatskog bankovnog blagajnika, sisteme za rezervaciju karata bilo koje vrste, sisteme polaganja ispita kod učenja na daljinu itd. U ovim sistemima realno vrijeme podrazumijeva vrijeme odziva koje ne prelazi definisanu vrijednost. Ovi sistemi su vrlo slični senzor ski ski 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 rasprostranjenos r asprostranjenosti: ti: - telemetrijski sistemi upravljanja (naftovodi, plinovodi, vodovodi, elektrane), - sistemi upravljanja na lokalnom kompleksnom objektu (avion, brod, podmornica, automobil i sl). uređaji i sistemi (regulator u industrijskom procesu, mašina za suđe, - kompaktni uređ
„pametna“ medicinska sonda, itd.)
Zavisno od dimenzija procesa, zavisi i dimenzija procesora neophodnog za obavljanje upravljačkih akcija, tj. da li će nam biti dovoljan mikrokontroler ili kompletan računar ili
procesni računar. Zajedničko za sisteme iz ove grube podjele: - da je računar u njima ugrađena komponenta u veći sistem, - korisnik ne može da modifikuje programe , - da zadovoljavaju dijagram procesa i događanja 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 specifični način 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 nužno jedna drugu,
sekvenca nekih akcija nije određena od strane projektanta, već od događaja koji se dešavaju u realnom vrem enu).
3
Operativni sistemi za rad u realnom vremenu (eng. Real-Time Operating Systems)
vezanih za korištenje računarskih resursa koje se sreću i kod klasičnih operativnih sistema , operativni sistem za rad u realnom vremenu treba da omogući i detekciju vanjskih događaja i adekvatnu reakciju na svaki od njih u smislu određivanja redoslijeda izvođenja pojedinih zadataka. Pored standardnog sistemskog softvera i funkcija
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 odgovarajućeg softverskog jezika za razvoj softvera: - maksimizacija sistemske fault tolerancije i pouzdanosti kroz pažljiv dizajn i -
rigorozan test. predviđanje, 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 fizičkog
sistema, štampane ploče, individualnih komponenti, pri čemu se za modeliranje hardvera i kao simulacioni alat često koristi Verilog HDL (Hardware Design Language). Softverski dio dizajna uključuje 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 fizičkim 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: Pogreške i nedostaci u dizajnu se otkrivaju ranije (u ranim fazama).
4
Proces dizajna „Odozdo-prema gore“ Prednost: Uticaj „neidealne“ implementacije može se uzeti u obzir u ranom stadiju procesa dizajna. Nedostatak: Sistem može biti simuliran samo kada je u cijelosti implementiran, tako da pogreške i nedostaci u dizajnu sistema nisu primjetni do kasnijih faza, što može uzrokovati značajne
troškove i kašnjenja u razvoju. Tehnike dizajniranja: - prirodni jezici, - matematička specifikacija , - dijagrami toka, - pseudokod, - dijagrami stanja,
-
mašina konačnog stanja, Petrijeve mreže...
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 veličine. U sistemima sa više zadataka, dijagrami toka mogu biti korišteni da opišu svaki zadatak posebno, ali međudjelovanje između procesa nije lako predstavljeno i vremensko ponašanje ne može biti opisano. Pored toga, često podržavaju neželjeni GOTO iskaz. Pseudokod Pseudokod je jezik za programiranje sa jednostavnom semantikom za koju obično nijedan kompajler nije napravljen. Koristi se za specifikaciju sistema na način koji je blizak stvarnom pisanju koda. Dijagrami stanja Definisanje stanja sistema u bilo kom vremenskom trenutku možemo prikazati korištenjem varijabli stanja. Kada dođe do bilo kakve promjene varijabli stanja, mijenja se i stanje sistema. Sistem može promijeniti stanje u zavisnosti od vremena ili specifičnih događaja. Za skup varijabli stanja, promjena stanja sa vremenom se naziva ponašanje sistema. Dijagrami stanja ili grafovi opisuju ponašanje sistema. Dijagrami stanja su moćan alat za specifikaciju i modeliranje ponašanja 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 izražava njeno ponašanje – puna ili prazna. Tranzicije između 2 stanja označavamo labeliranim usmjerenim linijama ili strelicama. Kako su linije usmjerene, dijagrami stanja nazivaju se usmjereni grafovi.
5
Mašina konačnog stanja
Mašina konačnog stanja oslanja se na činjenicu da mnogi sistemi mogu biti predstavljeni tačno određenim brojem jedinstvenih stanja. Postoje tri metode za predstavljanje mašina sa konačnim brojem stanja (eng. Finite State Machine – FSM): metoda teorije skupova, metoda dijagrama i metoda predstavljanja matricama.
Mašina konačnog stanja je prezentacija događajem vođenog (reaktivnog) sistema. U takvom sistemu, sistemski prelazi iz jednog stanja (moda) u drugo propisano stanje obezbjeđuju da definisan i uslov promjene bude tačan. Hardverska implementacija mašina konačnog stanja postiže se upotrebom VLSI, ROM-ova i diskretne logike.
Softverska implementacija se tipično pojavljuje kao ugrađeni program, koji se izvršava na različitim vrstama hardvera. FSM mašina: M=(I,O,S,λ,δ) - I – konačan neprazan skup ili vektor ulaza - O – konačan neprazan skup ili vektor izlaza - S – konačan 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 mreže
Petrijeve mreže predstavljaju formalni grafički metod modeliranja predložen 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 stohastičnost. Petrijeve mreže su tip matematičkih modela koji se koriste kako bi se identifikovale operacije koje treba izvesti u sredini višestrukog procesiranja ili višestrukih zadataka, ali se takođe mogu i grafički predstaviti. Koriste se za: dizajn komunikacijskih protokola, dizajn računarskih arhitektura , dizajn sistema baze podataka, dizajn distribuiranih sistema, dizajn upravljačke logike i planiranja za automatizirane i proizvodne sisteme, brzi razvoj prototipa itd.
6
Vrste Petrijevih mreža: - mreže stanja i pr elaza (Petrijeve mreže, predikcijske mreže) - vremenske Petrijeve mreže, - stohastičke Petrijeve mreže – najpopularnije. Najvažnija primjena Petrijevih mreža je u modeliranju složenih stohastičkih sistema DES (Discrete Event Systems). Petrijeva mreža je bipartitni graf sastavljen od: - mjesta (eng. places), koja su grafički 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 događaja u smislu definicije sistema uslova i
događaja.
MATLAB/Stateflow dijagrami:
Simulink mašina je kolekcija Stateflow blokova u Simulinku. Startanjem simulacije automatski se izvršavaju 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 moguće: - vizuelizirati model i simulirati kompleksne reaktivne sisteme bazirane na teoriji
-
mašina konačnog stanja, dizajnirati i razviti determinističke sisteme supervizijske kontrole,
jednostavno modifikovati dizajn, vrednovati rezultate i dizajn, verifikovati ponašanje sistema na bilo kom nivou dizajna. Pored toga, koristi prednosti integracije MATLAB i Simulink okruženja 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) 7
Mikroprocesori su IC koji u sebi imaju CPU formiran kao procesor opšte namjene, te periferne jedinice odabrane tako da podržavaju primjenu procesora opšte namjene. Mikrokontroleri su IC koji u sebi imaju CPU formiran kao siromašniji procesor opšte namjene, te periferne jedinice koje su odabrane tako da pojednostavljuju primjenu u upravljačkim 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 podešene za upravljačke aplikacije, aplikacije u komunikacijama, aplikacije u akviziciji podataka, aplikacije kod obrade slike i zvuka i sl. Osnove mikrokontrolera
Mikrokontroler je elektronički uređaj koji, slično kao i r ačunar, ima zadaću da zami jeni čovjeka u kontroli dijela ili skoro cijelog proizvodnog procesa. Mikrokontroleri su uglavnom dizajnirani za specifične zadaće, vrlo raznolike od slučaja do slučaja. 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 obično podrazumijeva da se CPU konektuje na različite čipove preko 8 -bitnih sabirnica. Moć (brzina) mikrokontrolera se izražava 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 aritmetičko-logičke (ALU) i upravljačke jedinice (CU).
ALU sadrži: - akumulator i/ili više registara opšte namjene, - jedinicu za aritmetičke operaci je, - jedinicu za logičke operacije.
Upravljačka jedinica u svom sastavu ima programski brojač (PC1). Ovo je registar čija je zadaća da pokazuje adresu instrukcije koja će sljedeć a biti pribavljena u instrukcijski registar.
8
ROM ROM (eng. Read Only Memory) memorija, namijenjena samo za čitanje. Njen
sadržaj je nemoguće mijenjati u toku izvođenja programa. ROM se koristi za smještanje 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 može programirati upotrebom posebnog uređaja – PROM programatora. Često se prilikom upisivanja
podataka na ovaj način kidaju unutrašnje veze, te se zbog toga PROM može -
-
samo jednom programirati; EPROM (engl. Erasable PROM) – memorija čiji sadržaj se može brisati izlaganjem ultraljubičastom (UV) svjetlu, a zatim upisivati putem EPROM programatora. Broj brisanja (izlaganja UV zrakama) je ogr aničen; EEPROM (engl. Electrical EPROM) – memorija u formi flash memorije (Flash
ROM drugi naziv za EEPROM). Može se cijeli sadržaj ili samo dio, izbrisati električnim putem (posljedica ove osobine je i integrisanje ROM-a u čip mikrokontrolera). Sadržaj se čuva i u odsudstvu napajanja. Koriste se u telefonima, pejdžerima, prenosivim računarima, PDA uređajima, itd.
RAM RAM (eng. Random-Access Memory) je oblik primarne memorije čijem se sadržaju može direktno pristupiti. RAM omogućuje upisivanje, čitanje i brisanje podataka, za razliku od ROM-a, iz kojeg je podatke moguće samo čitati. U RAM se upisuju aktivni programi, te informacije potrebne za trenutni rad računara. Kod aplikacija za rad u realnom vremenu RAM predstavlja radnu memoriju u koju se smještaju međurezultati, 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 spoljašnja komponenta. Memorija
-
CPU registri
-
RAM (read/write memorija za prihvat podataka i instrukcija programa koji se izvršava ~ 256, 512, 1024, 2048 MB )
Privremene lokacije za međurezultate i tekuće instrukcije Cache memorija (L1 – interno u procesoru, L2 – brza memorija između CPU-a i RAM-a, za podatke koje CPU često traži ~ 1MB)
Clock oscilator (sistemski sat)
Mikrokontroler izvršava program u tačno određenim vremenskim taktovima. Takt je određen frekvencijom clock oscilatora (interni RC oscilator ili oscilator sa eksternim
9
vremenskim elementom, kao što je kristal kvarca, LC rezonantno kolo). Čim se mikrokontroler pokrene, ovaj oscilator počinje sa radom. Watchdog
Za tačno izvršavanje programa mikrokontrolera brine se sigurnosni sat (watchdog). U sam mikrokontroler ugrađuje se jedan brojač koji se automatski povećava, inkrementira poslije određenog broja mašinskih ciklusa. On starta od nule, poslije njegovog aktiviranja, pa do maksimalne vrijednosti koju može dostići korištena dužina brojača. Kada dostigne maksimalnu vrijednost izvršit će reset mikrokontrolera (automatski starta unutrašnji reset, te će program započeti proceduru ispočetka). Prilikom pisanja aplikacije, programer vodi računa o ovom brojaču, te izvrši njegovo resetovanje programski uvijek kada se program završi do kraja, odnosno korektno. Ako se iz bilo kojeg razloga program zaglavi, on neće stići do kraja, te neće ni resetovati brojač. Tajmer
Brojači čiji se sadržaj mijenja u skladu sa takt impulsom kojeg generiše sat (clock) nazivaju se tajmerima. Brojanje kod tajmera može da starta od nule ili od neke druge početne vrijednosti koja je programski upisana. Također, brojanje tajmera može ići u opadajućem smjeru, od neke maksimalne vrijednosti. Po dostizanju maksimalne (minimalne) vrijednosti tajmeri počinju brojati od početne vrijednosti. Neki tajmeri kada dostignu svoju maksimalnu (minimalnu) vrijednost automatski generišu unutrašnji prekid, na osnovu kojeg se može realizirati neka upravljačka funkcija. Tajmeri se razlikuju po broju bita, pa tako imamo 8-bitne, 16-bitne, 32-bitne itd., što određuje dužinu brojanja. I/O portovi Ulazno/izlazni
portovi predstavljaju dvosmjerne rastavne stepene, koji omogućavaju vezu CPU -a i perifernih jedinica koje se dodaju kod specifičnih aplika cija. To su u osnovi registri koji mogu prihvatiti podatak od vanjskog uređaja kada vrše funkciju ulaza ili od CPU-a (tada vrše funkciju izlaza). Upisani podatak se može pročitati i on ostaje prisutan u registru do upisivanja novog podatka ili isključenja napajanja. Ulazno/izlaznom portu je moguće pristupiti kao grupi od 8 bita ili 16 bita, te pojedinačno 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 korištenjem analogno-digitalnog (A/D) konvertora (ADC). Mikrokontroler može biti opremljen sa integrisanim ADC ili analognim komparatorom koji radi pod softverskom kontrolom i obavlja A/D konverziju. ADC se 10
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 obično ima više multipleksiranih kanala sa odgovarajućom dužinom izlazne riječi. Opremljen je sa kolima za uzorkovanje i zadržavanje (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 korištenjem digitalne/analogne konverzije (DAC). Većina mikrokontrolera je opremljena sa širinsko -impulsnim modulatorima (engl. Pulse Width Modulator – PWM) koji mogu biti korišteni za dobijanje analognog napona uz pomoć odgovarajućih RC filtera. DAC se koriste za upravljanje motorima, displejima, generisanje zvuka, muzike i sl. Serijski interfejs Koristi se za serijsku komunikaciju sa eksternim uređajima. Zadatak interfejsa je da prevede: - serijski podatak u paralelni kada mikrokontroler prima podatke, - paralelni podatak u serijski kad mikrokontroler šalje podatke, - da otpremljene podatke proširi 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 drži se na logič koj jedinici, a svaki bit koji se šalje omeđen je sa START i STOP bitima. START je logička nula, a STOP logička jedinica. Frekvencija kojom se šalju ovi impulsi naziva se baud rate i njene uobičajene vrijednosti su: 1200, 2400, 4800, 9600 i 19200 Hz (bit/sec).
Ugrađeni (embedded) računarski sistemi Definicija 1: Embedded sistemi su računarski sistemi sa jako izraženom integracijom hardvera i softvera, prije svega namjenjeni da obavljaju specifične funkcije. Definicija 2: Embedded sistemi su računarsko bazirani sistemi ugrađeni u okviru drugog sistema, za koga obezbjeđuju bolju funkcionalnost i performanse. Definicija 3: Embedded sistemi su sistemi specijalne namjene kod kojih je računar u potpunosti enkapsuliran od strane uređaja kojeg kontroliše. Nasuprot računaru opšte nemjene, kakav je personalni računar (PC), embedded sistem obavlja jedan ili veći broj
unaprijed definisanih zadataka, obično sa veoma specifičnim zahtjevima.
11
Embedded sistemi za rad u realnom vremenu
Odziv na spoljne događaje uključuje: - prepoznavanje trenutka kada se događaj desio, - obavljanje procesiranja kao odziv na pojavu događaja, - generisanje rezultata za zadano vremensko ograničenje . Razlike između embedded sistema i mašina opšte namjene : 1. Embedded sistemi su nami jenjeni da obavljaju specifične zadatke, dok se PC računari prvenstveno koriste kao računarske mašine opšte namjene. 2. Rad embedded sistema podržan je od strane širokog dijapazona procesora i procesorskih arhitektura. 3. Embedded sistemi treba da su jeftini. 4. Embedded sistemi imaju ograničenja koja se odnose na rad u realnom vremenu: 1. vremenski osjetljiva ograničenja (time sensitive constraints) 2. vremenski kritična ograničenja (time critical constraints) 5. Ako embedded sistem koristi operativni sistem, to obično mora biti RTOS (Real Time Operating System). 6. Posljedice softverskih grešaka su značajno ozbiljnije kod embedded sistema u odnosu na desktop sisteme. 7. Embedded sistemi se u velikom broju slučajeva izrađuju kao baterijsko napajani uređaji pa zbog toga je imperativ da se oni izvode kao sistemi sa minimalnom
potrošnjom. 8. Embedded sistemi moraju da rade u ekstremnim ambijentnim uslovima. 9. Embedded sistemi imaju daleko manji broj ugrađenih sistemskih resursa u
poređenju sa desktop sistemima. 10. Embedded sistemi čuv aju sav svoj objektni kod u ROM-u. 11. Embedded sistemi zahtjevaju korištenje specijalnih sredstava i metoda za projektovanje. 12. Embedded mikroprocesori obično imaju implementirano namjenska debugging kola (watchdog tajmeri, self-test kola itd.). Razvojna kros-platforma Softver za embedded sistem se razvija na jednoj platformi, a izvršava na drugoj. Host sistem je sistem na kome se embedded softver razvija. Ciljni (target) sistem je embedded sistem koji se razvija. U najvećem broju slučajeva, host i ciljni sistem nisu bazirani na istom procesoru. Glavno softversko razvojno sredstvo koje čini razvojnu kros-platformu mogućom predstavlja kros-kompajler. Kros-kompajler je kompajler koji se izvršava na jednom tipu procesorske arhitekture, a generiše objektni kod za drugi, različit tip procesorske arhitekture. Softver embedded sistema Embedded RTOS (Real Time Operating Sistem) Operativni sistem je specijalizirana kolekcija sistemskih programa koja upravlja
fizičkim resursima računara. 12
Aplikativni softver Aplikativni programi su programi pisani za rješavanje specifičnih problema . Programski jezici realnog vremena: - jezici za programiranje ugrađenih računarskih sistema - asembleri - C, C++, C# - Java - MATLAB Treba da podrže izraze i analizu vremenskog ponašanja na jedan od tri načina: - eliminacija konstruktora koji imaju neutvrđena vremena izvršenja, - ekstenzija postojećih jezika (npr C za npr. realno vrijeme), - konstrukcija jezika u sprezi sa operativnim sistemima.
Kako izvršiti izbor jezika realnog vremena? Od globalnih zahtjeva na RSRV: - tačnost, - pravovremenost, - sigurnost, - pouzdanost, do zahtjeva na softver: - tačan softver , - pouzdan softver,
pa do opštih (deklaracija, tipovi, inicijalizacija, multitasking, rad sa bitima itd.) i korisničkih zahtjeva (sigurnost, čitljivost itd.). Dobre osobine C-a: - C je dobro utvr đen kao sistemski programski jezik „sazrio“ sa velikim brojem dokazanih kompajlera, koji su raspoloživi, - mnogi softverski razvojni alati (editori, debuggeri i sl.) razvijeni za C, - proizveden veliki skup C biblioteka. C++ dominantan u svijetu mikroprocesora, jer ga odlikuju: - moćne metode za rad sa izuzecima, - razvijene biblioteke funkcija za konkurentno programiranje posebnih proizvođača , - r apoloživost matematskih i opštenamjenskih biblioteka, - r aspoloživost na tržištu alata s bogatim okruženjem , - alati za prevođenje dizajna u programski dizajn jezika.
13
Hardver procesnih računara Procesni digitalni računar Bilo koji digitalni računar ne može se koristiti za upravljanje u realnom vremenu. Računar za upravljanje procesom treba da komunicira i sa postrojenjem i sa osobljem. Komunikacija mora biti efikasna i procesor mora pravovremeno izvršavati upravljačke akcije u realnom vremenu. Jedna od karakteristika računara za rad u realnom vremenu je modularna izvedba (lakše dodavanje posebnih ulaznih i izlaznih modula). Mogućnosti osnovne jedinice u terminima: snaga procesiranja, memorijski kapacitet, ulazno/izlazni propusni opseg i strukture prekida određuju perfomanse sistema u realnom vremenu.
Procesna periferija Pod procesnom periferijom se podrazumjevaju svi elementi, komponente i uređaji koji su potrebni za razmjenu informacija između procesorske jednice i tehničkog procesa. To su: mjerna osjetila (senzori), izvršni elementi (aktuatori), koji su inkorporirani u tehnički proces, kablovi i ulazno -izlazne analogne i digitalne jedinice koje su sastavni dio procesnog računara. Procesni računar prihvata informaciju o toku procesnih veličina (npr. temperature, pritiska, brzine...) preko ulaznih jedinica i djeluje na odvijanje tehničkog procesa (npr. otvaranjem /zatvaranjem ventila) preko izlaznih jedinica.
14
U mjerenju, obradi i prihvatu procesnih veličina učestvuju: - m jerni član (senzor+pretvarač), pomoću kojih se mjere fizikalne veličine i pretvaraju u električne ili optičke signale, prikladne za prenos do procesnog računara, - prenosni medij (npr. bakarni ili optički kabl) za prenos električnih ili optičkih -
signala, filter za potiskivanje eventualnih superponiranih smetnji, sklop za galvansko odvajanje i prilagođavanje s obzirom na amplitudu i
impendanciju A/D pretvarača, - multiplekser sa cikličnim ili programski upravljanim spajanjem ulaznih signala na A/D pretvarač, - A/D pretvarač (mora biti brzina pretvarača veća od brzine promjene analognog signala).
Pri djelovanju računara na proces, sudjeluju sljedeći elementi: - demultiplekser koji raspoređuje izlazne vrijednosti računara na različite izlazne -
kanale, r egistar koji memoriše vremenski diskretne vrijednosti po intervalima uzorkovanja (do trenutka narednog slanja izlazne veličine na izlazni sig nal), D/A pretvarač koji pretvara digitalnu vremensku di skretnu vrijednost u analogni signal, sklop za galvansko odvajanje i pojačalo snage prilagođeno karakteristikama aktuatora, kabl koji povezu je pojačalo snage sa aktuatorom, aktuator koji se sastoji od pretvarača i izvršnog elementa (npr. servo -motora).
Vrste procesnih signala: - binarni procesni signali poprimaju samo 2 stanja, pridružena odgovarajućim stanjima procesnih veličlina (ventil je otvoren/zatvoren, prekidač OFF/ON), - digitalni procesni signali (vremenskim diskretnim vrijednostima procesne veličine pridružene n-bitne riječi), - analogne veličine (termoparovi, mjerači pritiska, -10 - 10V, 4-20mA) – moraju biti uzorkovane, kvantizirane i skalirane, - procesni signali u obliku slijeda impulsa (zahti jevaju ih mjerači protoka, stepmotori, inkrementalni enkoderi za mjerenje brzine obrtanja...), - procesni signali u vidu „ruba impulsa“ (daju prelaz procesne veličine 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
15
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 uređ aju 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. 16
Na shemama izvedbe digitalnih ulaznih i izlaznih jedinica, egzisitiraju prespojni elementi između procesorskih jedinica i procesnih elemenata. Time se osigurava galvansko odvajanje procesnog računara od tehničkog d ijela procesa (pomoću 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 računar čita sadržaj brojača.
Prenos sadržaja iz brojača u računar je sličan opisanom za digitalni ulazni interfejs. Impulsni izlazi
Impulsni generatori šalju seriju impulsa, koji su svaki pojedinačno fiksnog trajanja (npr. za pokretanje step-motora) ili jedan impuls varijabilne dužine (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 grijača...
17
Analogni ulazni sistem
Iz postrojenja dolazi više ulaznih analognih signala. Kako su A/D pretvarači skupi, koristi se multiplekser u cilju izbora samo jednog ulaznog signala u jedinici vremena. Koristeći SH (sample/hold) kolo u cilju diskretizacije i zadrške ulaznog signala, signal ide na A/D konvertor kako bi dobili signal u digitalnoj formi, koji može procesirati CPU.
A/D pretvarač Transformira analogni signal u digitalni kao
numerički kodiranu riječ ograničene dužine. Operacije:
-
diskretizacije i zadrške
kvantizacija i kodiranje Podjela u dvije grupe: trenutne vrijednosti 1. pretvarači (visoka brzina pretvaranja, uticaj smetnji na digitalnu vrijednost signala), 2. pretvarači srednje vrijednosti (mala brzina pretvaranja, potiskuju smetnje superponirane procesnom signalu primjena u tehničkim procesima sa sporo promjenljivim
procesnim veličinama). Analogni izlazni sistem Analogne izlazne jedinice pretvaraju digitalne diskretne vrijednosti iz procesnog računara 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 prispi jeća nove digitalne vrijednosti. Izlaze iz D/A pretvarača po pravilu treba pojačati.
18
D/A pretvarač Transformira digitalni signal u analogni. Gotovo svi D/A pretvarači rade na osnovu
metode pretvaranja sa otporničkom mrežom.
Sat realnog vremena
Vitalni uređaj za računarske sisteme upravljanja – impulsni generator sa precizno kontrolisanom frekvencijom.
Impulsi se koriste da generišu prekide . Softver računa prekide i tako prati vrijeme. Impulsni generator fiksne frekvencije (obično na bazi kristala) stepuje silazni brojač. Kada dostigne nulu, generiše se jedan prekid i ponovo puni iznos za računanje. Prekid aktivira softver za sat realnog vremena. Interval u kome vremenska jedinica vremena generiše prekid (a time i preciznost sata) kontroliše se punjenjem vrijednosti u hardversku vremensku jedinicu. Watchdog Timer (WDT) Obezbjeđuje da se određeni uređaji servisiraju u regularnim intervalima i da CPU nastavlja svoju funkciju.
Interapti Interapti su hardverski generisani subrutinski pozivi. Procesni hardver generiše jedan ili nekoliko interapta kao odgovor na neki eksterni događaj. Interapti mogu biti prouzrokovani internim ili eksternim događajima. Interni događaji (trap-ovi), uključuju greške usl jed dijeljenja sa nulom, operacije prekoračenja i uslove usljed operacija sa pokretnim zarezom. Eksterni interapti su prozrokovani drugim uređajima (satovi, prekidači).
19
Sistemi vođeni prekidom Nakon prihvatanja interapta, procesor: - završava instrukciju koju je izvršavao , - sačuva programski brojač , da bi se mogao vratiti tamo gdje je stao (eng. interrupt return location), - puni programski brojač sa sadržajem lokacije za rukovanje interaptom (eng. interrupt handler location), - Izvršenje se nastavlja sa specijalnim kodom za servisiranje interapta. Sistemski koncept upravljanja
Osnovni zahtjevi na računarski sistemski koncept upravljanja: -
mora komunicirati s procesom u stvarnom (realnom) vremenu, multitasking, tj. sposobnost obavljanja više zadataka istovremeno
međusobnog sukoba među njima.
Direktno (DDC)
digitalno
bez
upravljanje
Kod ovog tipa upravljanja
računar (najčešće procesni računar) je
direktno
u
povratnoj sprezi. Računar je kritična komponenta i potrebno je osigurati da u slučaju njegove neispravnosti postrojenje ostane u sigurnom stanju (postiže se ograničavanjem DDC kontrolera da čini inkrementalne promjene na aktuatore u postrojenju). Supervizijski nadzor (SCADA) Primjena računara u procesnom upravljanju povećala je opseg aktivnosti u pogledu snabdijevanja menadžera i inžinjera s jasnom slikom stanja procesa. Korištenjem supervizijskog nadzora (SCADA sistema) procesni operater može vršiti: - promjene zadate vrijednosti, - r učno podešavanje aktuatora , - potvrdu alarmnih stanja, - definisanje mjerenja i upravljačkih signala, - postavljanje konstante skaliranja i filtera, limita alarma i aktuatora, intervala uzorkavanja, - definisanje DDC kontrolera, međupovezivanje ili kaskadu kontrolera i veza sa ostalim elementima u shemi upravljanja, - podešavanje sheme upravljanja, tj. odabir odgovarajućih parametara podešenja regulatora u skladu sa specifikacijama, - definisanje i programiranje sekvence upr avljačkih procedura nužnih za automatizaciju rada postrojenja, - implementaciju zadovoljavajuć ih supervizijskih shema upravljanja. 20
Arhitekture sistema nadziranja i upravljanja: 1. Centralizirana arhitektura 2. Distribuirana arhitektura s pojedinačnim (point-to-point) vezama 3. Distribuirana mrežna arhitektura Centralizirana arhitektura
Sadrži samo jednu procesorsku jedinicu, izravno povezanu s procesom za koji je zadužena i s operatorskim interfejsom. Njezine prednosti bile su niska cijena i jednostavnost. Zbog sve niže cijene i sve jednostavnije instalacije složenijih upravljačkih arhitektura centralizirana arhitektura je zastarjela. Njena primjena je ostala ograničena na manje podsisteme sa strogo lokalnim nadzorom i upravljanjem. Centralni računar samo nadzire i prosljeđuje komande PLC ovima. Distribuirani sistem
Distribuirani računarski sistemi (DRS) su sistemi u kojima više neovisnih procesora i memorijskih resursa podržava interakciju procesa i/ili baza podataka usmjerenu ka postizanju zajedničkog cilja . Bazne pretpostavke distribuiranog pristupa su:
svaka jedinica izvršava slične taskove ostalim jedinicama, u slučaju neispravnosti ili preopterećenja jedne jedinice sav posao ili samo dio posla može se pren ijeti na druge jedinice. Prednosti koje distribuirani sistemi pružaju u odnosu na centralizirane sisteme (manji početni troškovi izvođenja, veća pouzdanost, proširljivost, brži odziv itd.) rezultiraju njihovom vrlo širokom primjenom. -
Distribuirana arhitektura s pojedinačnim (point-to-point) vezama
Sadrži više procesorskih jedinica fizički smještenih blizu nadziranih uređaja 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, održavanje), bitno je povećana pouzdanost sistema. Distribuirana mrežna arhitektura Procesorske jedinice nisu povezane pojedinačnim
komunikacijskim vezama, već su spojene na zajedničku komunikacijsku mrežu. Savremeni sistemi nadzora i upravljanja koriste mrežnu distribuiranu arhitekturu, dok se point-to-point veza upotrebljava uglavnom za povezivanje specijalnih, nestandardnih uređaja.
21
SCADA sistemi Uvod u SCADA sisteme SCADA sistemi (Supervisory Control And Data Acquisition) su programska podrška za nadzor i upravljanje industrijskim procesima. SCADA podrazumijeva cijeli
spektar opreme, sistema i rješenja koja omogućavaju prikupljanje podataka o nekom procesu – udaljenom sistemu, obradu istih, nadzor i u pojedinim slučajevima reagovanje na adekvatan način. Osnovni ciljevi SCADA sistema su: - nadzor i upravljanje sistemima, - efektivno upravljanje resursima sistema, - prikupljanje i memorisanje podataka,
smanjenje potrebe za fizičkim prisustvovanjem u određenim dijelovima sistema, snižavaju troškove rada tehnološkog procesa i povećavaju sigurnost rada, omogućava nadogradnju mnogih dodatnih funkcija, dalji razvoj i unaprijeđenje. 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 praćenje rada elektroenergetskih sistema), u sistemu saobraćaja i komunikacija, sistemima prečišćavanja vode i vodosnabdijevanja, sigurnosnim sistemima, mehatroničkim sistemima itd. Najpoznatije kompanije i njihovi proizvodi: - ABB: MircoSCADAPro, Process Portal, OperatorIT - Siemens: WinCC, ProTool/Pro - National Instruments: LabView Podjela SCADA sistema po generacijama: - m o n o l i t s k i S C A D A s i s t e m i – „mainframe“ sistemi, nerazvijene mreže, nepostojanje modernih protokola za komunikaciju, slaba redundancija, reagovanje
na greške koje su se već desile, minijaturizacija, LAN mreže, više stanica, stanice su imale raznovrsnije funkcije, protokoli za komunikaciju su bili još uvijek „vlasničke“ prirode, povećana procesna snaga i bolja redundantnost,
-
d i s t r i b u i r a n i S C A D A s i s t e m i –
-
u mreženi SCADA sistemi – blisko vezani za arhitekturu druge generacije,
otvoreni standardi za komunikaciju, korištenje mreže, mogućnost prevazilaženja većih padova sistema.
Primjeri SCADA sistema po veličini: - temeljni SCADA sistemi (kontrola temperature prostorije, robot u automobilskoj industriji itd.) - distribuirani SCADA sistemi (sistem za nadzor cesti, sigurnosni sistem itd.) - umreženi SCADA sistemi (energetski distribuirani sistemi)
22
Funkcionalne komponente SCADA sistema
SCADA sistemi obuhvataju više funkcionalno povezanih cjelina: - hardverski podsistem – obuhvata cjelokupan hardver koji se instalira za potrebe nadzora i upravljanja (računarska oprema, programabilni kontroleri, hardver za komunikaciju, davači, modemi, kablovi, ...), - softverski podsistem – obuhvata cjelokupan softver, uključujući i pomoćne programe kojima se kontroliše rad cjelokuponog hardvera, - komunikacioni podsistem – obuhvata softver i hardver za povezivanje -
elemenata SCADA sistema, tehnološki 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 mreža , - instrumentacija. Centralna jedinica
Najviši nivo SCADA lanca predstavlja centralna jedinica ( eng.master terminal unit, MTU ).
MTU je računar na kome se realizuje nadzor i upravljanje različ itim udaljenim procesima. U centralnoj jednici vrši se prikupljanje podataka i to periodično, inicirano određenim događajima ili na zahtjev operatera. Sve informacije, bilo da su vezane za stanja procesa, komunikaciju, preduzete upravljačke akcije, greške i sl., slivaju se u bazu podataka. Na osnovu ovih podataka dobija se informacija o trenutnom stanju sistema, analizira se performansa, formiraju različiti izvještaji i arhiviraju se odgovarajući podaci. U zavisnosti od veličine sistema možemo imati i više centralnih jedinica vezanih za jedno postrojenje. RTU RTU-ovi (eng. Remote Telemetry Units – udaljene telemetrijske jedinice) omogućavaju pretvaranje električnih signala primljenih iz mjernih jedinica, u jezik, koji predstavlja formu prenosa podataka preko komunikacijskog kanala. U SCADA sistemu,
RTU izvršava specifične zadatke (npr. operacije nad kontrolnim tačkama, postavljanje nivoa analognih izlaza te odziv na određene zahtjeve). Takođe, obezbjeđuje informacije tipa statusa, te akumulira podatke za glavnu stanicu. Reprezentacija podataka koja se šalje je analogna i ima jedinstveno adresiranje. RTU su mali uređaji namijenjeni isključivo za korištenje u vanjskim prostorima i industrijskim sredinama. PLC PLC (eng. Programmabile Logic Controller) je uređaj koji se koristi za automatski monitoring i kontrolu industrijskih uređaja. Može biti korišten samostalno ili u kombinaciji sa SCADA ili drugim sistemima. PLC dodaje programsku podršku u formi logičkih 23
procedura koje se izvršavaju u tačno određenim uslovima karakterističnim za dati uređaj kojim PLC upravlja. Komunikacijska mreža
Komunikacijska mreža ostvaruje vezu između centralne terminalne stanice (MTUa) i udaljenih stanica (RTU-a) i vrši pr enos podataka MTU i RTU između njih. Ona može biti izvedena: - radio komunikacijom (primjerena velikim udaljenostima RTU-a i MTU-a), - putem telekomunikacijske mreže (sa običnim modemima ili modemima spojenim poprečnim vezama – ako nam ne treba stalna veza sa RTU-om, koristimo obične modeme, jer je to jeftinija solucija), - položenim vodovima (najviše u industriji, tj. na kratkim udaljenostima unutar postrojenja). Komunikacioni sistemi se prema vrsti medija mogu podijeliti na žične , bežične I optičke. Primjeri žičnih komunikacijskih sistema su postojeće telefonske linije, zakupljene telefonske linije, mreže užih područja (LAN,RS485), internet i druge. Velika prednost LAN i RS485 mreža je njihova potpuna nezavisnost. Ipak one se primjenjuju samo u uslovima gdje je udaljenost između objekata komunikacije li mitirana (fabrički krug). Bežični komunikacioni kanali su podložni interferenciji, iščezavanju i gušenju signala , što zahtijeva primjenu robusnih komunikacionih protokola. Optički komunikacioni sistemi su otporni na bilo kakvu vrstu elektromagnetne interferencije obzirom da optički kablovi za prijenos signala koriste svjetlost umjesto elektriciteta.
SCADA sa LAN mrežom LAN je komunikacijski put između računara, servera, terminala, radnih stanica i razne druge inteligentne periferne opreme. LAN omog ućava ograničenom broju korisnika pristup uređajima. Ethernet je najčešće korišteni LAN , jer je jeftin i jednostavan za upotrebu. Upotreba WAN-a u SCADA sistemu WAN (eng. Wide Area Network – mreža velike površine) povezuje centralni računar sa multiplekserima i može se smatrati kičmom distribuiranog SCADA sistema. Može da sadrži komunikacijske medije poput: optičkog kabla, radio ili satelitske veze (u zavisnosti od distribuiranosti SCADA sistema). Veoma je bitno pravilno dimenzionirati WAN linkove kako bi mogli nositi WAN saobraćaj . Instrumentacija
Mjerači nivoa u rezervoaru mjerači protoka vode odašiljači položaja ventila, odašiljači temperature, mjerači utroška energije i mjerači pritiska - Analitički instrumenti - Dijagramski snimači, digitalni indikatori, rekorderi, procesni kontroleri - Aktuatori pozicioneri električni aktuatori na ventilima, kontroleri rada motora i uređaji za hemijsko doziranje) -
24
Upravljanje SCADA sistemima Kod SCADA sistema funkcije upravljanja se dijele na: 1. lokalno upravljanje – može biti ručno ili automatsko, 2. daljinsko upravljanje – može biti ručno ili automatsko. Ručno upravljanje na lokalnom nivou se koristi u slučaju pada kompletnog SCADA
sistema, direktnim komandovanjem izvršnim organima od strane obučenih lica Zato se u nekim prilikama pored SCADA sistema, ostavljaju kontrolni ormari preko kojih se proces
ranije ručno vodio. Automatsko upravljanje na lokalnom nivou realizuje PLC ili FPGA kontroler, uz pomoć programa koji je u njega učitan. Ovo omogućuje nesmetano vođenje proces a i u slučaju prekida komunikacije sa ostalim djelovima SCADA-e. Ručno upravljanje na daljinu predstavlja akcije operatera iz nadzorno-upravljačkog centra, na osnovu podataka koji su mu prezentovani na ekranu. Automatsko upravljanje na daljinu SCADA realizuje putem specijalnog softvera koji sadrži upravljačke algoritme, koristeći se informacijama iz baze podataka.
Projektovanje SCADA sistema Softverske komponente SCADA sistema
Važan aspekt svakog SCADA sistema je računarski softver koji se koristi unutar sistema. Dobro definisan, dizajniran, isprogramiran, provjeren i testiran softver rezultira kvalitetnim SCADA sistemom. Najočiglednija softverska komponenta – MMI interfejs (eng. Man-Machine Interface), tj. paket za ovaj interfejs, je u sklopu operativnog sistema
na računaru. Širok spektar komercijalnih softverskih proizvoda (eng. Commercial Of the Shelf – COTS): - operativni sistem na centralnom serveru, - operativni sistemi na operacionim terminalima, - aplikacije centralnog računara , - aplikacije operacionih terminala, - pokretači komunikacionih protokola , - softver za uređenje mreže za komunikaciju , - RTU automatizacioni softver. Projektovanja nadzorno-upravljačkog sistema se vrši na već postojećem , dobro razrađenom sistemu, sa svom pratećom mjernom opremom i izvršnim elementima.
Takođe podrazumijevamo postojanje distribuiranog sistema koji sadrži udaljene stanice, računarsku mrežu i opremu preko koje smo realizovali istu. Od projektanta se očekuje da bude upoznat sa cijelim sistemom, da razumije principe njegovog rada i da je definisano na koji način će se obavljati nadzor i upravljanje radom sistema.
Najvažniji kriteriji koje SCADA sistemi moraju da ispune su: 1. dostupnost (mjeri se s obzirom na dostupnost funkcija koje sistem podržava , važno je obezbijediti sigurnost pristupa mrežnim uređajima), 2. održavanje (na raspolaganju uvijek mora biti preventivno održavanje, otkrivanje i otklanjanje grešaka, mogućnost primjene prilagodljivih dijelova (Asset 25
Optimization), nadogradnja, testiranje i poboljšanje bez uticaja na performanse sistema), 3. performanse (za svaku funkciju SCADA sistema moraju biti definisana vremena odziva, koja moraju djelovati u skladu sa načinom rada sistema i njegovim upravljanjem), 4. proširivost (koja je određena sa mogućnošć u dodavanja novih radnih tačaka, 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 događaji – snimanje važnih promjena i operatorskih akcija, 3. baza historijskih podataka – čuvanje pohranjenih vrijednosti procesnih varijabli, 4. obrada izmjerenih podataka – računanje izvedenih vrijednosti (npr. nadzor limita), 5. evidentiranje i izvještavanje, 6. Human Machine Inerface (HMI) – grafički prikaz stanja objekta, liste, izvještaji, 7. rukovanje operatorskim komandama (naredbama) – binarne komande, uputstva, skripte.
HMI za inžinjering (HMI-E) sadrži: 1. Konfiguracija postrojenja – povezivanje novih uređaja, program, dostavljanje i popravka uređaj a, dodjeljivanje imena i adresa uređajima 2. Izgled (oblik) ekrana i tastature – elementi slike, slikovne varijable 3. Definisanje komandnih sekvenci – komandni jezik 4. Definisanje protokola – šta je događaj i kako ga treba registrovati 5. Parametriziranje front-end uređaja – referentne vrijednosti, limiti, koeficijenti 6. Dijagnostička pomoć – zapisivanje situacija kvara, lokalizacija kvara HMI za postrojenje (HMI-P) sadrži: 1. prikaz stanja postrojenja – lampa, instrumenti, ekran, foto, prikaz trendova i alarma, prikaz poruka održavanja , 2. protokol stanja postrojenja – snimanje procesnih varijabli i događaja 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 kritičnih operacija, 6. označavanje objekta – zaključavanje objekta i komandi , 7. administracija – ispravan prisup, sigurnosne razine, 8. Online pomoć – konstrukcija crteža, pristup Internetu. Funkcije operatorskog sučelja su: 1. grafika procesa, 2. r ukovođenje događajem/ alarmom, 3. kretanja (trendovi), 4. historija, 5. integracija kontrolera, 6. uputstva.
26
Tehnološki aspekt nadogradnje SCADA sistema
Program optimizacije rada uređaja donosi i tehnološka unapređenja koja se moraju desiti nad postojećim kontrolnim SCADA sistemima Trenutno SCADA ukazuje na probleme, a cilj je da SCADA ukazuje na potencijalne probleme – prediktivna dijagnostika. Bitno pravilno održavanje senzora , te napraviti optimalan plan održavanja, jer su senzori izvor informacija SCADA sistema; opcionalno – uvesti napredne inteligentne senzore. Uvode se programi napredne dijagnostike nad mašinskom opremom i prikupljanje informacija Asset Optimizacija - i d e j a o p t i m i z a c i j e p o s t r o j e n j a i uređaja bazirana na optimaln oj upotrebi inform acija koje dolaze iz samog po strojenja
Ekonomski aspekt Asset optimizacije: - maksimalan profit se ostvaruje samo onda kada čitavo postrojenje operiše 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 uređaja => optimizacija rada postrojenja => postizanje većeg profita. Tehničke prednosti Asset optimizacije : - bolja iskorištenost inteligentnih uređaja u postrojenju , - poboljšanje efikasnosti operacija održavanja , - smanjeno vrijeme kalibracije i konfiguracije, - poboljšanje cjelokupne dostupnosti postrojenja preko optimiziranih MMI interfejsa. Real-time komunikacije Bitan faktor evolucije ugradbenih sistema jesu distribuirani ugrađeni sistemi, što ukazuje na značaj mrežne infrastrukture i komunikacionih protokola. Mrežni ugrađeni sistem je kolekcija specijalnih i funkcionalno distribuiranih ugrađenih čvorova, uvezanih žičanom i/ili bežičnom komunikacijskom infrastrukturom i protokolima, te djelujući sa
okruženjem (senzori/aktuatori) i međusobno. Kontroleri ugrađeni u čvorove ili uređaje polja (kao što su senzori i aktuatori) obično obezbjeđuju on -chip konverziju signala, procesiranje podataka i signale te komunikacione funkcije. Brojne aplikacije: - industrija – monitoring i kontrola, - automatizacija zgrada, - automobilska industrija, - vozovi, avioni...
Mrežne tehnologije i aplikacije u industriji : -
uredske mreže: TCP IP, Ethernet; mreže procesa: Ethernet, ControlNet.
27
Mrežne tehnologije i aplikacije
Specijalizovane mrežne tehnologije ovise o aplikaciji: -
-
industrijska kontrola i automatizacija: PROFIBUS, PROFInet, Ethernet/IP (podržavaju real-time komunikacije); automatizacija elektroenergetskih sistema (proizvodnja TE i HE, vjetroelektrane, distribucija, prenos električne 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 mrežnih sistema: - Mrežno uvezani uređaji polja (senzori i aktuatori) sa kontrolerima: programabilnim logičkim kontolerima (PLC-ovima) u industrijskoj automatizaciji ili elektoničkim kontrolnim uređajima (ECU-ovi) u ugrađenim 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 isključivo za rad u uslovima smanjene pouzdanosti komunikacije, da omoguće siguran prijenos podataka, garantujući pouzdan prijenos podataka do željenih destinacija. Većina protokola posjeduje sistem za detekciju grešaka i tehnike za ponovno slanje poruka. Omogućava uvećanu fleksibilnost , u napređuje sistemske perfomanse, te olakšava sistemsku instalaciju, proširenje i podršku, manjuje ožičenje, jednostavno locira kvar i olakšano je održavanje. Nedostatak je što fizički povećavaju postrojenja . Primjene: Pumpe, upravljačke elektrode, ventili, motori, senzori nivoa vode, mjerači protoka,senzori temperature, mjerači gasa (CH4), …, raspoređeni su na području od nekoliko km2. Neki dijelovi postrojenja mogu se nalaziti unutar eksplozivne atmosfere. Ožičenje je tradicionalno 4-20 mA, rezultirajući 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 povećanje sigurnosti vremenski kritičnih sistema. Protokoli u SCADA LAN mrežama:
-
Ethernet TCP/IP – najčešće korišteni mrežni protokol. Primarno dizajniran za
komunikaciju između računara. DeviceNet – oslanja se na CAN (eng. Controller Area Network – mreža kontrolera) tehnologiju. Dizajniran je kako bi bio otporan na sredine bogate
šumom. -
ModBus – najčešće korišten za komunikaciju sa PLC -ovima. Također se koristi za spajanje nadzornih računara sa RTU -ovima. 28
-
ProfiBus – najčešće se koristi za komunikaciju sa mjernim instrumentima LonTalk – protokol optimiziran za kontrolu mrežnih uređaja putem parice, dalekovoda, optičkih vlakana i radio veze. Izgrađen je na referentnom OSI (eng. Open System Interconnection – otvorena mrežna veza) modelu i implementira svih 7 slojeva povezanosti.
Industrijski Ethernet EtherNet/IP (Ethernet Industrial Protocol) je otvoreni komunikacioni protokol razvijen od Rockwell Automation za korištenje 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 korištenjem 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 ugrađenih u TCP/IP okvire Etherneta . MODBUS/TCP je komunikacijski protokol dizajniran za podršku industrijske opreme (npr. PLC-ovi), računara, operatorskih panela, motora, senzora i drugih tipova fizičkih U/I uređaja. MODBUS TCP/IP je postao industrijski standard zbog otvorenosti, jednostavnosti, niske cijene razvoja, minimuma hardvera neophodnog za podršku. PROFIBUS PROFIBUS je standardiziran, otvoren digitalni komunikacijski sistem za sva područja primjene u proizvodnoj i procesnoj industriji. Pogodan je za brze (do 12Mbit/s), vremenski zahtjevne aplikacije i složene komunikacijske zadatke čime je omogućeno da centralni programabilni kontroleri (PLC, PC) ili sistemi za kontrolu procesa komuniciraju sa distribuiranim uređajima polja preko brze serijske veze. PROFInet je namijenjen komunikaciji prema višim nivoima i predstavlja sučelje prema Ethernetu. PROFIBUS DP (Distributid Processing) namijenjen je za komunikaciju PLC-ova i
distribuiranih U/I uređaja. PROFIBUS PA (Process Automation) se koristi za povezivanju senzora i aktuatora u opasnim područjima (npr. hemijska industrija). CAN (Control Area Network) Standard u automobilskim bus sistemima, dizajniran da dozvoli mikrokontrolerima i uređajima da komuniciraju međusobno unutar vozila bez host računara . Razvijen krajem 80-ih za potrebe auto industrije (Robert Bosch GmbH), za povezivanje velikog broja elektroničkih uređaja u vozilu. Alternativa je bila direktno ožičavanje potrebnih veza.
Našao je primjenu i u drugim područjima industrijske automatizacije, te u ugrađenim računarskim sistemima (medicinska oprema,...) CAN je protokol baziran na porukama; to je širokopojasna serijska sabirnica za efikasnu podršku distribuiranim računarskim 29
sistemima u realnom vremenu (može da kontroliše do 70 elektronskih kontrolnih jedinica (ECU)). Uređaji (senzori, aktuatori i dr.) su povezani preko CAN bus- a korištenjem 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: - determinističko i real-time ponašanje, vremenski i događajno trigerovano, - visok nivo pouzdanosti, neovisnosti, - podržava optičke i električke prijenosne medije, - brzine pr enosa 20 Mbit/s, a može i više ako se koristi sabirnica sa 64 čvora (ide se na 100 Mbit/s), - jednostavno dodavanje/uklanjanje čvorova bez narušavanja aplikacije. Primjena: automobili (BMW, Audi, Volkswagen), sistemi upravljanja (npr. upravljanje električnom energijom), sistemi upravljanja vučom (npr. program elektroničke stabilnosti, inercijalni senzori), vazdušni jastuci i sve druge primjene gdje se trenutno koristi CAN.
Upravljanje u sistemima „pametne kuće“ i automatizacija zgrada Sistem „pametna kuća“ preuzima brigu i kontrolu nad svim uređajima u stanu, porodičnoj kući, kancelariji, hotelu i dr. Ovaj sistem će zatvoriti prozore kad počne da pada kiša, kontrolisati i regulisati temperaturu, ventilaciju i rasvjetu, spriječiće poplavu,
požar, isticanje plina, signalizirati neovlašteni pristup, te omogućiti da cijelim sistemom upravljamo na više načina: daljinskim upravljačem, računarom, telefonom, internetom i sl. „Pametna kuća“ je koncept modernog domaćinstva i življenja u njoj. Kuća je „pametna“, jer se „prilagođava“ trenutnoj aktivnosti, raspoloženju navikama i životnom stilu svakog ukućana, a pri tome ostvaruje značajne energetske uštede. Velika prednost ovih sistema je olakšavanje života bolesnim, nemoćnim, te starijim osobama. Sistem je potpuno otvoren za eventualnu dalju nadogradnju u slučaju novih potreba, prilagođavanja i reprogramiranja. Inteligentne električne instalacije EIB – European Installation Bus EIB – vodeći svjetski sistem električnih instalacija koji će u dogledno vrijeme u potpunosti zamijeniti klasične električne instalacije.
EIB komponente možemo podijeliti u dvije grupe: 1. komponente koje prikupljaju informacije iz okoline i šalju ih u sistem, 2. izvršne komponente, koje će na osnovu informacija iz sistema odraditi funkciju za koju su namijenjene. Osnovni protokoli za umrežavanje kućnih uređaja: - X10, - CEBus, - BACnet, - LONWorks. 30
X10 protokol Definisan je 1977 godine u Americi. Medij za prenos podataka je već postojeća električna instalacija. Koristi se ako imamo m aksimalno 256 različitih uređaja u mreži . Prednosti ovakvog umrežavanja su: j ednostavnost instaliranja i relativno niska cijena na tržištu. Glavni nedostaci su razne vrste interferencija i šumova koji uređaji unose u mrežu, kao i relativno mali broj različitih uređaja koji se mogu priključiti na mrežu. CEBus protokol CEBus je razvijen 1984 godine. Stavke koje su uticale na standard: - mogućnost nadogradnje kućne automatizacije u već postojeće kuće ili stanove, - dozvoliti korištenje kompatibilnih uređaja , - podsticati razvoj interfejsa sa malom cijenom, - omogućiti korištenje raznih vrsta medija za prenos podataka , - podržavati distribuirani širokopojasni audio ‐video servis u analognom i digitalnom formatu, - koristiti distribuiranu komunikacionu strategiju za CEBus, tako da se ne koristi centralni kontroler, - osigurati da se komponente i uređaji mogu dodavati i uklanjati iz mreže bez prekida ( plug ‐a ), nd ‐ play - osigurati povoljnu metodu za pristup na zajednički medij. CEBus podržava sljedeće medije za prenos podataka: - energetske linije, - upredene parice, - koaksijalne kablove, - infracrvene signale, - radio‐frekventne signale, - optička vlakna, - audio i video kanale. Protokol podržava fleksibilnu topologiju mreže . Svi uređaji osluškuju poruke istovremeno . Samo onaj uređaj kome je poruka namijenjena čita poruku i reaguje na nju . Kontrola je distribuirana između CEBus uređaja i medijskih usmjerivača. BACnet protokol Osnovne ideje BACnet‐a: - mora biti primjenjiv na sve tipove sistema koji postoje u jednoj zgradi ili objektu, - kombinacija nekoliko tipova lokalnih mreža za prenos BACnet aplikacijskih poruka, - BACnet pruža sofisticiran model za opisivanje sistema svih tipova automatizacije. Komponente modela: - objekti – skupovi „osobina“ od kojih svaki predstavlja neki dio informacije ili parametara, - servisi – pružaju standardne metode u slučaju da jedan BACnet uređaj traži od drugog da nešto izvede ili da ga obavijesti o nečemu što se dogodilo .
31
LONworks
Lokalno upravljana mreža ( eng. Local Operating Network ) sastoji se od čvorova koji su povezani na jedan ili više komunikacijskih medija, tako da mogu međusobno komunicirati pomoću zajedničkog protokola. Glavni elementi LONworks‐a su: - LonTalk protokol, - neuro-čipovi, - LONwork primopredajnici, - softver za upravljanje mrežama . LonTalk protokol
LonTalk protokol je skup servisa koji podržavaju pouzdanu komunikaciju između čvorova. Glavne pogodnosti LonTalk ‐a su: - izdvajanje razvoja LONworks kompatibilnih uređaja od prenosa podataka putem LON‐a, - instalaterima pruža ogromnu fleksibilnost pri izboru čvora za određenu primjenu, - osigurava predviđeno ponašanje mreže pri svim uslovima.
Ključne stvari ovog protokola su: -
pouzdanost, raznolikosti komunikacijskog medija, vrijeme odziva, mala cijena koštanja , interoperabilnost, mrežne varijable, standardni tipovi mrežnih varijabli, LonTalk protokol servis, mrežno upravljanje servisima , LonTalk adresiranje.
Bluetooth bežična tehnologija Ova tehnologija omoguć ava komunikaciju između uređaja i njihovo bežično povezivanje putem bluetooth pristupnih tačaka sa mrežom za prenos govora ili s internet mrežom velikim brzinama. Bluetooth uređaji rade u frekvencijskom pojasu od 2,4 GHz. Upotrebljava se tehnologija frekvencijskog preskakanja sa raspršenim spektrom – FHSS. Raspoloživi spektar se dijeli na 79 komunikacijskih kanala širine 1MHz. Pri komunikaciji radio primopredajnici preskaču s kanala na kanal na pseudoslučajan način.
32
Automatizacija u zgradama Ciljevi automatizacije u zgradama su:
-
ušteda energije (energetska efikasnost) , smanjenje troškova upotrebe i održavanja zgrade, povećavanje udobnosti stanovanja i rada , povećavanje produktivnosti uposlenih u poslovnim zgradama,
brze i jednostavne promjene unutar prostora itd. Vitalnim funkcijama u automatizovanoj zgradi upravlja jedan ili više procesnih računara uz nadzor i vođenje iz centra za nadzor i upravljanje zgradom . Centar za nadzor i upravljanje zgradom je programsko‐sklopovski sistem koji prikuplja i obrađuje podatke očitane s mjernih uređaja, te upravlja svim podsistemima u zgradi. Sistemi daljinskog upravljanja
Daljinsko vođenje je tehnika vođenja sistema na daljinu u situacijama u kojima neposredno (blisko) upravljanje nije ostvarivo, jer je opasno i/ili nedostupno. Udaljenost može biti od nekoliko centimetara (mikroprostori) do više miliona kilometara (upravljanje svemirskim letjelicama). Sistemi daljinskog vođenja mogu se klasificirati na osnovu broja stanja u kojima se sistemi mogu naći: 2 stanja: uključeno ( ON) i isključeno (OFF), npr. zvono na vratima i teleroboti – složeni sistemi vođeni na daljinu koji imaju više od 2 stepena slobode kretanja. Osnovni pojmovi: - teleoperacija – tehnika upravljanja vozila ili sistemima sa udaljenog mjesta, - operator – čovjek koji nadzire upravljački stroj i poduzima neophodne upravljačke akcije, - teleoperator – daljinski vođeno vozilo ili sistem ; s ofisticirani teleoperator može se zvati i telerobotom. Operator se nalazi u lokalnoj sredini, a teleoperator u udaljenoj sredini. Komunikacija između operatora i teleoperatora najčešće se svodi na komunikaciju između klijenta i servera. Client – server komunikacija
Komunikacija između 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: - mehanička manipulacija – upravljačke naredbe se od operatora do teleoperatora prenose mehanički hidraulički; - telemanipulacija – upravljačke naredbe se prenose od operatora do teleoperatora električki; - daljinsko upravljanje (Remote Control) – upravljano vozilo na udaljenom radnom mjestu, senzorski u vidnom polju operatora; - teleoperacija – poopštenje 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 33
Telemanipulacija
Tipovi teleoperacija Upravljanje u zatvorenoj petlji (direktna teleoperacija) Operator direktno upravlja aktuatorima teleoperatora i dobiva povratne signale u realnom vremenu. Ovo je moguće samo kada su kašnjenja 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 može upravljati zbog kašnjenja i dinamike. Nadzirano upravljanje Veliki dio upravljanja obavlja se autonomno na teleoperatoru. Operator uglavnom nadzire njegov rad i daje naredbe višeg nivoa. Ponekad se koristi i termin „teleoperacija zasnovana na zadatku “ (eng. task-based teleoperation). Primjena novih računarskih tehnologija u teleoperaciji omogućava operatoru dobi janje osjećaja prisutnosti u udaljenom prostoru: - Daljinska prisutnost (Telepresence): Teleoperater se nalazi izvan vidnog polja operatora, a senzorske informacije (video, slika, zvuk, sila itd.) daju operatoru osjećaj prisutnosti u udaljenom prostoru. - Virtuelna prisutnost (Virtuelna stvarnost, Virtual Reality): Slična pojmu daljinske prisutnosti, s tim da su udaljeni prostor, teleoperator i senzorske informacije
generisani virtuelno u računar. -
Proširena stvarnost (Augmented Reality): Predstavlja kombinaciju virtuelne stvarnosti i informacija iz stvarnog udaljenog prostora.
Problem kašnjenja U teleoperacijskoj petlji uvijek postoji kašnjenje. Svaki dio sistema ima neko kašnjenje, a digitalni sistemi ga povećavaju. Informacijsko kašnjenje je nužno, a
energetska interakcija narušava stabilnost sistema. Smanjenje utjecaja kašnjenja postiže se primjenom tehnika virtuelne i proširene stvarnosti i korištenjem povratne veze po sili sa algoritmima predikcije i kompenzacije kašnjenja.
34
Real-time operativni sistemi Operativni sistem (OS) je skup softverskih proizvoda koji udruženo kontrolišu sistemske resurse i procese unutar jednog računara, nadgledajući računarski hardver . Ukoliko kontrola rada zadovoljava set specificiranih vremenskih ograničenja , operativni sistem se zove real-time operativni sistem (RTOS). Tipovi operativnih sistema: - real-time operativni sistemi (let aviona, kontrolni algoritam koji se izvršava 40 puta/sec), - ne-real-time operativni sistemi (rezervacija avionskih karata), - statički operativni sistemi (broj taskova mora biti tačno definisan prije vremena izvršenja i nema promjena), - dinamički operativni sistemi (broj taskova nije unaprijed poznat, kreiraju se i uništavaju u toku rada sistema), Real-time aplikacije operativnih sistema su često ugrađene (embedded), jer su storirane u ROM-u kompjuterskog sistema, koji je dio većeg sistema, pa su tog tipa real-time
sistemi statički. Funkcije operativnog sistema: 1. r aspoređivanje procesa (task scheduling) – određuje koji proces će se izvršavati, 2. uzajamno isključenje procesa (task dispatching) – vrši neophodne pripreme za početak izvođenja zadatka , 3. komunikacija između procesa (intertask communication) – prenos podataka i sinhronizacija. Program je pasivna, statična sekvenca instrukcija, koja može predstavljati hardverske i softverske resurse sistema. Stvarno izvršenje programa je aktivni, dinamički događaj, kod kojeg se različita svojstva m ijenjaju sa vremenom pri izvršenju instrukcije. Proces (često se naziva i task u nekim ugrađenim sistemima) se kreira od strane OS –a, kako bi objedinio sve informacije, koje su uključene pri izvršenju programa (i stek i izvorni kod i podatke). Ovo znači da je program samo dio taska.
35
Multitasking sistemi
Zasebni procesi djele jedan procesor ili više procesora . Svaki proces se izvršava unutar vlastitog okvira: posjeduje procesor, vidi vlastite varijable, može biti interaptiran. Procesi mogu interreagovati u cilju izvršenja kompletnog programa. - Promjena sadržaja (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 izvođenje nakon sto su prekinuti ; U toku promjene sadržaja, interapti su onemogućeni; Real-Time sistemi zahtjevaju minimalno vrijeme za promjenu sadržaja .
Raspoređivač procesa
Ključni faktori koji utiču na efektnost i perfomanse algoritma raspoređivanja: -
vrijeme kompletiranja taska, propusnost,
vrijeme čekanja, vrijeme odgovora.
Real-Time strategije raspoređivanja procesa: - sistemi prozivke (eng. Polled Loop Systems), - sistemi vođeni 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. Ponavljajući set instrukcija koriste se za testiranje zastavice (flag), koja pokazuje da li se neki događaj desio . Kako postoji samo jedan proces, nije potrebno imati raspoređivanje procesa i međusobnu komunikaciju između procesa .
36
Prednosti: - jednostavne za implementiranje i debagiranje, - lako odrediti vrijeme odziva. Nedostaci:
-
troše CPU vrijeme, posebno kada se događaj javlja rijetko, nisu dovoljne za rukovanje komplikovanim sistemima,
često mogu pogriješiti, jer razvoj događaja nije uzet u obzir
Sistemi vođeni prekidom
Različiti procesi u sistemu su raspoređeni preko hardverskog ili softverskog interapta, dok se uzajamno isključenje izvodi pomoću rutina rukovanih interaptima. Multitasking raspoređivanje procesa Postoje dva osnovna koncepta algoritma raspoređivanja, koji se implementiraju u ugrađenim OS: - preduhitrivi algoritmi (preemptive), - nepreduhitrivi algoritmi (non-preemptive). Preduhitrivi algoritmi: - Round-Robin – prvi odšao, prvi obrađen (FIFO – First In, First Out) raspoređivač, - Preduhitrivi prioritetni (Priority Preemptivw) raspoređivač, - EDF (Earliest Deadline First/Clock Driven) raspoređivač . Nepreduhitrivi algoritmi: - Prvi došao – prvi servisiran, izvršiv do kompletiranja (First Come, First Serve – FCFS), - Najkraći proces sljedeći, izvršiv do kompletiranja (Shortest Process Next (SPN) Run-To-Completion), - Kooperativni (Cooperative). Round-Robin sistemi
Nekoliko procesa se izvodi sekvencijalno do završetka. Svaki proces koji se izvodi je određen fiksnim vremenskim iznosom. Proces se izvodi dok se ne završi ili dok ne istekne njegovo vrijeme izvršenja izdavanjem clock interapta. Ako se proces nije izvršio do kraja, njegov sadržaj se mora sačuvati. Proces se tada premješta na kraj liste gdje se nalaze procesi za izvršavanje.
37
Preduhitrivi prioritetni sistemi Za procese višeg
prioriteta se kaže da su preduhitrivi (preemitivni) u odnosu na procese nižeg prioriteta ako oni prekidaju
procese nižeg prioriteta. Proces nižeg prioriteta se i
dalje
izvodi
proces višeg priprema za
dok
se
prioriteta početak.
Sistemi koji ovo koriste umjesto Round Robin
odlučivanja
zovu
se
preduhitrivi prioritetni sistemi. Prioriteti interapta mogu biti f iksni ili dinamički. 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 slučaju RTOS vrši promjenu prioriteta.
Raspoređivač tipa prvi proces sa najskorijim vremenom završetka (EDF raspoređivač) Ovaj raspoređivač određuje prioritet procesa na osnovu tri parametra: frekvencije, granice izvršenja i trajanja. Prednje-pozadinski sistemi
Najpogodnije hibridno rješenje za ugrađene aplikacije. Uključuju set procesa sa prekidima: prednji (foreground), grupu procesa bez prekida – pozadinski (background). Sva Real-Time rješenja su specijalni slučaji Foreground/Background sistema.
-
Potpuno opremljeni real-time sistemi Dostupni su kao komercijalni proizvodi i oslanjaju se na kompleksne operativne sisteme koristeći Round-Robin, prioritetnu preduhitrivu strategiju ili kombinaciju ova dva načina raspoređivanja.
Uzajamno isključenje procesa Potreba
za
kontrolom
pristupa
djeljenim
resursima ili zajedničkom podatku predstavlja jednu formu sinhronizacije procesa, koja se zove uzajamno isključenje, gdje je potrebno osigurati da dva procesa nisu u kritičnim sekcijama u isto vrijeme . Ova uslovna sinhronizacija zahtjeva da proces bude blokiran ili da 38
kasni sve dok specificirani uslov je tačan ili pogrešan. Kritična sekcija je resurs kojeg taskovi mogu djeliti isto kao i I/O portove ili segment memorije u kojima se čitaju ili pišu zajedničke varijable. Varijable mogu biti poput pojedinačnog bita ili kompleksne poput fajla ili tabele. Rješenje kritične sekcije: -
-
Mora obezbijediti mutualnu ekskluziju u kritičnom regionu: ako je jedan task u kritičnom regionu, ne može biti dozvoljen pristup drugom; Mora preventirati deadlock – ako dva ili više taskova pokušavaju ući u kritičnu sekciju, jedan mora uspjeti; Mora obezbijediti progres kroz kritičnu sekciju. Naime, ako nema taska u kritičnoj
sekciji i neki drugi task želi da uđe, samo taskovi koji nisu u izlaznoj sekciji mogu ući u kritičnu sekciju kao slijedeći ; Mora obezbijediti ograničeno čekanje. Gornja granica je vrijeme blokade taska sa najnižim prioritetom od strane taska sa višim prioritetom od momenta kada postoji zahtjev za ulazom.
Da bismo uveli nekoliko rješenja kritične sekcije, definišimo prvo pojam atomične operacije: Atomična operacija je puna sekvenca koraka koja garantuje kompletiranje bez interapta.
Rješenja kritične sekcije: -
flegovi, prosl jeđivanje žetona (token passing), interapti, semafori, monitori.
Flegovi
Uzajamna isključivost sa flegovima ugrađenim u atomsku operaciju. Definišimo dva procesa T0 i T1 i dva flega T0Flag i T1Flag da markiraju koji proces je u kritičnoj sekciji.
Atomična operacija await je oblika: Await(condition) { Iskazi }varijable
Await iskazi su prikazani sl jedećim kodom: Await(!T1Flag) {T0Flag = true;} Await(!T0Flag) {T1Flag = true;}
Ova flag shema ispunjava tri prva postavljena uslova za rješavanje kritične sekcije (mutualna ekskluzija, deadlock i progres). Prosljeđivanje žetona
Drugo moguće rješenje problema djeljenog bafera je korištenje žetona (prava pristupa ili token-a). Žeton (pravo pristupa) se kontinualno prosljeđuje od taska do taska i bilo koji task koji želi pristupiti kritičnoj sekciji to može učiniti kad posjeduje „žeton“. 39
Interapti
Problem kritične sekcije bi se mogao rješiti ako su interapti onemogućeni kada ulaze u ulaznu sekciju i omogućeni kada su u izlaznoj sekciji. Specifično je da ako task implementira dugu ili beskonačnu petlju u kritičnoj sekciji, interapti mogu biti onemogućeni duži period. Umjesto onemogućavanja svih intera pta, kada se ulazi u ulazni segment, svi interapti ispod specificiranog nivoa su ili onemogućeni ili maskirani. Interapt-baziran pristup rješava probleme kritične sekcije , ali upravljajući interaptima na vlastitom procesoru. Nije efikasan kada više proceso ra djeli memoriju. Semafori
Semafori su globalni resursi i služe za sinhronizaciju taskova. Semafor je protokolni mehanizam za komunikaciju taskova. Postoje dvije vrste semafora: binarni i brojački.
Operacije koje se izvršavaju semaforima: -
inicijalizacija (kreiranje), čekanje (pend), signalizacija (pond).
Binarni semafor Koristi se kao kontrolni mehanizam unutar programa za djeljenje resursa (međusobno isključenje) . Signalizira dešavanje događaja i dozvoljava da dva taska sinhroniziraju njihove aktivnosti. Svakom djeljenom resursu se pridružuje jedan semafor.
Resurs sadrži skup kontrolnih koeficijenata: -
WAIT (koeficijenti), SIGNAL (koeficijenti).
Task koji izvršava prvi wait, dobiva pristup kritičnoj sekciji. Drugi task će biti blokiran, čekajući da neki drugi task izvrši signal.
40