SCADA – Supervisory Control and Data Acquisition 1. Od telemetrije do SCADA-e Projektovanje aviona i raketa, kao i ispitivanje meteoroloških uslova i drugih geofizičkih parametara otvorili su problem prikupljanja mernih podataka sa instrumenata koje je bilo teško observirati. Tako su, na primer, u prvoj fazi eksperimanata u avio industriji, avioni imali dovoljno mesta za pilota, ali gotovo ni malo prostora za projektanta koji bi pratio letilicu i nadzirao stotine senzora koji su davali podatke o silama koje deluju na trup aviona ili na motor. Situacija sa raketama kao bespilotnim letilicama bila je još kritičnija. Istina, imajući u vidu da se, u prvo vreme, najvći broj eksperimenata sa raketama zavržavao njihovim nekontrolisanim padom, teško je i očekivati da bi, sve i da je bilo prostornih mogućnosti, inžinjeri i tehničari bili spremni da na licu mesta sakupljaju podatke. Od samog nastanka ideje o primeni tehnoloških dostignuća za vremensku prognozu, naučnici su shvatili da im je za iole relevantne rezultate neophodna ogromna količina podataka. Nažalost, samo mali deo tih podataka mogao se prikupiti na mestima koja su pristupačna i gde ljudi normalno borave. Činjenica je da se udaljene meteorolške stanice, svetionici, brodovi mogu koristiti za te svrhe, no to sve pokriva samo površinske podatke. Teorija je pokazivala da se preciznost prognoza može povećati samo ako se podaci prikupljaju u atmosferi. Mali baloni koji bi nosili instrumente bili su, već u to vreme, ekonomski isplativi, ali je pitanje prikupljanja podataka o merenjima koje oni obave ostajalo otvoreno. Može se slobodno reći da je rešenje izloženih problema pozajmljeno sa železnice. Naime, u to vreme železnički saobraćaj je već uveliko koristio žične komunikacione veze za nadzor kretanja vozova. Saobraćaj se odvijao tako što bi dispečer pratio kretanje voza i obaveštavao skretničare duž pruge kako treba da postave skretnice ili da spuste rampe. Ovaj komunikacioni sistem koji je nazvan telemetrijski sistem, omogućavao je centralnom dispečeru da prati stanje na prugama i formira efikasan raspored kretanja vozova. Osnovni problem ovakvih sistema bila je činjenica da oni zahtevaju fiksnu žičnu vezu između svih učesnika u saobraćaju koji mogu da emituju signal i dispečerskog centra gde se svi signali primaju i obrađuju. Ključna prednost na železnici je postojanje šina duž kojih se veoma jednostavno mogu instalirati senzori pritiska koji da ju informaciju o kretanju voza. Međutim, kod sistema koji ne ispunjavaju ovaj uslov telemetrija se nija mogla koristiti. Otprilike u isto vreme u kome se pojavila potreba za održavanjem komunikacije između pokretnih objekata, zabeležen je i značajan napredak u razvoju radio komunikacija. Sve dotle dok se nije zahtevao prenos velikog broja informacija, radio je mogao da ostvari potrebnu komunikaciju. Pri tome, ukoliko se nije očekivalo da ova komunikacija traje preterano dugo, ona se mogla obaviti uz korišćenje male baterije. Na taj način je rođena radio telemetrija. Samo se po sebi razume, da se sa razvojem tehnologije radio razvijao tako da je obim prenetih podataka i dužina emitovanja stalno rasla, zajedno sa pouzdanošću prenosa. Vremenom su razvijene i tehnike kodiranja informacija, pa i zaštitni kodovi za detekciju greške, no sama komunikacija je veoma dugo bila jednosmerna. Centralna stanica je primala radio signale sa mernih instrumenata, ali im sama nije slala nikakve podatke. Paralelno sa razvojem radio telemetrije i žična telemetrija je ušla u novu fazu. Umesto da se koncentrišu na poboljšanje tačnosti i pouzdanosti prenosnog medijuma, inžinjeri su prepoznali potrebu za ostvarivanjem dvosmerne komunikacije. Na taj način, stvorena je mogućnost da se ne samo iz daljine nadzire kretanje vozova, već i da se slanjem odgovarajućih signala upravlja eletromagnetnim skretnicama. Ovo rešenje upravljanja privuklo je kompanije koje su se bavile prenosom električne energije i gasa, koje su rešavale sličan transportni problem. Razlika je bila samo u tome što su se njihovi prekidači i ventili kojima bi trebalo upravljati nalazili na udeljenim, često nepristupačnim lokacijama. Oni su početkom šezdesetih već imali instalirane sisteme za nadzor opreme, ali upravljanje i dalje nije bilo moguće. Dalji razvoj radio komunikacija omogućio je vremenom uspostavljanje dvosmerne komunikacije i tako je došlo do instaliranja čitavog niza radio telemetrijskih sistema koji su mogli da ostvare i nadzor i upravljanje. Imajući u vidu da je polaganje telefonskih kablova u udaljenim lokacijama veoma skupo, nije ni čudno da je sredinom sedamdesetih godina radio postao osnovni komunikacioni kanal za najveći broj instaliranih dvosmernih telemetrijskih sistema. Uporedo sa razvojem radio industrije, razvijaju se i digitalni računari. Porast informacija koje se prikupljaju i obrađuju u dispečerskom centru prirodno dovodi do potrebe da se računaru poveri njihova obrada. Kao što je već rečeno, računarska industrija odgovara na ovu potrebu proizvodnjom odgovarajućih industrijskih miniračunara. Početkom sedamdesetih godina prošlog veka, polako prestaje da se govori o telemtrijskim sistemima i uvodi se novi pojam SCADA (Supervisory Control And Data Acquisition – sueprvajzorsko upravljanje i akvizicija podataka). Teško je reči šta je tačno motivisalo ovu promenu naziva. Moguće je da se želelo posebno istaći da se više ne radi samo o prikupljanju podataka sa udaljenih lokacija i izdavanju komandi, već i o veoma sofisticiranoj obradi prikupljenih podataka čiji rezultati u velikoj meri olakšavaju rad dispečera. Drugim rečim, SCADA je u istinu novi koncept u odnosu na telemetrisjke sisteme. Tokom poslednjih trideset godina razvoj SCADA-e je prirodno pratio razvoj komunikacionih i računarskih tehnolologija. Danas je SCADA postala sastavni deo gotovo svake industrijske aplikacije. Ona se realizuje u okviru računarske mreže i po pravilu nadzire rad jednog broja lokalnih stanica u mreži koje obavljaju akviziciju podataka, realiziju direktno digitalno upravljanje, kao i sekvencijalno upravljanje. Dodajmo na kraju da savremena SCADA može da razmenjuje podatke i preko interneta. Time je omogućeno da se stanje na nekom procesu prati praktično sa bilo koje tačke zemljine kugle. 2. Primena računara u realizaciji nadzorno upravljačkih sistema Ideja o formiranju nadzorno-upravljačkih računarskih sistema stara je skoro pola veka. Uprkos prvim uspesima, primena računara nije zabeležila neki spektakularan napredak. Tokom šezdesetih godina iskristalisale su se specifičnosti računarske opreme za nadzor i upravljanje procesom i pristupilo se razvijanju specijalizovanih računarskih sistema za procesnu industriju. Nastojanja da se reše vezani za on-line akviziciju podataka i zadavanje komandi izvršnim organima, kao i za brzinu obrade podataka doveli su do povećanja cene računarske opreme. Otuda se primena računara, sa ekonomske tačke gledišta, mogla pravdati samo u slučaju kada se jedan računar koristi za više funkcija na nekom složenom procesu. Posledica zahteva za složenim upravljanjem bila je potreba za izuzetno složenim softverom. Pokazalo se da se programi za korišćenje ovakvih računarskih sistema više ne mogu pisati u mašinskom kodu i da oni zahtevaju više memorije od one sa kojom su računari tada raspolagali. S obzirom na gabarit, a donekle i cenu, miniračunari su korišćeni prvenstveno za akviziciju podataka i supervajzorsko upravljanje - generisanje referentnih signala za servomehanizme koji su bili instalirani na pojedinim delovima procesa kao zasebne celine. U slučaju da se nije radilo o preterano brzom procesu kroz mini računar su se zatvarale i povratne sprege. Komunikacioni drajveri, koji su se u to vreme mogli dobiti od proizvodjača opreme najčešće nisu bili dovoljno efikasni tako da je, gotovo uvek, bilo neophodno da se delovi softvera za komunikaciju sa procesom i operatorskim panelom formiraju u svakom pojedinačnom slučaju i to najčešće u asembleru. Primena miniračunara zahtevala je od inžinjera upravljanja da detaljno poznaje sam računar, njegov mašinski jezik i operativni sistem, kao i industrijske U/i uredjaje koji se na njega vezuju. U aplikativnom smislu miniračunar je doveo do razvoja različitih optimizacionih tehika za realizaciju supervajzorskog upravljanja, kao i tehnika obrade podataka sa krajnjim ciljem identifikacije matematičkog modela. Različite upravljačke strategije su bile primenjivane samo na pilot postrojenjima. Naime, korišćenje računara za upravljanje u zatvorenoj sprezi moglo se ekonomski opravdati samo ako se kroz njega zatvori nekoliko desetina sprega, a to je podrazumevalo klasične petlje sa PID regulatorima ili integro-diferencijalnim kompenzatorima. Efekat koji bi se dobio zatvaranjem samo jedne adaptivne ili optimalne sprege nije bio dovoljan u poredjenju sa cenom instalirane opreme. Sa gledišta zaposlenih u procesnoj industriji miniračunar je doneo svojevrsnu revoluciju na nivou dispečera i tehnologa. I jedni i drugi dobili su obilje, mahom štampanih, podataka na osnovu kojih su vršene različite analize u cilju poboljšanja kvaliteta procesa. Na nivou operatera nije se desila značajna promena. Računarski terminali su bili tek u povoju, tako da se kao korisnički interfejs najčešće koristio teleprinter. Shodno tome, operatorski pult i panel su ostali gotovo neizmenjeni i samom operateru je bilo svejedno da li komanda koju zadaje ide direktno na neki rele ili u računar, kao i odakle dolazi signal koji pali kontrolnu sijalicu Formiranje prvih mikroračunara početkom sedamdesetih godina predstavlja pravu revoluciju u procesnoj primeni računara. Računari zasnovani na ovim procesorima odlikovali su se visoko integrisanom tehnologijom, koja je dovela do izuzetno malih gabarita, veoma niskom cenom, velikom fleksibilnošću i pouzdanošću. Na žalost ili na sreću odlikovali su se još nečim - potpunim odsustvom korisničkog softvera. Ova činjenica dovela je do toga da procesna primena računara krene u sasvim drugačijem smeru. Činjenicu da je mikroračunar malih dimenzija i niske cene inžinjeri upravljanja dočekali su raširenih ruku. Konačno se došlo do uredjaja koji može da radi u realnom vremenu i na kome je isplativo da se zatvori samo jedna povratna sprega u okviru koje se mogu isprobati, pa na kraju i realizovati različiti digitalni upravljački algoritmi. Za trenutak je zaboravljena upravljačko-nadzorna funkcija računara i pažnja je usmerena na najniži procesni nivo na kome je počela zamena klasičnih analognih regulatora, digitalnim realizovanim pomoću mikroračunara. Ovaj trend bio je sa jedne strane svakako indukovan svojevrsnom dugogodišnjom težnjom inžinjera upravljanja da projektuju sisteme za rad u realnom vremenu, ali je na to izvesno uticala i činjenica da je primena mikroračunara, koji su imali samo rudimentarni operativni sistem i asembler, bila izuzetno složena i odvraćala i one najambicioznije od nekih složenijih nadzorno-upravljačkih zahvata U nastojanju da se mikroračunari učine što prisutnijim u procesnoj industriji, proizvodjači su se prirodno okrenuli ka rešavanju onih zadataka koji su, sa jedne strane bili najrasprostanjeniji, a sa druge relativno jednostavni za programiranje. Tako se prirodno došlo do razvoja PLC-ova (programabilnih logičkih kontrolera) namenjenih prvobitno za zamenu logičkih kola i sekvencijalnih elemenata koji su bili realizovani pomoću banke releja, tajmera, brojača i drugih hardverskih digitalnih komponenti [4]. Postepeno repertoar operacija PLC-a se širio i uključivao i složenije operacije koje je zahtevala realizacija digitalnog upravljanja. U osnovi PLC je projektovan za rad u izuzetno nepovoljnim klimo-tehničkim uslovima koji vladaju na industrijskim postrojenjima. On je veoma pouzdan, jednostavan za održavanje i programiranje. PLC nije zamišljen kao računar opšte namene, već kao sistem čiji operativni sistem omogućava da se jednostavno i u realnom vremenu obavi akvizicija velikog broja podataka, izvesna, ne preterano složena obradu tih podataka i prenošenje rezultata obrade na izvršne organe. Pored toga, PLC je zamišljen kao modularan sistem na koji se, prema potrebi, mogu priključiti raznovrsni ulazno/izlazni moduli. Vremenom, gama U/I modula se širila tako da su formirani specijalizovani merno-pretvarački moduli u kojima se merni signali obradjuju na izuzetno složen način, kao i izlazni moduli koji sadrže regulatore pojedinih izvršnih organa. Nesumnjivo je da je sa razvojem PLC-ova definitivno rešen problem zatvaranja povratne sprege pri upravljanju industrijskim procesima. Razvoj PLC-ova, kao računarskih uredjaja koji se sprežu direktno sa pojedinim delovima postrojenja, neminovno je vodio ka razvoju distribuiranih upravljačkih sistema. U prvo vreme na vrhu piramide bili su minračunari, dok su PLC-ovi imali ulogu samo akvizicije podataka i prenošenja komandi. Kasnije su miniračunari zamenjeni industrijskim PC računarima, dok su PLC-ovi obogaćeni složenijim funkcijama. U svakom slučaju, ponovo se otvorilo pitanje koordinacije i nadzora. Dakle, posle gotovo pola veka od prve ideje da se računar primeni za formiranje nadzorno-upravljačkog sistema, inžinjeri upravljanja našli su se gotovo na samom početku, istina u potpuno izmenjenim tehnološkim uslovima, i otpočeli sa projektovanjem SCADA sistema. 3. Nadzorno-upravljački sistem Nadzorno-upravljački sistem bi se mogao definisati kao sistem koji omogućava nadzor i upravljanje različitim udaljenim procesima pomoću serijskih komunikacija izmedju centralne i udaljenih stanica (Sl. 1). Već iz same definicije je jasno da ovakav sistem ima nekoliko izdvojenih celina: udaljeni U/I moduli za akviziciju podtaka i upravljanje postrojenjem, udaljene stanice, oprema za prenos podataka, telemetrijska mreža i dispečerski centar. Svi elementi nadzorno-upravljačkog sistema biće analizirani kako sa gledišta inžinjera koji projektuje sistem, tako i sa gledišta krajnjeg korisnika aplikacije. ⇒ Udaljeni U/I moduli Kao što je već istaknuto udaljeni U/I moduli predstavljaju spregu računarskog sistema sa mernom opremom i izvršnim organima. Ovi moduli, svakako, moraju podržavati prenos digitalnih i analognih AC i DC signala, i realizovati funkciju brojača, tajmera i generatora imulsa. Pored toga, kao što je već istaknuto, razvijeni su i specijalizovani merno-pretvarački moduli, kao i regulatori. Konačno, u sklopu ovih modula nalaze se i elementi za komunikaciju, kao i operatorski paneli. Sa gledišta inžinjera postojanje ovih modula u velikoj Sl. 1 Nadzorno upravljački sistem meri olakšava realizaciju podsistema za prikupljanje i primarnu obradu podataka. Standardizovani hardver u velikoj meri otklanja potrebu za projektovanjem različitih kola za spregu. Nasuprot tome, sa gledišta operatera način na koji se podaci prikupljaju je potpuno irelevantan. Jedina izmena je uvodjenje operaterskih panela koji omogućavaju da se na drugačiji način izvrši podešavanje pojedinih parametara i prenošenje odgovarajućih poruka. ⇒ Udaljene stanice Udaljena stanica je PLC ili neki drugi mikroračunarski kontroler koji obavlja prikupljanje mernih signala sa senzora, zadaje upravljačke signale aktuatorima, nadzire status procesne opreme i signalizira alarme. Pored toga udaljena stanica šalje potrebne informacije dispečerskom centru i prima komande od njega. Važno je naglasiti da su operativni sistemi ovakvih stanica projektovani tako da realizuju ciklično obavljanje operacija učitavanja podataka, obrade podataka u skladu sa zadanim algoritmom, prenošenja izračunatih vrednosti na izlazne module i komunikacije sa drugim stanicama. Otuda je inžinjer - projektant u potpunosti oslobodjen realizacije U/I zadataka i preostaje mu jedino da se posveti realizaciji algoritma obrade. Na ovom nivou se, po pravilu, zatvaraju sve upravljačke petlje, i signaliziraju alarmi, što znači da se puna pažnja mora posvetiti radu ovih podsistema u realnom vremenu. Za korisnika, udaljena stanica je i dalje deo opreme za prikupljanje signala sa procesa. Prednost koju korisnik vidi ogleda su u izuzetnoj fleksibilnosti u smislu izmene broja i vrste mernih uredjaja i izvršnih organa, kao i jednostavnosti promene algoritma obrade. ⇒ Oprema za prenos podataka i industrijska računarska mreža Oprema za prenos podataka ostvaruje vezu između prenosnog medija, dispečerskog centra i udaljenih stanica. Ova oprema uključuje sve elemente koji se koriste u formiranju industrijskih računarskih mreža. Nema nikakve sumnje da je izbor komunikacione opreme izuzetno važan za efikasan rad celog sistema. Za razliku od ranijih realizacija prenosa podataka koji su zahtevali poseban razvoj ne samo uređaja već i tehnika prenosa, danas je projektant u velikoj meri oslobođen tih vrsta poslova. Uloga inžinjera svodi se na to da u saradnji sa korisnikom sagleda vrstu i obim informacija koja se želi preneti, kao i daljinu na koju se prenos vrši i da u skladu sa time izvrši izbor opreme. Ovim izborom određuje se tip veze, način i brzina prenosa, vreme odziva, temperaturne uslove, napajanje i slično. Izborom opreme za prenos podataka, u izvesnoj meri je određena i računarska mreža koja će se koristiti. U principu u okviru jednog sistema može postojati više mreža, pri čemu je jedna glavna dok ostale služe kao rezerva u pojedinim, kritičnim, delovima sistema. Kao što je već rečeno, formiranje industrijske mreže podrazumeva da se izvrši izvor topologije mreže, prenosnog medija, načina prenosa i protokola koji definiše format u kome se podaci prenose, detekciju i korekciju greške itd. Sa aspekta inžinjera - projektanta sistema pitanje je zapravo koju vrstu komunikacija podržavaju udaljene stanice, kao i dispečerski centar. To zapravo znači, da projektant ne mora detaljno ulaziti u sve aspekte komunikacija, ali da mora biti upoznat sa karakteristikama pojedinih tipova mreža i odgovarajućih protokola, da bi mogao da odabere onu koja će odgovarati predviđenom obimu i brzini razmene informacija i da proveri da li se svi elementi projektovanog sistema mogu priključiti na odabrane mrežu. ⇒ Dispečerski centar Dispečerski centar je zapravo računar na kome se realizuje nadzor i upravljanje procesom. U ovom centru vrši se prikupljanje podataka i to periodično, inicirano odredjenim dogadjajima ili na zahtev operatera. Na osnovu ovih podataka dobija se informacija o trenutnom stanju sistema, analizira se performansa, formiraju različiti izveštaji i arhiviraju se odgovarajući podaci. Istovremeno, na osnovu prikupljenih i obradjenih podataka vrši se daljinsko zadavanje komandi, definišu se i prenose referentni signali, zadaju se recepture, sinhronizuju funkcije pojedinih podsistema, odredjuju reakcije na pojedine alarme itd. U zavisnosti od složenosti celog sistema, može postojati i više dispečerskih centara. U tom smislu se na nivou izmedju procesne i upravljačke mreže formiraju operatorske stanice preko kojih operator upravlja i nadzire deo postrojenja. Na nivou izmedju upravljačke i informacione mreže formira se stanica namenjena tehnologu, koji vrši nadzor i upravljanje celim procesom (Sl.2). Na višem nivou nalazi se poslovni sistem koji dobija neke informacije iz dispečerskog centra, ali obavlja i čitav niz drugih funkcija vezanih za materijalno-finasijsko poslovanje. Nema nikakve sumnje da je, sa gledišta korisnika, upravo dispečerski centar deo nadzorno-upravljačkog sistema koji je u protekloj deceniji doživeo najznačajnije izmene. Ovo se pre svega odnosi na mogućnosti grafičke prezentacije koji korisnika oslobadja zamornog praćenja tabelarno prikazanih podataka i vraća ga u uobičajeno okruženje vizuelnih informacija koje je ranije dobijao preko operaterskog panela. Istovremeno, umesto zadavanja podataka preko tastature, operateru se pruža mogućnost da u grafičkom okruženju iskoristi stečene navike u korišćenju operatorskog pulta. Potrebno je da se istakne da dispečerski centar ne treba, a najčešće, zbog složenih zahteva za komunikaciju, i ne može da radi u realnom vremenu u smislu čvrstih vremenskih ograničenja. Drugim rečima informacije koje se u njemu stiču, kao i komande koje se iz njega prenose u najvećoj meri nisu vremenski kritične i pripadaju klasi takozvanih mekih vremenskih ograničenja. To zapravo znači da se od sistema očekuje da se obrada informacija obavi u nekom prosečnom zadanom vremenu. Izuzetak predstavlja samo mali broj vremenski kritičnih informacija, koje se moraju preneti veoma brzo. Projektovani sistem mora da obezbedi adekvatan odziv na takve dogadjaje. Gledano potpuno opšte sistem koji poseduje sve opisane komponente i u kome se obavaljaju navedeni zadaci predstavlja nadzorno-upravljački sistem ili SCADA sistem. Za postojanje jednog ovakvog sistema apsolutno je nebitno koja oprema je upotrebljena niti na koji način su realizovane pojedine softverske funkcije. Ipak, činjenica je da se ovde radi o izuzetno složenim sistemima u kojima se obavlja mnoštvo raznorodnih funkcija, što znači da njihovo projektovanje može da bude veoma zametno. Sa druge strane, očigledno je da je čitav niz funkcija sistema vezanih za prikupljanje, prenos i prikazivanje podataka, zapravo tipiziran i da ne zavisi bitno od same aplikacije. Ova činjenica dovela je do ideje da se razvije poseban aplikativni softver - SCADA softver - koji bi olakšao projektovanje SCADA sistema. 4. Projektovanje SCADA-e Pri razvijanju nadzorno-upravljačkog sistema primenom SKADA softverskog alata predpostavlja se da postoji postrojenje sa pratećom mernom opremom i izvršnim organima, da je data tehnološka šema i opis postrojenja, kao i elektro projekat na nivou postrojenja. Istovremeno se predpostavlja da je razvijen projekat distribuiranog sistema koji obuhvata udaljene stanice, opremu za prenos podataka i računarsku mrežu. Od projektanta se očekuje da je u punoj meri upoznat sa celim sistemom, da razume njegov rad i da je u saradnji sa operaterim i tehnolozima definisao na koji način će se obavljati nadzor nad radom sistema i koje vrste komanda se žele zadavati. Na tom nivou od SKADA alata se očekuje da omogući jednostavno specificiranje svih elemenata sistema, kao i jednostavno projektovanje operatorskog interfejsa u dispečerskim stanicama. Samo definisanje aplikacije podrazumeva specifikaciju načina komunikacije (tip mreže, komunikacioni drajver i sl.), čvorova u mreži, vreme skaniranja pojedinih stanica itd. Kada je specificiran ceo sistem, razvoj SCADA-e započinje kreiranjem baze podataka koji se prate i obrađuju. Da bi se to ostvarilo neophodno je da se sastavi spisak svih ulazno/izlazni promenljivih, da im se pridruže simbolička imena i da se za svaku od njih ustanovi sa kog čvora u mreži dolazi, i sa koje adrese u tom čvoru. Istovremeno se utvrđuje i kog je tipa (digitalna ili analogna), da li postoje ograničenja koja treba pratiti na Sl. 2 SCADA ekran za praćenje rada hemijskog reaktora nivou alarma, kojom brzinom se menjaju, odnosno kojom brzinom treba da se skeniraju, i da li se promena njihovih vrednosti prikazuje grafički, ili se arhivira. U tom smislu, od SCADA alata se očekuje da omogući jednostavno definisanje simboličkih imena promenljivih i svih njihovih parametara. U SCADA alatima promenljive se nazivaju "tagovi" ("tag"). Uporedo sa popisivanjem promenljivih koje čine bazu podataka, započinje se i sa osmišljavanjem izgleda grafičkih prikaza podataka pomoću kojih će se vršiti nadzor nad radom sistema. U načelu, prikazivanje stanja na procesu ostvaruje se preko niza grafičkih slika "ekrana" koji se Sl. 3 Grafički prikaz promenljivih velkčina aktiviraju u toku rada sistema. Na svakom ekranu nalazi se šematski prikaz dela procesa. Tako na primer, ako se radi o hemijskom reaktoru, onda se na jednom od ekrana može prikazati šema reaktora sa rezervoarima u kojima se nalaze komponente smeše (Sl. 2). Pri tome pojedini elementi (crteži) na ovim šemama predstavljaju promenljive koje se mere u udaljenim stanicama. Na osnovu rezultata merenja ovi elementi se mogu pomerati, menjati boju ili dimenzije i time ukazivati na stvarno stanje na procesu. U posmatranom primeru se količina pojedine komponente predstavlja pravouagonikom koji menja visinu. Samo se po sebi razume da se od SCADA alata očekuje da omogući jednostavno kreiranje ovih grafičkih celina. Za operatera može biti od interesa da prati promenu neke promenljive i na standardnom grafiku, pa u tom smislu SCADA alat mora da omogući jednostavno definisanje parametara grafika (Sl. 3). U određenim situacijama neophodno je da se definišu parametri samog procesa ("recept"). Takav je, na primer, slučaj, sa sistemom za upravljanje i nadzor mašinom za pravljenje toplih napitaka, kod koje korisnik (operater) odabira vrstu napitka, količinu šećera itd (Sl. 4). Ovim se svakako ne iscrpljuju mogućnosti prikazivanja informacija pomoću SCADA-e, ali je i ovo dovoljno da se sagleda koji su neophodni elementi svakog SCADA softverskog alata. Sl. 4 SCADA ekran za zadavanje recepture U osnovi, svi softverski alati ove vrste omogućavaju da se definišuz promenljive u bazi i da se ti podaci koriste na jedan od sledećih načina. • Izveštaji - jedan deo podataka se pamti i na osnovu njih se formiraju različite vrste izveštaja. Od softvera se očekuje da omogući jednostavnu specifikaciju vremenskih parametara za prikupljanje podataka • Alarmi - skup podataka čije se vrednosti porede sa zadanim granicama. Dsvako prekoračenje granica označava se kao alarm, koji signalizira operateru da se na procesu nešto ne odvija kako je zamišljeno. SCADA softverski alat treba da omogući definiciju alarma, definisanje više nivoa ozbiljnosti, smera promene koji izaziva alarm, specifikaciju poruke koja se vezuje za alarm itd. • Dogadjaji - matematička ili logička operacija nad podacima čija istinosna vrednost ukazuje na nastanak dogadjaja. Kao rezultat detekcije dogadjaja sistem izvršava odgovarajuću komandu. Softerom se odredjuje repertoar dozvoljenih operacija i komandi. Grafika - predstavlja poseban i verovatno, sa korisničke tačke gledišta, najznačajniji deo sistema. Grafički displej omogućava korisniku da nadgleda rad sistema, da prati grafikone promena pojedinih veličina, da registruje alarme i da zadaje komande. Sa projektantske tačke gledišta SCADA softverski alat treba da omogući što jednostavnije kreiranje grafičkih objekata, korišćenje biblioteka gotovih objekata i kontrolu objekata u smislu promene boje, oblika, položaja itd, a u zavisnosti od stanja postrojenja. Ovaj alat takođe treba da omogući i zadavanje "recepata". Od SCADA softvera se očekuje da radi u okruženju nekog standardnog operativnog sistema tipa Windows-a, NT-a ili Unix-a. Izuzetno je pogodno ako je softver projektovan tako da omogući direktnu razmenu podataka (DDE) izmedju SCADA aplikacije i drugih standardnih aplikacija tipa Excell, Access i slično. Naime, na ovaj način se zapravo proširuju mogućnosti SCADA-e, tako što se za prikaz i obradu podataka koristi ona vrsta programa koja je profesionalno razvijena i najbolje odgovara željenoj vrsti primene. U tom smislu SCADA se može posmatrati kao deo jednog složenog distribuiranog sistema upravljanja, kod koga se na svakom nivou uz pomoć odgovarajućeg softvera obavlja odgovarajuća operacija. uprava skladište laboratorija elektro održavanje mašinsko održavanje aplikacioni softver Recipes podaci odeljenje tehnologije aplikacioni softver registracija alarma komunikacioni koncentrator pamćenje događaja priprema izveštaja server nadzor upravljanje izveštaj merenje & upravljanje alarmi arhiva DDE & OPC server podataka ' SCADA PLC Sl. 5 Uloga i mesto SCADAe u distirbuiranom upravljačkom sistemu Nesumnjivo je da se pred SCADA softver postavlja veoma mnogo zahteva. Različite komercijalno raspoložive SCADA-e rešavaju svaki od naznačenih problema sa manje ili više uspeha, pružaju manju ili veću fleksibilnost i pouzdanost, i u odredjenim segmentima su lakše ili teže za korišćenje. Pored toga, iako većina SCADA softvera može, bar nominalno, da podržava elemente sistema koji potiču od različitih proizvodjača, izvesno je da kvalitet aplikacije zavisi i od ugradjene opreme. Otuda je izuzetno teško da se izvrši uporedna analiza SCADA softvera. Čini se da je, bar u ovom trenutku, izbor softvera prepušten ukusu projektanta, odnosno onom aspektu za koji se njemu, iz nekih razloga, čini da je najznačajniji pri projektovanju aplikacije Konačno, potrebno je da se naglasi da mikroračunarski sistem spregnut sa procesom u kome se vrši akvizicija podataka i upravljanje procesom ne predstavlja sam po sebi nadzorno-upravljački sistem. Tek kada se formira distribuirani sistem u kome se preko telemetrijske mreže vrši razmena većeg obima informacija može se govoriti o SCADA sistemu. U konceptualnom smislu nadzorno-upravljački sistemi ne predstavljaju neko izuzetno novo rešenje, naprotiv oni su preteča primene računara u procesnoj industriji. Suštinska novina, koju je doneo tehnološki razvoj mikroračunara, i posebno telekomunikacionih računarskih mreža, je način na koji se projektuju i realizuju SCADA sistemi. Odgovarajući SCADA softver je alat koji može značajno da pojednostavi projektovanje sistema. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 1. UVOD 1.1. Opšte napomene U današnjem industrijskom okruženju obično smo suočeni sa potrebom nadzora i upravljanja raznim procesima. U najprostijem slučaju to znači da je proces opremljen sa nekom vrstom uređaja za merenje za potrebe nadzora i nekom vrstom uređaja za upravljanje. Opremljen tim alatima, određeni sistem može kontrolisati proces za koji je odgovoran. Obično se tehničko-tehnološki procesi sastoje iz više, funkcionalno različitih, podsistema i prostorno su dislocirani. Za ove poslove danas se koriste računarski podržani sistemi poznati pod imenom SCADA sistemi (Supervisory Control and Data Acquisition). Naročito su pogodni za procese koji rade 24 časa dnevno i zahtevaju stalni nadzor i upravljanje. SCADA sistem je kompjuterizovani sistem, široko ditribuiran, koji se prvenstveno koristi za daljinsko upravljanje i nadzor procesa ili postrojenja sa centralne lokacije, slika 1. Pod ovim se podrazumeva prikupljanje podataka i njihovo prosleđivanje centrali (dispečerski centar), obavljanje potrebne analize i generisanje upravljanja. Na kraju se vrši grafički prikaz obrađenih podataka na operaterskom terminalu koji se, u zavisnosti od kompleksnosti procesa, prikazuje u obliku jednog ili više monitorskih ekrana. Sledeća slika pokazuje jednostavan SCADA sistem za distribuciju pijaće vode, slika 1. slika 1: jednostavan SCADA sistem za distribuciju pijaće vode Glavni ciljevi SCADA sistema su da: 1. vrši nadzor 2. uspostavi upravljanje nad sistemom i da osigura ponašanje sistema onako kako se od njega očekuje 3. redukuje radnu snagu primenom automatizacije 4. skladišti podatke o ponašanju sistema Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 5. obezbedi informacije o radu sistema i uspostavi efektivno upravljanje resursima sistema 6. uspostavi efikasno funkcionisanje sistema tako što će maksimalno smanjiti potrebu za rutinskim posetama udaljenim lokacijama i potencijalno smanjiti potrošnju električne energije 7. obezbedi sistem upravljanja koji će omogućiti da se svi operativni ciljevi definišu i ostvare 8. obezbedi sistem uzbunjivanja koji će omogućiti da se nepravilno funkcionisanje sistema evidentira sa centralne lokacije, čime se omogućava efikasna upotreba odgovarajućih timova za popravku, kao i preventivno uzbunjivanje koje ima za cilj sprečavanje većih havarija. Primena SCADA sistema je dosta široka i najčešće je to u: 1. proizvodnji i distribuciji električne energije • elektrane • centri za ditribuciju 2. proizvodnji i distribuciji toplotne energije • kotlarnice • energane • daljinsko grejanje 3. petro-hemijskoj industriji • naftne bušotine • postrojenja za preradu nafte i proizvodnju naftnih derivata 4. industriji vodosnabdevanja i prečišćavanje voda • vodovodi • fabrike pijaće vode • postrojenja za preradu otpadnih voda 5. prehrambrenoj industriji • linije za proizvodnju i pakovanje hrane i pića 6. građevinska industrija • asfaltna baza • proizvodnja crepa i opeke 7. metalska industrija 8. industrija plastičnih masa itd. SCADA sistemi osim što su pogodni za nadzor i upravljanje procesima na udaljenim i razuđenim lokacijama, pogodni su i za primenu kod procesa koji su opasni po život radnika. SCADA sistem ne mora uvek imati elemente koji su međusobno geografski udaljeni, to mogu biti procesne celine koje se nalaze npr. u fabričkom pogonu. SCADA sistem i nad takvim procesima realizuje iste funkcije kao i kod onih procesa čiji su elementi geografski udaljeni. U skladu sa ovim, u novije vreme sa odgovarajućim tehničkim uslovima postaje isplativo implementirati SCADA sisteme čak i u laboratorijama, kao što je prikazano na slici 2. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 2. ELEMENTI SCADA SISTEMA Kompjuterizovani nadzorno upravljački sistemi su u pogonu u mnogim tehnološkim procesima već više godina. Kroz praksu i iskustvo utvrđen je zajednički skup osnovnih funkcija takvih sistema. Trend razvoja SCADA sistema je bio da se utvrdi standardizovani koncept koji se može prilagoditi potrebama i varijantama različitih tehnoloških procesa. Generalno govoreći, SCADA sistem je tako koncipiran hardver i softver, koji obezbeđuje fleksibilan skup funkcija za nadzor, upravljanje i analizu procesa. Pomoću SCADA sistema snižavaju se troškovi rada tehnološkog procesa i povećava se sigurnost rada. Generalno, SCADA sistemi nude sledece osnovne funkcije: • akvizicija podataka1 • nadzor i procesiranje dogadjaja • upravljanje procesom • hronologija dogadjaja i analiza • vizuelizacija procesa • proračuni i izveštaji • dodatne funkcije po zahtevu korisnika UOpšteno govoreći SCADA sistemi se sastoje iz više funkcionalno povezanih celina. Osnovni elementi SCADA sistema su: 1. merno-regulacione tehnike (Instrumentation na sl. 4) 2. udaljenih stanica (Remote Station na sl. 4) 3. komunikacionog sistema (Communication Network na sl. 4) 4. nadzorno-upravljačkog centra (Central Monitoring Station na sl. 4) slika 4: jednostavan primer SCADA sistema 1 Akvizicija podataka predstavlja metod za pristup i manipulaciju kako podacima dobijenih iz procesa tako i podacima koji idu ka procesu (u obliku izvršnih komandi nad opremom u procesu). Podaci dobijeni akvizicijom se dalje prosleđuju telemetrijskom sistemu i spremni su za tranfer na različite lokacije. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 2.1. Merno-regulaciona tehnika Pod merno-regulacionom tehnikom se podrazumevaju uređaji koji su povezani sa mašinama ili opremom u procesu koji se nadzire od strane SCADA sistema. Tipični predstavnici su senzori za nadzor određenih parametara procesa, i aktuatori koji se koriste za realizaciju upravljačkih signala od strane SCADA sistema. Merno-regulaciona tehnika vrši konverziju fizičkih veličina (protok, brzina, nivo itd.) u električne signale (napon ili struja) koji se mogu prepoznati od strane udaljene stanice (kondicioniranje signala). Izlazi iz senzora2 mogu biti analogni (kontinualne vrednosti) ili digitalni (diskretne vrednosti). Industrijski standardi za izlazne analogne signale senzora su: 0 do 5V, 0 do 10V, 4 do 20mA, 0 do 20mA. Naponski izlazi se koriste kada su senzori instalirani u blizini udaljene stanice, dok se strujni izlazi koriste kada senzori nisu locirani u blizini udaljene stanice. Digitalni izlazi se koriste kada se želi odrediti status industrijske opreme (npr. elektromotor). Obično 1 reprezentuje da je motor uključen, a 0 da je isključen. Takođe može imati značenje 1 za “rezervoar je pun” i 0 za “rezervoar je prazan”. Aktuatori se koriste za pokretanje i zaustavljanje izvršnih organa. Poseduju analogne i digitalne ulaze koji se koriste za upravljanje. Digitalni ulazi se mogu koristiti za pokretanje i zaustavljanje izvršnih organa, dok se analogni ulazi mogu koristiti za kontrolu broja obrtaja motora ili pozicije motorizovanog ventila. 2.2. Udaljena stanica Merno-regulaciona tehnika osim što je povezana na proces/mašinu koji se nadzire, povezana je i sa udaljenom stanicom da bi se omogućilo upravljanje procesom/mašinom na udaljenoj lokaciji. Udaljena stanica takođe služi za prikupljanje podataka sa opreme i njihov transfer do nadzorno-upravljačkog centra. Udaljena stanica može biti udaljena terminalna jedinica (RTU – Remote Terminal Unit) ili programabilni logički kontroler (PLC – Programmable Logic Controller), takođe može biti kompaktnog (tzv. single board) ili modularnog tipa. RTU ili PLC RTU je pouzdan računar sa veoma dobrom radio komunikacijom. Koristi se u uslovima otežane komunikacije. Jedina mana ovakvog uređaja je slaba programabilnost. Nekada je to bilo zato što se od RTU-a zahtevalo prikupljanje samo osnovnih informacija sa terena i zato je logika upravljanja uglavnom bila smeštena u relejnoj logici. Ipak, moderni RTU sada nude programabilnost na nivou koji imaju PLC-ovi. PLC je mali industrijski računar koji se obično nalazi u fabričkim postrojenjima. Njegova osnovna uloga je da zameni relejnu logiku koja se koristila 2 Senzori su sastavni deo mernog uređaja. Zbog tehnologije integracije elemenata merni uređaj neki poistovećuju sa senzorom, pa se u tom smislu govori o izlazima senzora. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. za upravljanje delovima postrojenja ili procesa. Danas, PLC se koristi u SCADA sistemima zbog svoje dobre programabilnosti. Prvi PLC-ovi nisu imali port za serijsku komunikaciju preko koga se vrši povezivanje na module za radio komunikaciju. Komunikacione karakteristike današnjih PLC-ova su mnogo veće nego nekada i poseduju mogućnost povezivanja sa modulima za radio komunikaciju koja se često koristi u SCADA sistemima. Pretpostavka je da ćemo u skorijoj budućnosti videti spajanje RTU-a i PLC-a u jedan uređaj. Kompaktnost protiv modularnosti Ograničenje koje kompaktan tip udaljene stanice nosi sa sobom je fiksiran broj ulaza/izlaza. To je ekonomična solucija ali ima svoje nedostatke prilikom upotrebe u sofisticiranim sistemima. Modularan tip udaljene stanice je solucija koja nudi mogućnost kombinovanja i proširivanja funkcija i on je skuplji od kompaktnog tipa. Bilo koji ulazno/izlazni ili komunikacioni modul za koji se ukaže potreba može se lako kombinovati sa glavnim modulom. 2.3. Komunikacioni sistem SCADA obuhvata i transfer podataka između centralnog SCADA sistema (centralni kompjuter) i brojnih udaljenih lokacija (RTU-ova), kao i između centralnog komjutera i operaterskih terminala. Slika 5 pokazuje generički SCADA sistem koji uključuje neke oblike multipleksiranja podataka između centralnog kompjutera i RTU-ova. Ovi multiplekseri služe za usmeravanje podataka ka i od RTU-ova u lokalnoj mreži, koristeći jednu ili malo fizičkih veza unutar WAN3 mreže kako bi podatke poslali nazad u centralni kompjuter. Komunikacioni sistem se sastoji od komunikacionih medija i opreme potrebne za prenos podataka od i ka udaljenim lokacijama. Medijumi koji se koriste u te svrhe mogu biti žični kabl, optički kabl, radio veza, satelitska veza itd. slika 5: generički SCADA sistem 3 WAN – Wide Area Network – mreža koja povezuje elemente komunikacije u širem (geografskom) području. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Korišćenje kabla je najčešće vezano za fabričke pogone, međutim on nije praktičan za sisteme čiji su elementi geografski udaljeni. Osim cene kabla po kilometru, treba uzeti u obzir radnu snagu za polaganje kabla itd. Kao jedno od rešenja pojavila se telefonska linija, tj. iznajmljena telefonska linija, kao jeftinije rešenje za geografski razuđene sisteme. Iznajmljena linija se koristi u slučajevima kada je neophodna direktna kontinualna veza sa udaljenim stanicama. Ni ovo nije jeftina solucija budući da je potrebna jedna telefonska linija po udaljenoj stanici. Osim toga iznajmljene linije su skuplje od običnih telefonskih linija. Sa druge strane obične telefonske linije mogu biti iskorišćene kod onih sistema kod kojih su potrebe za komunikacijom definisane za neki vremenski interval (recimo na svakih sat vremena). U ovom slučaju nadzorno-upravljački centar će pozivati posle određenog vremena sve (ili pojedine) udaljene stanice i izvršiti učitavanje podataka od njih i slanje odgovarajućih komandi ka njima. Udaljene stanice mogu biti vrlo teško dostupne za telefonske linije. Tada se radio komunikacija nameće kao jedino logično/ekonomično rešenje. U ovakvim situacijama najčešće se koriste radio modemi. Radio veza može omogućiti konstantnu povezanost između udaljenih stanica i nadzorno-upravljačkog centra. Za mesta do kojih ne može biti uspostavljena direktna radio veza koristi se repetitor. 2.4. Nadzorno-upravljački centar Nadzorno-upravljački centar (SCU - Supervisory Control Unit) predstavlja glavnu jedinicu SCADA sistema. On je zadužen za prikupljanje podataka od strane udaljenih stanica i generisanje potrebnih akcija za bilo koji događaj detektovan od strane SCADA sistema. Nadzorno-upravljački centar se može sastojati od jednog računara ili može biti povezan sa mrežom radnih stanica radi deljenja informacija/posla unutar SCADA sistema. MMI (Man-Machine Interface) ili HMI (Human-Machine Interface) je softver (program) koji radi na centralnom računaru. Ovaj softver omogućava grafičko predstavljanje celog postrojenja ili samo jednog procesa na računaru. Na taj način se operateru pruža mogućnost lakšeg praćenja i upravljanja. Svaka ulazno/izlazna tačka (čvor) na udaljenim stanicama može biti prikazana odovarajućim grafičkim simbolima, a takođe da li postoji očitavanje ili ne. Npr. očitavanje protoka može biti predstavljenjo u obliku merača protoka, isti slučaj je i sa ventilima (otvoren, zatvoren), pumpama (uklj./isklj.), rezervoarima, kotlovima i sl., kao na slici 6. Granične vrednosti parametara procesa su unete u ovaj program i prosleđene do odgovarajućih udaljenih stanica, da bi se ažurirali njeni operacioni parametri i obezbedilo nesmetano funkcionisanje procesa. HMI program takođe može formirati odvojen prozor (ekran) za alarme. Ekran alarma pokazuje ime alarma, njegov kratak opis, trenutne vrednosti, granične vrednosti, vreme, datum i ostale informacije koje su potrebne. Stanja svih (ili određenih) alarma može biti snimljeno u odvojenu datoteku za kasniji pregled i analizu. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. slika 6: izgled jednog monitorskog ekrana (energana) Grafičko predstavljanje (trends) odgovarajućih analognih podataka procesa/postrojenja, slika 7, može biti programirano. Trendovi mogu biti pokazivani i štampani kasnije. Formiranje izveštaja takođe se može isplanirati u tačno određeno vreme u toku dana, na periodičnoj bazi, na zahtev operatera ili na osnovu događaja u procesu koji mogu da izazovu stanja koje definišemo kao alarme. slika 7: grafik promene parametara procesa (trend) Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Pristup programu je dozvoljen samo određenim licima. Obično su to operateri. Svaki korisnik ima lozinku i nivo privilegija za pristup sistemu ili nekom njegovom delu. Sve akcije koje su preduzimane od strane nekog korisnika se snimaju radi kasnijeg pregleda i analize, ako je potrebno. 2.5. Povezivanje elemenata SCADA sistema u celinu Akvizicija podataka se ostvaruje prvo posredstvom udaljene stanice skeniranjem ulaznih uređaja (merna tehnika) koji su povezani na PLC (ovo se obično realizuje velikom brzinom). Zatim, nadzorno-upravljačka stanica skenira sve PLC-ove posredstvom komunikacionog sistema (ovo se realizuje sporije), dobijeni podaci se obrađuju radi detektovanja alarmnih stanja, i ako je takvo stanje detektovano prikazuje se u specijalnoj listi alarma. Bilo koje neželjeno stanje koje se detektuje u procesu registrovano je od strane centralnog kompjutera kao alarm, i u tom slučaju operateri se obaveštavaju zvučnim signalima ili vizuelno na operaterskom terminalu. Operateri onda mogu da istraže uzrok alarma koristeći SCADA sistem. Svaki alarm ima svoje ime, vreme aktiviranja, vreme trajanja, ime operatera u trenutku aktiviranja i može da se sačuva u arhivi za kasnije analize. Svi obrađeni podaci (parametri procesa, alarmi itd.) se skladište u bazu podataka koja se najčešće nalazi na računaru kojem je dodeljena uloga servera. Pristup podacima sa servera vrši se pomoću specijalizovanog softvera koji između ostalog vrši ulogu primarnog interfejsa. I na kraju specijalizovan softver omogućava operateru zadavanje odgovarajućih komandi (opet putem komunikacionog sistema) kao reakcija na događaje u procesu (čiji su reprezenti grafički ekrani), a moguće je i da sam softver generiše upravljačke akcije. Upravljačke akcije se definišu uz pomoć centralnog kompjutera i generalno predstavljaju podatke koji se šalju PLC-ovima, a oni dalje izvršavaju realizaciju upravljanja. Kao takve, sve upravljačke akcije operatera koje su zabeležene u centralnom kompjuteru (baza podataka) će inicirati komunikaciju sa PLC-ovima, i time omogućiti komandi upravljanja da se pošalje uređajima koji vrše neposredno upravljanje procesom. SCADA sistemi obično upošljavaju nekoliko nivoa provere da bi se osigurao transfer komandi upravljanja od centralnog kompjutera do uređaja na terenu. Potrebno je napomenuti da se ceo proces međusobnog povezivanja i interakcije elemata SCADA sistema odvija ciklično. To je veoma bitno zbog kontinualnog praćenja procesa i regovanja na promene. Kada se SCADA sistem jednom uvede u tehnološki proces, omogućava nadgradnju mnogih dodatnih funkcija, dalji razvoj i unapređenje. Znači, SCADA sistem bi po svojoj prirodi trebalo da bude otvoren sistem. To je prvenstveno zato jer postoji informaciona osnova, baza podataka, nad kojom se može vršiti dalja nadgradnja funkcija. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 3. MERNO-REGULACIONA TEHNIKA 3.1. Merenje Merenje u automatskom upravljanju ima prvorazredni značaj, a za dobijanje neophodnih informacija o procesima koji se odvijaju u objektu upravljanja koriste se razni merni uređaji. Merni uređaji u upravljanju primenjuju se na tri funkcionalno različita načina. Prvi način podrazumeva primenu specifičnih instrumenata za merenje fizičkih veličina s ciljem utvrđivanja njihovih vrednosti u standardnim jedinicama. Ovaj način definiše uobičajenu primenu mernih uređaja i najčešće se koristi za kontrolu kvaliteta sirovina, proizvodnje i za kontrolu gotovih proizvoda. Drugi način je primena mernih uređaja u funkciji nadzora procesa, što je slučaj kada SCADA sistem koristimo prvenstveno za nadzor. Informacije dobijene na ovaj način, slika 8, se prosleđuju čoveku - operateru koji onda preduzima odgovarajuće upravljačke akcije. Slika 8: merni uređaj sa funkcijom monitoringa Na primer, u tehnološkom postrojenju razvoj hemijske reakcije detektuje se merenjem temperature i pritiska u više tačaka, što omogućava operateru da preduzme adekvatnu upravljačku akciju: • promenu napona napajanja na električnom grejaču • promenu dotoka vode za hlađenje • promenu pozicije regulacionog ventila itd. Treći način odnosi se na primenu mernih uređaja koji su sastavni deo sistema automatskog upravljanja, slučaj kada SCADA sistem ima i ulogu upravljanja. Struktura sistema automatskog upravljanja može biti različita. Na slici 9 prikazan je strukturni blok dijagram jednokonturnog regulacionog kola sa negativnom povratnom spregom. Procesi kojima se upravlja mogu imatu više od jednog regulacionog kola, koje sadrži više od jedne povratne sprege, tako da nam SCADA sistemi mogu omogućiti nadzor i upravljanje ovakvim sistemima vrlo efikasno. Uloga mernih uređaja, pogotovo ako su u negativnoj povratnoj sprezi, ogleda se u tome da Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. kvalitet upravljanja (samim tim i rada celokupnog SCADA sistema) principijelno zavisi od karakteristika mernog uređaja. Slika 9: Merni uređaj u povratnoj sprezi SAU Digitalna obrada informacija nalazi sve veću primenu i u mernoj tehnici. Razlog je, u prvom redu, u brzini delovanja digitalnih mernih uređaja, koji se grade na bazi integralnih kola velikog ili srednjeg stepena integracije. Zahvaljujući tome oni imaju čitav niz prednosti u odnosu na analogne merne uređaje kada su u pitanju funkcionalnost, fleksibilnost, efikasnost, ekonomičnost, tačnost i pouzdanost. Primena digitalnih mernih uređaja u upravljanju prostorno razuđenim procesima ima dodatne prednosti koje su u vezi sa prenosom informacija na veća rastojanja. Telemetrija (merenje na daljinu) obično je usko povezana sa SCADA sistemima. To je tehnika koja se koristi prilikom prenošenja i primanja informacija tj. podataka preko nekog medijuma. Informacije mogu predstavljati podatke dobijene merenjem, kao što su recimo napon, brzina ili protok. Ovi podaci se prenose na drugu lokaciju kroz medijume kao što su kabl ili radio veza. Informacije mogu poticati sa više različitih lokacija, a tehnika kojom se vrši prepoznavanje sa koje lokacije stižu podaci je ugrađena u sam SCADA sistem. Struktura telemtrijskog sistema je data na slici 10. slika 10: struktura telemetrijskog sistema Telemetrijski sistem se razlikuje od lokalnog mernog sistema jedino po potrebi prenosa informacija od objekta merenja (upravljanja) do udaljenog mesta, gde se te informacije obrađuju (nadzorno-upravljački centar). Informacioni signal y kao rezultat merenja fizičke veličine x najčešće nije pogodan za prenos na daljinu, Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 5. KOMUNIKACIONI SISTEM Komunikacioni sistem ima za cilj da obezbedi načine i sredstva kojima se podaci mogu prenositi između nadzorno upravljačkog centra (tj. centralnog kompjutera – obično je to server) i udaljenih stanica (RTU-a odnosno PLC-a). Komunikacija se odvija preko komunikacionog media u zavisnosti od mogućnosti i zahteva korisnika. Tako npr. imamo prenos podataka preko javne telefonske mreže, zakupljenih telefonskih parica, ostalih dodeljenih žičanih veza, dvosmernih radio sistema, satelitskih veza, fiber-optičkih veza, dostupnih LAN mreža ili bilo kojeg medija koji omogućava prenos digitalnih podataka. Lokalne mreže koje omogućavaju dobro znane topologije (magistrala5 – bus, zvezda6 – star, prsten7 – ring) idelane su za SCADA sisteme sa malom dislokacijom elemenata nekog procesa upravljanja. slika 19: razgranata struktura WASCAD sistema 5 Magistrala - Sve stanice su priključene na zajednički prenosni medijum. Svaka stanica može da primi svaki poslati paket. Generalizacija magistrale je stablo; signali se reprodukuju u granama analogno ili digitalno. Zajednički problem: upravljanje pristupom medijumu. 6 Zvezda - Stanice su direktnim vezama povezane sa centralnim čvorištem. Klasičan primer: digitalna telefonska centrala. Mreža fizički izvedena u obliku zvezde može se logički ponašati kao magistrala (ili prsten). 7 Prsten - Stanice su međusobno povezane direktnim (point-to-point) vezama. Podaci se prenose paketski; paketi putuju kroz prsten u jednom smeru. Stanica koja želi da pošalje paket ubacuje ga u prsten. Ista stanica čeka da se paket vrati i izbacuje ga iz cirkulacije. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Moderni SCADA sistemi, a naročito WASCAD sistemi (Wide Area SCADA) kombinuju gore nabrojene komunikacione medije i topologije u cilju formiranja snažnog informatičkog WASCAD čvora (slike 19 i 20). U suštini ovakva SCADA mreža je distribuirana mreža sa razgranatom strukturom (tree structure). Dakle jedina razlika između SCU (Supervisory Control Unit) jedinica tj. nadzornoupravljačkih centara u razgranatoj strukturi SCADA sistema bi bila u nivou nadležnosti prilikom odlučivanja u procesu upravljanja. slika 20: primer SCADA heterogene mreže Izbor komunikacionog sistema može biti kritičan sa stanovišta performansi i pouzdanosti. Vreme odziva SCADA sistema je jedan od bitnih parametara koji treba uzeti u obzir. Takođe komunikacioni sistem mora biti takav da omogućava nesmetan saobraćaj i sprečava preopterećenje. Propusni opseg/Širina opsega Važna osobina komunikacionih kanala je njihov kapacitet prenosa podataka. Termin propusni opseg se koristi da bi opisao ovaj kapacitet. Prvobitno, termin propusni opseg se odnosio na širinu analognog kanala u Hz. Npr. komunikacioni kanal tipa telefonske linije koji ima nominalni opseg od 0.3 do 3.4 kHz ima propusni opseg 3.1 kHz., a radio kanal čiji je spektar od 929.88875 do 929.8875 MHz ima propusni opseg od 1.25 kHz. Sa digitalnom transmisijom termin propusni opseg je proširen da bi uključio brzinu prenošenja podataka u bitovim u sekundi (bps). Raspoloživost SCADA komunikacije Raspoloživost koju nameće infrastruktura komunikacije je važan aspekt SCADA sistema. Zato što su SCADA sistemi obično geografski razuđeni, veze sa udaljenim stanicama od centralnog kompjutera su često slojevite, što znači da može postojati nekoliko fizičkih i logičkih putanja kroz koje podaci moraju da prođu pre nego što stignu do željene destinacije. Zato treba imati u vidu i finansijsku stranu prilikom izbora vrste komunikacionog sistema. Zbog činjenice da se višeslojni SCADA sistem sastoji od velikog broja konvertora i uređaja za povezivanje višeslojnog komunikacionog sistema postoji veliki broj mesta unutar SCADA sistema koji su podložni greškama u komunikaciji. Izvori grešaka u komunikaciji obično su fabričke greške same opreme (ili loše Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. konfigurisanje opreme), greške prilikom snabdevanja el. energijom tih uređaja kao i greške izazvane ljudskim faktorom. Da bi se rešio ovaj problem neki projektanti SCADA sistema dodaju podsisteme za komunikaciju koji služe kao rezerva, u slučaju otkaza primarnih sistema za komunikaciju. Ipak sa stanovišta troškova ovo nije praktično. 5.1. Podela komunikacionih sistema Komunikacioni sistemi se prema vrsti medija (nosioca komunikacije) dele na: • žične • bežične • optičke 5.1.1. Žični komunikacioni sistemi Pregled žičnih komunikacionih sistema unutar SCADA sistema Javne telefonske mreže Javna telefonska mreža se koristi za prenos podataka uz pomoć dial-up modema instaliranih na udaljenim stanicama. Ovo rešenje dolazi u obzir samo u slučajevima kada odgovarajuća infrastruktura (telefonska linija) već postoji na udaljenim stanicama, i ako nije potrebna on-line (konstantna) komunikacija. Javna telefonska mreža je prihvatljivo rešenje za one SCADA sisteme koji imaju zahteve za periodičnim nadzorom i upravljanjem opremom na udaljenim stanicama. Udaljene stanice mogu biti konfigurisane tako da uspostave vezu sa nadzornoupravljačkim centrom kada nastanu značajne promene u ponašanju procesa ili opreme na udaljenoj stanici (kao npr. detekcija alarmnih uslova, kvar opreme i sl.). Karakteristike su sledeće: • Svaki prenos podataka zahteva uspostavljanje telefonske veze • Postojeća telefonska infrastruktura omogućava široku raspoloživost • Dial-up modemi obezbeđuju protok do 56 kbp • Korišćenje postojeće infrastrukture podrazumeva niže troškove • Troškovi ekploatacije su proporcionalni vremenu trajanja telefonskih konekcija Iznajmljene (zakupljene) telefonske linije Iznajmljene telefonske linije se koriste u slučajevima kada je potreban brz odziv udaljenih stanica. U ovom slučaju komunikacija se obavlja preko base-band modema8 ili standardnih dial-up modema koji rade bez prekida (konstantna veza). Karakteristike: • Komunikacioni sistem je stalno on-line, nema potrebe za posebno uspostavljanje telefonske konekcije • Veći protok podataka može biti postignut brzim modemima (npr. DSL9) • Troškovi eksploatacije su značajni 8 base-band modem – modem osnovnog opsega. DSL (Digital Subscriber Line) – digitalna pretplatnička linija, DSL tehnologija omogućava prenos digitalnih signala preko postojećih telefonskih bakarnih parica. 9 Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Mreže koje obuhvataju manja područja (fabrika, zgrada i sl.) Ove mreže obično predstavljaju komunikacione podsisteme koji se vezuju na veće sisteme za komunikaciju. One se dele na: • LAN (Local Area Network): Računarska lokalna mreža može biti korišćena za komunikaciju između udaljenih stanica. Ovakvo rešenje podrazumeva mogućnost konekcije na Ethernet10 mrežu i podršku za TCP/IP11 protokole ili neke druge protokole koji se koriste u LAN mrežama. Primer uređaja koji omogućava ovakav način povezivanja je NetX Ethernet firme DECODE. NetX Ethernet je gateway12 modul za povezivanje serijskih industrijskih magistrala i uređaja sa RS-232/485 interfejsom na Ethernet/LAN mrežu. slika 21: povezivanje Ethernet/Internet mreže sa RS-485 mrežom • RS-485 bus (magistrala): Ovo je najčešća mreža u industriji. RS-485 zahteva par upredenih žica između svih učesnika u mreži. To je obično half-duplex13 (polu-dupleks) magistrala koja omogućava povezivanje 32 modula, dužine do 1.2km. Postoje više industrijskih protokola dizajniranih za RS-485 magistrali. Velika prednost ovih mreža je njihova potpuna nezavisnost. Ipak one se primenjuju samo u uslovima gde je razdaljina između objekata komunikacije limitirajući faktor (kao što je fabrički krug). Internet U poslednjih nekoliko godina postoji trend integrisanja embedded14 uređaja i sistema u veće sisteme. Ova integracija se vrši povezivanjem preko internet mreže, korišćenjem TCP/IP protokola. U ovom slučaju internet, kao jedno otvoreno rešenje, se koristi kao deo sistema za komunikaciju. Neke od prednosti su: • najpopularnija globalna mreža omogućava veliku raspoloživost njenih resursa, • centralni računar sada može biti bilo koji računar na mreži (teoretski), koji može vršiti nadzor i upravljanje uz pomoć bilo kog brauzera. 10 Ethernet – najčešća mreža računara, paketski prenos podataka, velike brzine (trenutno postoji pritisak na tržištu od većih svetskih firmi iz oblasti automatike za uvođenje Ethernet-a u industrijsko okruženje. 11 TCP/IP (Transmission Control Protocol/Internet Protocol) – grupa protokola koji se koriste za komunikaciju na internetu. 12 Gateway – Mrežni prolaz. Uređaj koji predstavlja komunikacioni most između nekompatibilnih platformi ili mrežnih arhitektura. Tačka pristupa Ethernet/Internet mreži. 13 half-duplex – prenos podataka po istom prenosnom mediju se odvija u oba smera, prijem i predaja, ali se u jednom trenutku vremena može prenositi samo u jednom smeru. 14 Embedded – umetnut, pridodat Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. • mogućnost lakog povezivanja sa postojećim mrežnim infrastrukturama (LAN, optička mreža, Intranet) Dok su mane, koje posebno treba naglasiti: • pun pristup internetu praćen je velikim novčanim izdacima • vreme odziva ovakvog komunikacionog sistema varira i nekada je nedovoljno za primenu slika 22: Internet kao deo komunikacionog sistema SCADA sistema Uobičajeni mediji koji se koriste kod žičnih komunikacionih sistema o o koaksijalni kabl širok propusni opseg otporan na elektro-magnetne smetnje parice (neoklopljene i oklopljene, UTP i STP kablovi), koriste se za prenos signala u: LAN – lokalnim računarskim mrežama • udaljenosti prijemnika i predajnika do 100m • prenos podataka na brzinama 10, 100, 1000 Mbps javnim telekomunikacionim mrežama • udaljenost prijemnika i predajnika je < 10km • prenos podataka na brzinama 64 – n x 1000kbps, n < 10 5.1.2. Bežični komunikacioni sistemi • • • • Postoje neke situacije gde se bežična komunikacija nameće kao rešenje: nedostupna područja bez kablovske infrastrukture mobilne udaljene stanice udaljene stanice koje se nalaze na privremenim lokacijama (kao što je slučaj na privremenim građevinskim ili eksploatacionim objektima kao što su rudarski baseni, naftne bušotine itd.) mreže sa velikim obimom saobraćaja u određenim situacijama, gde bežična komunikacija predstavlja podršku već postojećoj žičanoj. Suprotno žičnim medijima, bežični komunikacioni kanali su podložni interferenciji (ometanju, mešanju), iščezavanju i gušenju signala, plus šum u signalu nikako ne treba zanemariti. Naravno sve ovo podrazumeva primenu robustnih komunikacionih protokola. Za uzvrat, bežični komunikacioni sistemi mogu vrlo lako rekonfigurisati svoju topologiju. Veza između nadzorno-upravljačkog centra i udaljenih stanica, u ovom slučaju, bi bio uređaj koji se zove pristupnik15 (access point). 15 Bežični hardverski uređaj koji se povezuje s žičnom mrežom, šalje podatke ka bežičnim mrežnim uređajima i prima podatke od njih. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. U ovu grupu spadaju i satelitski komunikacioni sistemi koji takođe mogu biti angažovani za primenu u SCADA sistemima, ali ih ovde nećemo detaljno prikazivati. Pregled bežičnih komunikacionih sistema unutar SCADA sistema. Wireless LAN (WLAN) WLAN je jedan od načina konfigurisanja LAN mreža koristeći radio kanale za komunikaciju. Protokol koji se koristi je 802.11 standard definisan od strane IEEE16, i omogućava protoke od 64 kbps do 11 Mbps, što je često i previše za komunikaciju unutar SCADA sistema. Radio komunikacija kod WLAN mreža obavlja se u tzv. ISM (Industrial, Scientific & Medical) opsegu učestanosti (900MHz, 2.4GHz, 5.7GHz) za koji u svetu nije potrebna dozvola, ali je zato maksimalna izračena snaga (IERP) u Evropi ograničena na 100MW što domete (koji se postižu usmerenim vezama) ograničava na oko 10km. Visoka otpornost na interferencije i veliki protoci ostvareni su tehnikama proširenog spektra koji signal rasprostru na široki opseg frekvencija. GSM mreže Korišćenje SMS (Short Message Service) i GPRS (General Packet Radio Service) servisa za transfer podataka koji omogućuje GSM mreža u određenim slučajevima može biti iskorišćen kao komunikacioni sistem. U ovom slučaju pažnju treba obratiti na to da li su područja na kojima se nalaze udaljene stanice nalaze u zoni pokrivanja GSM-a. Još jedna stvar koju treba uzeti u obzir jeste mogućnost provajdera da se izbori sa časovima najvećeg opterećenja. Prenos kontrolnih poruka GPRS servisom za sada nije još uvek moguć, pa svaka razmena podataka zahteva uspostavljanje veze. U svakom slučaju treba imati u vidu da će eksploatacija ovakvog sistema biti neekonomična jer će uključivati cenu mnogobrojnih poziva u toku dana koje podrazumeva polling17 tehnika. Radio modemi Rešenje koje se često sreće u praksi jeste upotreba radio modema namenjenih prenosu podataka preko VHF ili UHF FM radio kanala (širine 12,5 ili 25kHz). Zakupom jednog ovakvog radio kanala dobija se resurs koji vam je uvek na raspolaganju. Međutim njegova sigurnost, pouzdanost i transparentnost, umnogome zavisi od primenjenog protokola za prenos podataka. Zato svakako treba razlikovati radio modeme koji koriste transparentni asinhroni prenos od onih koji koriste robusni sinhroni paketski protokol sa efikasnim algoritmom za detekciju i kontrolu grešaka. Takođe, struktura telemetrijske mreže uslovljena je funkcijom adresiranja stanica koja mora biti sastavni deo protokola. Protok koji omogućava radio veza najčešće je 9600bps, što je dovoljno u većini slučajeva. Dometi radio primopredajnika koji rade u VHF/UHF opsegu zavise od konfiguracije terena, a ograničeni su linijom radio horizonta. Da bi u mrežu povezali i stanice koje se nalaze van radio vidljivosti (stanice 2, 3, 7), mora postojati mogućnost digipiterskog moda rada. Stanice 4 i 1 rade u režimu store & forward (pamti i prosledi) odnosno prosleđuju pakete ka stanicama 2, 3 i 7, respektivno. 16 IEEE - Institute of Electrical and Electronics Engineer – Institut elektrotehničkih i elektroničkih inženjera Komunikacioni sistem se obično organizuje tako da centralna stanica na zadati vremenski interval ciklično proziva udaljene stanice koje tada odgovaraju slanjem prikupljenih podataka. Ova tehnika se naziva polling, a podrazumeva komunikaciju bez uspostavljanja veze pri čemu se prenose relativno kratki paketi podataka. 17 Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Zato je važno da osim adresiranja komunikacioni protokol modema podržava i mogućnost rutiranja paketa po proizvoljnim putanjama. slika 23: primer telemetrijske mreže Radio modem sa svim navedenim karakteristikama rešio bi problem, ali često je takav uređaj lakše zamisliti nego naći. Pa čak i kada ste približno rešenje našli, zgodno je imati mogućnost dopune ili izmene modema prema baš vašim posebnim zahtevima. Jedno od rešenja je PRM - Paket radio modem. slika 24: primer GSM i radio modema u SCADA sistemima 5.1.3. Optički komunikacioni sistemi Optički komunikacioni sistemi se najčešće koriste kao glavni kanal komunikacije između dva ili više komunikacionih podsistema (koji mogu biti i žični i bežični). Medij za komunikaciju je optičko vlakno koje prenosi signale (informacije) Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. uz pomoć svetlosnih signala (fotona). Pošto optički kablovi za prenos signala koriste svetlost umesto elektriciteta (kao kod žičnih kablova), otporni su na svaku vrstu elektromagnetne interferencije. Ne postoji preslušavanje, a slabljenje (izobličenje i slabljenje intenziteta signala tokom putovanja kroz medijum) mnogo je manje izraženo nego kod žičnih (bakarnih) kablova. Neki optički kablovi mogu biti dugački i do 120 km, a da se na njima ne javlja značajnije pogoršanje signala. Na tradicionalnim bakarnim kablovima se na dužinama između 100 i 500 metara (zavisno od upotrebljene vrste kabla), javljaju degradacije do granice prepoznavanja signala. Ako kabl treba da povezuje velike razdaljine ili zgrade, optički kablovi su najbolje rešenje. Dodatnu prednost optičkih kablova čini to što je nemoguće neopaženo prisluškivanje komunikacije koja se preko njih vodi, jer ukoliko se uljez prikači na optički kabl, narušava se normalna komunikacija na toj vezi. 5.2. Mrežne konfiguracije Postoje dve vrste mrežnih konfiguracija koje koriste radio vezu kao medijum preko koga se vrši komunikacija u okviru SCADA sistema. To su: • konfiguracija od tačke do tačke (point-to-point), svaki pont-to-point link povezuje samo dve tačke, na svojim krajevima, koje učestvuju u komunikaciji; • point-to-multipoint konfiguracija, povezivanje više tačaka u komunikacionu celinu preko jedne glavne tačke; Point-to-Point konfiguracija Ovo je najjednostavnija konfiguracija komunikacionog sistema. U ovakvoj konfiguracija razmena podataka se vrši između dve stanice. Jedna stanica je glavna (master) a druga je njoj podređena (slave). Na primer jedan RTU se nalazi kod vodenog rezervoara a drugi je udaljen i nalazi se kod pumpe za vodu. Kada je rezervoar skoro prazan njegov RTU šalje komandu PRAZAN drugom RTU. Kada drugi primi ovu komandu onda će startovati pumpu za vodu koja napaja rezervoar. Kada se rezervoar napuni prvi RTU šalje komandu PUN koju drugi RTU prima i onda pristupa akciji zaustavljanja pumpe. slika 25: Point-to-Point konfiguracija Point-to-Multipoint konfiguracija Ova konfiguracija je takva gde je jedan RTU master dok su ostali slave. Master RTU je obično u ili blizu nadzorno-upravljačkog centra, a ostali RTU-ovi su rasuti po različitim lokacijama u zavisnosti od potreba procesa koji se nadzire i kojim se upravlja. Svakom slave RTU je dodeljena adresa ili identifikacioni broj preko koje master prepoznaje od koga mu stižu podaci. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. slika 26: Point-to-Multipoint konfiguracija 5.3. Modeli komunikacije Postoje dva modela: 1. model po pozivu (polled system) 2. model po izuzetku (interrupt system) Model po pozivu (polled system) U ovom modelu, ili master/slave sistemu, master apsolutno kontroliše komunikacije. Master vrši sekvencijalno pozivanje slave-ova. Slave jedinica šalje prikupljene podatke masteru jedino kada to od nje zahteva master. Ovakva komunikacija se najčešće odvija po polu-dupleks režimu. Svaka slave jedinica ima jedinstvenu adresu tako da master može da izvrši korektnu identifikaciju slave jedinice. Ako se slave jedinica ne odaziva na poziv mastera u toku određenog vremenskog intervala, master pokušava još nekoliko puta pre nego što nastavi sa pozivanjem sledeće slave jedinice. Posle nekoliko ciklusa (recimo 5) pozivanja slave jedinica gde se neki slave ne javlja, SCADA sistem proglašava taj slave nedostupan i preduzima unapred predviđene akcije. Bitno je napomenuti da greška u komunikaciji sa nekim slave uređajem ne stvara zastoj u funkcionisanju (ostalog dela) SCADA sistema. Prednosti: • proces prikupljanja podataka je prilično jednostavan • nema kolizije podataka unutar komunikacione mreže • prekid veze može biti lako detektovan Mane: • vreme čekanja poziva od mastera za istu slave jedinicu se povećava sa brojem slave jedinica • sva komunikacija između slave jedinica ide kroz master sa dodatnim komplikacijama Model po izuzetku (interrupt system) Model po izuzetku predstavlja izveštavanje po izuzetku, Report by Exception (RBE) sistem. U ovom slučaju slave jedinica prati stanja na svojim ulazima, kada primeti značajnu promenu ulaza onda slave jedinica inicira komunikaciju sa Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. masterom i vrši prenos podataka. Sistem je dizajniran sa detekcijom greške komunikacije i vrši korekciju, radi izbegavanja kolizije. Pre nego što bilo koja jedinica prenese podatke dalje, prvo proverava da li neka druga jednica vrši prenos podataka. Ako se ispostavi da je tako, onda jedinica čeka određeno vreme (slučajno odabran interval) pre nego što pokuša ponovo da uspostavi komunikaciju. Prekomerna kolizija u komunikaciji rezultira čudnim ponašanjem celog sistema i mogućnost tzv. pada sistema. Da bi se ovaj problem rešio, posle nekoliko bezuspešnih pokusaja slave jedinice da prenese podatke masteru, slave jedinica čeka dok je ne pozove master. Prednosti: • redukovanje nepotrebnog saobraćaja podataka kao kod polled sistema • brza detekcija stanja sa hitnim statusom • omogućava slave-to-slave komunikaciju Mane: • master detektuje prekid veze posle izvesnog vremena od nastanka prekida, kada pozove slave • kolizija podataka u komunikaciji je moguća i za posledicu ima kašnjenja u komunikaciji 5.4. Pouzdanost i hijerarhija komunikacionih sistema Da bi se pouzdanost komunikacije jedne udaljene stanice osigurala često se koriste kombinacije ovih različitih medija. Izbor određenog medija za komunikaciju zavisi od nekoliko važnih faktora: 1. udaljenost udaljenih stanica 2. potrebna pouzdanost medija za komunikaciju (koja je u funkciji važnosti same udaljene stanice u sklopu SCADA sistema) 3. raspoloživost opcija za komunikaciju 4. cena svake opcije za pojedinačnu primenu 5. raspoloživost energije (redovno snabdevanje električnom energijom, baterijsko snabdevanje, solarno i dr.) Komunikacioni sistemi koji se koriste za SCADA sisteme se često dele na dva dela: • WAN (Wide Area Network backbone) • i brojne LAN (Local Area Networks) Interfejs (povezivanje) između ova dva dela se najčešće realizuje u formi multipleksiranja18. WAN backbone (kičma WAN mreže) WAN povezuje centralni kompjuter sa multiplekserima. Može da sadrži komunikacione medije kao što su: kabl, radio ili satelitska veza (u zavisnosti od geografske distribuiranosti SCADA sistema). WAN mreže obično rade u full-duplex19 režimu i mogu biti konfigurisane u topoligiju tipa zvezde ili prstena. 18 multipleksiranje – komunikacione veze koriste tehniku multipleksiranja da bi se većem broju signala omogućilo korišćenje iste fizičke linije. Nekoliko signala iz različitih izvora se prikuplja u uređaj, koji se naziva multiplekser,odakle se jednim kablom (ili jednom kanalom za prenos) prosleđuje dalje. Na prijemnom kraju se podaci demultipleksiraju u izvorni oblik. 19 full-duplex – puni dupleks, omogućava komunikaciju između uređaja pošiljaoca i primaoca, istovremeno u oba smera. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Topologije tipa zvezde i prstena imaju point-to-point (od tačke do tačke) komunikacione linkove izmeću multipleksera. Topologija tipa zvezde (kao na slici 5) eliminiše višak komunikacionih linkova (sprečava pojavu mrežne redundance). Toplogija tipa kruga (videti sliku 27) povezuje susedne multipleksere i obezbeđuje alternativne putanje za komunikaciju i obezbeđuju mrežnu rendundacu čime se ostvaruje veća pouzdanost komunikacije. Ti kružni WAN-ovi zahtevaju rutiranje podataka prilikom komunikacije (što se realizuje uređajima koji se zovu ruteri20), i linkovi moraju da se dimenzioniraju da bi mogli da nose sav taj WAN saobraćaj. slika 27: WAN kofiguracija u obliku prstena U nekim slučajevima WAN nije potreban. Primer je jednostavan SCADA sistem gde su RTU-ovi povezani direktno na centralni kompjuter preko jednog komunikacionog sistema (tipa magistrale ređe ili zvezde češće). Ovi sistemi zbog toga mogu efektivno da sadrže RTU LAN (LAN koji se sastoji od RTU-ova). Multiplekseri Generalno potreban je neki oblik multipleksiranja koji bi povezao kičmu WAN mreže i LAN RTU-ova. Multiplekseri omogućavaju da različiti tokovi podataka dele jedan data-link (jednan komunikacioni kanal), kao što je prikazano na slici 28. Multiplekseri kombinuju komunikacione kanale ka i od mnogih RTU-ova. Multiplekseri moraju biti u stanju da opslužuju na desetine ili ponekad na stotine RTU-ova unutar SCADA WAN mreže. Slika 28: osnovna konfiguracija multipleksera podataka 20 ruter (router), tj. usmerivač – međumrežni uređaj, koristi se za povezivanje lokalnih mreža. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Jednostavan oblik multipleksera predstavlja upotrebu rutera zajedno sa point-to-multipoint radiom, kao što je prikazano na slici 29. U ovom dijagramu LR je lokalni radio predajnik, PMR je point-to-multipoint radio predajnik a ROUT je data ruter. Slika 29: data ruter sa point-to-multipoint radio predajnikom Sami multiplekseri mogu da budu uređaji koji vrše obradu podataka SCADA sistema (ili neke druge funkcije vezane za samu SCADA-u), i oni upravljaju lokalnom mrežom i ne samo da kombinuju podatke već i smanjuju količinu podataka koja mora da se razmeni sa centralnim kompjuterom. SCADA sistem se obično realizuje u obliku razgranate mrežne strukture, sa višestrukim hijerarhijskim nivoima (kao na slici 30). Lokalne mreže Lokalne mreže povezuju RTU-ove za multipleksere ili direktno na centralni SCADA kompjuter (ako nema potrebe za WAN konekciju). Kao i WAN lokalna mreža može da se sastoji od kablovskih, radio, satelitskih komunikacionih veza u zavisnosti od geografske razuđenosti SCADA sistema. Veze mogu da budu privatne ili iznajmljene od telefonske kompanije. Slika 30: SCADA mreža sa višestrukim MUX nivoima Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Uobičajena konfiguracija lokalne mreže se bazira na point-to-multipoint radio vezama. Radio veze su uglavnom poludupleks ili simpleks, i obe omogućavaju transmisiju samo u jednom smeru u bilo kom trenutku. Poludupleks veze koriste različite frekvencije u svakom pravcu, a simpleks mreže koriste jednu frekvenciju. U konfiguraciji prikazanoj na slici 30 topologija mreže je tipa zvezda. Lokalne mreže takođe mogu biti LAN prstenovi ili magistrale. Većina lokalnih mreža koristi topologiju tipa magistrale. U ovoj topologiji sve stanice dele zajednički medijum za prenos i mora se definisati i uposliti neki oblik protokola za pristup mreži. Takvi protokoli mogu uključivati sledeće tehnike: • redoslednog/sekvencijalnog pozivanja svakog RTU-a, • token-passing tehniku • tehniku za detekciju kolizije paketa podataka na mreži i mehanizme za korekciju 5.5. Sistem za komunikaciju radne stanice operatera Za nadzor i upravljanje procesom putem SCADA sistema nekoliko operatera mogu da zahtevaju istovremen pristup SCADA centralnom kompjuteru kako bi dobili informacije o radu sistema. SCADA sistemi su često dizajnirani tako da ispunjavaju ovaj zahtev uključivanjem komunikacionih kanala između centralnog kompjutera i udaljenih radnih stanica kojima operateri imaju pristup. Radne stanice operatera su najčešće kompjuterski terminali koji su umreženi sa SCADA centralnim kompjuterom. Centralni kompjuter ima ulogu servera za SCADA aplikacije, a operaterski terminali su klijenti koji potražuju i šalju informacije centralnom kompjuteru na osnovu zahteva operatera. Komunikacioni sistem na mestu između centralnog kompjutera i operaterskih terminala jeste LAN. SCADA LAN-ovi omogućavaju većem broju korisnika u relativno malom geografskom području da razmenjuju fajlove i poruke, kao i pristup zajedničkim resursima kao što je centralni kompjuter. Ranije su SCADA LAN mreže bile posebno izdvojene, međutim sa povećanjem upotrebe LAN u firmama i WAN mreža kao rešenja za umrežavanje kompjutera u okviru jednog preduzeća, postoji mogućnost za integrisanje SCADA LAN-ova u informacioni sistem preduzeća. Najvažnija prednost ovog koncepta je da nema potrebe da se investira u posebne kompjuterske mreže za SCADA operaterske terminale. Šta više, postoji lak način za integrisanje SCADA podataka sa postojećim kancelarijskim aplikacijama. Međutim ima nekoliko nedostataka koje treba imati u vidu pre nego što se LAN operaterski terminali integrišu sa kancelarijskim: • informacioni sistem preduzeća (tj. mreža) može se koristiti samo u toku radnog vremena, dok su SCADA LAN-ovi najčešće upošljeni 24 časa dnevno 7 dana u nedelji. • Komunikacioni linkovi koji su povezani sa SCADA-om mogu da predstavljaju pukotinu u sigurnosnom sistemu mreže preduzeća, zato što neki linkovi mogu da preskoče standardne sigurnosne mere u mreži preduzeća • Tokom radnog vremena saobraćaj na mreži preduzeća može ozbiljno da uspori umrežavanje SCADA operatera Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. • • Mrežni saobraćaj SCADA-e generisan tokom procedura u slučaju alarmanih stanja mogu ozbiljno da uspore mrežu preduzeća Povezivanje SCADA sistema sa kancelarijskim LAN-om omogućava hakerima i teroristima upad u sistem. 5.6. Komunikacioni protokoli Da bi na nivou komunikacionog sistema ostvarili pouzdanu i efikasnu komunikaciju između elemenata SCADA sistema, raznorodnih po svojoj arhitekturi, složenosti i načinu funkcionisanja, neophodno je postojanje komunikacionog protokola koji bi standardizovao skup komandi, memorijske prostore, formate poruka, itd. Pod protokolom možemo da podrazumevamo pravila koja opisuju kako se jedan oblik komunikacije realizuje preko nekog elementarnijeg. Znači komunikacioni protokoli definišu metod kojim se podaci prenose preko komunikacionog linka. Sve dok uređaji za prenos slede unapred određen niz pravila za slanje podataka, uređaji koji primaju podatke su sposobni da poslate signale pretvore i podatke sa određenim značenjem. Na primer protokol će definisati informaciju kao što je vreme koje je potrebno da se pošalje bilo koji paket podataka, jačinu signala i željenu destinaciju. Iako danas ne postoji jedinstveni standard za industrijski protokol, određene grupe proizvođača ustanovile su nekolicinu široko prihvaćenih protokola: Modbus, Foundation Fieldbus, Profibus, DeviceNet, CAN, itd. Industrijski komunikacioni protokoli korišćeni na polju merenja i upravljanja zajedničkim imenom se nazivaju fieldbus protokoli. Protokoli za komunikaciju u SCADA sistemima su napravljeni isključivo za rad u uslovima smanjene pouzdanosti komunikacije, kao i da omoguće siguran prenos podataka garantujući pouzdano dopremanje podataka do željenih destinacija. Protokoli takođe imaju sistem za detekciju grešaka i tehnike za ponovno slanje poruka (koji nisu uspele da dođu do željene lokacije) upotrebom handshaking tehnike (međusobna razmena sinhronizovanih impulsa dva uređaja) koja koristi header i footer poruke (dodatni podaci na početku i kraju paketa poruka), pridodati sirovim podacima u procesu komunikacije. Takve dodatne informacije opterećuju sistem komunikacije, tj. utiču na brzinu. Korisnici SCADA sistema ne moraju biti upoznati sa komunikacionim protokolima koji se koriste, u stvari protokoli treba da budu transparentni. Međutim važno je razumeti da i uz upotrebu medija kao što je radio veza postoji mogućnost, i ako mala, da se će se dogoditi greška u komunikaciji. Na primer upravljačka komanda može biti poslata na pogrešnu destinaciju. SCADA sistemi često zahtevaju potvrdu od operatera da je za realizovanje upravljanja potrebna baš ta komanda (provera potvrde upravljanja). Ovaj pristup omogućava izvestan nivo zaštite da se upravljačka komanda ne pošalje na pogrešnu lokaciju. Više je verovatno da je sam operater napravio grešku i da je upravljačka komanda poslata na pogrešnu lokaciju. Provera potvrde upravljanja daje operateru još jednu šansu da odabere odgovarajuću lokaciju. Otvoren sistem je onaj koji omogućava komunikaciju između različitih vrsta uređaja (tj. uređaja različitih proizvođača). Zatvoreni sistemi su po definiciji oni koji omogućavaju komunikaciju samo između uređaja iste vrste (od istog proizvođača). Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Otvoreni sistemi otklanjaju nedostatke koji postoje kod zatvorenih sistema, kao što su potpuna zavisnost od jednog proizvođača i nedostatak informacija kako protokol funkcioniše. Međutim da bi se shvatile prednosti otvorenih sistema potrebni su standardi sa detaljno definisanim komunikacionim protokolima, da bi se odredili svi aspekti uzajmne povezanosti kompjutera i ostalih uređaja. 5.7. Rukovanje podacima u slučaju otkaza SCADA sistema Svaki SCADA sistem se rezličito ponaša u slučaju otkaza. Neki sistemi se uglavnom oslanjaju na unutrašnju redundantnost SCADA sistema, a drugi mogu koristiti neki oblik mehanizma arhiviranja podataka koji se mogu ponovo koristiti kada SCADA sistem povrati funkcionalnost. Ove opcije su predstavljene na sledeći način: • Arhiviranje podataka u RTU-ovima: neki SCADA sistemi se oslanjaju na kapacitet RTU-ova kako bi sačuvali podatke dobijene sa terena pod normalnim uslovima i onda ih periodično prenositi. U slučaju otkaza SCADA sistema koristi se kapacitet RTU-ova kako bi arhivirao informacije sve dok se rezervni sistem ne stavi u funkciju ili originalni sistem ne oporavi. • Redundanca sistema: većina SCADA sistema u svom dizajnu imaju neki oblik redundance, kao što su dupli komunikacioni kanali, dupli RTU-ovi ili dupli centralni kompjuteri. Takvi sistemi mogu biti napravljeni da bi dodatna oprema bila on-line (hot standby) kako bi se osigurao bezbedan prenos podataka u slučaju otkaza SCADA sistema, ili mogu biti offline (cold standby) gde bi se backup (rezervni) mehanizam morao ručno dovesti u online stanje. Većina SCADA sistema koristi kombinaciju prethodnih mehanizama za siguran prenos podataka u slučaju otkaza SCADA sistema. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 6. NADZORNO-UPRAVLJAČKI CENTAR Nadzorno-upravljački centar (dispečerski centar), slika 31, predstavlja jedan računar (ili više njih povezanih mrežom) na kome se realizuje nadzor i upravljanje procesom. U ovom centru vrši se prikupljanje podataka i to periodično, inicirano određenim događajima u procesu ili na zahtev operatera. Na osnovu ovih podataka dobija se informacija o trenutnom stanju sistema, analizira se performansa, formiraju se različiti izveštaji i arhiviraju se odgovarajući podaci. Istovremeno, na osnovu prikupljenih i obrađenih podataka, vrši se daljinsko zadavanje komandi, definišu se i prenose referentni signali, zadaju recepture, sinhronizuju funkcije pojedinih podsistema, određuju reakcije na pojedine alarme itd. slika 31: tipičan izgled jednog nadzorno-upravljačkog centra U zavisnosti od složenosti celog sistema, može postojati više nadzornoupravljačkih centara, slika 19. Oni zaokružuju manje procesne ili funkcionalne celine u veće, nad kojima opet postoji nadzorno-upravljački centar višeg prioriteta. SCADA sistem za distribuciju električne energije je tipičan primer ovakve hijerarhijske strukture. Na najvišem nivou može se nalaziti poslovni sistem koji, na osnovu informacija iz nadzorno-upravljačkog centra, formira poslovnu strategiju. Srce nadzorno-upravljačkog centra jeste baza podataka, obično na jednom ili više servera, koje ćemo zvati centralni kompjuter21. Sve informacije, bilo da su vezane za stanja procesa, komunikaciju, preduzete upravljačke akcije, greške ili nešto drugo, slivaju se u bazu podataka. Centralni kompjuter procesira informacije dobijene od udaljenih stanica ili informacije koje se ka njima šalju i prezentira ih operaterima u njima prepoznatljivom obliku. Operaterski terminali su povezani sa centralnim kompjuterom, kompjuterskom mrežom, tako da se prezentacija procesiranih podataka može videti na ekranu. Na primer u slučaju ditribucije pijaće vode oni između ostalog obezbeđuju: • mogućnost pregleda sistema, koji prikazuje ceo sistem distribucije vode i nudi mogućnost praćenja onih delova mreže gde postoji mogućnost lošeg funkcionisanja tog dela sistema 21 Kaskada servera koji su povezani u jednu funkcionalnu celinu. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. • • • mimik ekrane, za svaku udaljenu stanicu, koji daju informacije sa terena u svakom trenutku, i nude interfejs za upravljanje opremom na toj udaljenoj stanici ekrane alarma, koji prikazuju kako trenutno aktivne tako i neaktivne alarme grafike za prezentuju analognih podataka, koji omogućavaju operateru praćenje više promenljivih važnih za proces. Nema nikakve sumnje da je, sa gledišta korisnika, upravo nadzornoupravljački centar deo SCADA sistema koji je u protekloj deceniji doživeo najznačajnije izmene. Ovo se pre svega odnosi na mogućnost grafičke prezentacije koji korisnika oslobađa zamornog praćenja tabelarno prikazanih podataka i vraća ga u uobičajeno okruženje vizuelnih informacija koje je ranije dobijao preko operatorskog panela (poznatog pod imanom sinoptika). Istovremeno, umesto zadavanja podataka preko tastature, operateru se pruža mogućnost da u grafičkom okruženju iskoristi stečene navike u korišćenju operatorskog pulta. Potrebno je da se istakne da nadzorno-upravljački centar ne treba, a najčešće, zbog složenih zahteva za komunikaciju, i ne može da radi u realnom vremenu u smislu čvrstih vremenskih ograničenja. Drugim rečima, informacije koje se u njemu stiču kao i komande koje se iz njega prenose u najvećoj meri nisu vremenski kritične i pripadaju klasi takozvanih mekih vremenskih ograničenja. To zapravo znači da se od sistema očekuje da se obrada informacija obavi u nekom prosečnom zadanom vremenu. Izuzetak predstavlja samo mali broj vremenski kritičnih informacija, koje se moraju preneti veoma brzo. Projektovani SCADA sistem mora da obezbedi adekvatan odziv na takve događaje. Ovo je zbog toga što se kod SCADA sistema funkcija upravljanja deli na: • lokalno upravljanje i • daljinsko upravljanje. Lokalno upravljanje predstavlja ono upravljanje koje se realizuje na samom mestu odvijanja procesa. Može biti ručno ili automatski. • 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 ormani preko koga se proces ručno vodio. • Automatsko upravljanje na lokalnom nivou realizuje PLC, uz pomoć programa koji je u njega učitan. Ovo omogućuje nesmetano vođenje procesa i u slučaju prekida komunikacije sa ostalim delovima SCADA-e. Autonomnost PLC-a koja je ovde opisana ostavlja mogućnost, da se u nekom vremenu, komunikacija uspostavi i da kompletan SCADA sistem ponovo profunkcioniše. Daljinsko upravljanje takođe može biti ručno i automatski. • Ručno upravljanje na daljinu predstavlja akcije operatera iz nadzornoupravljač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. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 7. SOFTVERSKA PODRŠKA SCADA SISTEMA Važan aspekt svakog SCADA sistema je kompjuterski softver koji se koristi u okviru sistema. Najuočljivija komponenta softvera jeste operaterski interfejs, međutim na svim nivoima SCADA sistema nalazi se neki softver u određenom obliku. U zavisnosti od veličine i prirode SCADA sistema, softver može biti značajna finansijska stavka kada je u pitanju razvoj, održavanje i proširenje SCADA sistema. Kada je softver dobro definisan, dizajniran, napisan, proveren i testiran sigurno će se napraviti efikasan SCADA sistem. Ako se u bilo kojoj od navedenih faza, razvoja SCADA aplikacije, napravi propust to će rezultirati neuspehom celokupnog SCADA projekta. Mnogi SCADA sistemi upošljavaju specijalizovani komercijalni softver uz pomoć kojih se vrši razvoj SCADA aplikacije. Taj specijalizovani softver je često konfigurisan za određene hardverske platforme, i ne može se kombinovati ili povezati sa softverom ili hardverom drugih proizvođača. Danas je na raspolaganju i širok spektar standardnog komercijalnog softvera, od kojih neki mogu da ispunjavaju zahteve potrebne za realizaciju SCADA sistema (aplikacije). Ovaj softver je fleksibilniji i može se kombinovati sa različitim vrstama hardvera i softvera. Generalno, specijalizovan softver se fokusira na procese i upravljačku funkcionalnost, dok standardni softver stavlja akcenat na kompatibilnost sa različitim hardverskim platformama i pratećom opremom. Zbog toga je važno preduzeti adekvatno planiranje da bi se odabrao softverski sistem koji odgovara nekom novom SCADA sistemu. Takvi softverski proizvodi se koriste u okviru sledećih komponenti SCADA sistema: • Operativni sistem centralnog kompjutera: softver koji se koristi za upravljanje hardverom centralnog kompjutera. Softver može da se bazira na UNIX, Windows ili drugim popularnim operativnim sistemima. • Operativni sistem operaterskog terminala: softver koji je obično isti kao operativni sistem centralnog kompjutera. Ovaj softver zajedno sa softverom centralnog kompjutera obično doprinosi umrežavanju centralnog kompjutera i operaterskih terminala. • Aplikacija centralnog kompjutera: softver koji upravlja razmenom podataka između PLC-ova i centralnog kompjutera. Softver takođe omogućava grafički korisnički interfejs (GUI22) koji nudi mimik ekrane pojedinačnih delova procesa (ili celog proces), ekrane alarma, grafike koji predstavljaju promenu analognih parametara procesa (trends) i ekrane upravljačkih funkcija. • Aplikacije operaterskih terminala: aplikacije koje omogućavaju korisnicima pristup informacijama koje aplikacija centralnog kompjutera ima na raspolaganju. To je obično podskup softvera koji se koristi u centralnim kompjuterima. 22 GUI (Graphical User Interface) – grafički korisnički interfejs Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. • • • Upravljački programi za komunikacione protokole: softver koji se obično nalazi na centralnom kompjuteru i PLC-ovima, i potreban je da bi upravljao prevođenjem i interpretacijom podataka između krajeva komunikacionih linkova u sistemu. Softver za upravljanje komunikacionom mrežom: softver koji omogućava samim komunikacionim mrežama funkcije monitoringa radi prevencije od eventualnih grešaka u komunikaciji. Softver automatizacije na PLC-ovima: softver koji omogućava inženjerima da konfigurišu i održavaju aplikacije koje se nalaze na PLCovima. Ovo najčešće uključuje aplikacije koje se odnose na lokalnu automatizaciju i sve zadatke za obradu podataka koji se izvode na PLCovima. Za postojanje jednog SCADA sistema apsolutno je nebitno koja oprema je upotrebljena niti na koji način su realizovane pojedine softverske funkcije. Ipak, činjenica je da se ovde radi o izuzetno složenim sistemima u kojima se obavlja mnoštvo raznorodnih funkcija, što znači da njihovo projektovanje može da bude veoma komplikovano. Sa druge strane, očigledno je da je čitav niz funkcija sistema vezanih za prikupljanje, prenos i prikazivanje podataka, zapravo tipiziran i da ne zavisi bitno od same aplikacije. Pri razvijanju nadzorno-upravljačkog sistema primenom SCADA softvera predpostavlja se da postoji postrojenje sa pratećom mernom opremom i izvršnim organima, da je data tehnološka šema i opis postrojenja, kao i elektro projekat na nivou postrojenja. Istovremeno se predpostavlja da je razvijen projekat distribuiranog sistema koji obuhvata udaljene stanice, opremu za prenos podataka i telemetrijsku mrežu. U skladu sa tim od SCADA softvera se očekuje da omogući jednostavno specificiranje svih elemata sistema, kao i jednostavno projektovanje operaterskog interfejsa u nadzorno-upravljačkim centrima. Samo definisanje SCADA aplikacije podrazumeva specifikaciju načina komunikacije (tip mreže, komunikacioni drajveri i sl.), čvorova u mreži, vreme skeniranja pojedinih stanica ili pojedinih signala u stanicama, kao i skup (bazu) podataka koji se prate i obrađuju. Osnovu svake SCADA aplikacije čini baza podataka. Ovi podaci se koriste na različite načine, kao što su: • Izveštaji, jedan deo podataka se pamti i na osnovu njih se formiraju različite vrste izveštaja. Od softvera se očekuje da omogući jednostavnu specifikaciju vremenskih parametara za prikupljanje podataka • Alarmi, skup podataka čije se vrednosti porede sa zadanim granicama. Svako prekoračenje granica označava se kao alarm, koji signalizira operateru da se u procesu nešto ne odvija kako je zamišljeno. SCADA softver treba da omogući definiciju alarma, definisanje nivoa ozbiljnosti, smera promene koji izaziva alarm, specifikacije poruke koja se vezuje za alarm itd. • Događaji, matematička ili logička operacija nad podacima čija istinitosna vrednost ukazuje na nastanak događaja. Kao rezultat detekcije događaja sistem izvršava odgovarajuću komandu. Softverom se određuje repertoar dozvoljenih operacija i komandi. • Grafici, predstavljaju poseban i verovatno sa korisničke tačke gledišta, najznačajniji deo sistema. Grafički displej omogućava korisniku da nadgleda rad sistema, da prati grafikone promena pojedinih veličina, da registruje alarme i da zadaje komande. Sa projektantske tačke gledišta Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. SCADA softver treba da omogući što jednostavnije kreiranje grafičkih objekata, korišćenje biblioteka gotovih objekata i kontrolu objekata u smislu promene boje, oblika, položaja itd., a u zavisnosti od stanja u procesu. Izuzetno je pogodno ako je softver projektovan tako da omogući direktnu razmenu podataka (DDE – Dynamic Data Exchange) između SCADA aplikacije i drugih standardnih aplikacija tipa Excell, Access i sl. Naime, na ovaj način se zapravo proširuju mogućnosti SCADA-e, tako što se za prikaz i obradu podataka koristi ona vrsta programa koja je profesionalno razvijena i najbolje odgovara željenoj vrsti primene. Nesumnjivo je da se pred SCADA softver postavlja veoma mnogo zahteva. Različite komercijalno raspoložive SCADA-e rešavaju svaki od naznačenih problema sa manje ili više uspeha, pružaju manju ili veću fleksibilnost i pouzdanost, i u određenim segmentima su lakše ili teže za korišćenje. Pored toga, iako većina SCADA softvera može, bar nominalno, da podržava elemente sistema koji potiču od različitih proizvođača, izvesno je da kvalitet aplikacije zavisi i od ugrađene opreme. Otuda je izuzetno teško da se izvrši uporedna analiza SCADA softvera. Čini se da je, bar u ovom trenutku, izbor softvera prepušten ukusu projektanta, odnosno onom aspektu za koji se njemu, iz nekih razloga, čini da je najznačajniji pri projektovanju aplikacije. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 8. OPC STANDARD 8.1. Opšte napomene Uobičajeno je da se u industriji koriste različiti uređaji različitih proizvođača hardvera. Takođe, u nekoj kompaniji se može naći i više različitih nadzornih i upravljačkih aplikacija koje su nezavisno razvile različite softverske kompanije. Problem se javlja kada je potrebno sve ove hardverske i softverske sisteme povezati u jedinstven sistem, kojim bi se obuhvatilo upravljanje kompletnim procesom/postrojenjem. U takvom sistemu je neophodno da aplikacioni softver komunicira kako sa ulazno/izlaznim uređajima, tako i sa drugim aplikacijama u sistemu. Objedinjavanje različitih sistema predstavlja velik problem projektantima, programerima i inženjerima koji razvijaju ovakve sisteme. U prošlosti su svi upravljački i informacioni sistemi imali svoj sopstveni interfejs za pristup informacijama. Često su programeri u različitim firmama razvijali drajvere za jedan isti ulazno/izlazni uređaj, da bi mogli dalje da razvijaju nadzorni i/ili upravljački softver za takav specifični uređaj. 8.2. Specifikacija OPC standarda Da bi se prevazišao ovaj problem bilo je potrebno izraditi standardni interfejs (OPC - OLE for Process Control) za komunikaciju između ovakvih sistema. Postojanje ovakvog standarda omogućava različitim softverskim aplikacijama da slobodno komuniciraju sa različitim uređajima, ili drugim upravljačkim i nadzornim softverima, kao i integraciju sa poslovnim informacionim sistemom. OPC se definiše kao otvoren industrijski standard, baziran na tehnologijama OLE, DCOM (COM) i ActiveX, koji obezbeđuje operativnost između različitih uređaja, sistema za automatizaciju, kontrolu, vizualizaciju i poslovnih sistema. Prva verzija OPC standarda V1.0 je objavljena avgusta 1996. godine. Tokom 1997. godine vršene su korekcije na standardu i pojavila se verzija OPC V1.0A. Krajem 1998. godine se pojavila verzija V2.0 sa značajnim izmenama. Standard je podržan od strane najvećih svetskih kompanija koje se bave izradom PLC-a i softvera za vizualizaciju procesa. OPC specifikacija definiše skup interfejsa koji se lako implementiraju primenom objektno orijentisanog programiranja i omogućava laku manipulaciju tim objektima. Prenos podataka se vrši pomoću DCOM tehnologije. Softver pomoću koga korisnik upravlja procesom (MMI, Man-Machine Interface), upravljački softver ili softver za akviziciju podataka (SCADA) može obrađivati ili prikupljati podatke sa različitih računara u mreži. Specifikacija definiše standardne mehanizme za pristupanje podacima na serveru po nazivu. Projektanti koji razvijaju hardver i Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. softver mogu jednostavno da razmenjuju informacije pomoću širokog spektra sistemskih aplikacija, u koji se ubrajaju distribuirani sistemi upravljanja (DCS), SCADA sistemi, PLC kao i razni inteligentni uređaji, povezani preko računarske mreže. OPC je baziran na tehnologijama OLE, ActiveX, COM (Component Object Model) i DCOM (Distributed Component Object Model) i dostupan je na 32-bitnom operativnom sistemu Microsoft Windows (9X, ME, NT, 2000). Pomoću DCOM tehnologije mogu se razmenjivati podaci (objekti) i sa drugim operativnim sistemima kao na primer sa Unix-om ili Linux-om. OPC definiše standardni skup interfejsa, osobina i metoda za procesnu kontrolu i automatske softverske aplikacije. slika 32: povezivanje različitih sistema u jedinstven sistem Na slici 32 je prikazano više računarskih sistema povezanih u mrežu koji razmenjuju podatke primenom OPC standarda. Na slici se vide dva OPC servera koji su povezani na merno upravljačke uređaje (jedan od servera radi pod Windows NT operativnim sistemom, drugi pod Linux-om) treći OPC server predstavlja server sa baze podataka. Ovi serveri su povezani na računare na kojima se nalaze nadzorni, upravljački ili poslovno informacioni sistemi. COM (Component Object Model) obezbeđuje interfejs i komunikaciju između komponenti sistema. Preko COM-a, aplikacija može koristiti osobine objekta bilo koje druge aplikacije. COM predstavlja jezgro tehnologija kao što su DCOM, ActiveX i OLE. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. DCOM (Distributed Component Object Model) predstavlja proširenje COM-a koje omogućava rad sa objektima koji se nalaze na drugim računarima, preko računarske mreže. To je protokol koji omogućava da se softverskim komponentama (objektima) koje se nalaze na udaljenim računarima upravlja na sličan način kao sa lokalnim. OLE (Object Linking and Embedding) se koristi da se obezbedi integracija između aplikacija i omogući razvoj objekata koji se koriste za razmenu informacija između više aplikacija. OLE takođe obezbeđuje rešenja bazirana na komponentama. Softverske komponente su nezavisne od programskog jezika. ActiveX je otvorena, integrisana platforma za portabilne aplikacije i interaktivne sadržaje namenjene za WWW (World Wide Web). OPC specifikacija obuhvata sledeće elemente SCADA sistema: • OPC DataAccess (OPC DA), OPC pristup trenutnim podacima sa raznih hardverskih uređaja. • OPC Alarm and Event Handling (OPC A&E), OPC upravljanje alarmima i događajima. • OPC Historical Data Access (OPC HDA), OPC pristup uskladištenim podacima iz raznih baza podataka. • OPC Data eXchange (OPC DX), definiše kako OPC server vrši razmenu podataka sa drugim OPC serverom. • OPC Extensible Markup Language (OPC XML), • OPC Batch, OPC obrada podataka o recepturama i uređajima u proizvodnji. • OPC Security, OPC sistem zaštite pristupa podacima iz procesa. Ako se aplikacija kreira tako da se razmena informacija sa mernoupravljačkim uređajima vrši preko OPC servera, takva aplikacija se uz minimalne softverske izmene, brzo može prilagoditi za razmenu informacija sa hardverom različitih proizvođača. Izrada aplikacija baziranih na OPC serveru omogućava izgradnju otvorenog sistema koji se može proširivati dodavanjem novih upravljačko-nadzornih aplikacija ili integrisati sa poslovno informacionim sistemom. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 9. JSCADA 9.1 Opšte napomene EUROICC JSCADA je Klijent - Server SCADA aplikacija sa mogućnošću komunikacije kroz Web. Razvijena je na Java2 platformi uz upotrebu Java, Web, XML i HTML tehnologija, sa ciljem da bude modularna, fleksibilna i univerzalno primenljiva (nezavisna od opreme na upravljačkom i pogonskom nivou). Zahvaljujući tome, ova aplikacija može da radi na bilo kom WindowsTM operativnom sistemu (98/Me/NT4/2000/XP), bilo kojoj LinuxTM OS distribuciji, kao i na nekim manje rasprostranjenim platformama (MacOSTM, SolarisTM). JSCADA je novi koncept u korisničkom nivou CIM23 proizvoda, koji u sebi objedinjuje elemente klasičnog SCADA sistema i Web aplikacije. Dalje, razdvajanjem sistema na klijente i servere omogućeno je da jedan klijent pristupa proizvoljnom broju servera, kroz jednu ili više klijentskih aplikacija koje rade paralelno. EUROICC JSCADA obezbeđuje i uobičajene SCADA elemente: evidenciju korisnika, monitorske ekrane, komande, alarme, grafike, izveštaje, unos u bazu podataka, pregled sistemskih podataka i on-line help (pomoć). Svi oni su kreirani i prilagođeni savremenim višekorisničkim grafičkim radnim okruženjima sa prozorima (svi Windows-i, X-windows za Linux, MacOS itd.), što dodatno povećava konfor pri radu i olakšava praćenje parametara. Za komunikaciju Klijent – Server, JSCADA koristi proverene, standardne i svuda prisutne Internet protokole - TCP/IP i UDP/IP. To mu garantuje priključenje na bezmalo svaku mrežu: poslovni/industrijski LAN/WAN, Intranet, Internet... To takođe znači da se, pomoću JSCADA aplikacije, proizvodni sistem može pratiti u bilo koje doba dana, sa bilo koje tačke na Web-u. 9.2. Osnovni paket 9.2.1. Opis i topologija sistema Serverski deo JSCADA se, kroz serverski računar, povezuje sa mernom, regulacionom i ostalom tehnikom u polju (Field level, slika 33). To mogu biti obični i inteligentni senzori/transmiteri, programabilni logički kontroleri (PLC), inteligentni izvršni organi (ventili, servo motori, frekventni regulatori...) i tome slično. Server (WPS – Web Process Server) vodi računa o akviziciji podataka sa ovakvih uređaja i njihovom skladištenju u bazu podataka. Veza Servera sa uređajima u polju omogućena je upotrebom odgovarajućih drajvera i hardverskih adaptera za potrebne protokole 23 CIM (Computer Integrated Manufacturing) – računarski podržana proizvodnja Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. komunikacije (MODBUS, PROFIBUS, M-BUS, HOSTLINK, TCP/IP i sl.). Za akviziciju podataka, njihov upis u bazu, prijem komandi i slanje ka klijentu zadužena je posebna aplikacija, VPLC (“Virtualni PLC”). Kao baza podataka na Serveru koristi se MySQL. Klijentski deo Klijent komunicira sa Serverom po TCP/IP i UDP/IP24 Internet protokolu, što obezbeđuje dobar rad Klijent – Server za svaku danas dostupnu vrstu veze između računara. Takva veza može biti direktna (kroz LAN), kroz telefonsku mrežu (Dialup), kako fiksne tako i mobilne telefonije. Klijentski deo aplikacije napisan je u JAVA2 programskom jeziku, što mu daje mogućnost rada kao samostalne aplikacije ili kao apleta. U ovom drugom slučaju sav rad aplikacije dešava se unutar Web Browser-a (čitača), tako da korisnik jedino treba da ima odgovarajući Java Plug-in za svoj čitač. slika 33: struktura sistema JSCADA sa WPS serverskom platformom Povezivanje Zahvaljujući ovakvoj, relativno jednostavnoj i robusnoj topologiji, jedni te isti elementi sistema se, poput Lego kockica, mogu međusobno povezivati, čineći tako sisteme sa veoma složenom hijerarhijom. 24 UDP/IP (User Datagram Protocol/Internet Protocol) - alternativa TCP/IP protokolu. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 9.2.2. Opšte osobine sistema Raznovrsnost primenljivih platformi Zahvaljujući izabranom konceptu i komponentama, sistem može biti implementiran na praktično svim PC platformama koje su danas u upotrebi. Dakle, Klijent/Server može biti izveden u konfiguraciji Linux/Linux, Windows/Linux, te Windows/Windows. Kao DB Server (Server baze podataka) koristi se MySQL (dostupan za Windows/Linux platforme). Za komunikaciju sa mrežom PLC kontrolera služi VPLC aplikacija, koja radi kao Daemon (pod Linux-om), odnosno Service (pod Windows-om). Razuđenost sistema Upotreba Klijent – Server koncepta dovodi do raspodele “odgovornosti” na više računara u sistemu. U slučaju “pada” nekog od Klijenata sistem ne trpi nikakve posledice. U slučaju pada nekog od Servera ostatak mreže i funkcionalnosti vezane za ostale Servere se ne prekidaju, dok mreža PLC-ova i regulatora (field network) pod nadležnošću havarisanog Servera nastavlja da radi po sopstvenim programima. Dakle, u ovom drugom slučaju gube se (privremeno) funkcije nadzora i daljinskog upravljanja, dok nadzor i upravljanje u lokalu (direktno na mašini) ostaju “netaknute”. Elastičnost konfigurisanja Zahvaljujući ovako osmišljenoj konfiguraciji sistem se izuzetno lako prepravlja/dograđuje. Neke od prednosti koje se time stiču su: • Konfigurisanje sistema od istih komponenti sa različitim dubinama hijerarhije; • Mogućnost povezivanja praktično neograničenog broja klijenata na jedan server. slika 34: primer mreže sa implementiranom JSCADA–om Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Pouzdanost Postoje platforme za razvoj korisničkog interfejsa koje takođe omogućuju pristup kroz Web, a u odnosu na Javu2 brže i uz manje programerskog znanja daju rezultate (upotreba raznih “skript jezika”), ili imaju vizuelno atraktivniji interfejs (npr. Macromedia Flash). Osnovna prednost Java platforme u odnosu na njih jeste pouzdanost koja se, pre svega, ispoljava kroz: • Mogućnost primene različitih standarda i protokola zaštite – komunikacija kroz VPN (Virtual Private Network), kroz SSL (Secure Socket Layer), digitalno potpisivanje i provera digitalnih sertifikata za aplikaciju i njene module. • Mogućnost enkripcije podataka koji se prenose – u zavisnosti od vrste enkripcije dostupna veličina ključa je od 64 do 256 bita za podatke, sve do 2048 bita za digitalne potpise (autentikaciju i razmenu ključeva). • Mogućnost izvršavanja aplikacija sa različitim bezbednosnim ograničenjima u radu (naročito važi za aplete), tzv. Sandbox koncept. Pored ove, implicitne pouzdanosti sistema, koju nosi programsko odruženje u kome je softver napisan i u kome radi (Java2), JSCADA ima i eksplicitno ugrađene mehanizme pouzdanosti, koji su prevashodno vezani za rad sa korisničkim nalozima na sistemu. Svakom korisniku ponaosob se, u zavisnosti od dodeljenog nivoa prioriteta, dozvoljava ili zabranjuje pristup određenim podacima i elementima sistema. Time se, na primer, može obezbediti zabrana komandovanja korisnicima van pogona, pristup podacima iz svih podstanica samo korisniku u kontrolnom centru, pristup trećih lica pojedinim podacima i sl. Mogućnost povezivanja Za Java2 platformu danas postoji izuzetno veliki broj klasa i paketa. Pomenimo samo neke – povezivanje sa raznim bazama podataka (MS Access, Oracle, MySQL i dr.) kroz SQL interfejs, povezivanje sa drugim tipovima aplikacija kroz CORBA API, povezivanje sa SAP25 informacionim sistemima (kroz paket RMI funkcija), povezivanje sa “native code” (C, C++) aplikacijama (kroz JNDI) itd. Uštede u vremenu Zahvaljujući mnoštvu senzora koji su danas uobičajeno prisutni na opremi a koje ovakav sistem akvizira, često se mogu uočiti neželjene pojave i pre nego što se razviju do havarijskih razmera, što omogućava dosledniju primenu koncepta preventivnog održavanja, koji je danas toliko popularan. Takođe se, uz odgovarajuću hardversku nadgradnju, ovakav sistem može osposobiti da alarmira dežurna i odgovorna lica čim se uoče nepoželjni trendovi u radu postrojenja ili objekta, i to kroz SMS poruke, direktne telefonske poruke ili hitne E-mail poruke. Uštede u novcu Implementacija ovakvog sistema obično daje i direktne novčane uštede kroz smanjenu potrošnju sirovina i energenata, smanjen škart i sl., što je direktna posledica uspostavljanja bolje kontrole nad kvalitetom proizvoda. Ovakve uštede obično se kreću u rasponu od 2 – 20%. 25 SAP (Service Access Point) – pristupna tačka usluge Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Bolje planiranje resursa Boljom kontrolom proizvodnje i proizvoda omogućeno je bolje planiranje proizvodnih resursa, tj. veća pouzdanost čitavog sistema. 9.2.3. Opis osnovnih funkcionalnosti sistema SCADA funkcionalnosti ovog sistema su: Glavni meni slika 35: glavni meni • • Glavni meni, slika 35, se formira u obliku stabla, gde su funkcionalne grupe prikazane kao čvorovi a konkretni elementi kao listovi stabla. Ovo je ujedno i glavni prozor aplikacije, njegovim zatvaranjem završava se rad aplikacije. Pregledniji od menija, ovakav prikaz omogućava pristup željenom elementu jednim klikom miša ili pritiskom tastera. Korisnik – evidencija prijave /odjave korisnika, kontrola pristupa resursima i sl. Monitorski ekrani – pregledan šematski prikaz parametara procesa u realnom vremenu, u potpunosti prilagođen konkretnom procesu. Prikaz neke veličine može biti (slika 36): • digitalan – prozor sa brojnom vrednošću i mernom jedinicom, Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. • • analogni – bar-graf, slajder, merač sa kazaljkom (kružni) ili slično, on/off – za diskretne veličine sa 2, 3 ili 4 stanja (prikaz stanja pomoću boja). To su, tipično, razni indikatori (rada motora, postizanja neke temperature, preopterećenja vage i sl.). slika 36: monitorski ekran, prikaz tehnološke šeme procesa Grafici – grafički prikaz istorije vrednosti odabranih parametara procesa (koje sistem prati), slika 37. Podešavanje po vremenskoj osi, pretraživanje po vremenu. Štampanje grafika kroz Print servis operativnog sistema, (drugim rečima, štampanje je “prepušteno” OS i funkcioniše za sve OS (Windows, Linux, …) bez naknadne instalacije softverskih modula, drajvera i sl. slika 37: grafički prikaz istorije vrednosti odabranih parametara procesa Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Izveštaji – brojčani prikaz istorije vrednosti odabranih parametara procesa, slika 38. Mogućnost pregleda, snimanja, štampanja i brisanja izveštaja. Izveštaj se snima lokalno na disk klijenta, i njegovo naknadno brisanje /izmena ne utiče na akvizirane podatke (koji se čuvaju u bazi podataka na Serveru). Format izveštaja je ASCII Delimited, tako da se može lako učitati u svaki program za tabelarna izračunavanja, radi dalje analize (MS Excel, Lotus 1-2-3, OpenOffice Calc,...). slika 38: prikaz izveštaja koji generiše SCADA Alarmi – mogućnost definisanja različitih alarma i njihov on-line prikaz u posebnom prozoru, slika 39. Pregled trenutno aktivnih i istorije alarma. Alarmi sa i bez potvrde, itd. Komande – Zadavanje komandi sistemu od podešavanja parametara PID regulacije do direktnog upravljanja radom izvršnih organa (motora, cilindara). Sistem – Prikaz i podešavanje različitih parametara sistema: otvaranje /izmena profila korisnika, podešavanje elemenata korisničkog interfejsa, podešavanje parametara komunikacije, pregled sistemskih poruka i System log-a, itd. Help – online help sistem, “čist” HTML, za prikaz koristi default Web browser OS-a (MS IE, NS Navigator, Opera i sl.). Univerzalan, prenosiv (Cross–Application i Cross-Platform), lako proširiv, međusobno povezan hiperlinkovima, mogućnost pretraživanja itd. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. slika 39: alarmi • • U Web funkcionalnosti ovog sistema ubrajaju se: Komunikacija Klijent – Server je potpuno “Web kompatibilna”, tj. sprovodi se kroz protokole TCP/IP i UDP/IP. Praktično, to znači da se jedan isti SCADA klijent može koristiti i u lokalnoj mreži (kompanijski Intranet) i preko Interneta. Kao opcija, JSCADA može biti isporučena i u formi Applet-a, sa nešto izmenjenim (osiromašenim) korisničkim interfejsom i izborom opcija. To praktično znači da korisniku više nije potrebna čak ni instalacija JSCADA klijenta na računaru sa kog pristupa mreži, već samo neki Web Browser koji podržava aplete (MS IE 5.0 ili noviji, NS Navigator 6 ili noviji). 9.2.4. Mogućnosti proširenja • • Sistem se može prilagođavati potrebama korisnika na sledeće načine: Konfigurisanjem postojećih elemenata. To znači da korisnik može dodavati sopstvene objekte za funkcionalnosti koje već postoje u sistemu, npr. da doda komandovanje novim ventilom, izmeni parametre postojećeg grafika i sl. Ovo se vrši kroz postavljanje odgovarajućih parametara u bazi podataka. Ovo je kvantitativno proširenje sistema, i ne zahteva nikakvu dodatnu instalaciju softvera, ni na Serveru niti na Klijentu. Dodavanjem novih funkcija sistemu, npr. komandi (ukoliko je prethodno bio isporučen samo nadzrorni deo), SMS servisa ili određene obrade akviziranih podataka (arhiviranje, fakturisanje, izvoz u druge formate i sl.). Ovo je kvalitativno proširenje sistema, i postiže se kroz instalaciju novih softverskih modula na računaru Klijenta. Na računaru Servera nije potrebna instalacija dodatnog softvera. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 9.3. Opcioni paketi Komandovanje izvršnim elementima • • • • Direktno upravljanje izvršnim organima (motorima, cilindrima, ventilima); Prelaz upravljanja ručno /automatski; Podešavanje parametara PID regulacije; Rad sa recepturama: izbor, editovanje, čuvanje i aktiviranje; Tehnološke recepture • • • • Upravljanje procesima kroz zadovoljenje tehnoloških kriterijuma – recepture. Manipulacija recepturama: kreiranje, čuvanje, izbor, editovanje, štampanje; Aktiviranje recepture: direktno (odmah), vremenski programirano (u toku dana /nedelje); Istorija recepture: kada je i ko promenio recepturu. Mogućnost čuvanja starih verzija; Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 10. JSCADA PRIMER 10.1. Uvod Za praktično predstavljanje SCADA sistema izabran je projekat automatizacije procesa kristalizacije u fabrici šećera “Jugozapadna Bačka”, Bač realizovan u jesen 2003. godine od strane firme EUROICC, Beograd. Kompletno postrojenje je angažovano u proizvodnji (kampanja) samo tri do četiri26 meseca godišnje i zato su zahtevi za automatizaciju procesa proizvodnje šećera veoma strogi. Interesantan je podatak da samo 20 min. zastoja bilo gde u procesu proizvodnje rezultuje gubitkom sirovine što direktno utiče na ogromne ekonomske gubitke. Tehnološki postupak proizvodnje šećera sastoji se iz niza hemijskotehnoloških procesa, povezanih sa mehaničkim operacijama u čiji tok ulaze velike količine šećerne repe i vode pri čemu se troši velika količina toplotne energije, slika 41. Međusobnim sadejstvom ovih i još mnogih drugih materijala cilj je da se proizvede što veća količina šećera uz što manje gubitaka u toku procesa proizvodnje. Zbog veoma velikog broja uticaja koji mogu delovati na proizvodnju šećera, a koji mogu usloviti da proces krene u neželjenom pravcu, teško je jedan tako kompleksan proces voditi ručno. Radi toga se koriste uređaji za nadzor, automatsko upravljanje i regulaciju odvijanja procesa, vezanih za preradu šećerne repe u šećer i nusproizvode. Proces proizvodnje šećera je dakle idealno mesto za primenu SCADA sistema. Stoga danas savremene šećerane i karakteriše visoki stepen automatizacije i to naročito pojedinih tehnoloških celina. Automatizacija procesa kristalizacije obuhvata sledeće tehnološke celine : • skladištenje i pripremu sirupa • kristalizaciju u vakuum aparatima • horizontalne i vertiklane hladnjače • vezu ka ostalim tehnološkim celinama Krajnji efekti uvođenja SCADA sistema u procesu kuvanja šećerovina su: • povećanje kvaliteta šećera kroz proizvodnju ujednačenog zrna • povećanje produktivnosti aparata za 15% do 25% • smanjenje potrošnje pare za 3% do 7% • povećanje produktivnosti centrifuga za 5% do 10% • smanjenje gubitka šećera za 1% • smanjenje ponovnog kuvanja za 1% Indirektne koristi od sistema su : 26 U zavisnosti od količine sirovine, tj. šećerne repe. Proizvodnja traje 24 časa dnevno 7 dana u nedelji, i sve tako dok se sva šećerna repa ne uđe u proces proizvodnje šećera. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. • • • • povećanje tehnološke discipline poslužioca povećanje brzine dijagnostike kvara smanjenje vremena otklanjanja kvara priprema podataka za tehnološku analizu i fino trimovanje procesa 10.2. Proces proizvodnje šećera slika 41: šema procesa proizvodnje šećera 1. Repa se teretnim vozilima, traktorima i železnicom dovozi u fabriku i kao sva druga roba meri se količina i evidentiraju ostali neophodni podaci o proizvođaču i prevozniku. 2. U repnoj laboratoriji se vrši analiza 4 bitna parametra koja daju jednoznačne podatke o tehnološkom kvalitetu šećerne repe. 3. Tako evidentirana šećerna repa se dovozi na liniju istovara. Suvi istovar vrši se radi obezbeđenje zalihe šećerne repe preko noći i vikenda, a pomoću mokrog istovara i vodenog transporta u posebnim kanalima, repa se transportuje direktno u proizvodnju. 4. Tokom transporta u proizvodnju iz dovezene repe izdvaja se nečistoća kao što su zemlja, trava i kamen. Nakon pranja takve repe ona se transportuje do rezalica. 5. Oprana šećerna repa se na rezalicama reže na rezance u obliku krova. Rezanje šećerne repe je izvršeno tako da se postigne maksimalna površina repe i na taj način priprema za difuziju. 6. Tako pripremljena šećerna repa dovodi se u postrojenje difuzije gde se u smesi vode i rezanca na određenoj temperaturi vrši ekstrakcija šećera iz ćelija šecerne repe u okolni rastvor, na taj način se uglavnom sva količina šećera izdvaja iz šećerne repe. Na kraju difuzije imamo sa jedne strane tzv. sirovi sok u kome se nalazi šećer iz repe sa primesama nečistoće i sa druge strane izluženi rezanac. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 7. Izluženi rezanac se odvodi ne presovanje i izdvajanje zaostalog šećera, a nakon toga u sušaru radi sušenja. Osušeni rezanac se dalje peletira na pelet presama i transportuje u skladište. 8. Peletirani rezanac se koristi kao veoma kvalitetna stočna hrana, a isporučuje se na tržiste u rinfuzi i u vrećama od 45 kg. 9. Sirovi sok nakon difuzije se odvodi na stanicu za čišćenje sokova odnosno saturaciju, gde se uz dodatak krečnog mleka i ugljendioksida uz korišćenje filtera, iz difuznog soka odstranjuju nečistoće. Na kraju stanice za čišćenje soka dobija se bistri sok koji u sebi sadrži oko 15% šećera iz koga je sada potrebno ispariti suvišnu vodu. 10.Potrebna količina krečnog mleka i ugljendioksida proizvodi se u krečani. U krečnoj peći se pečenjem krečnjaka oslobađa ugljendioksid, a gašenjem ispečenog krečnog kamena dobija se krečno mleko. 11.Retki sok iz stanice za čišćenje sokova dovodi se dalje na otparnu stanicu. Tu se u petostepenoj otparnoj stanice od retkog soka isparenjem suvišne vode dobija gusti sok koji sadrži oko 65% šećera. Pored toga otparna stanica se koristi i kao izvor toplotne energije jer se oslobođena vodena para koristi za razne namene u daljem procesu proizvodnje šećera. 12.Tako ugušćeni sok se vodi na kuvanje i kristalizaciju. Dalje ugušćenje se vrši kuvanjem pod vakumom dok se ne postigne takva koncentracija šećera u rastvoru da otpočne kristalizacija šećera. Kada se formira dovoljan broj kristala u rastvoru koji se naziva šećerovina, kuvanje šećera je završeno. 13.Da bi se oformljeni kristali izdvojili iz šećerovine, šećerna masa se dovodi na centrifuge. Na centrifugama se kristali šećera izdvajaju iz sirupa i dalje odvode na sušenje. Izdvojeni sirup se ponova vraća na kuvanje i kristalizaciju u drugom stepenu. Nakon trećeg stepena kuvanja i kristalizacije, centrifugiranjem šećerovine izdvaja se sirup koji se naziva melasa. 14.Melasa se skladišti i dalje prodaje, a koristi se za proizvodnju alkohola, kvasca, a nalazi i znacajnu primenu u farmaceutskoj industriji. 15.Dobijeni osušeni šećer se skladišti u silosu za šećer gde se pod klimatiziranim uslovima može čuvati duže vreme. U silosu se održava konstantna temperatura i vlažnost, što omogućuje da se šećer skladišti. 16.Šećer se za ekspediciju pakuje već prema zahtevu kupca u vreće od 50, 25 kg ili u komercijalno pakovanje od 1 i 2 kg. Moguća je isproruka u rinfuzi. 17.Toplotna energija proizvodi se u kotlovima, loženim ugljem i mazutom, a dobijena vodena para visokog pritiska se preko turbine dovodi na nivo pogodan za tehnološku primenu. Parne turbine su u sprezi sa generatorima za proizvodnju električne energije, tako da šećerana sama obezbeđuje skoro svu potrebnu električnu energiju (isključuje se iz elektro-sistema u kampanji). 18.U centralnoj laboratoriji fabrike prate se parametri svih faza prerade i na osnovu dobijenih rezultata analiza usmerava se proces proizvodnje u pravcu postizanja optimalnih rezultata proizvodnje i obezbeđenje što boljeg iskorišćenja sirovine, energije i ostalih materijala. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 10.3. Merno-regulaciona tehnika u procesu kristalizacije slika 42: var aparat27 Aktuatori 1. glavni vakuum zasun, kontinualna regulacija • pogon: elektromotor + reduktor • signal pozicije 4-20mA preko potenciometra naknadno ugrađenog u kućište mehaničkog pokazivača (sa kazaljkom) • hod potenciometra=270 stepeni • namena: regulacija vakuuma u toku procesa. 2. mali vakuum zasun, ON/OFF regulacija • pogon: elektromagnet 24 VDC • signal otvorenosti: nema direktan, jedino preko signala elektromagnetu • namena: početno podizanje vakuuma u aparatu (da ne bi došlo do poremećaja u sistemu vakuuma) 3. ventil za zagrevnu paru, kontinualna regulacija • pogon: pneumatska membrana, sa pozicionerom • signal pozicije: 4-20mA, sa pozicionera • namena: regulacija temperature smeše u toku procesa 4. ventil za šećerni sok, kontinualna regulacija • pogon: pneumatska membrana, sa pozicionerom • signal pozicije: 4-20mA, sa pozicionera • namena: kontrolisano dodavanje sirovine (šećernog sirupa) u aparat 5. odzračni ventil, ON/OFF regulacija • pogon: elektromagnet 24 VDC 27 Aparat u kome se ugušćeni šećerni sok dovodi na kuvanje i kristalizaciju Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. • signal pozicije: nema • namena: eliminacija vakuma iz aparata na kraju ciklusa 6. mešalica, 3 brzine • pogon: elektromotor (cca 0.7kW) monofazni asinhroni, direktno • signal brzine: nema direktan, informacija preko komande • namena: poboljšanje cirkulacije smeše u aparatu u toku ciklusa 7. ispust, leptir slavina, kontinualna regulacija • pogon: elektromotor + reduktor, pokazalo se loše, planira se prelazak na hidrauliku • signal pozicije: samo krajnji položaji • namena: ispuštanje gotove smeše na kraju ciklusa 8. ventil otparavanja, ON/OFF regulacija • pogon: elektromagnet 24 VDC • signal pozicije: nema • namena: pranje aparata parom (otparavanje) između dva ciklusa Senzori a) temperatura smeše u aparatu • tip senzora: Pt100 • opseg: 50..150 C b) nivo smeše u aparatu • tip senzora: transmiter diferencijalnog pritiska, izlaz 4-20 mA • opseg: 0..100% c) vakuum (potpritisak) u aparatu • tip senzora: transmiter diferencijalnog pritiska, izlaz 4-20 mA • opseg: 0..1 bar d) gustina smeše u aparatu, stepeni Brix-a (udeo čvrste faze u smeši, u %). čvrsta faza=kristali šećera + nešećeri (balast, mineralne materije). • tip senzora28: specijalizovani merač gustine šećerovine, razni metodi merenja: • promena intenziteta radioaktivnog zračenja (ovi sa kojima smo mi radili); • promena intenziteta zračenja u VF radio-talasnom području (na C aparatima, nismo uspeli da ih“oživimo”); • merenje prostiranja ultrazvuka kroz smešu (novi, jeftiniji od prethodnonavedenih, ugrađeni alinisu isprobani); • opseg: 50..98 Bx 10.4. Opis procesa kristalizacije Da bi se u jednom rastvoru mogli pojaviti kristali i da bi u njemu mogli da rastu, rastvor mora da bude prezasićen. Za sada ne postoji mogućnost da se prezasićenost meri u pogonskim uslovima pa prema tome, ni da se postupak kuvanja vara29 prati na taj način. Međutim utvrđena je direktna zavisnost između provodnosti rastvora i njegove prezasićenosti uz konstantnu temperaturu. Zbog toga se najčešće kao merna veličina za automatizaciju kuvanja koristi metoda merenja gustine i to najčešće, radiometrijskom metodom ili radiofrekventnom metodom. 28 29 najvažniji senzor gusti sok, sirup, spreman za kuvanje i kristalizaciju Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. Tokom procesa kuvanja postoji nekoliko faza koje se najbolje sagledavaju ako se proprati jedan ciklus kuvanja od početka do kraja na klasičan način. Da bi kuvanje otpočelo vakuum aparat mora da bude isparen, svi ventili zatvoreni, aparat se nalazi pod atmosferskim pritiskom, a u pomoćnim posudama postoji dovoljno rezerve soka za ceo var. Kuvanje var aparata počinje otvaranjem malog vakuum ventila, a nastankom vakuuma u aparatu otvara se i veliki vakuum ventil. Otvara se ventil za sirup koji se drži otvoren sve dok nivo sirupa ne prekrije zagrevnu komoru. To je faza uvlačenja polaznog kristalizacionog sirupa. Nakon toga otvara se ventil sekundarne pare za grejanje i sirup počinje da ključa. Prezasićenost rastvora raste. Ova faza se naziva faza ugušćenja. Povremenim otvaranjem ventila za sirup održava se konstantan nivo u vakum aparatu. Kada se dostigne željena prezasićenost na jedan od načina se inicira početak kristalizacije. To može da bude izvedeno šokom ili imfovanjem u intermedijalnoj oblasti. Sada se u prezasićenom rastvoru nalazi dovoljno centara za kristalizaciju i zadatak sledeće faze, koja se naziva faza zrnjenja ili formiranje zrna, je da obezbedi rast kristala do željene veličine, i to bez stvaranja novih kristala. Posle zrnjenja dalje se u vakuum aparat uvlači sirup, sadržaj kristala raste, raste i nivo u vakuum aparatu. Ova faza se naziva ukuvavanje. Kada nivo dostigne predviđenu vrednost ventil za sok se zatvara i počinje faza stezanja u kojoj se var polako dovodi do krajnjeg ugušćenja. Nakon dostizanja te tačke nastupa faza pražnjenja vara iz vakuum aparata i priprema se sledeći var. Regulacija kuvanja vara se odvija u više faza kako je to navedeno. U fazi uvlačenja i ugušćenja aktivan je regulator nivoa koji održava zadati nivo regulacijom količine sirupa koji se uvlači u vakuum aparat. Faza ugušćenja traje sve dotle dok se ne dostigne prezasićenost koja je potrebna da bi se inicirala kristalizacija. Prezaićenost se meri indirektno, i to merenjem gustine kod čistih šećerovina ili merenjem provodnosti kod nečistih. Određivanje trenutka inicijalizacije kristalizacije je najkritičniji moment u fazi kuvanja i njega je potrebno odrediti laboratorijski, za jedan period rada i kvaliteta šećerovine. Treba obezbediti da se zadata vrednost gustine ili provodnosti može menjati. Dostizanjem zadate vrednosti za gustinu odnosno provodnost, automatski ili ručno se vrši imfovanje, tj. uvlači se određena količina šećernog praha u vakuum aparat i na taj način počinje faza zrnjenja. Nakon infovanja potrebno je u fazi zrnjenja konstantnu vrednost prezasićenosti i to opet preko indirektnih mernih veličina da bi prezasićenost ostala u metastabilnoj oblasti, da bi se održavao samo rast postojećih kristala i sprečilo stvaranje novih. Regulacija se vrši uvlačenjem sirupa i po potrebi vode, koju treba izbegavati zbog pogoršanja toplotne ekonomije. Zbog potrebe održavanja konstantnog odnosa količine iskristalisanog šećera i isparene vode, kod vakuum aparata sa mešalicama, moguće je i smanjivanje pritiska i srazmerno smanjenje temperature sekundarnih para dovedenih sa otparne stanice, za zagrevanje na stanici za kristalizaciju, ali samo do određene granice. Trajanje ove faze se određuje vremenski prema kvalitetu šećerovine koja stoji na raspolaganju. Nakon isteka vremena predviđenog za zrnjenje počinje faza ukuvavanja koja je sa merno-regulacionog aspekta dosta komplikovana jer je Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. potrebno da se istovremeno prati rast nivoa u vakuum aparatu kao i rast gustine odnosno pad provodnosti, zavisno od toga koji se parametar koristi kao merna veličina. Vremenska zavisnost promene zadate vrednosti nivoa se ne može koristiti jer promena pritiska sekundarnih para ili vakuuma može uticati na promenu vremena kuvanja. Ovaj problem se uglavnom rešava tako da se unapred određuju gradijenti promene nivoa, a promenom nivoa i potrebna vrednost merne veličine. Održavanje zadatih parametara vrši se uglavnom regulacijom dotoka soka u vakuum aparat. Kada se dostigne maksimalni zadati nivo, a samim tim i željena vrednost merne vrednosti (gustine ili provodnosti), tada se isključuje regulacija nivoa a nastupa sledeća faza tj. faza stezanja vara u kojoj se var ugušćuje do krajnje vrednosti regulacijom gustine odnosno provodnosti. Nakon dostizanja zadate vrednosti var se ispušta u hladnjaču, vakuum aparat se priprema za uvlačenje šećerovine za sledeći var. slika 43: Idelani dijagrami promene nivoa i gustine u periodu jednog vara Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 10.5. Merenje i regulacija Merno-regulacioni krugovi U postrojenju rafinerije postoje 8 posuda za sokove i 3 hladnjače sa sledećim merno-regulacionim krugovima : • • • • • • • • merenje merenje merenje merenje merenje merenje merenje merenje nivoa nivoa nivoa nivoa nivoa nivoa nivoa nivoa 1. 2. 3. 4. 5. 6. 7. 8. rezervoara rezervoara rezervoara rezervoara rezervoara rezervoara rezervoara rezervoara sirupa sirupa sirupa sirupa sirupa sirupa sirupa sirupa (kristalna osnova) (gusti sirup) (beli sirup A) (standardni) (zeleni sirup A) (beli sirup B) (zeleni sirup B) (afinacioni sirup) • merenje nivoa 1. hladnjače • merenje nivoa 2. hladnjače • merenje nivoa 3. hladnjače U postrojenju rafinerije postoji 10 vakuum aparata. Na svakom vakuum aparatu postoje sledeći merno-regulacionih krugovi : • • • • merenje merenje merenje merenje i i i i regulacija regulacija regulacija regulacija nivoa tečne faze u aparatu gustine (viskoziteta) vakuuma temperature Merenje temperature Merenje temperature se izvodi otpornim termometrom Pt100, u zaštitnoj čauri za merenje temperature fluida. Otporni termometar se povezuje sa mernim pretvaračem koji generiše standardni strujni signal 0-20mA. Merni pretvarač se povezije sa analognom ulaznim kanalom na programabilnom kontroleru. Merenje nivoa Merenje nivo u vakuum aparatima se izvodi na principu merenja diferencijalnog pritiska (hidrostatičkog pritiska) u posudi. Za merenje se koristi merni pretvarač diferencijalnog pritiska koji je armaturom povezan sa priključcima na posudi. Armatura je odabrana da zadovolji zahteve pritiska i temperature merenog fluida. Merni pretvarač diferencijalnog pritiska na izlazu iz transmitera daje standardni strujni signal 0-20mA, koji se povezije sa analignim ulaznim kanalom na EUROPLC kontroleru. Merenje nivoa u rezervoarima sirupa i hladnjačama za šećerovinu vrši se na principu merenja apsolutnog pritiska u posudi. Za merenje se koristi merni pretvarač apsolutnog prutuska sa produženim tubusima, koji je armaturom povezan sa priključcima na posudi. Armatura je odabrana da zadovolji zahteve pritiska i temperature merenog fluida. Merni pretvarač apsolutnog pritiska na izlazu iz Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. transmitera daje standardni strujni signal 4-20mA, koji se povezije sa analignim ulaznim kanalom na programabilnom kontroleru. Merenje pritiska Merenje pritiska se izvodi mernim pretvaračem pritiska sa priključkom na cevovod ili posudu preko armature za merenje pritiska. Armatura je odabrana tako da zadovolji zahteve pritiska i temperature merenog fluida. Merni pretvarač se povezuje direktno sa analognim ulaznim kanalom programabilnog kontrolera. Merenje gustine − − − − Za merenje gustine šećerovine koriste se postojeći merači i to: na uparivaču KROS-a Fletcher (RF) na uparivačima A – šećerovine Bertold (sa radioakt. izotopom) na uparivačima B – šećerovine Pupin MGS (RF) na uparivačima C – šećerovine Pupin MGS (RF) Svi merni pretvarači se povezuju direktno sa analognim ulaznim kanalom programabilnog kontrolera. Regulacioni ventili Regulacioni ventili su opremljeni za automatsku kontrolu. Ventilom za sok se upravlja preko kontinualnog signala 4-20mA. Ventil za veliki vakum je opremljen elektromotornim pogonom kojim se upravlja preko digitalnih izlaza komandovanje optaranja ili zatvaranja. Ventil za ispust je takodje opremljen ekeltromotornim pogonom. Ventili za dovod vode , mali vakuum i paru su on-off sa digitalnom komandom. Regulatori i programabilni kontroleri Vođenje procesa ostvaruju: • na vakuum uparivačkim aparatima: EUROPLC E96 programabilni regulatori • na ostalim uređajima rafinerije: EUROPLC E320 programabilni kontroleri. Oni prihvataju signale iz procesa preko mernih pretvarača i uređaja, i na osnovu isprogramiranje tehnologije i zadatih parametara upravlja izvršnim elementima. Sa druge strane regulatori i PLC-i su, preko serijske veze RS485, povezani sa serverom kome prosleđuju trenutno stanje u procesu i sa klijentima od kojih, preko servera, dobijaju komande, parametre i slično. U slučaju ispada nadzornog računara, prekida komunikacije ili nestanka napajanja, regulatori i PLC-i nastavljaju da vode proces po poslednjim zadatim parametrima. Regulatori i PLC-i po konfiguraciji odgovaraju zahtevima procesa u pogledu broja i tipa signala. Elektroormani Programabilni kontroler i ostala prateća oprema smešteni su u elektroormane (pultove) koji se nalaze u kontrolnoj sobi. Elektroormani su tipski, stepen zaštite IP55. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 10.6. Nadzorna stanica 10.6.1. Funkcionalni opis Nadzorna stanica omogućava kvalitetan i pouzdan uvid u stanje procesa, kao i lako zadavanje komandi i parametara. Ovaj zadatak se ostvaruje kroz : on-line prikaz stanja procesa na grafičkim ekranima, otkrivanje neregularnih stanja i alarmiranje, akviziciju i hronološki prikaz stanja procesa, generisanje izveštaja, upravljanja radi korekcija rada krajnjih regulatora, setovanje zadatih vrednosti upravljanih veličina u procesu, prelazak na ručni režim i zadavanje daljinskih komandi. Nadzorni računari omogućavaju sledeće funkcije: • grafički prikaz pogona sa on-line vrednostima iz procesa • praćenje vrednosti i alarmiranje • setovanje zadatih vrednosti za temperature, pritiska, nivo i Bx • prelazak na ručni režim uz zadavanje položaja ventila • akviziciju temperatura, pritiska, nivoa i Bx • hronološki prikaz trendova • setovanje parametara PID regulatora • hronološko praćenje rada PID regulatora • komunikacija sa radnim stanicama tehnologa i glavnog inženjera 10.6.2. Korisnički interfejs Oblik i uloga korisničkog interfejsa su opisani u 9. poglavlju tako da se ovde neće ponavljati. Biće ilustrovan samo slikom 44. slika 44: korisnički interfejs JSCADA sistema implementiran u pogonu rafinerije šećerane Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 10.6.3. Monitoring U okviru nadzorne stanice pogona rafinerije monitoring se ostvaruje kroz monitorske ekrane (slika 44). Ovi ekrani sadrže uprošćeni šematski prikaz pogona sa celokupnom merno regulacionom opremom. Elementi merno-regulacione opreme predstavljeni su standardnim simbolima ovih elemenata. Trenutne vrednosti izmerene u pogonu prikazane su pored simbola mernih elemenata numerički i bar grafovima. Numerički se prikazuju egzaktno izmerene vrednosti pritiska, temperature, nivoa i Bx u adekvatnim jedinicama odnosno bar grafovima procentualno u odnosu na granice dozvoljenih vrednosti. Stanje izvršnih elemenata regulacione opreme prikazano je promenom boje elemenata odnosno tekstualnim komentarima pored svakog elementa. Kod elemenata motora i pumpi prikazano je njihovo trenutno stanje odnosno radi ili ne radi a u slučaju regulacionih ventila prikazan je trenutni procenat otvorenosti ventila numerički i bar grafovima i trenutni režim upravljanja ventilom odnosno ručno ili automatski. 10.6.4. Alarmi Alarmno stanje traje od nastanka poremećaja procesa do uklanjanja uslova koji su poremećaj izazvali. Alarm se sastoji od teksta alarmne poruke koja ukazuje na tip poremećaja procesa mesta nastanka poremećaja i vremena pojave alarma. Za svako alarmno stanje potrebno je propratiti i akvizirati sledeće događaje. • Nastanak alarma je trenutak kada je došlo do neregularnosti u procesu. Operater se od tog trenutka obaveštava o nastanku alarma ispisivanjem alarma na ekranu i zvučnim signalom. • Potvrdu alarma, to je trenutak kada operater potvrdi da je obavešten o nastanku alarma. Potvrda alarma ukida zvučni signal. • Kraj potvrđenog alarma je trenutak kada su uklonjene nepravilnosti u procesu koje su izazvale nastanak alarma. Ukida se ispisivanje alarma na ekranu. • Kraj nepotvrđenog alarma je trenutak kada su uklonjene nepravilnosti u procesu koje su izazvale nastanak alarma. Potrebno je naglasiti da operater nije reagovao na ovaj alarm. Ukida se ispisivanje alarma na ekranu i zvučni signal. U okviru nadzorne stanice pogona rafinerijee alarmna stanja prate se preko funkcije “Alarm”. Ova funkcija predstavlja listu alarmnih stanja sa datumom i vremenom nastanka alarma, potvrde alarma i kraja alarma. 10.6.5. Komande Komandama operater nadzorne stanice utiče na odvijanje procesa. Menja parametre procesa odnosno zadaje nove vrednosti parametara po kojima bi proces trebalo da se odvija ili direktno utiče na izvršne elemente kako bi ovi promenili svoje trenutno stanje. U okviru nadzorne stanice operateru je omogućeno da zadaje krivu kuvanja u skladu sa trenutnim satnjem u pogonu, zadatom tehnologijom i laboratorijskim analizama. To znači da se mogu promeniti svi parametri i ključne tačke grafika Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. kuvanja. Izmena se zapisuje na disku i prosleđuje programabilnom kontroleru koji vodi proces na izabranom aparatu. Zadavanje parametara procesa ostvaruje se preko opcije "Zadato" . Ulaskom u opciju "Zadato" operater iz liste parametara bira parameter kome se želi promeniti vrednost. Po izboru parametra potrebno je zadati novu vrednosti. Po unosu vrednosti vrši se logička provera koja obuhvata proveru opsega, trenutnog stanja procesa i slično. Ukoliko je nova vrednost u dozvoljenim granicama komanda će biti izvršena. U suprotnom na ekranu monitora biće prikazana poruka o grešci, a od operatera će se zahtevati da ponovi postupak. Zadavanje komandi izvršnim elementima regulacione opreme ostvaruje se preko opcije "Komande". Ulaskom u ovu opciju operater treba iz liste izvršnih elemenata da izabere element kome želi zadati komandu. Po izboru izvršnog elementa kome se želi zadati komanda bira se režim rada za taj element odnosno ručno ili automatski. Ako je za element izabran ručni režim rada onda treba zadati i vrednost po kojoj će element raditi. Na primer za regulacione ventile u ručnom režimu rada treba zadati procenat otvorenosti ventila. Po zadavanju i provere celokupne komande od operatera se traži dodatna potvrda komande te se tek onda nova komanda usvaja. Radi veće bezbednosti rada sistema upravljanja svaki novozadati parametar procesa prolazi kroz proveru ispravnosti zadate vrednosti kao i provera ispravnosti prenosa podataka između nadzorne stanice i programibilnog kontrolera. Takođe postoji i provera šifre operatera pre ulaska u opciju "Komande" pa neprijavljeni operater ili neko drugo neovlašćeno lice ne može zadati komandu. 10.6.6. Akvizicija Akvizicija celokupnog procesa neophodna je radi analize kako efikasnosti sistema nadzora i upravljanja procesom tako i radi pronalaženja uzroka eventualnih nepravilnosti u radu. Akviziciju kontroliše i vrši serverski računar za industrijsko okruženje – Web Proces Server. Odatle ostali računari – klijenti preuzimaju podatke i obrađuju ih. U okviru nadzorne stanice pogona difuzije akvizicijom su obuhvaćene sve merene vrednosti u pogonu, stanja i položaji izvršnih elemenata, alarmna stanja, zadane komande i sve promene parametara procesa. Svaki regulacioni krug predstavlja jednu akvizicionu grupu odnosno predstavljen je na jednom grafiku što znači da se na istom grafiku može pratiti element procesa čija vrednost se reguliše, režimi rada i procenti otvorenosti svih ventila tog regulacionog kruga. Komande operatera i promene vrednosti parametara procesa akviziraju se u tabeli gde red tabele čine dve kolone. Prva kolona predstavlja datum i vreme akcije a druga zadanu komandu ili zadanu vrednost. Alarmi se takođe akviziraju u tabelu sa datumom i vremenom nastanka, podvrde i kraja alarma. Pored parametara procesa rada izvršnih elemenata i alarmnih stanja akvizicijom su obuhvaćena i sva uključivanja i isključivanja nadzorne stanice kao i sve prijave i ođave operatera na nadzornu stanicu. Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 10.6.7. Podešavanje sistema U okviru nadzorne stanice operateru je omogućeno da podešava vrednosti parametara svakog regulacionog kruga. Zadavanje parametara regulacije ostvaruje se preko opcije "Sistem". Za svaki regulacioni krug zadaju se parametri regulatora. U skladu sa dinamikom procesa, ugrađenom opremom i trenutnim stanjem u procesu, operater bira proporcionalnu, integralnu i diferencijalnu konstantu PID regulatora. Za podešavanje parametara mogu se koristiti podaci dobijeni akvizicijom za taj regulacioni krug. Ulaskom u opciju "Sistem" operater treba iz liste regulacionih krugova da izabere onaj regulacioni krug kome želi da promeni vrednost parametara. Po izboru regulacionog kruga kome se žele promeniti parametri ulazi se u polje za unos nove vrednosti. Novo unešena vrednost ako se uklapa u dozvoljene granice za taj parametar biva prihvaćena i od operatera se traži dozvola za promenu vrednosti. Radi veće bezbednosti rada sistema upravljanja svaki novi parametar procesa prolazi kroz proveru ispravnosti zadate vrednosti kao i provera ispravnosti prenosa podataka između nadzorne stanice i programibilnog kontrolera. Takođe postoji i provera šifre operatera pre ulaska u opciju "Sistem" pa neprijavljeni operater ili neko drugo neovlašćeno lice ne može zadati komandu. 10.7. Specifikacija računarske opreme i softvera 10.7.1. Računarska oprema RB. 1. 2. OPIS Programabilni regulator EUROPLC E96: • POW01 Napajanje • CPU02 Procesorski modul • ANM02 Analogni modul sa 6 ulaza i 2 izlaza • DIN01 Digitalni ulazni modul sa 16 ulaza 24VDC • DOM02 Digitalni izlazni modul sa 16 tranzistorskih izlaza • OPD12 Operatorski panel Programabilni modularni kontroler EUROPLC E320 • POW01 Napajanje • CPU02 Procesorski modul • ANM02 Analogni modul sa 6 ulaza i 2 izlaza • DIN01 Digitalni ulazni modul sa 16 ulaza 24VDC • DOM02 Digitalni izlazni modul sa 16 tranzistorskih izlaza JM kom. KOL 10 kom. 5 Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 - 2007 For Evaluation Only. 3. Server PC računar: • procesor Pentium Celeron 1.2GHz ili bolji • RAM memorija 256MB • SVGA grafička kartica • jedan serijski interfejsa RS232 • floppy drive: 3.5" • hard drive: 40GB ili više • Eternet 10/100 mrežna kartica • OS Linux Slackware 8.1 ili noviji kom. 1 3. Klijent PC računar ICP PPC5050: • industrijski PC računar za panel ugradnju • SBC POS-370 ili POS-566 • procesor Pentium Celeron 800MHz ili bolji • RAM memorija 256MB • embedded SVGA graf. kartica • LCD TFT 15" industrijski monitor • hard drive: 20GB ili više • Eternet 10/100 mrežna kartica kom. 4 4. Komunikacioni interfejs COM10 • Interfejs RS232/RS485 • napajanje 220VAC kom. 1 5. Besprekidno napajanje SmartUPS • ulazni napon 220VAC / 50Hz • maksimalni kapacitet 700 VA • vreme punjenja 90% kapaciteta 6h • EMI/RFI filter kom. 1 6. Elektroormani za smeštaj opreme • pult za smeštaj opreme • napajanja 24VDC • pomoćni releji 220 VAC, 10A • napajanje transmitera • kompletno formiran i ožičen kom. 4 10.7.2. Programska podrška - softver RB. 1. 2. 3. OPIS Programska podrška za programabilni kontroler. Upravljački program za programabilni kontroler EUROPLC, izrađen u LD jeziku, u svemu prema zahtevima iz tehničkog opisa, sa softverski rešenim PID regulatorima i komunikacijom sa nadređenim računarom. Aplikativni softver servera. VPLC program za komunikaciju sa regulatorima i PLC-ima i lokalnom bazom podataka na serveru. Aplikativni softver nadzorne stanice Nadzorno - upravljački softver radne stanice operatera. SCADA je softverski paket koji se koristi u sistemima industrijske automatizacije. Kao što govori ime ovog softvera, koje u originalu glasi “Supervisory Control And Data Acquisition”, on je namenjen za nadzor i kontrolu sistema, kao i za akviziciju podataka. Korišćenjem softvera za razvoj skada aplikacija, moguće je kreirati grafički korisnički interfejs preko kojeg će operator imati bolji uvid u stanje procesa, i preko kojeg će on moći da na različite načine utiče na njegovo izvršenje. Osnovne namene skade su: • Interfejs procesa prema operatoru • Prikupljanje i obrada informacija o procesu • Dodeljivanje prioriteta informacijama • Upravljanje proizvodnjom • Nadzor • Upravljanje kontinualnim procesima • Alarmiranje • Rukovanje materijalom • Simulacija i modeliranje korišćenjem grafičke animacije • Direktno upravljanje mašinama • Upravljanje energetskim resursima Da bi se jedna aplikacija mogla nazvati skadom, potrebno je da zadovolji brojne zahteve koju pred nju postavljaju industrijski standardi. Odgovornost rada, rad u sistemu sa uredjajima različitih proizvodjača, intuitivni grafički interfejs, potreba za mogućnošću jednostavnog programiranja i drugi zahtevi doveli su do uspostavljanja izvesnog formalizma, koji mora biti ispoštovan od strane svake skada aplikacije. Procesiranje alarma precizno je definisano ovim standarom, tako da u svakoj skada aplikaciji postoji nekoliko statusa alarma i načina njihovog prikazivanja. Alarmi, tako, mogu biti prikazani u obliku liste koja prikazuje bafer koji se puni alarmima u redosledu njihovog pojavljivanja u sistemu, i koji može biti kreiran kao FIFO ili LIFO, odredjujući tako tretman novopristiglih alarma, u slučaju da je bafer već popunjen prethodnim alarmima. Pored ove liste, postoji i istorija alarma, u kojoj su izlistani svi alarmi koji su se pojavili od početka rada, sa vremenom pojavljivanja i statusom. Status alarma može biti različit, i potrebno je da postoji mogućnost potvrde svakog od njih. Statusi alarma su različiti, u zavisnosti od toga da li uslovi za generisanje alarma još uvek postoje, ili je u pitanju bila neka trenutna neispravnost koja je otklonjena. Takodje, oni nose informaciju o tome da li je operator potvrdio alarm, čime je skadi stavio do znanja da je obavešten o nastanku alarma, i da preuzima odgovornost za odgovarajuću akciju. Kao najopasnija grupa alarma pojavljuju se alarmi koji više ne postoje, ali u toku postojanja nisu bili potvrdjeni, tako da se i njihov status pojavljuje u ovoj istoriji. Jedna od karakteristika skada aplikacija jeste i mogućnost pisanja takozvanih receptura. Receptura je naziv za specijalnu operaciju čijim se pozivom odredjene promenljive procesa postavljaju na vrednosti definisane pri kreiranju recepture. Od velikog značaja ova mogućnost može biti u slučaju da postoji potreba za čestim menjanjem parametara procesa, odnosno u realizaciji upravljanja sistemom koji se može koristiti za izvršavanje različitih algoritama, npr. za izvršenje različitih proizvodnih procesa. Ako, na primer, aplikaciju pravimo za sistem za proizvodnju dva različita proizvoda, ova dva procesa proizvodnje se razlikuju. Recepture u kojima definišemo npr. količine sirovina za proizvodnju ova dva proizvoda mogu biti kreirane odvojeno, i pozivom odgovarajuće recepture biće startovana proizvodnja odgovarajućeg proizvoda. Recepture se pišu u specijalnom editoru receptura, i unošenje vrednosti parametara recepture veoma je jednostavno. Pored ovog editora, OMRON-ova skada opremljena je i setom standardnih editora za rad sa objektima, koji mogu biti pozvani kako iz padajućeg menija, tako i klikom na taster na Toolbar-u: Skada dozvoljava definisanje nivoa pristupa Run-time aplikaciji, tako da mogu biti definisana četiri nivoa pristupa, sa različitim ograničenjima u pogledu broja operacija koje su dozvoljene. Najviši nivo pristupa dodeljuje se dizajneru kompletne aplikacije, i ovo je nivo za koji ne važe nikakva ograničenja. Sledeći niži nivoi su nivoi menadžera i operatera, da bi nivo sa najmanjim mogućnostima bio nivo supervizora, odnosno lica zaduženog za nadzor rada sistema. Sa nižeg nivoa moguće je pristupiti višem samo uz poznavanje lozinke. Svakom korisničkom nivou od ova četiri programer može dozvoliti, odnosno zabraniti korišćenje odredjenih funkcija, kao što su potvrda alarma, pisanje receptura, i slično. Skada pored mogućnosti korišćenja ugradjenih funkcija za rad sa objektima, stranama i kompletnim projektom, čije korišćenje je moguće bez potrebe za programiranjem, nudi i mogućnost programiranja operacija korišćenjem tzv. script jezika. Ovaj jezik u osnovi pretstavlja jednostavnu varijantu C jezika, sa ugradjenim velikim brojem funkcija za rad sa objektima skade. Aplikacije kreirane ovim jezikom unose se pomoću posebnog editora. Podržane su standardne funkcije grananja programa, kao i neke više, koje će biti obradjene kasnije. OMRON-ova skada pretstavlja moćan softver za programiranje grafičkog interfejsa kontrolnog sistema. Za ovu namenu, razvojni softver opremljen je pristupačnim alatima za rad sa grafičkim objektima. Programeru na raspolaganju stoji veoma bogata biblioteka objekata koji se najčešće koriste u aplikacijama za industrijsku automatizaciju. Tu su uključeni simboli i crteži standardnih uredjaja, kao što su PLC-ovi, računari, razni tipovi ventila i rezervoara, tasteri, grafikoni, i drugo. Većina ovih objekata može biti povezana sa specijalnim funkcijama za animaciju, kao što je pomeranje kazaljke na grafičkom prikazu merača neke analogne veličine. Izbor postojećih objekata jednostavan je i za tu svrhu može se koristiti paleta, tako da se pomoću nje i “drag&drop” operacije objekti mogu pozicionirati na ekranu. Pored ove, postoji i paleta za definisanje položaja objekata u odnosu na stranu ili druge objekte. Na slici je prikazan deo ekrana sa paletama. Veličina ekrana može biti proizvoljno zadata, do granice veličine ekrana monitora. Osim objekata izabranih iz biblioteke objekata, korisnik ima mogućnost importovanja sopstvenih bitmapiranih objekata. Ova opcija omogućava korišćenje objekata kreiranih u drugim aplikacijama, čije su grafičke mogućnosti veće. Takodje, ovi korisnikovi objekti mogu se uključiti u biblioteke, i zatim koristiti u drugim projektima. Nad objektima su moguće i operacije grupisanja, zatim postavljanja na viši ili niži nivo, tako da se uvek može odrediti koji će od dva objekta koji se preklapaju biti vidljiv. Takodje, podržane su i operacije rotiranja i preslikavanja objekata. Generalno, postoje dve osnovne grupe objekata, i to su objekti koji imaju podršku specijalnih “wizard”-a, koji se pored standardnog editora za animaciju koriste za programiranje uloge objekta, i klasični objekti, čije se ponašanje može programirati editorom animacije. Alati za programiranje objekata iz prve grupe koncipirani su na principu tzv. “fill in the blank” operacija, što omogućava veoma jednostavno programiranje njihove animacije. U drugu grupu spadaju objekti kao što su linija, kružnica, krug, pravougaonik, poligon, i slično, dok su objekti prve grupe: • tasteri • prekidači • slajderi • rotacioni pokazivači • linearni pokazivači • razni tipovi grafova, i • alarmi Pored njih, kao što je već pomenuto, posebnu grupu čine bitmapirani objekti, a posebnu i objekti koji su OLE komunikacijom povezani sa drugim Windows aplikacijama, o kojima će biti više reči kasnije. Arhitektura softvera je otvorenog tipa. SYSMAC-SCS Engine neprekidno osvežava I/O vrednosti kao i statusne informacije koje prima sa servera komunikacije, i održava realtime bazu podataka, kojoj se može pristupiti iz kontrolnih aplikacija kreiranih u skript jeziku. Ova i ostale funkcije Engine-a prikazane su na sledećoj slici: Skada aplikacija SCS Engine • Skaliranje jedinica • Obrada alarma • Trending Real-time baza podataka DDE Istorija i log fajlovi alarma PLC DAQ Za editovanje real-time baze podataka koristi se specijalni editor, Point editor o kome će biti više reči kasnije. On se koristi za editovanje tačaka koje pretstavljaju I/O vrednosti povezane sa eksternim uredjajima, odnosno PLC-om. Pored PLC adrese, tačkama se mogu pridružiti i druge informacije, kao što su ime, opis, opseg i slično. Skada ima mogućnosti prikaza promene nekih veličina u vremenu. Ime ove operacije je trending, i ona pretstavlja veoma moćno sredstvo za sticanje uvida o stanju sistema kojeg nadgledamo. Operacija se koristi preko specijalnih Trend objekata, a editor za setovanje jednog objekta ovog tipa prikazan je na sledećoj slici: Komunikacija SCADA je paket kreiran za rad u Microsoft Windows okruženju, i koristi sve prednosti koje to okruženje pruža, od mogućnosti jednostavnog pozivanja ugradjenih funkcija preko klipbord operacija, do DDE komunikacije. SCADA je aplikacija kreirana za personalne računare, i za sada pretstavlja najefikasniji oblik korišćenja PC računara u sistemima upravljanja industrijskim procesima. Personalni računar na kojem je SCADA aktivna povezan je sa ostalim komponentama industijske automatizacije, drugim rečima sa programabilnim logičkim kontrolerom (PLC). OMRON-ov SCADA softver sastoji se iz dva osnovna pod-paketa, SYSMAC-SCS i SYSMAC-CDM. Prvi sadrži sam programerski alat, kao i Run-time verziju softvera, u kojoj nije moguće editovati aplikaciju, već je moguće samo njeno izvršenje. Drugi deo pretstavlja skup drajvera potrebnih za komunikaciju skade sa okolinom, i u njemu je sistemski podržana komunikacija sa svim OMRON-ovim programabilnim kontolerima. Skada aplikacija ima mogućnost jednovremene komunikacije sa većim brojem kontrolera, koji mogu biti povezani sa računarom preko jednog PLC-a. Kontroleri izmedju sebe mogu komunicirati preko standardnih komunikacionih protokola. O načinu programiranja skada aplikacije kada se ona koristi za rad sa većim brojem kontrolera biće reči u delu u kojem su obradjene tzv. points, odnosno promenljive koje se koriste kako za programiranje internih skada operacija, tako i za povezivanje aplikacije sa okolinom. Pored rada sa eksternim uredjajima, skada paket ima mogućnost DDE komunikacije sa nekim programima koji rade u Windows okruženju. Primer korišćenja DDE komunikacije bilo bi povezivanje skade sa nekim spreadsheet paketom u kome postoje neke mogućnosti obrade podataka koje skada nema. Princip DDE veze prikazan je na sledećoj ilustraciji: Način povezivanja podataka biće objašnjen kasnije. Instalacija i aktiviranje softvera SYSMAC-SCS softver je predvidjen za rad na IMB kompatibilnim računarima sa 486 ili jačim centralnim procesorom. Operativni sistem treba da bude Microsoft Windows 98 ili noviji. Zahtevi koje sistem mora da ispuni da bi rad aplikacije bio moguć obuhvataju: • 80386 ili jači procesor (66 MHz minimum), • najmanje 4 Mb RAM-a (16 Mb preporučeno), • najmanje 20 Mb prostora na hard disku, • VGA ili bolji grafički sistem, • MS Windows 3.1 ili noviji operativni sistem. Instalaciona verzija softvera dobija se na 3.5” disketama. Pored samog razvojnog softvera, da bi rad sa eksternim uredjajima (PLC) bio moguć, potrebno je instalirati i tzv. token, koji pretstavlja softversku zaštitu od neovlašćenog korišćenja paketa, ili ekvivalentnu hardversku zaštitu, tzv. dongle. Hardverska zaštita realizovana je u obliku konektora koji se može vezati na paralelni port, ili se može omogućiti pristup nekom donglu preko mreže. SYSMAC-SCS softver aktivira se iz osnovnog menija, putanjom Start/Programs/Omron SYSMAC/SYSMAC-SCS Developer (Runtime). Uz samo razvojno i Run okruženje, uz paket se dobija i set demo aplikacija, koje pokazuju osnovne performanse OMRON-ove skade. Osnovni pregled Koncept projekta SYSMAC-SCS aplikacija sastoji se iz odredjenog broja medjusobno povezanih stranica. Stranice mogu sadržati različite tipove objekata, pasivne ili aktivne grafičke objekte, tekst ili animacije, i mogu biti grupisane u logičku celinu koja čini projekat. Projekat se može sastojati iz velikog broja strana, ali i samo jedna strana može činiti projekat. Razvojno okruženje skada softvera koristi se za kreiranje i testiranje projekta, dok se on pokreće kao stand-alone aplikacija u Runtime okruženju. Samo jedan projekat može u jednom trenutku biti editovan u razvojnom softveru. Pokušaj da se otvori sledeći projekat, ako je jedan već aktivan rezultovaće zatvaranjem aktivnog objekta, uz predlog o čuvanju unetih promena. Ime projekta, i lokacija na disku na kojem će biti sačuvan u obliku fajla, moraju biti definisani prilikom kreiranja objekta, jer u fajlovskim operacijama ne postoji opcija Save As. Zapravo, ona postoji u slučaju da je editovan bezimeni projekat po prvi put, ali je imenovanje projekta pri kreiranju preporučljivo. Postoji set parametara koji bliže odredjuju tip objekta, i kojima se može pristupiti iz padajućeg menija. Oni obuhvataju setovanje default fonta, oblika dugmića, ponašanje editora po startovanju, paletu boja, veličenu ekrana i slično. Ove parametre naći ćemo u podmenijima General Settings i Runtime Settings. U grupi Runtime Settings nalaze se i parametri koji odredjuju reakciju u slučaju pojave alarma, a prozor za setovanje ove operacije dat je na slici. Alarm Sound dugme koristi se za pozivanje dijaloga u kojem možemo izabrati zvuk koji će biti generisan u slučaju pojave alarma. Ovaj zvuk setuje se izborom nekog zvučno fajla, koji ima ekstenziju .wav, i čija se putanja setuje u dijalogu: Pored setovanja alarma, ovde je moguće setovati log listu dogadjaja/greški (Event/Error Log), odnosno možemo izabrati prioritete dogadjaja/greški koje će biti obradjene, kao i njihov maksimalni broj koji može biti detektovan u logu. Do dijaloga za setovanje ovih parametara dolazi se putanjom Project/Runtime Settings/Event-Error Settings, i prozor za setovanje izgleda kao na slici: Prilikom startovanja aplikacije, u trenutku kada se pojavi neka greška, odgovarajućeg nivoa, biće zabeležen trenutak njenog pojavljivanja, i poruka o prirodi greške. Isto važi i za pojavu bilo kakvog dogadjaja. Izveštaj o greškama/dogadjajima koji su se pojavili možemo dobiti u nekoliko formi, odnosno kompletnu listu možemo propustiti kroz nekoliko tipova filtera, tako da npr. možemo izabrati da se prikaže lista samo grešaka sa najvećim prioritetima, i slično. Filteri se pokreću klikom na odgovarajući taster u prozoru koji se pojavljuje prikazujući Event/Error Log. Uloga svakog tastera objašnjena je u Bubble prozorčiću koji se pojavljuje iznad tastera kada ostavimo miša pozicioniranog iznad tastera neko vreme. Definisanje nivoa korišćenja Mere sigurnosti mogu biti definisane za Runtime aplikaciju. To znači da možemo setovati nekoliko nivoa pristupa aplikaciji. Nivoa ima četiri, i to su nivoi operatora, supervizora, menadžera i dizajnera. Svaki korisnik pre korišćenja skade u Runtime verziji mora da se uloguje, i to radi tako što će posle klika na desno dugme miša izabrati Login operaciju, i ukucati svoje korisničko ime i lozinku na predvidjenim mestima. Svaki korisnik ima svoj nivo pristupa. Različitim nivoima možemo dozvoliti izvršenje različitih operacija, kao što su potvrda alarma, prikaz liste greški i slično. Prozor koji služi za setovanje nivoa prikazan je na slici: Posebna mera predostrožnosti sprovodi se prema operaciji izlaska iz Runtime aplikacije, kao najodgovornijoj. Za ovu operaciju specijalno se definiše nivo pristupa. Kompajliranje i startovanje projekta U toku rada Runtime aplikacije, projekat nije moguće editovati. Projekat kreiran u razvojnom okruženju može biti startovan preko Project menija, izborom operacije Run, ili pritiskom na taster na Toolbar-u. Tom prilikom projekat se startuje u posebnom prozoru, koji nosi naziv po imenu projekta. Runtime verzija nekog ovako startovanog projekta kreira se automatski, i sledeći put može biti pozvana direktno iz Runtime softvera. Ekstenzija Runtime aplikacije je *.srt. Ona se pokreće kao bilo koja druga aplikacija, instrukcijom Open. Informacije o projektu Informacije povezane sa trenutno aktivnim projektom, mogu biti editovane u posebnom prozoru, koji se aktivira putanjom Project/Information... Ovde može biti setovano ime projekta, kao i njegov opis. Koncept strane Svaki projekat mora sadržati najmanje jednu stranu. Kreiranje nove strane izvodi se preko File/New Page instrukcije. Nakon poziva, otvara se strana standardne veličine i boje, koju možemo editovati dvostrukim klikom miša na bilo kom delu njene površine. Stranama se može manipulisati kao fajlovima, tako da one mogu biti čuvane pod različitim imenima, otvarane iako se nalaze u drugim projektima, i tako dalje. Posebne karakteristike strana dobija kada se uključi u trenutno aktivan projekat, i ove karakteristike mogu biti editovane samo iz razvojnog okruženja skade, a ne nekim softverom za rad sa fajlovima. Ekstenzija strane je *.pag. Interne karakteristike strane obuhvataju tip okvira, mod prikaza, i neke druge osobine, i prozor za njihovo setovanje (koji se dobija dvostrukim klikom na stranu) prikazan je na slici: Strana može biti odštampana na printeru, i operacija njenog štampanja poziva se instrukcijom File/Print, sa zadavanjem potrebnih osobina štampanja, kao što su orijentacija ili opseg štampanja. Organizacija strana tokom kreiranja projekta olakšana je ako se koristi Project Editor, specijalni editor za rad sa projektom. Projekt editor startuje se pritiskom na taster na toolbar-u, ili preko Utilities menija. Aktiviranjem editora pojavljuje se prozor: Postoji nekoliko filtera koje koristimo za prikaz liste strana. Atribut All Relevant Pages uključuje sve strane koje spadaju u tri sledeće grupe. Filter sa nazivom Pages in Project ostaviće u listi samo stranice koje se nalaze u projektu. Stranice se uključuju u projekt iz generalne liste, klikom na taster sa oznakom +, i tada dobijaju status In Project, prikazan u koloni koja prikazuje status projekta. Stranice koje se nalaze u projektu, mogu biti isljučene iz njega pritiskom na dugme “+”. Samo jedan od tastera +/- može biti raspoloživ u jednom trenutku, odnosno za jednu stranu. Sledeći filter svoju operaciju zasniva na mestu gde se stranice kao fajlovi fizički nalaze, i poziva se izborom opcije Pages in Project Directory. To znači da će, kada ga aktiviramo, u listi ostati samo stranice koje se nalaze u poddirektorijumu projekta, dok ostale neće biti prikazane. Strane koje se nalaze u direktorijumu projekta prepoznaćemo po njihovom punom nazivu, npr. C:ðProjektiðTutorðB&W. Takodje, ovaj editor vodi računa i o tome koje su stranice trenutno otvorene za editovanje, i njihov spisak možemo dobiti ako kompletnu listu filtriramo kroz Pages Loaded opciju. Njihov status u ovom pogledu prikazan je u koloni sa naslovom Load Status, i automatski se menja otvaranjem nove strane ili zatvaranjem otvorene. Postoji još jedan atribut za čije je setovanje zadužen Project editor, a to je status koji stranica ima po pokretanju Runtime aplikacije. Ovaj status može biti: • Displayed • Not Displayed Prvi od ova dva statusa označava da će stranica biti učitana automatski po startovanju Runtime aplikacije, dok drugi znači da to neće biti slučaj, već će prikaz stranice biti aktiviran nekim dogadjajem koji nije startovanje aplikacije. Ovaj status stranice može biti setovan pomoću tastera koje se nalaze na toolbar-u, pri čemu je takodje aktivan samo onaj taster koji može da promeni status. Na slici na kojoj su ova dva tastera prikazana, levi taster nije raspoloživ, a kako se on koristi za definisanje statusa koji označava prikazivanje po startu, znači da će stranica na koju se ovo stanje tastera odnosi biti prikazana po startovanju aplikacije. Ovaj parametar, naravno, može biti promenjen pritiskom na taster sa oznakom “x”. Status prikaza stranice po startu mora biti pažljivo definisan za svaku stranu. Uobičajeno rešenje je da se definiše jedna stranica koja će biti prikazana po startu, i sa koje će biti omogućen pristup ostalim stranicama koje ćemo imati potrebu da posetimo. Mogu takodje postojati i stranice kojima neće biti definisan pristup iz aplikacije, a koje će biti startovane same od sebe, po aktiviranju nekog dogadjaja. Primer za ove stranice bile bi poruke o raznim tipovima neispravnosti instalacije koju nadgledamo. Stranice mogu biti aktivirane iz same aplikacije pomoću Display Page akcije animacije komponentnih objekata, dok se funkcijom Close Page postiže suprotan efekat. Prilikom prikazivanja strana, moramo voditi računa o njihovim atributima, kao što su veličina i položaj strane, i njen tip. Pogrešan izbor tipa strane može dovesti do “zaglavljivanja” aplikacije, pa ovome mora biti posvećena potrebna pažnja. Atributi strane setuju se u prozoru koji se otvara nakon dvostrukog klika na stranicu, pored objekata pozicioniranih na njoj. Pozicija i veličin strane setuju se popunjavanjem odgovarajućih polja, ili pozicioniranjem i podešavanjem veličine stranice u toku projektovanja. Mora se paziti gde se stranica pozicionira, da se ne bi desilo da, na primer, prekrije dugme na nekoj drugoj strani, koje je programirano za zatvaranje prikazane strane. Pored podešavanja veličine i položaja, u ovom dijalogu setuje se i naziv strane, komentar, tip ivice, kao i mod prikazivanja. Postoje tri različita moda prikazivanja stranice, i tu takodje treba biti jako oprezan. Do pada aplikacije, na primer, može dovesti setovanje moda neke stranice kao Replace, pri čemu smo izostavili tastere za dalju navigaciju sa ove strane, koja postaje aktivni meni. Aktiviranje stranice može se programirati i kao rezultat izvršenja nekog skripta, odnosno programa napisanog u script jeziku, koji se opet može povezati sa različitim dogadjajima. Tako, na primer, možemo programirati prikaz neke poruke o greški kada se aktivira bit koji služi za indikaciju pojave greške. Komanda koja se koristi za ovo je ‘display’, gde se kao parametar navodi ime stranice koja treba da se prikaže. Takodje, na raspolaganju nam je i ekvivalentna komanda za zatvaranje stranice, i to je komanda ‘close’. O komandama i sintaksi skript jezika biće više reči kasnije. Komunikacija sa PLC-om U nastavku ovog poglavlja, koje ima za cilj osnovno upoznavanje korisnika sa skada softverom, biće dat primer uspostavljanja jednostavnog oblika komunikacije skade sa PLC-om. Kako je ovaj softver predvidjen za rad u bliskoj interakciji sa programabilnim kontolerima, primer njihove komunikacije spada u osnovni pregled, iako će neki termini, kao što je termin “skript” ili DDE konekcija, biti objašnjeni tek kasnije. Znači, cilj nam je da uspostavimo komunikaciju softvera sa PLC-om, koji je fizički povezan sa PC-jem, i uz pretpostavku da su svi parametri komunikacije setovani korektno. SYSMAC-SCS može komunicirati sa svim kontrolerima iz OMRON-ovog programa, jer su oni podržani drajverima u SYSMAC-CDM softveru, koji se koristi uz SYSMAC-SCS, i čini zapravo jednu celinu sa njim. Da bi komunikacija mogla biti uspostavljena, neophodno je da je instaliran token ili dongle, odnosno, skada se ne sme nalaziti u Demo modu. Komunikacija softvera sa PLC-om realizuje se korišćenjem tačaka. Tačke su interne promenljive skade, čija je namena upravo komunikacija sa PLC-om. Nova tačka može biti kreirana iz Point editora, pritiskom na dugme sa oznakom “+”, koje aktivira operaciju “Add Point”. Ova operacija rezultovaće pojavljivanjem prozora kao na slici: U predvidjenim prazninama treba uneti ime tačke, grupu kojoj pripada, opis, kao i tip tačke. Postoje četiri tipa tačaka, i to su binarni, integer, realni i tekstualni, i u zavisnosti od toga šta tačka pretstavlja, odnosno koje vrednosti može da uzme, potrebno je izabrati odgovarajući tip. Nakon toga, setujemo opseg vrednosti koje tačka može uzeti, kao i inicijalnu vrednost, koju će ona imati pre nego što je promenjena bilo spolja, bilo izvršenjem neke interne operacije skade. U zavisnosti od toga da li se tačka koristi kao neka interna promenljiva skade, koja može služiti za programiranje neke vrste animacije, ili uu slične svrhe, ili je predvidjeno da ona pretstavlja vezu sa nekom adresom u eksternom PLC-u, tip tačke može biti različit. Postoje četiri tipa tačaka, i to su: • Memory Resident • Input • Output • Input/Output Prvi navedeni tip označava da tačka nema veze sa eksternim uredjajima, već se koristi interno u skadi, dok ostali tipovi označavaju tip signala kojeg tačka prenosi procesoru PC-a. Ovaj tip može biti ulazni, što bi značilo da je u pitanju signal koji stiže iz PLC-a, i pretstavlja ulazni signal sa aspekta skada softvera, zatim izlazni, koji označava da se vrednost tačke šalje prema PLC-u u vidu rezultata neke operacije, na primer setovanja analogne vrednosti na slajderu pozicioniranom na ekranu, i konačno, tip može biti ulazno/izlazne, što pretstavlja kombinaciju dva prethodno pomenuta slučaja. Operacija prenosa podataka izmedju PLC-a i skade može biti inicirana različitim dogadjajima. Za definisanje tipa dogadjaja koji će se koristiti kao uslov za prenos vrednosti konkretne tačke u bilo kom smeru, koristi se izbor pod nazivom I/O Update Rate, i on može biti: • On Change Prenos vrednosti tačke kojoj je dogadjaj koji inicira prenos ovako definisan desiće se neposredno posle promene vrednosti tačke unutar skade. Ovaj tip aktivacije prenosa raspoloživ je isključivo za tačke izlaznog tipa. • On Request Tačka će biti tretirana kao unutrašnja, odnosno Memory Resident, sve do trenutka izvršenja skripta koji sadrži instrukciju InputPoint ili OutputPoint, kada će doći do prenosa njene vrednosti u smeru definisanom komandom. • On Interval Vrednost ovako definisane tačke biće prenošena nezavisno od promene, ili instrukcije za prenos, i obavljaće se u tačno definisanim vremenskim intervalima. U donjem desnom uglu setuje se i tip konekcije skade sa eksternim uredjajem, i ovde se vidi da ovaj uredjaj može biti fizički PLC, ali i neka aplikacija koja podržava DDE konekciju. Dugme Setup otvara prozor za setovanje konekcije izabranog tipa, i pošto DDE komunikacija spada u napredne performanse skade, ovde se ograničavamo na komunikaciju sa PLC-om. Ulazne i/ili izlazne tačke, u slučaju komunikacije sa PLC-om, potrebno je povezati sa lokacijama u memoriji kontrolera. Da bi se ova operacija sprovela, potrebno je definisati PLC na koji se veza odnosi. PLC sa PC-jem na kojem je skada aktivna može biti povezan na nekoliko načina, od kojih je najčešći SYSMAC WAY, koji pretstavlja standardni OMRON-ov protokol za komunikaciju ovih uredjaja. O nekim drugim načinima umreženja biće više reči kasnije. Tip veze sa PLC-om potrebno je definisati prilikom dodavanja PLC-a u projekat, kao i neke druge njegove osobine, kao što su tip procesora, veličina programske memorije i slično. Svi ovi parametri, kao i komentari PLC-a, mogu biti setovani u prozoru koji je prikazan na sledećoj slici, zajedno sa svojim ”parent” prozorom u pozadini: Nakon prijavljivanja PLC-ova koji će se koristiti u komunikaciji, možemo pristupiti povezivanju tačaka sa njihovim adresama. U zavisnosti od tipa tačke, odnosno od toga da li je ona deklarisana kao binarna, integer ili realna vrednost, ili je u pitanju tekst, različit će biti i oblik memorije sa kojim je povezivanje izvršeno. Tako, za definisanje ekvivalenta tačke binarnog tipa, potrebno je dati naziv memorijskog sektora unutar PLCa, adresu reči, i na kraju broj bita te reči, na kojeg se reč odnosi. U slučaju, opet, da je reč tipa integer, i da je za prikaz njenog sadržaja dovoljna jedna 16bitna reč, podatak o broju bita biće izostavljen, jer će se uspostaviti veza tačke sa celom rečju. Primer koji sledi prikazuje prenos podataka u oba smera. Kao prvo, na ekranu ćemo kreirati dva objekta: slajder i obrtni merač. Uloga ova dva objekta biće ostvarivanje komunikacije u dva smera, odnosno, slajder će biti programiran tako da će se njegova vrednost prenositi na definisanu adresu PLC memorije, čija će vrednost zatim biti očitana, i prikazana na obrtom meraču. Ekran koji sadrži ova dva objekta prikazan je na slici: U ovom trenutku objekima nije dodeljena nikakva akcija, niti su oni povezani sa tačkama. Da bi njihova animacija mogla biti programirana, na jedan od načina pozvaćemo Animator Editor, u ovom slučaju, na primer dvostrukim klikom na objekat “Slajder”. Pojaviće se prozor: Pod pretpostavkom da tačka sa kojom želimo da povežemo analognu veličinu koju ćemo setovati pomeranjem slajdera još nije definisana, pritiskom na taster Browse, pa zatim Add Point pojaviće se prozor za setovanje parametara nove tačke: Parametri komunikacije sa PLC-om objašnjeni su u prethodnom poglavlju, pa ćemo ovde ih ovde setovati bez upuštanja u objašnjenje. Tačku ćemo povezati sa adresom 0300 DM sektora memorije: Tačka će nakon pritiska na OK taster biti povezana automatski. Nakon ovako definisanog objekta kojim postavljamo sadržaj ove reči, preći ćemo na setovanje obrtnog merača, dvostrukim klikom na njega: Primeticemo da ovde nije potrebno da se tacka edituje, vec se njeno ime jednostavno unosi u polje sa naslovom “Expression”. Default opsezi korišteni su u setovanju oba objekta, što je bilo moguće jer su identični, odnosno 0 do 100. Nakon startovanja ovako programirane aplikacije, i pod pretpostavkom ispravnog rada PLC-a i korektne konekcije sa njim, vrednost na adresi DM 0300 biće setovana položajem slajdera, koji možemo menjati prostim prevlačenjem pomoću miša, a ta promena detektovaće se i na obrnom meraču, koji je zadužen da prikazuje aktuelnu vrednost koja se na toj adresi nalazi. Pažnju treba obratiti i na PLC program koji je aktivan na strani kontrolera, i u kome ne sme biti ponovo setovana vrednost na lokaciji DM 0300. Objekti Stranice kreirane u paketu SYSMAC-SCS sastavljene su od podloge na kojoj su pozicionirani objekti različitih oblika i tipova. Objekti su medjusobno povezani, i tako povezani na strani čine funkcionalni i koherentni interfejs prema korisniku. SYSMACSCS objekti podeljeni su u tri grupe: grafički, kontrolni i kao treća grupa pojavljuju se objekti koji su povezani OLE konekcijom sa nekom drugom Windows aplikacijom. Procedura kreiranja objekata svih tipova je identična. Dugme na Toolbox-u koje reprezentuje odredjeni objekt se pritisne, a zatim se klikne i na poziciju na strani na kojoj želimo da pozicioniramo objekt. On će se potom pojaviti u svojoj defaul veličini, pa ga je uglavnom potrebno editovati da bi zadovoljio zahteve. Editovanje objekata Operacije editovanja objekata mogu se svrstati u tri osnovne kategorije, i to su: • Promena veličine • Promena oblika • Modifikacija objekta korišćenjem Wizard-a Da bi se promenila veličina nekog objekta skade, levim tasterom miša kliknućemo na objekt, i na taj način ga ‘izabrati’. Sada možemo kliknuti na neku od ivičnih tačaka koje su se pojavile, i prevući je do željene pozicije, menjajući pri tome veličinu objekta, kao što je prikazano na slici. Procedura promene oblika objekta slična je za sve grafičke objekte, kojima oblik može biti promenjen. Ne mogu biti promenjeni oblici objekata svih tipova, jer oblici kontrolnih objekata mogu da se promene samo korišćenjem njihovih ‘wizard’-a. Da bi se oblik izabranog objekta promenio, treba da iz menija Edit izaberemo opciju Edit Object, čije će izvršenje rezultirati pojavljivanjem crvene tačke na objektu. Pomeranjem ove tačke moći ćemo da promenimo oblik objekta. Promena oblika korišćenjem ‘wizard’-a izvodi se za kontrolne objekte, čiji oblik drugačije i ne može biti promenjen. ‘Wizard’ se startuje identično prethodnoj operaciji, iz menija Edit/Edit Object. Operacije sa klipbordom su nam na raspolaganju unutar čarobnjaka, tako da možemo kopirati sadržaj na klipbord, i odande ga uzimati kako iz drugog ‘wizard’-a, tako i iz drugog dijaloga ili aplikacije. Kreiranje i editovanje grafičkih objekata Grafički objekti se, dakle, mogu kreirati jednostavnim izborom objekta odgovarajućeg tipa na paleti. Kao pomoć pri izboru, postoji ‘baloon window’ funkcija, koja prikazuje naziv objekta nad kojim je strelica miša pozicionirana neko vreme. U grupu grafičkih objekata spadaju sledeći objekti: • Kružnica • Blok tekst • Elipsa • Linija • Poligon • Izlomljena linija • Pravougaonik • Zaobljeni pravougaonik • Tekst Kreiranje i editovanje kontrolnih objekata U kontrolne objekte spadaju objekti kojima je sistemski pridružena odredjena funkcija. Tako, na primer, objekat sa nazivom “Linear Gauge” predodredjen je za pokazivanje vrednosti neke anologne veličine. Njegovu animaciju sa promenom te veličine nije potrebno posebno programirati, kao što bi se to uradilo sa nekim grafičkim objektom, kojem bismo, na primer, zadali akciju vertikalnog punjenja sa promenom vrednosti analogne veličine sa kojom je povezan, već je jedino potrebno da u odgovarajućem praznom polju čarobnjaka za programiranje unesemo ime tačke koja reprezentuje tu analognu veličinu, kao i još neke parametre, za odredjivanje opsega, konverzije, i načina prikaza. U nastavku će biti dati opisi kontrolnih objekata sa odgovarajućim ‘wizard’-ima. Kontrolni objekat tipa alarma Objekat tipa alarma kreira se klikom na dugme na paleti koje pretstavlja alarm objekte, i zatim klikom na mestu na ekranu, na kojem želimo da ga pozicioniramo. Editor za programiranje ponašanja ovog objekta poziva se dvostrukim klikom na već kreirani objekt, i izgleda kao što je prikazano na slici: Čarobnjak omogućava filtriranje alarma po grupi kojoj pripadaju, zatim setovanje različitih boja alarma u zavisnosti od njihovih statusa, i na kraju, dozvoljava setovanje većeg broja atributa. U donjem delu prozora prikazan nam je preview, čime je olakšano donošenje pravog izbora. Stilski atributi alarma uključuju način prikazivanja ovog objekta, odnosno, ovde se setuje da li će informacija sadržati datum i/ili vreme pojave alarma, statusa, naslova kolona, 3-D okvir, zatim opcioni izbor dodavanja novih poruka na vrh liste. Takodje, ovde se setuje i dužina informacije o datumu, vremenu i statusu, izražena u karakterima. Kontrolni objekt tipa Bar Chart Editor za programiranje ovog objekta izgleda ovako: Kao što se vidi, postoji nekoliko parametara koje možemo postaviti da bliže odrede ponašanje grafika. Kao prvo, tu je naslov, koji će biti prikazan iznad grafika. Zatim, možemo izabrati tip grafika, odnosno, on može biti 2-D ili 3-D, postavljen horizontalno ili vertikalno. Slede stilski parametri, i na kraju, povezaćemo grafik sa operacijama nad tačkama koje smo definisali, i čije vrednosti želimo da na njemu budu prikazane. Ovde je potrebno naglasiti da se u operaciju nad nekom tačkom svrstava i Null-operacija, odnosno, kao operaciju je moguće uneti i samo ime tačke. Sa druge strane, tu se mogu nalaziti razne druge operacije nad tačkama, čiji broj i vrste zavise od tipa tačaka. Kao olakšanje, ponudjena je opcija izbora postojeće tačke, kao i kreacija nove, do čega se dolazi klikom na Browse... a zatim na Add Point tastere. Bar graf objekt takodje poseduje i internu funkciju skaliranja opsega, tako da mozemo prikazati vrednosti neke veličine u originalnim jedinicama, npr. 0 do 10,000 N/m2. Takodje, može se definisati gustina markera na osama, koji su za tu namenu podeljeni u Major i Minor markere. Kontrolni objekat tipa Linearni pokazivač Linearni pokazivač je sredstvo prikaza vrednosti operacija nad tačkama. Editor kojim se ovaj objekat programira identičan je editoru za setovanje parametara operacije rotacionog pokazivača. Razlika medju njima samo je vizuelna, tako da se ovo objašnjenje odnosi i na rotacioni pokazivač. Editor je prikazan na slici: Kao što se vidi, prozor pruža mogućnosti izbora tipa pokazivača, setovanja njegovog naslova, i definisanja izraza čiji će rezultat biti prikazan. Operacija skaliranja može biti programirana popunjavanjem polja koja sadrže minimalnu i maksimalnu vrednost, a tu su i atributi koji odredjuju stil prikaza. Na desnoj strani nalazi se preview model, tako da je izbor odgovarajućih parametara olakšan. Kontrolni objekat tipa Pushbutton Pushbutton objekat pretstavlja jednostavan način za startovanje odredjene akcije. Insertovanje objekta vrši se na standardan način, kao i aktiviranje ‘wizard’-a. Editor kontrolnih funkcija ovog objekta sadrži polja za izbor tipa, koji može biti: • Obično dugme • Kolor dugme • In/Out dugme Postoji takodje i prozor za upis teksta koji želimo da se prikaže na dugmetu, i to je sve. Primetićemo da je na korisniku ostalo da programira akciju koja će se izvršiti po pritisku na dugme, i to kao da je u pitanju neki grafički objekt. Standardni animator editor, koji se koristi u te svrhe, i o kojem će biti više reči kasnije, za razliku od grafičkih objekata, kod kojih se aktivira dvostrukim klikom na objekt, ovde može biti pozvan klikom desnim dugmetom miša, i izborom opcije Animation Editor, jer dvostruki klik ponovo aktivira ‘wizard’-a. Ova mala nedoslednost ipak rezultira pojednostavljivanjem programiranja, jer sve tipove dugmadi ipak imamo na jednom mestu, a izbor vršimo pri kreiranju odredjenog dugmeta. Kontrolni objekat tipa Scatter graf Skater graf čarobnjak prikazan je na slici na sledećoj slici: Njegova uloga je prikazivanje odnosa promene dve veličine u vremenu. Uzorci se uzimaju na svakih n sekundi/minuta/sati/dana, i u dvodimenzionalnom grafiku upisuje se tačka čije su koordinate odredjene vrednostima promenljivih definisanih u poljima za setovanje izraza za animaciju po X i Y osi. Tačka može biti različitog oblika, odnosno može biti *, +, # i o. Boja tačaka, kao i podloge, takodje se definiše u editoru, kao i još neki parametri. Klikom na tastere X-axis ili Y-axis poziva se prozor za skaliranje vrednosti prikazane na konkretnoj osi. Kontrolni objekat tipa Slajder Slajder objekat omogućava promenu vrednosti promenljive koja je povezana sa njim u odredjenom opsegu prostim pomeranjem klizača po ekranu. Parametri koje je potrebno setovati prikazani su na prozoru ‘wizard’-a: Kao što se vidi, promenljiva čija će vrednost zavisiti od položaja slajdera, definiše se u polju predvidjenom za to. Takodje, operacija skaliranja na raspolaganju je već tu, i to se može uraditi postavljanjem minimalne i maksimalne vrednosti promenljive, kojima odgovara krajnji levi (donji), odnosno desni (gornji) položaj. Promena smera povećavanja vrednosti može se setovati brisanjem default izbora po kome donjem/levom položaju odgovara minimalna vrednost. Kontrolni objekat tipa Toggle Button Ovi objekti koriste se za kontrolu i prikazivanje aktuelne vrednosti digitalne tačke. Nakon aktiviranja editora, pojaviće se prozor u kojem setujemo tip sviča, bulovu promenljivu koja je vezana za objekt, kao i tekst koji će biti prikazan: Pored tipova svičeva koje smo već sreli, a to su obično, kolor i In/Out dugme, ovde postoji proširen izbor: • Toggle svič • Rotacioni svič • On/Off dugme • Dugme za indikaciju Izbor pravimo setovanjem odgovarajućeg tipa u gornjem delu editora. Nakon toga, definišemo promenljivu, i na kraju upisujemo opcioni tekst koji će biti prikazan na lokacijama na crtežu koje odgovaraju krajnjim položajima prekidača. Setovani tekst automatski se pojavljuje na desnoj strani, gde je prikazan preview mod tastera. Kontrolni objekat tipa Trend Graf Trend ‘wizard’ aktivira se dvostrukim klikom na kreirani objekt tipa Trend grafa, i izgleda kao na slici: Objekat tipa Trend grafa koristi se za prikaz promene odredjenih veličina, odnosno izraza u kojima one učestvuju tokom vremena. Perioda semplovanja može biti setovana u prozoru, kao i totalno vreme u kojem promene mogu biti beležene. Postoji mogućnost istovremenog prikaza šest različitih izraza, pomoću šest linija različitih boja. Skaliranje grafika odnosi se na prikaz svih veličina, i može se aktivirati pritiskom na Scalling taster. Na apscisi grafika u Run režimu nalaziće se vreme, dok će vrednosti programiranih izraza biti prikazane na ordinati. Kako će vremenom dolaziti do translacije grafika, neke promene neće više biti vidljive. One su, medjutim, ostale zapisane, i možemo ih ponovo dobiti na ekranu navigacijom po vremenskoj osi. Za to se koristi slajder u donjem delu ekrana. Zbog lakšeg tumačenja trenutka na koji se odnosi odredjeni set vrednosti koji se desio u prošlosti, postoji tzv. stamp, odnosno pečet koji nosi informaciju o trenutku, i čija se frenvencija pojavljivanja tokom vremena takodje može setovati. Programiranje grafičkih objekata Za razliku od kontrolnih objekata, programiranje grafičkih objekata ne radi se uz pomoć posebnih čarobnjaka, već za svaki grafički objekt postoji odredjen broj animacionih funkcija koje mogu biti programirane. Do liste raspoloživih animacija dolazimo klikom na desni taster miša, i izborom Animation Editor opcije, ili ona može biti aktivirana dvostrukim klikom miša iznad objekta. Lista sadrži neke opreracije koje mogu biti povezane sa svim tipovima grafičkih objekata, kao što su Visibility, dok neke funkcije mogu biti setovane samo sa objekte odredjenih tipova, kao što je Percentage Fill. Lista animacija prilagodjava se tipu objekta, tako da je za konkretni objekat ona redukovana na one funkcije koje mogu biti programirane, dok ostale nisu prikazane. Ako kreiramo novi objekat tipa pravougaonika, i dvaput kliknemo na njega, otvoriće se editor za animaciju sa sledećom listom: Kao što vidimo, na raspolaganju je veći broj funkcija. Na prethodno prikazanom ekranu možemo videti da je editor pozvan za programiranje animacije objekta sa nazivom Polygon_9, kao i da nema nijednu programiranu funkciju. Da bismo setovali neku vrstu animacije, kliknućemo dva puta na odgovarajuću funkciju, ili ćemo pritisnuti taster sa oznakom “+”. U primeru sa slike, otvorio bi se editor za postavljanje parametara Blink operacije, jer je ona aktivna u prozoru. Tasteri sa oznakama “-“ i “<-“ vrši se brisanje, odnosno editovanje pojedine operacije. Naslov Object Actions u polju sa desne strane, označava da je u toku programiranje animacije objekta. Pored programiranja animacije objekta, možemo animirati i stranu, kao i čitav projekat, za šta se koristi isti ovaj Animation Editor, i o tome će biti više reči kasnije. Krajnji desni prozor dozvoljava nam setovanje nivoa korišćenja skade iz kojeg će korisnik moći da izvrši programiranu operaciju. Objašnjenja načina programiranja pojedinih animacija data su u nastavku. • Blink Parametri ove animacije setuju se u prozoru koji se pojavljuje dvostrukim klikom na ime akcije. U prozoru postoji polje za setovanje digitalnog izraza koji će biti korišten za animaciju, odnosno, tu se setuje izraz čije ON stanje će aktivirati blinkanje objekta. Za OFF stanje izraza, neće se desiti ništa. Takodje, u prozoru se setuje i boja kojom će objekat blinkati. • Display/Close Page Ove dve animacije dovode do otvaranja/zatvaranja odgovarajuće strane tokom Runtime aplikacije. Akcija prikaza/uklanjanja stranice aktivira se pritiskom mišem na objekt čija animacija sadrži ovu funkciju. Prozor za setovanje sličan je za obe operacije, i ovde je prikazan slučaj Close Page animacije. • Colour Shange Analog/Digital Ovo su takodje dve slične operacije, čije izvršenje dovodi do promene boje objekta. Analogna promena boje vezuje se za izraz čija je priroda analogna. Setovanje parametara za ovu operaciju radi se u prozoru koji sadrži polje za definisanje odgovarajućeg analognog izraza, kao i polja za setovanje granica čiji će prelazak aktivirati promenu boje. Takodje, za različite vrednosti analogne veličine možemo setovati razne boje, tako da možemo, npr. simulirati zagrevanje nekog kotla njegovim bojenjem u crveno. Za programiranje animacije digitalne promene boje, setuju se samo dve boje, i to jedna za stanje On digitalnog izraza kojeg unosimo kao parametar, i druga za stanje Off tog izraza. • Edit Point Value (Analogue, Digital, Text) Za razliku od prethodnih animacija, koje su prikazivale stanje nekih veličina, i bile su read-only karaktera, ova operacija koristi se za setovanje novih vrednosti neke tačke. Razlika je takodje u tome što ova animacija ne može biti povezana sa izrazom, već samo sa konkretnom tačkom. U zavisnosti od tipa tačke čiju vrednost želimo da menjamo klikom miša i zatim setovanjem nove vrednosti, izabraćemo jednu od ove tri operacije. U prozoru za programiranje ove operacije setujemo samo ime tačke čiju vrednost ćemo editovati, a samo editovanje aktivira se pritiskom na taster miša iznad odgovarajućeg objekta u Runtime aplikaciji. Pojavljuje se prozor za setovanje nove vrednosti koji izgleda kao na slici. • Enable/Disable Ova instrukcija definiše se uz neki objekat korišćenjem digitalnog izraza. Za vrednosti digitalnog izraza On i Off različiti akcije objekta programirane uporedo sa ovom biće zamrznute, odnosno aktivne. U primeru na sledećoj slici, stanje Off bulove promenljive “test13” će zamrznuti ostale programiranje akcije animacije objekta, što znači da u trenucima dok test13 ima vrednost 0, objekat neći blinkati ni kada je odgovarajući aktivirajući bit ON (leakwhite). Isto važi i za operaciju setovanja analogne vrednosti. Kada bit test13 predje u stanje ON, animacije ostalih objekata izvršavaće se kao da akcija Enable/Disable i nije programirana. • Execute Script Ovo je specijalna operacija, koja može biti kako dodeljena objektu, pri čemu se njeno izvršenje aktivira klikom mišem na objekat, tako i programirana da se izvršava na razne druge dogadjaje, o čemu će biti više reči u glavi 7. Aktiviranjem prozora za editovanje ove operacije pozivamo editor za pisanje skript aplikacije, korišćenjem specijalnog skript jezika OMRON-ove skade. U ovom editoru možemo napisati programsku sekvencu koja će biti izvršena na odredjeni dogadjaj. Skript aplikacije mogu se pridružiti objektima, stranama, ili projektu. Kod programiranja objekata, do izvršenja programirane sekvence dovodi klik mišem na objekat, ili na odredjeni programirani digitalni uslov. Unutar sekvence takodje postoji mogućnost logičkog uslovljenja izvršenja neke operacije, i na raspolaganju su sve instrukcije namenjene za to, kao što su IF, ELSE, AND, OR, instrukcije komparacije i drugo. Posebnu grupu instrukcija čine izvršne instrukcije, kao što su AcknowledgeAlarm(), rotate, horizontal%fill, i druge. Skript jezik skade pretstavlja redukovanu varijantu C jezika, sa pojednostavljenom sintaksom i samo nekim instrukcijama, koje su neophodne za programiranje animacije objekata. Primer za programsku sekvencu setovanu za neki objekt jeste pravougaonik sa tesktom “Izlaz” na sebi, kome na levi klik mišem možemo programirati izvršenje skripta ShutDown(), koji zatvara sesiju. O logičkim, izvršnim, kao i o nekim specijalnim instrukcijama, biće više reči u glavi 7, gde će biti pretstavljen Skript editor, i sam skript jezik. • Move, Percentage Fill, Resize Ova tri tipa operacije objašnjena su na jednom mestu jer je način njihovog programiranja veoma sličan. Pozivanjem editora pojavljuje se dijalog: U njemu treba da setuje analogni izraz, čija vrednost će biti animirana različitom akcijom: pomeranjem objekta po ekranu, “punjenjem” objekta u odredjenom pravcu, ili promenom njegove veličine. U svakoj od ovih akcija postoji mogućnost skaliranja vrednosti analogne veličine, tako da može biti prikazana veličina koja se menja u bilo kom opsegu. Postoje razne varijante ovih akcija, i, za početak, sve tri su podeljene u dve varijante, u zavisnosti da li se animacija obavlja u horizontalnom ili vertikalnom pravcu. Dalje, kod npr. promene veličine u horizontalnom pravcu, treba odrediti položaj nepokretne tačke, koja može biti postavljena na levoj ili desnoj ivici objekta, ili u sredini. Setovanje ovih parametara veoma je jednostavno, jer se izvršava ispunjavanjem praznih polja. • Rotate Ova animacija dovodi do okretanja objekta oko ose koja leži normalno na ravan ekrana. Položaj ose postavlja se definisanjem Rotation Point položaja, dok se ugao okretanja vezuje za neku analognu veličinu. Skaliranje ove veličine opet je moguće, definisanjem odnosa opsega njene vrednosti, i odgovarajućih uglova okretanja objekta. • Visibility Poslednja u listi animacija je vidljivost objekta, koja se programira postavljanjem digitalnog izraza za čiju vrednost 1 ili 0 objekat može biti vidljiv/nevidljiv. Napomenimo samo još i to da nevidljivi objekt neće biti animiran nekom drugom vrstom animacije, iako je možda uslov za njeno izvršenje ispunjen. Manipulacija objektima SYSMAC-SCS je paket koji u punoj meri koristi prednosti Windows okruženja. Ovo se odnosi na intuitivno, “user friendly” editorsko okruženje, kao i na korišćenje Windows klipborda. Standardne operacije manipulacije objektima programeru su na dohvat ruke. Jednostavnim klikom na objekte vrši se njihov izbor, a klikom na desni taster miša poziva se set instrukcija koje mogu biti izvršene u cilju grafičkog editovanja objekata. Izbor većeg broja objekata, radi izvršenja nekih operacija nad grupom objekata, vrši se uzastopnim klikovima na objekte, uz držanje pritisnutog Ctrl tastera. Operacije kao što su Move, Cut, Paste, Copy ili Delete spadaju u set standardnih operacija grafičkih programa pod Windows okruženjem. Njihova primena je sasvim jednostavna, i objašnjena u Help sistemu bilo kog grafički orijentisanog programa. Ovde će biti data samo osnovna objašnjenja ovih instrukcija. Move instrukcija koristi se za promenu pozicije objekta na ekranu. Pomeranje se vrši klikom na objekt, koji zatim po ekranu pomeramo držeći pritisnut taster miša, do pozicije na koju želimo da smestimo objekt, gde otpuštamo taster. Cut je operacija koja se koristi za prebacivanje izabranog objekta na klipbord, pri čemu se original briše sa izvornog ekrana. Ova operacija aktivira se iz menija, klikom na taster sa nacrtanim makazama, ili kombinacijom <Ctrl+X> na tastaturi. Paste operacija pozicionira na definisanom mestu na ekranu objekt koji se nalazi na klipbordu. Sadržaj klipborda možemo videti i nezavisno od ove funkcije, preko programa Clipboard Viewer, koji se standardno isporučuje uz Windows, s tim što se u ‘typical’ instalaciji ne instalira, već je to potrebno naknadno uraditi. Operacija može biti izvršena pomoću kombinacije tastera <Ctrl+V>. Copy operacija koristi se za kopiranje izabranog objekta na klipbord, s tim što original ostaje na mestu na kojem je bio. Sa tastature operacija se može startovati sa <Ctrl+C>. Delete je operacija koja se koristi za brisanje izabranog objekta sa ekrana. Izvršićemo je tako što ćemo izabrati objekt (objekte) koji želimo da uklonimo, i pritisnuti taster <Delete> na tastaturi. Undo operacija pruža mogućnost poništenja prethodno izvedene akcije. Pritiskom na <Ctrl+Z>, aktiviramo poništenje prve prethodne akcije. SYSMAC-SCS ima mogućnost setovanja broja akcija koje su pokrivene Undo funkcijom, i taj broj je po defaultu 10. U slučaju da imamo potrebu za podrškom za veći broj akcija, možemo setovati njihov broj u Preferences dijalogu, s tim što treba imati u vidu da povećanje broja akcija do kojih dopire Undo operacija usporava aplikaciju. U normalnim uslovima programiranja deset akcija bi trebalo da bude sasvim dovoljno. Operacije grafičke obrade objekata startuju se pritiskom na desni taster miša iznad objekta kojeg želimo da editujemo. Pojavljuje se meni u kojem su izlistane funkcije koje možemo izvršiti nad objektom, ili grupom objekata. U gornjem delu izlistane su već obradjene operacije, kao i operacija Animation Editor, koja pokreće poseban editor za programiranje animacije objekata, čije će korićšenje biti objašnjeno kasnije. Izborom Graphics Library opcije, takodje se startuje poseban editor, odnosno, poziva se biblioteka objekata sa pripadajućim funkcijama rada sa objektima kao fajlovima. I o njoj će biti više reči u delu koji obradjuje sve tipove editora skade. Group instrukcija odnosi se na grupu objekata. Klikom na objekt vrši se ‘izbor’ objekta, i na taj način se izabrani objekt definiše kao argument funkcije koja će biti pozvana. Možemo izabrati i više od jednog objekta odjednom, i tada i operacija Group postaje raspoloživa. Izbor većeg broja objekata vrši se pritiskom na levo dugme miša iznad svakog objekata koji želimo izabrati zajedno sa ostalima, uz pritisnut taster Shift na tastaturi. Na ovaj način možemo izabrati proizvoljan broj objekata. Nad ovako izabranim objektima možemo izvršiti sve operacije koje su dostupne za jedan objekt, s tim što će se grupa rasformirati pritiskom na poziciji pored grupe. Ako imamo potrebu za uzastopnim operacijama editovanja ove grupe, možemo izvršiti operaciju grupisanja. Sada se cela grupa ponaša kao jedan objekat, tako da je moguće programirati i neke operacije animacije ovog objekta. Operacija Ungroup dovodi do inverznog rezultata, odnosno već grupisani objekt ona deli na komponentne objekte. U slučaju da je prethodno izvršeno grupisanje objekata koji su grupe drugih objekata, Ungroup operacija podeliće grupu na originalne komponente, što znači da one mogu biti i grupe drugih objekata. Jednostavnije rečeno, operacija Ungroup vraća grupu u stanje koje je prethodilo prvom prethodnom grupisanju. Nekoliko operacija Ungroup-isanja može biti potrebno da bismo se vratili do objekata koji su sistemski objekti skade. Naravno, ova operacija na raspolaganju je samo u slučaju da je izabrani objekt tipa grupe, a nema smisla kada se bira jednostavni objekat, tipa kruga ili linije. Neki objekti koji se nalaze u bibliotekama objekata su grupe, i treba biti oprezan prilikom njihovog degrupisanja. Mirror Image je operacija koja rezultira prikazom objekta rotiranog oko horizontalne ili vertikalne ose. U slučaju da za neki objekt ova operacija nije na raspolaganju, nekad može biti izvedena ručno. Ovo se radi tako što se operacija Resize izvrši preko granica smanjenja objekta, odnosno objekat se smanji na veličinu ispod nule, čime se kreira rotirani objekat u drugom kvadrantu slike. Ni ovo nije uvek moguće, ali može biti od koristi kod umnožavanja komplikovanih objekata. Rotate operacija koristi se za rotiranje izabranog objekta za odredjeni broj stepeni. Broj stepeni rotacije definiše se u posebnom dijalogu, koji se dobija po aktiviranju operacije. Raise/Lower operacije služe za odredjivanje položaja objekta u pravcu ose normalne na površinu ekrana. Naime, svaki kreirani objekt pozicionira se na vrh aktivne strane, preko svih objekata koji su na njoj bili, a čiji je medjusobni položaj u pravcu ove ose odredjen po istom ovom zakonu. Ovo pravilo prioriteta vidljivosti nekad ne odgovara, pa pošto bi stalno vodjenje računa o redosledu postavljanja objekata na ekran znatno iskomplikovalo programiranje, postoje ove operacije naknadnog definisanja položaja objekata na slici. Obe operacije mogu biti izvršene u dva moda, odnosno, izabrani objekt može biti pomeren u jednu ili drugu stranu za po jednu poziciju, za šta su zadužene opcije Raise Up One/Lower Down One, a takodje postoje i operacije postavljanja objekta na vrh/dno strane, što se radi sa Raise To Top/Lower To Bottom. Medjusobni položaj objekata na ekranu može biti podešen i korišćenjem brojnih operacija Alignment tipa. Ove operacije pozivaju se klikom na odgovarajuće dugme na Alignment paleti, koja je stalno prisutna na ekranu (osim ako se drugačije ne definiše setovanjem karakteristika projekta). Svi tasteri palete podržani su bubble help funkcijom, koja prikazuje naziv operacije koja bi bila startovana pritiskom na taster ako je strelica miša pozicionirana iznad njega neko vreme. Postoje funkcije koje omogućavaju: • Centriranje objekta u horizontalnom i vertikalnom pravcu u odnosu na stranu, • Medjusobno centriranje objekata u odnosu na njihovu levu, desnu, gornju ili donju ivicu, • Medjusobno centriranje objekata prema centru u horizontalnom i vertikalnom pravcu, • Uskladjivanje dimenzija objekta (širina i visina), • Uskladiti položaj objekta prema grid mreži (objašnjeno u nastavku). Pored ovih operacija, mogu biti izvedene još dve koje spadaju u ovu grupu, a koje se pozivaju iz menija View. Prva od njih je opcija Grid, koja na ekranu iscrtava mrežu tačkica, koja deli ekran na odredjeni broj polja. Ova mreža može se koristiti za preciznije pozicioniranje objekata. Broj piksela koje odredjuje veličinu polja definiše se po pozivu funkcije, i može biti setovan na 4 do 64, u vrednostima koje su stepeni broja dva. Opcija Snap to Grid rezultovaće operacijom podešavanja položaja objekta uz najbližu ivicu u horizontalnom i vertikalnom pravcu, čiji je rezultat identičan rezultatu grid operacije startovane iz Alignment palete. Pored ove, postoji i funkcija uvećavanja izabranog objekta, koja se startuje iz View menija, izborom opcije Zoom. Objekat se može uvećati 2 ili 4 puta, što se definiše pri pozivu. Tačke Tačka je promenljiva koja se interno koristi u SYSMAC-SCS aplikaciji. Sve tačke unutar SYSMAC-SCS aplikacije imaju svoje ime, grupu i tip koji ih odredjuje. Pored tačaka koje mogu biti kreirane od strane korisnika u cilju programiranja animacije, ili povezivanja skada aplikacije sa eksternim uredjajima, postoji i set sistemskih tačaka, koje na početku svog imena imaju prefiks $. Za manipulaciju postojećim, i kreiranje novih tačaka postoji specijalno okruženje, u kojem su funkcije za te namene na raspolaganju, i ovo okruženje se zove Point Editor. Point Editor Point editor omogućava jednostavno pokretanje akcija kao što su prikazivanje, kreiranje, modifikovanje ili uklanjanje tačaka iz baze podataka koja čuva te informacije. Point editor može biti startovan iz menija Utilities, kao i klikom na odgovarajuće dugme na toolbar-u. Prozor koji se dobija izgleda kao na sledećoj slici: Ovako setovan editor prikazuje kompletan set svih tačaka koje su aktuelne, odnosno koje postoje u aplikaciji koju programiramo. Ovu listu možemo propustiti kroz nekoliko filtera, radi dobijanja manjeg broja tačaka koje nas po nekom osnovu interesuju. • Filter prema grupi Tačke mogu biti filtrirane prema grupi kojoj pripadaju: Ovde vidimo nekoliko grupa, od kojih su grupe Default i System Points prisutne uvek, dok je grupa ‘korisnicka_grupa’ kreirana naknadno. Možemo videti da postoji mogućnost organizacije tačaka po grupama radi lakše manipulacije. “All Groups” opcija prikazuje sve tačke koje postoje u aplikaciji, grupa “Default” daje prikaz tačaka kreiranih od strane korisnika, dok “System Points” grupa sadrži sistemske tačke, koje su read-only karaktera. • Filter prema tipu tačke Kako postoji nekoliko tipova tačaka, odnosno one mogu biti definisane kao tačke tipa boolean, integer, real i text, postoji mogućnost prikaza samo odredjenog tipa. U osnovnom prozoru prikazane su tačke svih tipova, a filtriranje se aktivira pritiskom na jedan iz grupe dugmića: • Sortiranje po informaciji o tački Prozor Point editora prikazuje različite informacije o tačkama. Kao prvo, dato je ime tačke, zatim sledi njen tip, onda ide I/O tip, i na kraju komentar koji opisuje tačku. Sortiranje je moguće po bilo kojoj od ovih informacija, i izvodi se klikom na heder kolone. Rezultat će biti prikaz liste u kojoj su elementi izabrane kolone sortirani po abecednom redu. Primer sortiranja po komentaru dat je na slici: Možemo podesiti i širinu kolona ove liste, jednostavnim prevlačenjem granice izmedju njih na levu ili desnu stranu. Konačno, pritiskom na taster sa nacrtanim slovom “I”, dobija se zbirna informacija o svim definisanim tačkama, i ona može da izgleda kao na slici: Point editor može biti aktivan kako u toku kreiranja stranice, tako i u operaciji povezivanja objekata na već kreiranoj stranici sa odgovarajućim tačkama. Objekat na stranici može se povezati sa nekom tačkom i primenom ‘drag-and-drop’ operacije. Da bismo ovo izveli, otvorićemo istovremeno stranicu čiji objekat editujemo, i point editor. Izabraćemo tačku sa kojom želimo da izvršimo povezivanje, kao i odgovarajući objekt. Jednostavnim klikom na ime tačke u point editoru i prevlačenjem do pozicije objekta na strani, gde ćemo otpustiti taster miša, povezali smo objekat sa tačkom, kao da smo koristili njegov sopstveni, u slučaju da je u pitanju kontrolni objekt, ili animation editor, ako je objekat statičkog tipa. Sada je tačka automatski setovana na mestu gde je predvidjeno definisanje izraza kojim je animacija objekta programirana. Kreiranje tačke Operacija kreiranja nove tačke može se startovati na nekoliko načina. Iz Point editora to se može uraditi pritiskom na taster sa oznakom “+”. Tom prilikom otvara se dijalog u kome se nalaze parametri nove tačke: Pojedina polja ovog dijaloga odgovaraju poljima već pretstavljenog prozora Point editora. Ovde se misli na polja u kojima se setuje ime tačke, grupa u koju je smeštamo, komentar, i tip. Pored ovih parametara, ovde nam se pruža prilika da promenimo još neke, koji imaju neke pre-definisane default vrednosti. Tako, možemo setovati atribute tačke, koji su različiti u zavisnosti od tipa tačke. Za tačku koja je tipa boolean, ovi atributi uključuju setovanje default stanja, odnosno da li će stanje tačke po defaultu biti On ili Off: Za tačku integer tipa setuje se opseg, zadavanjem minimalne i maksimalne vrednosti, a takodje se postavlja i default vrednos, koju će promenljiva uzeti pre izvršenja bilo kakve akcije: Tačka tipa real definiše se na identičan način kao integer. Konačno, atributi tačke tipa text setuju se unošenjem teksta koji tačka treba da sadrži: Setovanje I/O parametara tačke U donjem delu prozora Point editora postoje polja za setovanje I/O parametara tačke. Generalno, tačka može biti programirana na dva načina. Kao prvo, možemo je programirati u svojstvu interne promenljive, koju skada aplikacija koristi za animacije objekata ili strana. Tada se kaže da je tačka memory resident tipa. Ovaj tip tačke bira se u dijalogu u donjem levom uglu editora, i kada se tačka definiše u ovom obliku, setovanje njenih I/O parametara je završeno, odnosno oni i ne postoje. Sa druge strane, kada tačka treba da ima ulogu povezivanja skade sa okolinom, treba joj dodeliti tip koji odgovara toj komunikaciji. U tom smislu, ona se definiše kao: - Input, kada se njena vrednost setuje promenom vrednosti na odgovarajućoj adresi u PLC-u, - Output, kada služi za postavljanje vrednosti na alociranu PLC adresu, i na kraju - Input/Output, kada je predvidjeno da se komunikacija obavlja u oba smera. I/O Update Rate setovanje služi za izbor dogadjaja koji će dovesti do uskladjivanje sadrdžaja memorijske adrese PLC-a i vrednosti odgovarajuće tačke. U zavisnosti od pravca tog uskladjivanja, različiti opcije su raspoložive. Postoje tri načina aktiviranja ove akcije, i to su: • On Change • On Request • On Interval On Change opcija dovešće do preslikavanja vrednosti tačke izlaznog karaktera na memorijsku lokaciju koja joj je dodeljena. Ovo preslikavanje biće u svakom ciklusu u kojem skada detektuje da je došlo do promene vrednosti tačke. Ovaj način aktiviranja prenosa nije na raspolaganju za programiranje tački Input i Input/Output tipa. On Request je mod prenosa raspoloživ za sve tipove tačaka. Operacija uskladjivanja sadržaja obavlja se izvršenjem specijalnih komandi skript jezika koje su za to namenjene, a to su instrukcije InputPoint i OutputPoint. Vrednost tačke biće održavana interno u aplikaciji, ali će prenos biti iniciran samo pomenutim komandama. On Interval način prenosa aktivira uskladjivanje na svakih n milisekundi, sekundi, minuta, sati ili dana. Ovaj mod takodje se može setovati za sve tipove tačaka. I/O konekcija Kao što se može videti u donjem desnom uglu prozora Point editora, moguće je setovati dva načina na koji tačka može biti povezana sa okolinom. To su načini: • PLC • DDE Dalja konfiguracija startuje se pritiskom na taster Setup.... Pritiskom na taster Setup u slučaju da je izabrana opcija PLC, aktiviraće prozor za setovanje parametara konekcije ovog tipa. U njemu postoje polja u kojima je potrebno uneti naziv PLC-a, koji biramo iz liste već definisanih PLC-ova, pri čemu se kao Readonly pojavljuje podatak o tipu PLC-a, koji sadrži naziv njegove serije, kao i modela procesora. U polju ispod toga predvidjeno je setovanje adrese u memoriji PLC-a sa kojom povezujemo reč za koju je cela operacija setovanja i pokrenuta. Pri ovome treba paziti na to da li je reč na raspolaganju, odnosno da li je zauzeta na samom PLC-u. U slučaju da se u polju sa nazivom Elements setuje broj koji je veći od jedan, tada će adresa koju definišemo u Data Location polju biti tretirana kao prva reč iz niza reči koje su dodeljene tački, a sama tačka dobiće atribut polja. Prozor za setovanje ovih parametara izgleda ovako: Parametri Data Type i Modifier koriste se za identifikaciju tipa podatka sadržanog na adresi, i za odredjivanje operacije nad njegovom vrednošću, respektivno. Na primer, kada je izabran bit neke reči, možemo setovati parametar Modifier tako da se aktivira akcija forsiranog setovanja tog bita, umesto normalnog upisa. Atributi konverzije odnose se na podatke analognog tipa, pri čemu je ostavljena mogućnost skaliranja njihovih vrednosti, tako da se mogu setovati opsezi vrednosti na PLC adresi, čime se definiše i odnos konverzije. U slučaju da do trenutka kada povezujemo tačku sa PLC-om nismo definisali nijedan PLC, možemo to uraditi pritiskom na taster Add PLC..., čime se otvara prozor: U njemu se setuje tip PLCa, a zatim se daju bliže odrednice, aktiviranjem Setup... operacije, pritiskom na odgovarajuće dugme. Kod ovog bližeg odredjivanja tipa PLC-a treba setovati tip centralne procesorske jedinice, zatim kapacitet programske i ekspanzione, kao i fajl memorije. Nakon toga može se preći na setovanje parametara mreže, koji uključuju izbor izmedju nekoliko tipova podržanih mreža, kao što su SYSMAC WAY (zasnovan na Host Link protokolu), Controller Link, ili je u pitanju modemska komunikacija. U ovom delu treba setovati i adresu PLC-a u mreži, kao i konfiguraciju drajvera, koja sadrži hardverske parametre komunikacije, kao što su Port Name, Baud Rate, Data i Stop Bits i na kraju Parity. Do mogućnosti setovanja ovih parametara dolazi se nakon pritiska na Setup... taster. Ovde je prikazan način setovanja nekih parametara kod SYSMAC WAY mreže, ali kod podešavanja atributa ostalih tipova mreža, operacija je veoma slična. Editovanje parametara konekcije skade sa PLC-om moguće je i u toku rada aplikacije, odnosno u Runtime režimu. Do ove mogućnosti dolazi se preko menija koji se otvara kada se u Runtime aplikaciji klikne na desni taster miša, i izabere opcija PLC List.... Ako aktiviramo opciju Open PLC, postaće dostupne akcije setovanja moda rada PLC-a, koji može biti u Stop, Debug, Monitor ili Run modu. U donjem delu ekrana postoji mogućnost zabrane/dozvole uskladjivanja vrednosti tačke sa alociranom adresom. Klik na dugme sa nazivom Communication Settings... otvoriće prozor u kojem su izlistani hardverski parametri komunikacije. Optimizacija komunikacije sa PLC-om Komunikacija sa PLC-om može biti ubrzana kreiranjem niza tačaka, koji sadrži nekoliko elemenata istog tipa umesto definisanja velikog broja individualnih tačaka. Vreme osvežavanja ovakvog polja od npr. 50 elemenata znatno je kraće od vremena potrebnog za prenos vrednosti 50 pojedinačnih tačaka, i to je osnova optimizacije postignute ovim metodom. Polje koje sadrži veći broj elemenata kreira se postavljanjem parametra Elements prilikom definisanja veze tačke sa PLC-om na vrednost veću od 1. Pristup elementima ovog polja omogućen je korišćenjem posebnih skript instrukcija GetPointValue() i SetPointValue(), gde se kao parametar funkcije zadaje indeks koji jednoznačno odredjuje element niza na koji se instrukcija odnosi. U slučaju da komunikaciju I/O tačke definišemo kao DDE, klikom na Setup... taster u Point editoru otvorićemo prozor: U njemu se setuju parametri DDE konekcije. SYSMAC-SCS podržava dinamičku razmenu podataka (Dynamic Data Exchange - DDE), koja je metod komunikacije izmedju Windows programa. DDE koristi poruke za razmenu podataka izmedju aplikacija, i protokol da bi se taj prenos sinhronizovao. DDE aplikacije mogu se podeliti u četiri grupe, i to su client, server, client / server i monitor. Klijent aplikacija postavlja upit server aplikaciji, na koji ova odgovara slanjem podataka ili servisa. Monitor aplikacija može da primi poruku, ali ne i da na nju reaguje, i uglavnom se koristi u postupku otkrivanja greški. SYSMAC-SCS je client/server aplikacija, što znači da se sa nekom drugom aplikacijom može nalaziti u DDE konekciji i u svojstvu klijenta, i u svojstvu servera. Svi prenosi koje skada može da ostvari obavljaju se preko tačaka, i imaju asinhronog su tipa. Postoje dva tipa DDE tačaka koje mogu biti kreirane u skadi, i to su ‘DDE Client’ tačke, i ‘DDE Server’ tačke. Sa ‘DDE Client’ tačkama, celokupan transfer ili konverzacija inicirani su od strane SYSMAC-SCS aplikacije, bilo slanjem podataka, ili zahtevom za njima koji se šalje eksternoj DDE (Server) aplikaciji. Na primer, SYSMAC-SCS tačka može biti programirana tako da se njen sadržaj stalno prikazuje u ćeliji Excel tabele. Kada je programirana tačka ‘DDE Server’ tipa, primer konekcije bio bi slučaj kada u ćeliji Excel tabele setujemo neku brojnu vrednost, a ona se automatski upisuje kao vrednost tačke u skadi. Klijent tačke programiraju se kao što je prikazano na prethodnoj slici. U polju sa nazivom Server Name setuje se ime aplikacije koja će se koristiti kao server, npr. “Excel”. Topic Name polje popunjava se radi daljeg definisanja server aplikacije, i nosi npr. informaciju o nazivu tabele Excel paketa. Konačno, parametar koji odredjuje jednu ćeliju ove tabele pretstavlja poslednji podatak koji je potreban za uspostavljanje DDE konekcije. Tip tačke koju setujemo kao DDE klijenta bira se kao Input/Output. U slučaju da programiramo tačku Server tipa, tip tačke je memory resident, tako da prozor za setovanje DDE konekcije neće biti na raspolaganju. Za programiranje pozivamo poseban prozor klikom na dugme Advanced, pri čemu se pojavljuje dijalog za setovanje dozvole pristupa. Povezivanje npr. konkretne ćelije Excel tabele izvršiće se na strani Klijent aplikacije, a iz skade se samo daje dozvola za čitanje, ili kompletno editovanje. Sistemske tačke Sistemske tačke su one tačke koje su definisane u samom paketu SYSMAC-SCS. One ne mogu biti editovane niti obrisane. Sve sistemske tačke mogu biti izabrane u System Point dijalogu u Point editoru. Svaka od ovih tačaka na početku svoga imena ima znak $, koji pokazuje da je u pitanju sistemska tačka. Sistemske tačke su različitih tipova, odnosno, postoje tačke koje su binarnog, integer, realnog i tekstualnog tipa. Po ulozi koju igraju u aplikaciji, mogu biti dalje podeljene prema prirodi informacije koju nose, i postoji nekoliko grupa razvrstanih po tom principu. • Vremenske tačke Ime ta~ke Tip ta~ke Opseg vrednosti $12Hour Integer 0-12 $AMPM Text $Hour Integer 0-23 $Milisecond Integer 0-999 $Minute Integer 0-59 $Second Integer 0-59 Time Text - • Napomena Sati u 12-sati formatu AM/PM indikacija Sati u 24-sata formatu Broj milisekundi Minuti Sekunde Vreme (npr. 09:46) Datumske tačke Ime ta~ke $Date $DayOfMonth $DayOfYear $Month $MonthName $ShortMonthName $ShortWeekDayName $ShortYear $WeekDay $WeekDayName $WeekOfYear $Year Tip ta~ke Opseg vrednosti Text Integer 1-31 Integer 1-366 Integer 1-12 Text Text Text Integer 0-99 Integer 0-6 Text Integer 0-51 Integer 1970-2038 Napomena Datum (npr. 28/02/98) Dan u mesecu Dan u godini Mesec Ime meseca Skraceno ime meseca Skraceno ime dana u nedelji Skracena oznaka godine Dan u nedelji Ime dana u nedelji Broj nedelje u godini Godina • Interne tačke Ime ta~ke $Available Memory $CopyProtected $DiskSpace $GDIResources $SystemResources $UserResources • $ScreenSizeY $AlarmCount 0-2,147,483,647 Visina ekrana Tip ta~ke Opseg vrednosti Integer 0-65536 Integer 0-65536 Napomena X koordinata mi{a Y koordinata mi{a Tip ta~ke Opseg vrednosti Napomena Integer 0-2,147,483,647 Broj aktivnih alarma Integer 0-2,147,483,647 Ukupni broj alarma Error Logger tačke Ime ta~ke $HighErrors $LowErrors $MediumErrors • Integer Alarmne tačke Ime ta~ke $ActiveAlarms • Tip ta~ke Opseg vrednosti Napomena Integer 0-2,147,483,647 [ irina ekrana Tačke za prikaz pozicije miša Ime ta~ke $MouseX $MouseY • Napomena Koli~ina slobodne memorije Indikacija da je instaliran token Slobodna memorija na disku Procenat slobodni GDI resursa Procenat slobodni sistemskih resursa Procenat slobodni korisni~kih resursa Display tačke Ime ta~ke $ScreenSizeX • Tip ta~ke Opseg vrednosti Integer 0-2,137,483,647 Boolean Integer 0-2,137,483,647 Integer 0-100 Integer 0-100 Integer 0-100 Tip ta~ke Opseg vrednosti Integer 0-2,147,483,647 Integer 0-2,147,483,647 Integer 0-2,147,483,647 Napomena Broj gre{aka visokog prioriteta u logu Broj gre{aka niskog prioriteta u logu Broj gre{aka srednjeg prioriteta u logu Tačke za PLC komunikaciju Ime ta~ke $PLCBusy $PLCFailures Tip ta~ke Opseg vrednosti Napomena Boolean Indikacija da je komunikacija u toku Integer 0-2,147,483,647 Ukupan broj PLC gre{aka • Bezbednosne tačke Ime ta~ke $SecurityLevel $SecurityName $UserName Tip ta~ke Opseg vrednosti Integer 0-4 Text Text - Napomena Nivo pristupa korisnika Bezbednosno ime korisnika Trenutno ulogovani korisnik Animacija strana i projekta Pored animacije objekata, editor animacije može se koristiti za programiranje animacija koje će biti vezane za odredjenu stranu, ali i za kompletan projekat. Do prozora za programiranje akcija objekata mogli smo doći dvostukim klikom na objekt, kao i izborom opcije Animation Editor, iz menija koji se otvarano na desni klik miša na objektu. Pored toga, kada je neki objekt selektovan na ekranu, otvaranje editora animacije automatski je vršeno za objekat. Iz ovako otvorenog editora, kao i otvaranjem editora u trenutku dok nijedan objekt nije selektovan, možemo doći do editora animacije strana ili projekta. Izbor nivoa animacije vrši se u gornjem desnom polju editora animacije, kao što je prikazano na slici: Editor animacije strane i projekta ne sadrži presetovane akcije animacije sa svojim dijalozima u kojima se programiranje obavlja popunjavanjem polja, već je lista u početku prazna. Nova operacija animacije dodaje se pritiskom na + taster, pri izabranoj opciji Object/Page/Project. Otvara se skript editor, i u njemu možemo programirati željenu akciju. Animacija strane i projekta obavezno se programira korišćenjem skript editora, tako da je ona uvek tipa koji je ekvivalentan animaciji objekta sa Execute Script. Za pokretanje animacije u toku Runtime izvršenja, pored standardnih dogadjaja koji su mogli biti programirani kao pokretački i kod animacije objekata, pritiska na levi taster miša i digitalni izraz koji je kombinacija jedne ili više tačaka projekta, sada se mogu koristiti i neki drugi dogadjaji. Aktivirajući dogadjaj definiše se u editoru animacije, i za jednu stranu, ili za jedan projekat može se definisati nekoliko skriptova, koji će biti aktivirani na različite dogadjaje. Dogadjaji koji aktiviraju animaciju su: • Interval vremena, pri čemu će se skript izvršavati na svakih n milisekundi, sekundi, minuta, sati ili dana, • Ispunjenje digitalnog uslova, koji se programira korišćenjem tačaka projekta, • Inicijalizacija, koja dovodi do izvršenja skripta samo jedan put, i to pri podizanju skade. Koristi se uglavnom za inicijalizaciju promenljivih, • Terminacija, pri čemu se skript izvršava u trenutku zatvaranja sesije, • Na pritisak nekog tastera, gde pritisak na programirani taster dovodi do izvršenja skripta, pri čemu se mogu programirati funkcijski tasteri, kao i neki editorski. Ovim dogadjajem ne može se usloviti izvršenje animacije strane. Prilikom definisanja digitalnog izraza, kao i u daljem toku programiranja, pri pisanju skripta, na raspolaganju nam je Point editor, koji možemo pozvati svaki put kada neku već programiranu tačku setujemo kao element izraza koji je programiran kao dogadjaj, ili učestvuje u skript programskoj sekvenci. Do editora tačaka dolazimo pritiskom na dugme Browse..., a u ovom prozoru takodje postoji mogućnost kreiranja nove tačke, opcijom Add Point. Izrazi koji se koriste u programiranju uslova izvršenja animacije objekata, takodje mogu biti korišteni u skript programima za animaciju strana i projekta. Izrazi su sastavljeni od operatora, koji mogu biti relacioni, aritmetički ililogički, i od operanada, koji su obavezno ili konstante, ili definisane tačke projekta. Već pomenuta tri nivoa skript aplikacija su: • Objekti, kojima se akcija tipa skripta definiše sa Execute script operacijom, • Strane, čija animacija se programira iz skript editora, i može sadržati instrukcije za animaciju objekata pozicioniranih na strani, kao i programiranje promene vrednosti nekih tačaka definisanih u projektu, i • Projekat, čija animacija definiše promenu vrednosti tačaka, a ne biti programirana da dovede do animacije pojedinačnih objekata. Telo skript aplikacije pored tačaka i operatora relacionog, aritmetičkog ili logičkog tipa, čine i specijalne funkcije. U nastavku će biti prikazani neki osnovni oblici skript procedura, podeljeni prema tipu akcije koju vrše. Tačke U okviru skript programa može biti izvršena operacija dodele vrednosti tačkama. Sintaksa ove akcije je imetacke = izraz Izraz mora biti korektno dimenzionisan, odnosno, moramo voditi računa o tipu tačke za koji ga pišemo. Tako, za tačku integer tipa, on mora imati neku analognu vrednost, dok se za boolean tačku može postaviti izraz TRUE ili FALSE. Pored proste dodele vrednosti, aritmetičke operacije mogu biti definisane u izrazu, kao npr. result = height + rate/5.0 Operacije relacije takodje mogu biti korištene, kao npr. IF fuel < 0 THEN fuel = 0 ENDIF Drugi slučaj pretstavlja programiranje specijalnih operacija nad tačkama, i ovde je dat prime za slučaj pogramiranja forsiranog setovanja tačke boolean tipa: returnstate = ForceSet(pointname) Veličina “returnstate” koristi se za indikaciju ispravnosti izvršenja instrukcije, i ova veličina ima vrednosti 1 ako je operacija izvedena uspešno, odnosno 0 za slučaj da je izvršenje neispravno. Kondicioni izrazi Sledeći skript prikazuje jednostavan primer kondicionog izraza: IF condition THEN statementblock1 ELSE statementblock2 ENDIF Pored ovako jednostavnog segmenta, možemo programirati složenije skriptove, u kojima mogu biti korištene operacije ugnježdenja (nesting), ili Case select operacije. Komande za animaciju objekata Objekat na koji se skript odnosi definiše se tako što je aktivan prilikom pisanja, a Animation editor nalazi se na nivou programiranja animacija objekata, ili se piše segment za animaciju strane sa sledećom sintaksom: objectname.objectcommand U prethodnoj liniji definisana je akcija (objectcommand) koju treba da izvrši objekt definisan svojim imenom. Ovako programirana linija može se nalaziti u skriptu drugog objekta, ili u skriptu strane na kojoj se objekat nalazi. Primer za aplikaciju programiranu na ovaj način je linija: polygon_10.height = visina_1 + visina_3 Postavljanje parametara izvršenja operacije ovde se radi tako što na mestu izraza dajemo odgovarajuću kombinaciju. Tipovi animacije objekata dati su u poglavlju gde je obradjeno njihovo programiranje direktno iz Animation editora na nivou objekta. Kako se ovde radi samo o drugom načinu programiranja istih operacija, one neće biti ponovo pojedinačno objašnjene. Strane Postoji set funkcija koje se mogu koristiti za animaciju strana u projektu. Neke, kao što su “display” ili “close” već su objašnjene, dok se neke mogu programirati samo korišćenjem editora animacije na nivou strane. Skript funkcije na ovom nivou, kao što je već pomenuto, mogu se koristiti kako za programiranje animacije komponentnih objekata strane, tako i za postavljanje vrednosti definisanih tačaka projekta. Ovde se takodje nalaze i funkcije za programiranje animacije same strane, kao returnstate = PrintActivePage(flag) Komunikacija Razne funkcije mogu biti programirane na nivou strane ili projekta, uključujući i funkcije namenjene za DDE komunikaciju ili komunikaciju sa PLC-om, kao što su channel = DDEInitiate(“server”, “topic”), ili returnstate = PLCMonitor(“plcname”) Alarmi Komande za programiranje alarma mogu se koristiti u bilo kom obliku skripta. Primer za operaciju ovog tipa pretstavlja returnstate = AcknowledgeAllAlarms() Fajlovi Funkcije za programiranje operacija nad fajlovima takodje se mogu programirati u svim tipovima skripta. Primer pretstavlja instrukcija za zatvaranje fajla: returnstate = CloseFile () Grafovi Funkcije za programiranje grafova pretstavljene su primerom returnstate = StartGraph(“graphid”) gde je “graphid” naziv grafika koji mu je dodeljen pri kreiranju, npr. Graph_1. Recepture Linija tipa returnstate = DownLoadRecipe() može biti programirana u bilo kojoj vrsti skripta. Isto važi i za ostale operacije nad recepturama, čijih je prethodna instrukcija pretstavnik. Ostale instrukcije Pored gore pretstavljenih, postoji veliki broj instrukcija koje ne spadaju u prethodno nabrojane grupe, kao što su funkcije za prikaz teksta na ekranu, za manipulaciju dogadjajima/greškama, ili za rad sa nivoima pristupa Runtime aplikaciji. Rad sa svim funkcijama je sličan. Opcija vraćanja izveštaja o uspešnosti izvedene akcije može se izostaviti, pri čemu u liniji instrukcije ostaje samo izvršni deo, kao na primer: LogError(“message”, priority) koja će biti izvršena bez vraćanja indikacije. Skritp editor može se koristiti kako za pisanje programa u skript jeziku, tako i za operaciju otkrivanja grešaka u njima. Napisani program biće proveren automatski pre zatvaranja, tako da editor nećemo moći zatvoriti sa neispravno napisanim programom. Neispravnosti su uglavnom rezultat neprevilne sintakse, ili korišćenja tačaka koje nisu definisane u Point editoru, odnosno pogrešnog unošenja njihovih imena. Editor izbacuje izveštaj o greškama, tako da ima i debug ulogu u programiranju. Kompletna lista funkcija koje stoje na raspolaganju programeru skript aplikacije može se dobiti iz menija skript editora, kako je prikazano na sledećoj slici: Alarmi Alarmi obezbedjuju notifikaciju problema nastalih u toku izvršenja aplikacije u Runtime režimu. Alarmi se definišu u toku razvoja aplikacije, a monitorišu u toku njenog rada. Važnost alarma može biti veoma različita, i kreće se od važnosti sasvim sporednih pa do onih koji ukazuju na mogućnost nastanka havarije velikih razmera. Tokom rada aplikacije, nastanak alarmnog stanja, kao i svaka naknadna promena njegovog stanja, snima se u posebnom log fajlu, koji se naziva Alarm History log. Operator se upozorava o nastanku alarma preko Alarm Acknowledge dijaloga, sa čijim aktiviranjem može biti povezan i zvuk upozorenja. U isto vreme, održava se i lista trenutno aktivnih alarma, i to je Current Alarms lista. Osnovni parametri operacije alarmiranja setuju se u prozoru koji se zove Alarm Settings. Pojedinačni alarmi definišu se u razvojnom okruženju korišćenjem Alarm Editora, popunjavanjem polja njegovog dijaloga. Pored toga, postoji i tip dijaloga koji se otvara prilikom programiranja animacije nekog alarma na strani, ali on sadrži samo grafičke parametre animacije objekta tipa Alarm Object. Ovaj dijalog zovemo Alarm Wizard. Alarm Settings Opšta svojstva alarma definišu se u Alarm Settings dijalogu, koji se nalazi u Project/Runtime Settings meniju, i ovaj prozor izgleda kao na slici: Ovde setujemo informacije koje će biti prikazane kada dodje do pojave alarma, kao i kapacitet statusne i istorijske liste. Takodje, ovde možemo setovati zvučni fajl, sa ekstenzijom .wav kao zvučni signal koji će biti emitovan u trenutku pojave alarma. Alarm Editor Alarm editor pokreće se iz menija Utilities, preko toolbar-a, ili korišćenjem kombinacije tastera Ctrl+A. Po otvaranju ovog editora, biće prikazana lista postojećih alarma, sa tasterima na toolbar-u koji omogućavaju dodavanje novog alarma listi, brisanje alarma iz nje, promena setovanje izabranog alarma, a postoji i mogućnost pristupa opštim setovanjima alarma. Osnovni prozor izgleda kao na slici: Za programiranje novog alarma koristi se taster +. Pojavljuje se prozor za setovanje parametara alarma. Svaki alarm ima svoje ime, tip, i izraz koji odredjuje njegovo aktiviranje. Postoje tri tipa alarma, i to su: • simple Alarmi ovog tipa programiraju se definisanjem izraza kao što je BOILERTEMP > 100 pri čemu će u trenutku kada analogna veličina BOILERTEMP predje vrednost 100, biti aktiviran alarm programiran na ovaj način. • deadband Ovaj tip alarma karakteriše mrtva zona oko tačke, pri čemu se u njenoj blizini formira histerezis širine koja se definiše u procentima u samom editoru. • rate of change Vrednost veličine definisane u funkciji izraza ovde neće biti proveravana, već samo brzina njene promene u vremenu. Iz tog razloga, setuje se ta brzina kao parametar alarma, i to u procentima, i setuje se pravac promene za koji će biti vršena provera. Pored definisanja imena alarma, grupe kojoj pripada, i izraza koji ga aktivira, u donjem delu prozora Alarm Editora setuje se tekst koji će sadržati alarmna poruka. Postoje dva polja, u kojima se setuje poruka kada je alarm aktivan, kao i u njegovom mirnom stanju. Takodje, možemo ovde izvršiti i izbor opcije prikaza Alarm Acknowledge prozora u trenutku pojave alarma, kao i mogućnosti emitovanja zvuka. Prozor za setovanje svih pomenutih parametara izgleda kao na slici: U slučaju složenijih izraza za aktiviranje alarma, kao što je slučaj zbirne greške od nekoliko komponenata, možemo interno programirati bit koji će biti aktivan za prestup bilo koje od kritičnih vrednosti, a zatim ovaj bit koristiti u svojstvu izraza za programiranje alarma. U toku rada aplikacije, u slučaju da je opcija “Display Alarm Acknowledge Box” ostala aktivna, pojava alarma biće prijavljena izbacivanjem prozora za potvrdu alarma, kao i na objektu tipa alarma, ako smo ga postavili na ekran. Ovaj objekt može prikazivati informacije o statusu alarma. Alarmi mogu imati četiri statusa, i mogu biti: 1. Aktivni nepotvrdjeni, 2. Aktivni potvrdjeni, 3. Prethodno aktivni, a sad neaktivni i nepotvrdjeni, i konačno 4. Prethodno aktivni, a sad neaktivni i potvrdjeni. Kao najopasnija grupa alarma pojavljuje se treća, jer se informacija o aktivnosti alarma može izgubiti, a greška zbog koje se on prvi put i pojavio možda nije otklonjena. Zato postoji standardna procedura potvrde alarma, koja se opet može programirati na različite načine. Takodje, lista alarma može ovde odigrati značajnu ulogu. Operacija prikaza liste istorije alarma može biti programirana pomoću skript komande DisplayAlarmHistory, a može biti uklonjena izvršenjem instrukcije CloseAlarmHistory. Lista alarma može izgledati kao na slici: Grafička biblioteka Grafička biblioteka je biblioteka objekata koji se koriste za programiranje skada aplikacija. Prozor za pristup biblioteci može biti pozvan iz padajućeg menija, prek Utilities/Graphics Libraru..., kombinacijom Ctrl+L, ili pritiskom na odgovarajući taster na toolbar-u. Objekti u biblioteci mogu biti ubačeni na ekrane skade, a i prenos u suprotnom smeru je moguć, odnosno kreirani objekti mogu biti preneseni u biblioteku za dalje korišćenje. Bilblioteka je organizovana u nekoliko grupa objekata, čime je olakšano pronalaženje odgovarajućeg objekta. Grafička biblioteka je jedinstvena za kompletan razvojni softver, odnosno ne zavisi od projekata, tako da postupak ubacivanja objekta iz jednog projekta u biblioteku, i zatim njegovo pozivanje iz drugog projekta, olakšava rad, naročito sa komplikovanim objektima, koje, jednom kreirane, želimo da koristimo u većem broju aplikacija. Prozor grafičke biblioteke prikazan je na slici: Tri dugmeta koja se nalaze u gornjem desnom delu toolbar-a služe za pozivanje operacija kreiranja nove biblioteke, brisanja postojeće, i na kraju, promene imena postojeće biblioteke. Korisnik radi lakše manipulacije objektima može izvršiti reorganizaciju biblioteke, definišući nove grupe objekata. Otvaranje postojeće biblioteke vrši se izborom iz liste biblioteka, i koja sadrži sve biblioteke koje su isporučene sa softverom, kao i one koje su kreirane od strane korisnika. Dovoljno je kliknuti na odgovarajuću grupu u listi, i njeni objekti biće prikazani na ekranu biblioteke, odakle ih prostom drag-and-drop operacijom možemo kopirati na stranicu projekta. Kao što je već pomenuto, i obrnut prenos je moguć, i on se izvodi tako što se otvori biblioteka u koju želimo da smestimo objekat kreiran na stranici nekog projekta, i učinimo vidljivim taj objekat. Opet prostim prevlačenjem objekta punimo biblioteku koja ima mogućnost popune, i time omogućavamo kasnije korišćenje tog objekta, u istom projektu, ili u nekom drugom. Pored ovih drag-and-drop operacija, dodavanje u, i brisanje objekata iz biblioteke mogu se izvesti korišćenjem tastera sa oznakama + i -. Klikom na taster sa strelicom ulevo otvara se prozor za promenu naziva i komentara objekta. Većina biblioteka sistemski obezbedjenih ima read-only karakter, što znači da se elementi biblioteke mogu koristiti bez ograničenja, ali da je sadržaj biblioteke fiksan, i ne može se dopuniti novim objektima. Ove biblioteke ne mogu biti obrisane. Za potrebe ubacivanja objekata koje smo kreirali u toku projektovanja, treba da formiramo i nove biblioteke, koje ćemo popuniti tim objektima. Biblioteke su fajlovi sa *.mat ekstenzijom, i sve se fizički nalaze u jednom direktorijumu skade. Kopiranjem ovih fajlova izmedju računara ostvaruje se prenos objekata kreiranih na jednom računaru na drugi, što može olakšati rad u mreži u kojoj se vrši projektovanje skada aplikacije. Recepture Receptura je način definisanja niza koraka koji će biti ponovljeni kada se za to ukaže potreba. Tipična primena receptura je inicijalizacija vrednosti nekih tačaka na vrednosti koje su definisane za odredjenu operaciju koja je pod kontrolom skade. SYSMAC-SCS receptura sastoji se od jednog ili više sastojaka, pri čemu je svaki od njih povezan sa odredjenom tačkom. Svaki sastojak vrši dodelu odredjene vrednosti tački sa kojom je povezan, i to radi preko ciljne vrednosti, target value. Recepture se koriste u Runtime aplikaciji za inicijalizaciju nekog tehnološkog postupka, tako što se za odredjeni postupak aktivira receptura koja sadrži vrednosti nekih tačaka koje su aktuelne za taj postupak. Na ovaj način dolazi do uštede vremena, jer je izbegnuto postavljanje vrednosti tačaka prilikom svakog startovanja postupka. Pored toga, mogućnost nastanka greške pri inicijalizaciji je redukovana, jer se vrednosti definišu samo jednom, pri kreiranju recepture, a kasnije se samo pozivaju iz Runtime aplikacije. Jednostavna inicijalizacija vrednosti tačaka može biti realizovanja korišćenjem skript jezika, ali recepture pretstavljaju dodatnu funkcionalnost, kao što je organizovanje grupe sastojaka u jednu recepturu, kao i njeno modifikovanje tokom Runtime aplikacije. Receptura Receptura je grupa predefinisanih koraka koja se koristi za izvodjenje odredjenog zadatka. SYSMAC-SCS projekat može sadržati veći broj receptura, kao i nijednu, jer one pretstavljaju opcioni deo aplikacije. Recepture se definišu u toku razvoja aplikacije, a izvršavaju se u Runtime režimu. Sastojak Svaka receptura sastoji se iz jednog ili više sastojaka. Svaki sastojak je promenljiva koja je vezana za postojeću tačku. Target Value Sastojak mora specificirati ciljnu vrednost tačke sa kojom je povezan. Ovo je vrednost na koju će tačka biti postavljena u Runtime režimu, kada se pozove receptura u kojoj ciljna vrednost definisana. Validation Code Kod za proveru ispravnosti recepta je programski segment napisan u skript jeziku, koji se koristi za proveru vrednosti tačaka pre prenošenja (aktiviranja) recepture. Download Receptura se aktivira, ili download-uje u Runtime aplikaciji. Ovaj proces uključuje identifikaciju odgovarajuće recepture, i izvršenje koda za proveru, ako je isti definisan. Download je kompletan kada se sastojci setuju svoje tačke na ciljne vrednostij. Kreiranje, editovanje, kopiranje i brisanje receptura ostvaruje se korišćenjem Recipe Editor-a. Ovaj editor poziva se iz padajućeg menija, preko Utilities/Recipe Editor..., kombinacijom Ctrl+I, ili klikom na odgovarajući taster na toolbar-u. Prozor koji se dobija sadrži set alata za kreiranje, brisanje i modifikovanje receptura, kao i listu postojećih receptura, propuštenu kroz opcioni filter koji se zasniva na nivou korišćenja skade iz kojeg je moguće pristupiti odredjenim recepturama. Pored toga, u ovom osnovnom prozoru editora postoje i tasteri za štampanje izabrane recepture, i za dobijanje informacije o svim kreiranim recepturama. Kreiranje recepture Osnovni parametri jedne recepture jesu njeno ime i opis. Ovi parametri setuju se u prozoru koji se poziva klikom na + taster u Recipe editoru. Donji deo ovog prozora namenjen je za definisanje sastojaka recepture, njihovo modifikovanje i brisanje. Prozor sa nazivom Recipe Ingredients sadrži informaciju o definisanim sastojcima. Taster Add Ingredient... dovodi do aktiviranja prozora za definisanje sastojka. U ovom prozoru setuje se ime sastojka, vrši se njegovo povezivanje sa tačkom, i postavlja se ciljna vrednost ove tačke. Taster Browse... olakšava rad sa tačkama, tako što poziva editor tačaka sa svim njegovim mogućnostima. U ovom prozoru takodje se vrši izbor statusa sastojka tokom Runtime-a, odnosno ovde se on može setovati kao podložan promenama iz Runtime režima, ili statičan (read-only). Gornji desni deo Recipe editora sadrži prozor za aktivaciju koda za proveru recepture. Kada se ova operacija učini aktivnom, pritiskom na taster sa nazivom Validation Code... možemo aktivirati skript editor, i u njemu kreirati program koji će služiti za proveru. Primer potprograma dat je za slučaj provere temperature vode pre download operacije presipanja sastojaka za pravljenje nes kafe. Izvršenje RETURN instrukcije dovešće do preuranjenog prekida download operacije, čime će biti zaustavljeno presipanje vrednosti sastojaka tokom Runtime rada. Kao argumenti skript koda mogu se naći kako vrednosti sastojaka, tako i vrednosti ostalih tačaka, kao što je slučaju u prethodnom primeru. Modifikovanje/brisanje postojećih sastojaka Obe ove operacije izvode se pritiskom na odgovarajuće tastere na dnu Recipe Editor ekrana, i odnose se na izabran sastojak. Kopiranje sastojaka izmedju receptura takodje je podržano standardnim klipbord operacijama. Odredjivanje nivoa za pristup recepturi Prilikom kreiranja recepture, možemo definisati minimalni nivo rada sa Runtime aplikacijom koji je potreban za pristup recepturama. Tako, pristup nekim recepturama može biti dozvoljen samo radnicima koji su definisani kao supervizori, ili dizajneri aplikacije. Ovo setovanje uskladjeno je sa operacijom setovanja nivoa koja je objašnjena u prethodnim poglavljima. Korišćenje receptura u Runtime aplikaciji Postoje dva načina za prikaz recepture u Runtime režimu. Kao prvo, skript kod koji sadrži liniju ViewRecipes() može biti setovan u operacijama animacije nekog objekta, npr. tastera. Recepture takodje mogu biti prikazane i izborom Recipes... opcije iz menija koji se otvara klikom na desni taster miša u Runtime aplikaciji. Jednom od ove dve operacije otvara se dijalog koji se naziva Recipe Viewer, i koji izgleda isto kao Recipe editor, s tim što postoje neke razlike u setu tastera na toolbar-u, i koji u Viewer-u izgleda ovako: Tasteri sa oznakama “-“ i “<-“ imaju iste funkcije kao u editoru, s tim što u prozoru koji se otvara po pozivu Modify Recipe funkcije postoji mogućnost promene samo ciljne vrednosti sastojka, a ne i ostalih njegovih parametara. Sledeći taster je nov, i koristi se za startovanje prenosa recepture. Pored ovog načina startovanja prenosa recepture, postoji i mogućnost programiranja animacije nekog objekta skript programom sa linijom DownLoadRecipe(“<ImeRecepture>”) U slučaju da prenos iniciramo iz Recipe Viewer-a, pre samog prenosa pojaviće se prozor u kojem treba da izaberemo recepturu koja će biti preneta. U oba slučaja, opciono programirani kod za proveru ispravnosti recepture, odnosno za proveru uslova koji treba da budu ispunjeni da bi se izvršio prenos, biće izvršen pre prenosa, i u slučaju postojanja greške, prenos neće biti izvršen. Download operacija, završena uspešno ili neuspešno, biće upisana u Event/Error Log, sa podacima o recepturi i vremenu.