Uploaded by mikicar33

SCADA 2019 2020

advertisement
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.
Download