|
|
Autori:
ABSTRAKT: U radu se govori
o postupku izrade nadzornih i upravljačkih programa upotrebom SmartSCADA
programskog alata; sa primerom primene u NIS Naftagas Novi Sad.
KLJUČNE REČI: procesno upravljanje,
nadzorni sistemi, OOP (Object Oriented Programming), OPC (Ole for Process
Control), ActiveX, baze podataka, client/server, Delphi
Abstract: This text describes SmartSCADA
programming tool for development control and monitoring software.
Datum izrade: Novembar, 2001.
Uvod
|
English version (Google Translate)
|
|
|
Razvoj savremenih objektno orijentisanih programskih jezika u WINDOWS okruženju, sa mogućnošću vizuelnog programiranja pomoću komponenti, omogućio je enormno ubrzanje u kreiranju programa raznih namena. Naročito se razvio deo koji se odnosi na upravljanje bazama podataka. Danas se na tržištu može naći više softverskih paketa koji pružaju mogućnost vizuelnog razvoja aplikacija kao što su Borland Delphi, Borland C++ Builder, Microsoft Visual Studio (Visual C++, Visual Basic), Microsoft Access i drugi.
Ovi programski paketi se odlikuju velikom brzinom izrade aplikacija (RAD, Rapid Application Develop). Programi se u njima kreiraju postavljanjem i povezivanjem softverskih komponenti u celinu, poput slaganja LEGO kockica. Da bi se moglo na ovaj način programirati, ovi programski paketi moraju da imaju niz predefinisanih komponenti, formi i čarobnjaka (wizard) za razne delove programa.
Danas na tržištu postoji veliki broj nezavisnih
proizvođača softverskih komponenti za razne namene, pa tako i za razvoj
SCADA aplikacija. Međutim, većina njih obuhvata samo pojedine elemente
jednog SCADA sistema.
SmartSCADA predstavlja nadogradnju (sistem
softverskih komponenti) za razvojno okruženje DELPHI i C++ Builder, kompanije
Borland, koje omogućava ovim razvojnim sistemima da postanu sistemi za
razvoj SCADA aplikacija, zadržavajući jednostavnost i brzinu kreiranja
aplikacija.
Sistem komponenti, SmartSCADA, smo kreirali iz sledećih razloga:
|
|
Zahtevi nadzorno/upravljačkih sistema koje pokriva SmartSCADA su:
Prenošenje stanja nekog signala na bilo koju vizuelnu ili nevizuelnu komponentu se obavlja prostim povezivanjem osobina jedne komponente sa signalom, što se ostvaruje u vreme dizajniranja aplikacije.
Slika 1 – Izgled jedne gotove aplikacije
na objektu NIS-NAFTAGAS-a
|
|
Komponente SmartSCADE su podeljene na dve palete komponenti, Process System na kojoj se nalaze sistemske nevizuelne komponente, i Process Signal Controls na kojoj se nalaze vizuelne komponente.
Slika 2 - Paleta Process System
Slika 3 - Paleta Process Signal Controls
DEKLARACIJA I OBRADA SIGNALA
Osnovu sistema SmartSCADA predstavljaju
nevizuelne komponente, signali različitog tipa (TFloatSignal, TBooleanSignal,
TIntegerSignal, TDateTimeSignal i TStringSignal). Upravljanje signalima
se vrši pomoću komponente TSignalCollection. Komponenta omogućava kreiranje,
brisanje i podešavanje signala.
Signalne komponente su izrađene u skladu sa standardom OPC DA 2.04. Osnovne osobine (property) signala su:
| Signals Editor | omogućava kreiranje, brisanje i konfigurisanje signala koji se upotrebljavaju u sistemu. Editori koji se opisuju u ostatku teksta pozivaju se pomoću dugmića koji se mogu videti na gornjem delu editora. |
| Link editor | prikazuje listu svih signala i komponenti na koje se ti signali mogu vezati. Omogućava povezivanje komponenti upotrebom drag and drop tehnike (prevlačenjem mišem). |
| Ini editor | povezuje signale sa ini komponentom i na taj način se vrednost signala automatski snima i učitava iz ini fajla. Kada je signal povezan na Ini komponentu prilikom učitavanja programa dobija vrednost kakvu je imao pre zatvaranja aplikacije. |
| Alarm Editor | omogućava grupno podešavanje alarma (alarmnih nivoa, alarmnih poruka, zvukova koji se javljaju u slučaju alarmnih situacija i prioritet alarma). |
| Convert Editor | pomoću ovog editora se podešava tip i parametri konverzije signala (sirov signal u inženjerske jedinice i obrnuto). |
| Active Editor | u ovom editoru se podešava stanje signala (da li su aktivni ili ne). |
| Description Editor | omogućava upisivanje komentara za svaki signal (funkcija signala, tip, gde je povezan u realnom sistemu i drugi bitni komentari vezani za određeni signal). |
| Aditional Properti Editor | predstavlja editor pomoću koga se mogu dodavati dodatne osobine signala prema specifičnim zahtevima korisnika. |
Prikaz i podešavanje vrednosti analognih
signala
Komponente koje omogućavaju prikaz i promenu
vrednosti signala su u obliku prekidača, klizača, progres barova i mernih
instrumenata.
Vizualizacija procesa
Grupa komponenata koja omogućava vizuelno
predstavljanje situacije u realnom procesu, ima sposobnosti za:
Alarmni sistem
Komponente koje omogućavaju detektovanje
i evidenciju alarmnih situacija u sistemu kojim se upravlja. Realizovana
komponenta detektuje promene digitalnih signala i analognih signala u željenom
opsegu (sa razlikovanjem gornje i donje granice).
Kada dođe do alarmne situacije na ekranu
se pojavljuje tekstualna poruka koja se beleži i u bazu podataka, što kasnije
omogućava generisanje izveštaja o pojavi alarmnih situacija u određenom
vremenskom periodu.
Bezbednosne komponente
Sistem komponenti koji omogućava zaštitu
pojedinih delova programa pomoću lozinki. Pored zaštitne uloge, sistem
komponenti omogućava praćenje upotrebe procesne aplikacije (startovanje
i zatvaranje programa, podešavanje parametara, generisanje izveštaja).
Svaka promena operatera (unos nove lozinke) se beleži u bazu podataka tako
da se lako može utvrditi koji operater je bio prisutan kada se vršila izmena
parametara sistema ili kada se dogodila alarmna situacija u nadgledanom
sistemu. Komponente se mogu podesiti tako da se dijalog za unos lozinke
pojavi u tačno određeno vreme (evidentiranje promene operatera prilikom
promene smene).
Praćenja eksternih događaja sa procesnog
računara
Pomoću skupa ovih komponenti se prate
promene stanja signala iz realnog sistema. Pojava ovakvih signala ne predstavlja
alarmnu situaciju ali je bitno evidentirati da su se dogodili i kada su
se dogodili (na primer, puštanje u rad nekog motora).
Praćenje promene vrednosti analognih
signala
TSignalRecoder je komponenta na koju se
vezuju analogni signali čije vrednosti želimo da pratimo radi kasnije obrade.
Ima osobinu da automatski kreira sva potrebna polja u bazi sa imenima analognih
signala koji su vezani za nju. Može se podesiti period snimanja vrednosti
signala u bazu, veličina baze (konstantan broj recorda), da li se popunjava
sa test podacima za vreme dizajniranja programa.
Generisanje izveštaja
Izveštaji mogu biti grafički ili tabelarni,
i uglavnom se generišu iz baza podataka. Izveštaji se mogu prilagoditi
potrebama krajnjeg korisnika. Izveštaji se prikazuju u vremenskom periodu
po izboru korisnika. Neki od mogućih izveštaja koji se mogu dobiti su:
|
|
Signali u sistemu SmartSCADA sistemski su kreirani tako da sadrže editor kojim se omogućava podešavanje sistema bez izmena u izvornom kodu i kompajliranja krajnje aplikacije. Editor se poziva pomoću PopUp menija bilo koje od vizuelnih komponenti na koju je vezan dati signal. Omogućeno je grupno konfigurisanje više signala pozivanjem Edit metode u komponenti TSignalCollection. Naravno, programer koji kreira SCADA aplikaciju ima mogućnost da zaštiti šifrom ili potpuno onemogući konfigurisanje vrednosti programa u krajnjoj aplikaciji.
Editor je kreiran po uzoru na ObjectInspector
iz programskog okruženja Delphi. Radi preglednosti, parametri koji se mogu
podešavati su podeljeni na grupe (standardni, za konverziju, alarmni, dodatni).
Ukoliko se pozove editor za analogni signal može se prikazati i grafikon
na kome se vidi promena vrednosti signala u vremenu.
|
|
Sistem izrade SCADA softvera preko specijalizovanih
objekata (komponenti) u standardnim objektno orjentisanim jezicima se,
po lakoći upotrebe i brzini izrade softvera, približio gotovim paketima
za izradu SCADA. Sve veći broj proizvođača procesnih (PLC) računara, isporučuje
drajvere za OPC servere za komunikaciju sa svojim uređajima. Na taj način
se sve više širi upotrebna vrednost softverskog paketa za izradu SCADA
softvera prikazanog u ovom radu.
|
|
SmartSCADA komponente za Delphi
6
postavljeno za download 22.12.2001.
zadnja izmena 22.01.2002.
Download!!!
SmartSCADA V1.0 (SmartSCADA.zip 676Kb)
http://www.ptt.rs/korisnici/i/l/ilicv/~ilicv/SmartSCADA.zip
SmartSCADA primeri
postavljeno za download 22.12.2001.
zadnja izmena 22.01.2002.
Download!!!
SmartSCADA primeri (examples.zip 165Kb)
http://www.ptt.rs/korisnici/i/l/ilicv/~ilicv/SCADAexamples.zip
|
|
[1] Mirilović, J., Ilić, V., (2001), “Izrada
upravljačkog i nadzornog softvera upotrebom objektno orijentisanih programskih
jezika”, II Seminar Automatike, AUP 2000, Banja Koviljača.
[2] “OPC/Open Control”, OCSTechnical.pdf,
http://www.opctoolkit.com,
[3] “Ole for Process Control - Data Access
Automation Interface Standard”, Version 2.1, OPC_20_Automation_Interface.pdf,
January 1999
[4] Savić, D., (1992): “Uvod u objektno
programiranje”, PC Program, Beograd
[5] Yao. P., Leinecker, C. R., (1995):
“Visual C++ 5 Biblija”, Mikro Knjiga, Beograd
[6] Papeš, I., (1990): “Turbo Paskal 5.5”,
Naučna Knjiga, Beograd
[7] Hansen, A., (1991): “Programiranje
na jeziku C”, Mirko Knjiga, Beograd
[8] Stajić, D., Bilinski, P., (1991):
“Računarske telekomunikacije i mreže”, Tehnička Knjiga, Beograd
[9] Stojić, M., (1978): “Kontinualni sistemi
automatskog upravljanja”
[10] Cantu, M., (2000): “Delphi 5, Detaljan
Izvornik”, Kompjuter biblioteka, Čačak
[11] Borland, (1992):"Programers reference"
[12] Borland, (1992):"Languge guide"
| Poslednja izmena 18.12.2001.
Autor: Velibor Ilić Adresa ove stranice je:http://SOLAIR.EUnet.rs/~ilicv/smartscada.html |