Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
SVEUČILIŠTE U RIJECI
TEHNIČKI FAKULTET
Diplomski sveučilišni studij računarstva
Diplomski rad
RAČUNALNO UPRAVLJANJE RF ANALIZATOROM
SPEKTRA UPORABOM LABVIEW-a
Rijeka, siječanj 2018. Denis Ibrahimagić
0069056957
SVEUČILIŠTE U RIJECI
TEHNIČKI FAKULTET
Diplomski sveučilišni studij računarstva
Diplomski rad
RAČUNALNO UPRAVLJANJE RF ANALIZATOROM
SPEKTRA UPORABOM LABVIEW-a
Mentor: izv. prof. dr. sc. Miroslav Joler
Rijeka, siječanj 2018. Denis Ibrahimagić
0069056957
IZJAVA O SAMOSTALNOJ IZRADI RADA
Ja, Denis Ibrahimagić, JMBAG 0069056957, sukladno članku 9. Pravilnika o
diplomskom radu, diplomskom ispitu i završetku diplomskih sveučilišnih studija Tehničkog
fakulteta u Rijeci, izjavljujem i svojim potpisom potvrđujem da je ovaj rad rezultat isključivo
mog samostalnog rada, uz pomoć i preporuke mentora.
________________________
U Rijeci, 23. siječnja 2018. Denis Ibrahimagić
Sadržaj
1. UVOD ......................................................................................................................................... 7
2. UREĐAJ I PROGRAMSKO OKRUŽENJE .............................................................................. 9
2.1 LABVIEW ............................................................................................................................ 9
2.2 HP 8549E ANALIZATOR SPEKTRA ............................................................................... 11
2.3 POVEZIVANJE UREĐAJA I RAČUNALA ..................................................................... 14
3. RAZVOJ I STRUKTURA APLIKACIJE ................................................................................ 17
3.1 INICIJALIZACIJA I OTVARANJE KOMUNIKACIJE S UREĐAJEM .......................... 17
3.2 GLAVNE FUNKCIONALNOSTI APLIKACIJE .............................................................. 20
3.2.1 Timeout događaj ........................................................................................................... 21
3.2.2 Osnovne funkcionalnosti za upravljanje aplikacijom .................................................. 24
3.2.3 Pregled i način rada event slučajeva ............................................................................ 27
3.2.4 Dodatno razvijene funkcionalnosti .............................................................................. 30
3.3 ZATVARANJE KOMUNIKACIJE S UREĐAJIMA ........................................................ 33
4. KORISNIČKO SUČELJE ........................................................................................................ 34
5. PRIMJERI UPOTREBE ........................................................................................................... 42
6. LABVIEW WEB TOOL I POVEZIVANJE PREKO INTERNETA ....................................... 51
7. ZAKLJUČAK ........................................................................................................................... 59
8. LITERATURA ......................................................................................................................... 60
9. POPIS OZNAKA I KRATICA ................................................................................................. 62
SAŽETAK .................................................................................................................................... 63
SUMMARY .................................................................................................................................. 63
PRILOG 1 ..................................................................................................................................... 64
7
1. UVOD
Tema ovog diplomskog rada je izrada aplikacije koja omogućava upravljanje
radiofrekvencijskim (RF) analizatorom spektra, koristeći programski jezik LabVIEW. Zadatak se
sastoji od upoznavanja uređaja i programskog jezika te, uz pomoć dostupne dokumentacije
uređaja, omogućavanje upravljanja istim. Kod mora sadržavati osnovne funkcionalnosti,
odnosno omogućavati korištenje najčešćih mjernih funkcija i parametara uređaja. Nakon
osiguravanja lokalnog upravljanja i interakcije s uređajem, sukladno s tehnološkim
mogućnostima, korisničko sučelje (eng. user interface) potrebno je učiniti dostupno za vanjski
pristup preko interneta.
Za izradu ovog diplomskog rada korišten je analizator spektra HP 8594E i LabView 2016
koji su osigurani i dani na korištenje od strane mentora. Primjena ovog rada je u omogućavanju
očitavanja mjerenja i korištenja funkcionalnosti uređaja na daljinu kako profesionalnim
korisnicima, tako i novim korisnicima koji se upoznavaju s područjem rada uređaja. Analizator
spektra je spojen na antenu unutar laboratorija na Tehničkom fakultetu u Rijeci i kao takav nije
prijenosan te je omogućavanje pristupa uređaju i njegovim funkcionalnostima na daljinu glavna
značajka ovoga rada.
Razvoj aplikacije i ostvarivanje komunikacije s analizatorom spektra, implementacijom
LabVIEW programskog jezika, odvijao se u LabVIEW 2016 [1] softverskom (eng. software)
paketu. Naposljetku, isti softverski paket je, zahvaljujući dostupnim mogućnostima i alatima,
iskorišten kao serverska strana (eng. server-side) koja održava korisničko sučelje aktivno na
internetu. Rad samoga servera nije potrebno održavati i razvijati, već je fokus ovoga rada na
komunikaciji s uređajem i dostupnosti funkcionalnosti uređaja. Izrada aplikacije temeljena je na
upravljačkim programima (eng. driver) analizatora spektra, koji su dostupni na službenim
stranicama [2], te na dostupnoj dokumentaciji uređaja. Dokumentacija se sastoji od priručnika za
korištenje [3] (eng. user manual) i programskog priručnika [4] (eng. programming manual)
uređaja koji su dostupni na internetu te, u fizičkim primjercima, u laboratoriju fakulteta.
8
Kroz ovaj rad bit će prikazane i opisane osnovne mogućnosti LabVIEW programskog
jezika i način na koji su one ukomponirane s dostupnim upravljačkim programima ili
osmišljenim funkcijama koji zajedno tvore cjelinu koja korisniku omogućava upravljanje
analizatorom spektra. Nakon opisa programskog rješenja dani su primjeri uporabe i prikazan je
izgled korisničkog sučelja, kao i način na koji je omogućena dostupnost istoga preko interneta.
9
2. UREĐAJ I PROGRAMSKO OKRUŽENJE
U ovom poglavlju dan je kratak pregled LabVIEW programskog softvera, analizatora
spektra korištenog u izradi rada i ostvarivanja veze između uređaja i računala.
2.1 LABVIEW
LabVIEW je razvojni softver za aplikacije koje izvode mjerenja, testove i uspostavljaju
kontrolu nad uređajem s naglaskom na brz pristup uređaju i pregled podataka. Ovaj softver
pojednostavljuje integraciju hardvera (eng. hardware) s računalom i time omogućava brzo
prikupljanje i vizualizaciju setova podataka sa praktički bilo kojeg ulazno-izlaznog uređaja (eng.
I/O device). Prednost korištenja ovog razvojnog softvera je smanjeno vrijeme programiranja, što
je posljedica grafičke programske sintakse koja je intuitivnija i ne zahtijeva pisanje koda.
Grafičkim pristupom programiranju LabVIEW pojednostavljuje kompleksno dizajnirane sustave
na jednostavne grafičke jedinice koje su, zahvaljujući raznovrsnim alatima i dokumentaciji,
intuitivni i jednostavni za korištenje. Programi razvijeni LabVIEW-om se nazivaju virtualni
instrumenti, odnosno VI (eng. virtual instrument) i spremljeni su s .vi ekstenzijom.
Tijekom izrade ove aplikacije, uz upravljačke programe uređaja, korištene su osnovne
funkcionalnosti LabVIEW-a poput gumba (eng. button), grafova te petlji i struktura (eng. loops
and structures) [5]. Za razumijevanje aplikacije i njene izrade bitno je poznavati osnovne
strukture i petlje :
1. WHILE petlja (eng. while loop) – slično kao i u tekstualnim programskim jezicima,
izvršava pod-dijagram (eng. subdiagram) dok se određeni uvjet ne ispuni. Za razliku od
klasične petlje ne prenosi podatke i informacije iz prethodne u sljedeću iteraciju, osim u
slučaju korištenja pomačnog registra (eng. shift register). Najčešće u aplikacijama while
petlja izvršava glavni dio programa.
10
Slika 2.1 While struktura
2. EVENT struktura (eng. event structure) – za izvršavanje čeka da se dogodi određeni
događaj, zatim izvršava prikladan slučaj kojim upravlja i rješava taj slučaj. Sastoji se od
jednog ili više pod-dijagrama (slučajeva) od kojih se točno jedan izvršava kada struktura
mora upravljati događajem. Event struktura, kada je broj milisekundi (ms) odgode
specificiran, može izvršiti pauzu (eng. timeout). Taj slučaj se izvršava kada u definiranom
periodu event struktura ne primi nikakvu obavijest (eng. notification) o događaju.
Timeout slučaj može biti prazan ili obavljati neku funkciju. Nakon izvršavanja timeout
slučaja struktura opet čeka sljedeću obavijest (ako se nalazi unutar while petlje).
Upravljanje višestrukim slučajevima zahtjeva da se event struktura nalazi unutar while
petlje. Iako može upravljati većim brojem slučajeva, samo jedan slučaj se može pokrenuti
i izvršiti u nekom trenutku. Također, više event struktura može rukovoditi isti događaj,
odnosno reagirati na istu obavijest o događaju.
Slika 2.2 Event struktura
3. CASE struktura (eng. case structure) – sastoji se od dva ili više pod-dijagrama. Samo
jedan pod-dijagram je vidljiv i samo jedan može biti izvršen istovremeno. Ulazna
vrijednost određuje koji se slučaj izvršava. Ova struktura je slična switch i if/then
11
izrazima u tekstualnom programiranju. Za razliku od event strukture nema timeout slučaj
i ne može reagirati na događaje, već na ulazne vrijednosti. Zbog toga je event struktura
efikasniji i češći izbor u novijim LabVIEW programima.
Slika 2.3 Case struktura
4. SLIJED (eng. sequence structure) – dijeli se na ravan slijed (eng. flat sequence) i stog
(eng. stacked sequence). Koristi se u dijelovima koda gdje se želi osigurati da se
operacije izvršavaju u određenom redoslijedu. Operacije se izvršavaju okvir po okvir
(eng. frame by frame) s lijeva prema desno. Jedan okvir je izvršen kada su svi podaci
dostupni, te svi podaci napuštaju okvir pri završetku i ulaze u sljedeći. Ulazne
informacije okvira mogu ovisiti o izvršavanju prethodnog okvira.
Slika 2.4 Slijed
2.2 HP 8549E ANALIZATOR SPEKTRA
HP (Hewlett-Packard) 8594E analizator spektra, proizveden od strane tvrtke Hewlett
Packard (danas Keysight Technologies [6]), pripada seriji od nekoliko modela čije detaljne
specifikacije možemo pronaći na dokumentu navedenom u literaturi [7]. Ovaj radio-frekvencijski
12
analizator spektra nudi raspon funkcionalnosti i opcionalnih mogućnosti za potrebe mjerenja.
Podržava frekvencijski raspon od 9kHz do 2.9GHz, ako je spojen na istosmjerni izvor struje, te
raspon od 100kHz do 2.9GHz ako je spojen na izmjeničnu struju. Na slici 2.5 je vidljiv analizator
spektra i pregled svih upravljačkih tipaka na prednjoj ploči uređaja.
Slika 2.5 Analizator spektra HP 8594E
13
Kao što je vidljivo na slici 2.6, uređaj se sastoji od ekrana, tipaka za odabir opcija na ekranu (u
dokumentaciji referencirane kao softkey) te tipaka za odabir funkcionalnosti i upis vrijednosti i
ulaza za spajanje antena.
Slika 2.6 Prednji pregled uređaja
Tipke uređaja su vizualno grupirane po funkcionalnostima. Vizualno najupadljivije su tipke koje
upravljaju glavnim funkcionalnostima: frekvencijom (eng. frequency), rasponom (eng. span) i
amplitudom (eng. amplitude). Pritiskom na tipke dodatne opcije se pojavljuju na ekranu gdje se
odabir vrši s tipkama na rubu ekrana (softkeys). Promjene vrijednosti, poput frekvencije, unose se
pomoću numeričke tipkovnice ili mijenjaju pomoću kotačića ili strelica za korak (eng. step).
Funkcionalnosti unutar aplikacije su maksimalno približene iskustvu korištenja fizičkog uređaja.
Mogućnosti koje se otvaraju korisniku pritiskom na tipke uređaja su prenesene u aplikaciju kao
polja za unos vrijednosti ili polja za odabir vrijednosti. Te informacije su, preko odabrane veze,
proslijeđene uređaju u obliku upita (eng. query). Upiti se koriste za kontrolu uređaja i korištenje
njegovih funkcionalnosti. Valja naglasiti da neke funkcionalnosti imaju mogućnost programskog
povrata vrijednosti računalu s kojim je uređaj povezan. Pravi primjer je iscrtavanje grafa koji je
14
vidljiv na ekranu uređaja. Međutim, neke funkcionalnosti je pomoću upita moguće samo
aktivirati, odnosno uređaj će obaviti svoj zadatak i prikazati rezultat na svojem ekranu, ali je
nemoguće dobiti detaljne informacije na računalu. Za primjer, koji je dan kroz dokument,
uzmimo tablicu aktivnih markera. Tablicu je moguće aktivirati upitom, ali jedina povratna
informacija koju uređaj može vratiti računalu jest da li je tablica aktivna (boolean vrijednost).
Detaljnije korištenje upita je objašnjeno kroz iduća poglavlja gdje je dan pregled razvoja
aplikacije i integracije upita i upravljačkih programa u aplikaciju.
2.3 POVEZIVANJE UREĐAJA I RAČUNALA
Povezivanje uređaja i računala izvršeno je pomoću GPIB (General Purpose Interface
Bus) sučelja, poznatog i kao IEEE-488/HP-IB (Hewlett-Packard Interface Bus), digitalne
sabirnice. Stvorena za spajanje testne opreme 1960-tih godina, sabirnica je imala široku primjenu
u kasnijim desetljećima za spajanje mikroračunala te znanstvene i medicinske opreme. Noviji
standardi su je zamijenili u novijem vijeku, ali svoju primjenu i dalje pronalazi u spajanju mjerne
i testne opreme. Primjer GPIB kabela i kartice koja je ugrađena u računalo vidljivi su na idućim
slikama.
Slika 2.7 GPIB sabirnica
15
GPIB sabirnica i PC-GPIB kartica [8], proizvedeni od strane National Instruments-a (NI),
osigurani su od strane mentora i ugrađeni u računalo.
Slika 2.8 PC-GPIB kartica
Veza s uređajem uspostavljena je prateći službenu dokumentaciju [9] dostupnu na
stranicama National Instruments-a. Za spajanje je korišten MAX (Measurement and Automation
Explorer) alat uz koji dolazi NI-488 upravljački program za GPIB kontrolere. MAX je osmišljen
kako bi olakšao i pojednostavio detekciju i kontrolu, kao i uspostavljanje komunikacije s
uređajem. Nakon uspostave komunikacije korišten je VISAIC (Virtual Instrument Software
Architecture Interactive Control) upravljački program za provjeru i nastavak komunikacije kroz
izvođenje aplikacije.
VISAIC je standardan softverski alat uključen u sve GPIB kontrolere proizvedene od
strane National Instruments-a. Ovaj moćan alat za razvoj i dijagnostiku nam omogućuje
interaktivnu komunikaciju s GPIB uređajima koristeći računalo. Alat ubrzava razvoj aplikacija i
programa olakšavanjem povezivanja s uređajima, efikasnom detekcijom i otklanjanjem grešaka u
povezivanju i nuđenjem online informacija o greškama, procedurama i sintaksi. Osim primjene u
aplikacijama, VISAIC nudi zaseban upravljački program koji omogućava konfiguraciju
konekcije s uređajem te izravnu komunikaciju s istim. To uključuje ulazno-izlazne operacije
16
poput pisanja upita te čitanja povratnih informacija i statusnih bajtova (eng. status byte).
Aplikacija koristi navedene mogućnosti kroz VISA upravljačke programe.
Nakon uspostave veze uređaj dobiva svoju adresu, odnosno stvara se ime resursa (na
primjer: GPIB::18::INSTR). Ime resursa se kroz aplikaciju koristi prilikom otvaranja
komunikacijske VISA sesije (eng. VISA session) s uređajem i za prosljeđivanje informacija
upravljačkim programima ili napisanim funkcijama o uređaju s kojim komuniciraju te koji je
njegov trenutni status.
17
3. RAZVOJ I STRUKTURA APLIKACIJE
Proces razvoja aplikacije sastoji se od iskorištavanja, ali i modificiranja postojećih
upravljačkih programa uređaja kao i razvoja vlastitih dijelova koda i funkcionalnosti. Ove
komponente u skupu čine aplikaciju koja je rezultat ovoga rada. Reprezentativan primjer koda je
u potpunosti vidljiv na sljedećoj slici. Kod je također priložen kao Prilog 1 radi bolje vidljivosti.
Slika 3.1 Pregled koda aplikacije
Programski kod aplikacije vizualno možemo podijeliti na tri osnovna dijela:
• Inicijalizacija konekcije s uređajem i USB kamerom
• Glavne funkcionalnosti aplikacije (unutar while petlje)
• Zatvaranje konekcije i kraj izvođenja programa
3.1 INICIJALIZACIJA I OTVARANJE KOMUNIKACIJE S UREĐAJEM
Aplikacija prilikom pokretanja započinje izvršavanje s krajnjom lijevom stranom koda
vidljivog na prethodnoj slici. U tom početnom koraku događa se inicijalizacija veze aplikacije s
18
uređajem i USB kamerom. USB kamera je ukomponirana u ovu aplikaciju kao dodatno sredstvo
pregleda uređaja i radne stanice prilikom spajanja na daljinu. Osiguravanjem kvalitetnije kamere
postoji potencijal za bolji uvid u rad uređaja, odnosno bolji prikaz samog ekrana uređaja unutar
aplikacije.
Inicijalizacija veze s uređajem se sastoji od upravljačkog programa „Initialize“ gdje je
ulazna vrijednost adresa uređaja (npr. GPIB::18::INSTR) pod nazivom „VISA session“
(vrijednost dobivena nakon ostvarivanja veze s uređajem putem VISAIC alata). Adresa uređaja
se kroz varijablu istog naziva prosljeđuje kroz cijelu aplikaciju svim potprogramima i
upravljačkim programima kako bi se definirala komunikacija s uređajem. Opcionalna vrijednost
koja je dodana kao ulazna vrijednost jest boolean zastavica, pod nazivom „Reset before start?“,
koja omogućava ponovno namještanje uređaja (eng. reset) na njegovo početno stanje. Ovime se
osigurava, ukoliko je potrebno, da se prilikom ponovnog ili inicijalnog pokretanja aplikacije
uređaj vrati na početno stanje. Prije ulaska u while petlju također je aktivirana funkcija okidača
pomoću „Trigger“ upravljačkog programa, koja osigurava jedan slobodan takt procesora uređaja
prije izvršavanja sljedeće naredbe. Time se osigurava da su se sve prethodne naredbe izvršene
neometano i da je uređaj spreman za sljedeću naredbu. Opisani postupak vidljiv je u sljedećem
isječku koda.
Slika 3.2 Uspostava komunikacije s analizatorom spektra
19
Inicijalizacija veze s USB kamerom sastoji se od NI-IMAQ (eng. Image acquisition)
upravljačkog programa. NI-IMAQ je upravljački program za sve USB (eng. Universal Serial
Bus) kamere koji omogućava korisnicima konfiguraciju uređaja i uvoz slika u LabVIEW
program. Slično korištenju VISAIC alata, IMAQ alat omogućava vezu s kamerom i pridodaje
adresu svakome spojenom uređaju (npr. cam0). Upravljački program uspostavlja vezu s
kamerom i konfigurira njen rad. Uz to zahtijeva početnu vrijednost slike, odnosno praznu sliku
gdje će spremati vrijednosti koje kamera prosljeđuje u glavnoj petlji programa. U ovu svrhu
koristi se „IMAQ Create“ upravljački program kojemu su ulazne vrijednosti ime slike (npr.
image_name) koja se stvara te kvaliteta slike, odabrana s padajuće liste (eng. drop down list)
vrijednosti. Opisan postupak vidljiv je u sljedećem isječku koda.
Slika 3.3 Uspostava komunikacije sa USB kamerom
Svaki upravljački program kao izlaznu vrijednost ima „error out“ varijablu. Kroz ovu
varijablu se prosljeđuju pogreške prilikom izvršavanja upravljačkih programa ili potprograma.
Vrijednost pogreške se prosljeđuje kroz sve sljedeće upravljačke programe i potprograme. U
slučaju pogreške program prekida s izvođenjem kako bi se izbjeglo pogrešno izvršavanje. Nakon
završetka inicijalizacije aplikacija nastavlja izvođenje ulaskom u while petlju koja sadrži sve
funkcionalnosti aplikacije. While petlja se izvršava dok se njeno izvršavanje ne prekine pritiskom
tipke (eng. button) na korisničkom sučelju ili u slučaju pogreške u izvršavanju.
20
3.2 GLAVNE FUNKCIONALNOSTI APLIKACIJE
Glavne funkcionalnosti aplikacije se nalaze unutar event strukture koja se nalazi i
izvršava unutar while petlje. Event struktura je odabrana umjesto case strukture pošto donosi
poboljšanje u izvođenju, pogotovo unutar while petlje koja se kontinuirano izvršava. Nedostatak
case strukture se odnosi na potrebu da je uvijek jedan slučaj aktivan. Event struktura omogućava
while petlji da „spava“ ili pauzira (eng.timeout), odnosno ne izvršava neku specifičnu zadaću u
iteraciji petlje. Zbog ove mogućnosti event struktura je prvi izbor u novijim LabVIEW
aplikacijama. Struktura unutar petlje uvijek čeka aktivaciju događaja, da određeni okidač (eng.
trigger) pokrene određeni događaj (eng. event). Okidači aktiviraju događaj prilikom promjene
vrijednosti (eng. on value change) određene varijable, npr. promjena pritiskom boolean gumba
ili promjena vrijednosti određene integer varijable. Ako timeout događaj nije aktivan petlja se
zadržava na prvoj iteraciji dok se ne dogodi definirana promjena vrijednosti. U tom slučaju
aplikacija ne bi mogla kontinuirano izvoditi operacije (poput prikaza grafa signala) zbog
zadržavanja u prvoj iteraicji, gdje event struktura čeka interakciju korisnika. Kako bi se aktivirala
timeout funkcionalnost, strukturi je potrebno fiksnom vrijednosti u milisekundama (ms),
definirati koliko treba čekati prije nego se timeout slučaj dogodi. Na slici 3.4 je jasnije vidljiva
event struktura unutar glavne petlje i timeout slučaj s definiranom vrijednošću od 1000 ms.
Važno je napomenuti da jedan događaj ne može prekinuti drugi događaj u izvršavanju.
Slika 3.4 Timeout događaj
21
3.2.1 Timeout događaj
Pregledom strukture i mogućih funkcionalnosti uređaja, prednosti timeout događaja
iskorištene su maksimalno. Vodeća pretpostavka jest da korisnik prilikom korištenja analizatora
spektra ne mijenja vrijednosti konstantno, to jest svake sekunde. Svaka promjena prilikom
testiranja i mjerenja ovim uređajem je razmotrena i rezultati analizirani. Replika prikaza grafa,
kao glavnog izvora informacija, te vrijednosti s fizičkog ekrana uređaja na ekran računala
korisnika je neophodna. Upravo tu leži najveća iskoristivost timeout funkcionalnosti. Prilikom
svake iteracije while petlje, gdje korisnik ne aktivira specifičan događaj, aplikacija pomoću
upravljačkih programa, nakon transformacije vrijednosti, korisniku daje prikaz grafa ulaznog
signala u okviru definiranih vrijednosti. Prikaz signala je razdvojen u dva zasebna grafička
prikaza. Iako oba prikazuju isti izvor, prvi daje korisniku detaljniji pregled i mogućnost odabira
mjernih jedinica prikaza frekvencije na osi apscisi, dok drugi daje korisniku mogućnost
promjena boje pozadine i krivulje grafa u slučaju potrebe za ispisom prikaza. Uz grafičke prikaze
signala, događaj odrađuje i prikaz slike učitane s USB kamere.
Slika 3.5 Grafički prikaz signala
Upravljačkim programima uređaja poput „ReadWaveformToArray“ aplikacija pomoću
prethodno definirane adrese uređaja (VISA session) dohvaća vrijednosti signala i pretvara ih u
dvodimenzionalno (2D) polje. Polje sadrži vrijednosti frekvencije točaka na X osi (apscisa) i
vrijednosti amplitude točaka na Y osi (ordinata). Takve vrijednosti se spajaju u svežanj (eng.
22
cluster) i prosljeđuju drugom grafu koji ih direktno prikazuje. U svrhu prikaza na prvom grafu,
vrijednosti dvodimenzionalnog polja se raspakiravaju i dodatno obrađuju.. Izvlače se vrijednosti
X osi polja, koje su zaslužne za prikaz frekvencije signala, u zasebno jednodimenzionalno polje
točaka. Za svaku i-tu točku u polju funkcija prolazi kroz for petlju („i“ iteracija). Korisnik na
korisničkom sučelju ima mogućnost odabira prikaza mjernih jedinica frekvencije. Moguć je
prikaz frekvencije u megahercima (MHz) ili gigahercima (GHz). Prolaskom kroz svaku iteraciju
izvodi se preračun točaka X osi u željenu mjernu jedinicu. Ovisno o odabiru korisnika aktivan je
jedan slučaj u case strukturi. Slučaj „True“ za preračun u gigaherce gdje se frekvencijska
vrijednost točke grafa u hercima dijeli sa 109 i slučaj „False“ gdje se frekvencijska vrijednost
točke grafa u hercima dijeli sa 106 i dobiva vrijednost frekvencije u megahercima. Nakon
završetka iteracije kroz for petlju preračunate vrijednosti X dimenzije se ponovno pakiraju (eng.
bundle) s Y vrijednostima amplitude kako bi se ponovno dobilo dvodimenzionalno polje točaka
koje je moguće prikazati na grafu. Gumb „Freeze“ na korisničkom sučelju, svojom boolean
vrijednošću, kontrolira slučaj zadnje case strukture gdje je korisniku omogućeno zamrzavanje
grafa u određenom trenutku. Korisničko sučelje i prikaz grafa, s kontrolom zamrzavanja prikaza,
vidljivi su na sljedećim slikama.
Slika 3.6 Prikaz signala s vrijednostima frekvencije u MHz
23
Slika 3.7 Prikaz signala s vrijednostima frekvencije u GHz
Osnova prikaza drugog grafa je nemodificirano dvodimenzionalno polje. Njegova glavna
značajka je mogućnost promjena pozadinske boje i boje krivulje kao što je vidljivo na slici.
Slika 3.8 Drugi grafički prikaz signala s odabirom boja
24
Pritiskom na „BG Color“ ili „Line Color“ otvara se paleta za odabir boje (eng. color palette).
Modifikacija boje grafa je izvedena pomoću svojstvenog čvora [10] (eng. property node). Ova
klasa se automatski asocira s potprogramom ili aplikacijom koja se modificira i nije potrebno
direktno povezivanje s potprogramom. Property node-om LabVIEW nudi široki spektar odabira
modifikacije dijelova aplikacije, kao na primjer za odabir boje prikaza grafa što je vidljivo na
idućoj slici.
Slika 3.9 Property node
3.2.2 Osnovne funkcionalnosti za upravljanje aplikacijom
Korisničko sučelje se sastoji od dva glavna dijela:
• Osnovnih kontrola i prikaza signala (Slika 3.10)
• Grafičkih kartica (eng. tab) s funkcionalnostima aplikacije
25
Slika 3.10 Osnovne kontrole i informacije o uređaju
Prije pokretanja uređaja na dijelu sučelja s osnovnim kontrolama moguće je konfigurirati
spomenute adrese uređaja i USB kamere ovisno o uređajima s kojima se želi ostvariti veza.
Kontrole imaju postavljene početne vrijednosti na poznate uređaje te se prilikom pokretanja
aplikacije nalaze na poznatim vrijednostima. Uz poznatu sklopku za odabir postavljanja uređaja
na početno stanje postoje gumbi za resetiranje uređaja tijekom izvršavanja i zaustavljanja
izvođenja aplikacije.
„STOP VI“ gumb je zaseban slučaj u event strukturi (eng. event case) kojim se zaustavlja
izvršavanje aplikacije. Prilikom pritiska ovog boolean gumba vrijednost varijable prelazi u
„True“ i šalje se uvjetu za zaustavljanje while petlje. Gumb predstavlja kontrolu koja se mijenja
unutar event strukture, ali upravlja prekidom izvođenja while petlje. Postavljanjem „STOP VI“
gumba kao zasebnog događaja osigurava se da prilikom prekida aplikacije neće izvršiti nikakva
dodatna funkcija. Razlog tome je što se istovremeno može izvršavati samo jedan događaj event
strukture. Ukoliko se zaustavi while petlja aplikacija prekida vezu s uređajem i komunikacija se
završava. Uz prekid pomoću pritiska na gumb, kao što je spomenuto, prekid izvršavanja može
aktivirati bilo koja greška koja se prosljeđuje kao vrijednost kroz „error out“ kanal.
Iskorištavanjem jednostavnog logičkog ILI (eng. OR) uvjeta, kao što je vidljivo u isječku koda
na slici 3.11, osigurava se prekid programa u bilo kojem od dva slučaja.
26
Slika 3.11 Uvjet za prekid izvršavanja aplikacije
„RESET device“ gumb izvršava poseban događaj (eng. event case) gdje se uređaj
reinicijalizira na početno, zadnje poznato, stanje. Isječak koda (Slika 3.12) prikazuje upravljački
program Reset.vi kojemu je jedini potreban ulaz adresa uređaja (VISA session) koji vraća uređaj
na početno stanje. Kako se nakon dužeg izvođenja i mijenjanja postavki na korisničkom sučelju
te pritiska na gumb „RESET device“ uređaj vraća na početno stanje bitno je i vrijednosti kontrola
na korisničkom sučelju reinicijalizirati na njihove početne vrijednosti. Ovime se osigurava
sinkronizacija uređaja i sučelja prilikom resetiranja. Iskorišten je property node koji referencira
čitavu aplikaciju i svojim izvršavanjem sve kontrole vraća na početne vrijednosti.
Slika 3.12 Resetiranje uređaja i vrijednosti varijabli aplikacije
Izvršavanjem ovog slučaja uređaj i korisničko sučelje su vraćeni na početno definirane
vrijednosti.
27
3.2.3 Pregled i način rada event slučajeva
Slično kao i upravljanje osnovnim funkcionalnostima uređaja glavne funkcije analizatora
spektra učahurene su u event strukturu. Aplikacija ukupno sadrži dvadeset i dva različita slučaja,
vidljivih na slici 3.13. Svaki slučaj služi za konfiguraciju uređaja ili aktivaciju neke od njegovih
funkcionalnosti. Na primjer slučajevi za konfiguraciju početne i završne frekvencije prikaza
signala, konfiguraciju prikaza frekvencijskog raspona (eng. span), konfiguraciju amplitude ili
pojasne propusnosti (eng. bandwidth). Dodatno slučajevi za konfiguraciju izgleda prikaza
uređaja poput kontrole sata, anotacije (eng. annotation), prikaza mreže meridijana i paralela
grafa (eng. graticule) te aktivacije prikaza raznih tablica ili izgleda fizičkog ekrana uređaja.
Također uključene su i razne specifične funkcionalnosti poput uključivanja i konfiguracije
markera koje su vezane za samu srž korištenja analizatora spektra kao takvoga.
Slika 3.13 Slučajevi event strukture
Svaki slučaj (eng. event case) se najčešće sastoji od upravljačkog potprograma te ulaznih i
izlaznih varijabli vezanih za taj potprogram. Varijable se unose kroz grafičke kontrole koje su
vidljive na sljedećoj slici, te se one pojavljuju na korisničkom sučelju.
28
Slika 3.14 Primjer slučaja event strukture
Primjer prikazuje ulazne varijable: početnu i krajnju frekvenciju te frekvencijski pomak.
Varijable su kroz kontrole dostupne na sučelju i korisniku omogućuju unos željenih vrijednosti.
Vrijednosti se, uz adresu uređaja i ulaznu vrijednost pogreške, prosljeđuju upravljačkom
potprogramu. Unutar potprograma se odvija komunikacija uređaja na najnižoj razini. Koristeći
alate za komunikaciju s uređajem, nakon sastavljanja upita pomoću proslijeđenih vrijednosti,
uređaju se šalje naredba.
Primjer 1 : Za definiranu početnu frekvenciju od 500 MHz i krajnju frekvenciju prikaza 900
MHz potprogram će sastaviti upit: „FA 500MHZ; FB 900MHZ;“ i zapisati ga u uređaj. Uređaj
na temelju primljene naredbe mijenja prikaz grafa signala na ekranu te je vidljiv samo zadani
frekvencijski raspon (500 MHz – 900 MHz).
Okidanje slučajeva event strukture moguće je postaviti na promjenu vrijednosti (eng. value
change) bilo koje od zadanih kontrola. Neki od slučajeva rade na opisani način, gdje se
promjenom vrijednosti određene varijable aktivira izvođenje čitavog slučaja i uređaj dobiva set
naredbi za srodne promjene. Takav primjer je konfiguracija samog prikaza ekrana (slučaj 7 sa
slike 3.13). Vidljivo je da veliki broj kontrola prilikom promjene njihove vrijednosti služi kao
okidač za slučaj broj 7. Ovdje uređaj prima vrijednost svih varijabli i konfigurira prikaz ovisno o
primljenim vrijednostima. Međutim, ovaj način okidanja nije pogodan za većinu konfiguracija i
aktivacija funkcionalnosti iz razloga što su određene kontrole usko vezane kroz upravljačke
potprograme. Pravi primjer je slučaj broj 14, konfiguracija markera, vidljiv na idućoj slici.
29
Slika 3.15 Slučaj 14: Konfiguracija markera
U ovom slučaju, velik je broj vrijednosti koje ulaze u potprograme koji se, prema dokumentaciji,
moraju izvršavati u točno određenom redoslijedu kako bi se marker pravilno konfigurirao.
Konfiguracija okidanja slučaja kao kod slučaja 7 bi funkcionirala, ali neefikasno. Za
konfiguraciju jednog markera i promjene nekoliko vrijednosti ovaj slučaj bi se nepotrebno
izvršio nekoliko puta prije dobivanja željenog rezultata. Upravo je ovo prvi razlog uvođenja
gumba (eng. button) na korisničkom sučelju. Gumb se također smatra kontrolnom varijablom te
sadrži svoju boolean varijablu. Slučajevi su konfigurirani da prate upravo promjenu varijable
gumba specifičnog za povezani slučaj. Korisnik nakon unosa željenih promjena konfiguraciju
potvrđuje pritiskom na gumb koji aktivira povezani slučaj i unosi promjene u uređaj. Drugi
razlog, isto objašnjiv na primjeru markera, jest unos višestrukih konfiguracija za istu
funkcionalnost. Uređaj omogućava aktivaciju četiri različita markera. Kako bi se osiguralo
zasebno podešavanje potrebno je korištenje gumba. Prilikom okidanja slučaja na promjenu svake
varijable uređaj bi prilikom prelaska između markera prebrisao konfiguracije markera s onom
koje su vrijednosti zadnje unesene na korisničkom sučelju.
30
Primjer 2: Aktivni su markeri 1 (M1) na frekvenciji od 500 MHz i marker 2 (M2) na frekvenciji
od 800 MHz. Prilikom završetka konfiguracije M2 korisnik se vraća na M1 kako bi izmijenio
njegove postavke. Kada bi svaka promjena varijable bila okidač za slučaj 14, prilikom promjene
vrijednosti kontrole „Markers“ sa „Marker 1“ na „Marker 2“, izvodio bi se slučaj 14 i uređaj
zaprimio konfiguraciju koja je prethodno postavljene za M2 te konfigurirao prvi marker s istim
vrijednostima. Uređaj je postavio M1 na identičan položaj M2 i time korisnik gubi prethodni
marker. Nasuprot tome, okidanjem pomoću posebnoga gumba, korisnik ima mogućnost
postavljanja svih vrijednosti bez okidanja ovoga slučaja i time se osigurava neovisnost odvojenih
resursa koji koriste isti slučaj za konfiguraciju.
3.2.4 Dodatno razvijene funkcionalnosti
Upravljački programi nude veliki broj mogućnosti, međutim ipak je riječ o starijem
uređaju koji nema sve prednosti modernih uređaja, nema savršenu komunikaciju s računalom niti
je moguće dohvatiti sve vrijednosti koje su dostupne na ekranu uređaja. Prilikom korištenja
markera, kao jedne od glavnih prednosti uređaja, važno je očitati vrijednosti koje postavljeni
marker na krivulji signala očitava. Službeni upravljački programi ne nude ovu mogućnost.
Aplikacija sadrži potprogram koji omogućava ovu funkcionalnost. Potprogram imena
„ReadMKR(subVI).vi“ se nalazi unutar slučaja 12 koji je vidljiv na idućoj slici.
31
Slika 3.16 Slučaj 12: Očitavanje vrijednosti markera
Na slici 3.16 je vidljivo da potprogram prima naziv markera i adresu uređaja (VISA Refnum in)
kao ulazne vrijednosti te kao izlazne vrijednosti vraća frekvenciju i amplitudu na kojoj se marker
nalazi. Markeri imaju mogućnost automatskog postavljanja na najviši vrh grafa ili promjene
položaja na sljedeći najveći vrh. U ovom slučaju korisnik bez pristupa fizičkom ekranu uređaja
ne može znati gdje se dotični marker i vrh nalaze. Pomoću ovog potprograma korisniku je
omogućeno precizno očitavanje položaja markera. Rad potprograma je vidljiv u isječku koda na
slici 3.17.
32
Slika 3.17 Potprogram za očitavanje vrijednosti markera
Funkcija čitanja vrijednosti se sastoji od zapisivanja upita u uređaj te čitanja odgovora uređaja.
Struktura zvana slijed (eng. sequence structure) je iskorištena kako bi se osiguralo izvršavanje
naredbi u potrebnom redoslijedu. Slijed je podijeljen u manje okvire gdje se odvija djelić koda te
se sljedeći okvir ne može izvršiti dok prethodni ne završi svoje izvođenje. Između okvira s
naredbama dodane su kratke pauze (eng. timeout) funkcije koje osiguravaju da uređaj ima
dovoljno vremena izvršiti prethodnu naredbu nakon zaprimanja upita. U prvom okviru, na
temelju primljenog imena markera, odabire se ime markera koje uređaj prepoznaje i sastavljaju
se upiti. Za prvi marker upit za očitavanje frekvencije markera će izgledati: „MKACT 1;TDF
P;MKREAD FRQ;MKF?;“ te upit za očitavanje amplitude markera: „MKACT 1;TDF P;AUNITS
DBM;MKA?;“. Nakon odgode od 100ms prvi upit se zapisuje u uređaj te se čita odgovor uređaja.
Povratna informacija daje vrijednost frekvencije markera koja se prosljeđuje u indikator imena
„Marker FRQ“. Identičan postupak se ponavlja za drugi upit gdje je dobivena vrijednost
amplitude markera. Izgled rezultata i dio korisničkog sučelja koji je povezan s ovom
funkcionalnošću je vidljiv na slici 3.1.8
Slika 3.18 Očitane vrijednosti markera 2
33
3.3 ZATVARANJE KOMUNIKACIJE S UREĐAJIMA
Nakon prekida izvršavanja while petlje aplikacija prolazi kroz proces zatvaranja
komunikacije s uređajima. U isječku koda (Slika 3.19) su vidljivi VISA upravljački program
uređaja koji prima adresu uređaja s kojim prekida komunikaciju, te IMAQ upravljački program,
koji prima adresu USB kamere s kojom prekida komunikaciju.
Slika 3.19 Upravljački programi za zatvaranje komunikacije
Nakon izvršavanja isječka koda LabVIEW aplikacija više ne komunicira s uređajem te
korisničko sučelje prestaje biti aktivno.
34
4. KORISNIČKO SUČELJE
Korisničko sučelje aplikacije je ustvari prednja ploča (eng. front panel) LabVIEW
programa. Prednja ploča stavlja u funkciju sve kontrole i indikatore implementirane u pozadini
odnosno u kodu aplikacije.
Slika 4.1 Korisničko sučelje aplikacije
35
Korisničko sučelje se sastoji od dva dijela: osnovnih kontrola za upravljanje aplikacijom (Slika
4.2) i kartica (eng. tab) koji sadrže funkcionalnosti uređaja (Slika 4.3).
Slika 4.2 Osnovne kontrole aplikacije
36
Slika 4.3 Kartice s funkcionalnostima aplikacije
Slika 4.3 prikazuje prvu karticu gdje se nalazi sučelje za konfiguraciju uređaja. Pritiskom na
gumbe nakon promjene vrijednosti aktivira se jedan od slučajeva, kao što je objašnjeno u
prethodnome poglavlju. Kartica sadržava funkcionalnosti za konfiguraciju frekvencije (početne i
krajnje), konfiguraciju raspona prikaza uz središnju frekvenciju, konfiguracije amplitude,
propusnosti i prebrisa (eng. sweep). Prebris kontrolira učestalost i način osvježavanja grafa na
ekranu uređaja. Slijede prikazi ostalih kartica s funkcionalnostima.
37
Slika 4.4 Kartica s konfiguracijom i korištenjem markera
Funkcionalnosti markera vidljive na ovoj kartici su objašnjene kroz primjere izrade koda.
Međutim, valja napomenuti da je deaktivaciju markera bilo potrebno odvojiti kao zasebnu
funkcionalnost kako bi se pravilno izvršavala, iz sličnih razloga kao uvođenja gumbi.
38
Slika 4.5 Kartica s funkcionalnostima tragova i vrhova
Uređaj ima mogućnost praćenja tri različita traga (eng. trace) i njihovom međusobnom
konfiguracijom te mogućnost traženja vrhova (eng. peak) i prikaz istih u tablici na ekranu
uređaja. Zbog međusobne povezanosti funkcionalnosti su grupirane u karticu „Trace and peak“.
39
Slika 4.6 Kartica s konfiguracijom prikaza ekrana uređaja
Konfiguracija prikaza ekrana uređaja se odnosi isključivo na fizički ekran uređaja, na čiji se
prikaz može utjecati programski. Na računalu je moguće dohvatiti i prikazati graf signala koji
uređaj prima dok neki noviji uređaji imaju i mogućnost prikaza čitavog ekrana, na primjer putem
dohvata zaslona (eng. screenshot). Zbog ove činjenice uvedena je mogućnost spajanja USB
kamere s aplikacijom.
40
Slika 4.7 Kartica s prikazom slike USB kamere
USB kamera nam omogućuje pregled radne stanice, bilo u svrhu pregleda laboratorija i opreme
na daljinu ili snimanja ekrana uređaja. Uz mogućnost nabave kvalitetne kamere sa slikom visoke
rezolucije i mogućnosti fokusiranja slike ista se može iskoristiti za pregledavanje rezultata na
ekranu uređaja. Time se javlja rješenje nedostatka hvatanja snimke čitavog zaslona (eng.
screenshot) uređaja.
41
Slika 4.8 Kartica s alternativnim prikazom grafa
Alternativni prikaz grafa na Slici 4.8, kao što je već spomenuto, donosi prednost grafičkog
uređivanja prikaza. Promjenom boje izgleda grafa korisniku se omogućuje ekonomičniji ispis
prikaza signala.
42
5. PRIMJERI UPOTREBE
Ovo poglavlje kroz primjere daje pregled često korištenih funkcionalnosti te njihove
rezultate vidljive na ekranu uređaja ili grafu korisničkog sučelja.
Primjer 1: Korištenje osnovnih funkcionalnosti za konfiguraciju prikaza grafa. Promjena početne
i krajnje frekvencije na 500 MHz i 900 MHz u funkcionalnostima „Configure Start/Stop
Frequency“ i odabirom mjernih jedinica na grafu u MHz rezultira prikazom signala iz etera u
definiranom pojasu kao što je vidljivo na grafu korisničkog sučelja.
Slika 5.1 Primjer 1: Promjena frekvencije
43
Primjer 2: Ostajući u istoj kartici promjena konfiguracije u skupu „Configure Center Frequency
and Span“ koja je vidljiva na idućoj slici, odnosno promjena središnje frekvencije na 900 MHz i
ostavljanjem frekvencijskog raspona na 100 MHz, mijenja izgled grafa s prethodnog primjera u
graf koji prikazuje signal u rasponu od 100 MHz oko postavljene središnje frekvencije.
Slika 5.2 Primjer 2: Konfiguracija središnje frekvencije
Slika 5.3: Primjer 2: Rezultat promjene
44
Primjer 3: Korištenje markera i njihova konfiguracija:
Za početak, koristeći se prvom karticom „Main Functions“, slijedi konfiguracija prikaza signala.
Priakz signala je ograničen na frekvencijski raspon od 500 MHz do 900 MHz (slika 5.4). U ovom
području se vrši daljnja konfiguracija markera.
Slika 5.4: Konfiguracija raspona signala
Zatim u kartici „Markers“ konfigurirana su tri markera. Marker 1 (M1) konfiguriran je na način
da je opcija markera postavljena na „Marker on Frequency“ koja aktivira postavljanje markera
na određenu frekvenciju i unesena frekvencija od 900MHz (Slika 5.5). Konfiguracija „Marker
function“ je vizualno i programski odvojena od osnovne konfiguracije markera iz razloga što
određene funkcionalnosti markera, ukoliko su izvršene zajedno s osnovnom konfiguracijom,
mogu poništiti određene postavke. Pravi primjer je opcija „Center frequency“ čijim će odabirom
unešena frekvencija postati središnja i marker biti postavljen na središnju frekvenciju. Međutim,
ova funkcionalnost će zbog postavljanja nove središnje frekvencije također utjecati na prikazani
frekvencijski raspon na ekranu. Drugi razlog odvajanja ove funkcionalnosti je opcija „Next
Highest Peak“ gdje se omogućava prebacivanje markera na svaki sljedeći najveći vrh. U slučaju
da je ova funkcionalnost ostala vezana na osnovnu konfiguraciju uređaj je uvijek mogao pronaći
samo drugi najveći vrh i nije mogao tražiti daljnje vrhove. Odvajanjem se dobilo i na
intuitivnosti korištenja i osiguralo pravilno izvođenje funkcionalnosti.
45
Slika 5.5 Konfiguracija Markera 1
Na slici je uz konfiguraciju markera vidljiva i funkcionalnost očitavanja markera koja potvrđuje
da se M1 zaista nalazi na frekvenciji od 726 MHz te očitava vrijednost amplitude na položaju
markera.
Konfiguracija drugog markera (M2) je vidljiva na slici 5.6. Bez korištenja „Marker function“
funkcionalnosti M2 je postavljen na središnju frekvenciju trenutnog raspona (500 – 900 MHz).
Odabirom „Marker 2“ i opcije „Activate Marker“ aktivira se drugi marker. Marker će biti
aktiviran i postavljen na središnju frekvenciju trenutnog raspona. Za razliku od opcije „Center
Frequency“ koja utječe na frekvencijski raspon uređaja, odabrana opcija ne utječe na prikaz
frekvencijskog raspona. Dokaz je očitanje markera gdje je jasno vidljivo da je marker postavljen
na 700 MHz.
46
Slika 5.6 Primjer 3: Konfiguracija Markera 2
Konfiguracija trećeg markera (M3) je vidljiva na slici 5.7. M3 je konfiguriran da pronađe najviši
vrh u zadanom frekvencijskom rasponu. Za to je potrebno prvobitno aktivirati M3 koristeći
opciju „Marker on frequency“ u osnovnoj konfiguraciji markera. Ta postavka je preduvjet za
korištenje funkcionalnosti „Marker function“. Odabirom trećeg markera i opcije „Highest peak“
te pritiskom na gumb „Peak search“ u zasebnoj sekciji konfiguracije markera, marker je
prebačen na najviši vrh u zadanom frekvencijskom rasponu. Očitanjem vrijednosti markera
vidljivo je da se najviši vrh signala nalazi na frekvenciji od 804 MHz.
47
Slika 5.7 Konfiguracija Markera 3
Prikaz na ekranu uređaja je vidljiv na slici 5.8. Ovaj prikaz sadrži graf s lokacijama markera kao
i vrijednosti markera, koje potvrđuju točnost funkcije čitanja vrijednosti markera. Vrijednosti
markera su ispisane kao posljedica aktivacije funkcije tablice markera (eng. Marker Table) na
korisničkom sučelju aplikacije. Rezultat je prikaz grafa na gornjoj polovici ekrana uređaja i
vrijednosti markera na donjoj polovici ekrana. Vidljivo je da su frekvencijske vrijednosti
identične dok amplituda može varirati. Odstupanja u amplitudi su posljedica konstantne
promjene ulaznog signala. Nemoguće je uslikati uređaj u istom trenutku kad se radi i dohvat
vrijednosti niti utjecati na sam signal koji je zaprimljen iz etera. Vidljivo je da je funkcija
dohvatila vrijednosti s minimalnim odstupanjima u tom trenutku.
48
Slika 5.8 Primjer 3: Tablica markera na ekranu uređaja
Vrijednosti dobivene očitavanjem markera kroz korisničko sučelje aplikacije su:
M1 : F1 = 726 MHz i A1 = -55.49 dBm , za specifičnu konfiguraciju frekvencije.
M2 : F2 = 700 MHz i A1 = -64.41 dBm , za konfiguraciju na središnju frekvenciju raspona.
M3 : F3 = 804 MHz i A1 = -37.76 dBm , za konfiguraciju najvišeg vrha signala u rasponu.
Primjer 4: Testiranje funkcionalnosti izmjene prikaza ekrana uređaja. Pod karticom „Display,
Window, Line and Thresholds“ korisniku je omogućena manipulacija ekranom uređaja i
prikazom. Moguće su izmjene poput uključivanja i konfiguracije pomoćnih linija, izmjene
prikaza i korištenja pomoćnih tablica ili alternativnog prikaza. U ovom primjeru, kao što je
vidljivo na slici 5.9 isključen je prikaz sata i mreže meridijana i paralela grafa te uključena
pomoćna limitirajuća linija (eng. limit line). Rezultat je modificirani prikaz (slika 5.10), gdje su
vidljive razlike u odnosu na prethodni prikaz ekrana na slici 5.8.
49
Slika 5.9 Primjer 4: Konfiguracija ekrana uređaja
Slika 5.10 Primjer 4: Rezultat izmjene prikaza ekrana
50
Nakon toga uključen je prozorski prikaz (eng. window mode), vidljiv na slici 5.12, gdje se
omogućuje praćenje dva traga (signala) istovremeno. Međutim, samo je jedan trag moguće
aktivno pratiti.
Slika 5.11 Primjer 4: Uključivanje prozorskog prikaza
Slika 5.12 Primjer 4: Prozorski prikaz
51
6. LABVIEW WEB TOOL I POVEZIVANJE PREKO INTERNETA
Zadnji korak pri izradi aplikacije je omogućavanje pristupa uređaju s udaljene lokacije
preko interneta. U ovu svrhu iskorišten je LabVIEW ugrađeni alat Web Publishing Tool koji
ujedno služi kao server koji drži aplikaciju aktivnu na internetu i izvršava je lokalno. LabVIEW
Web Publishing Tool je alat za objavu, kontrolu i pregled korisničkih sučelja LabVIEW
aplikacija. Način za objavu aplikacija je moguće pronaći na National Instruments službenim
stranicama [11]. Instalacija samoga alata se vrši automatski kao dio instalacije LabVIEW
softverskog paketa. Za pregled aplikacija objavljenih pomoću ovog alata potrebno je koristiti
neki od internet preglednika:
• Internet Explorer
• Mozilla Firefox (verziju 51 ili stariju)
• Google Chrome (verziju 41 ili stariju)
• Opera
Također je potrebno instalirati i LabVIEW Run-Time engine paket, koji je potrebnan za
internetski pregled i izvršavanje aplikacije. On prilikom instalacije automatski instalira potrebne
dodatke za internetski preglednik. U slučaju da korisnik ima krivu verziju preglednika, dodatak
neće biti instaliran [12] automatski i potrebno ga je ručno skinuti [13] i instalirati nakon vraćanja
internetskog preglednika na potrebnu verziju. Nakon postavljanja okruženja na način opisan u
dokumentaciji, način objave je vidljiv na idućim slikama koristeći aplikaciju za upravljanje
analizatorom spektra kao primjer.
Odabirom opcije „Tools > Web Publishing Tool“ iz alatne trake LabVIEW softverskog
paketa otvara se sučelje vidljivo na slici 6.1. U ovom koraku bitno je kliknuti na gumb „Start
Web Server“ koje će pokrenuti funkcionalnost web servera. Nakon ovoga, server se izvršava u
pozadini kao zaseban proces računala i održava sve konfigurirane stranice dostupnima na
internetu. Važno je napomenuti da je za pristup određenoj aplikaciji važno držati aplikaciju
pokrenutu u LabVIEW softverskom paketu na lokalnom računalu gdje se nalazi i izvodi funkcija
servera.
52
Slika 6.1 Web Publishing Tool
Nakon pokretanja servera nastavlja se konfiguracija sa osnovnim postavkama vidjivima na slici
6.2. Potreban je odabir LabVIEW aplikacije u prozor imena „VI name“ gdje se određuje koju
aplikaciju alat objavljuje na internet. Slijedi konfiguracija načina pregleda stranice (eng. viewing
mode) gdje korisniku omogućujemo jedan od tri moguća načina interakcije:
• Embedded – interaktivan prikaz koji omogućava preuzimanje kontrole nad
aplikacijom i njeno korištenje
• Snapshot – statičan prikaz slike korisničkog sučelja (nema interakcije)
• Monitor – kontinuirani prikaz slike korisničkog sučelja (nema interakcije)
53
Slika 6.2 Osnovna konfiguracija aplikacije i pregleda
Odabirom ugrađenog načina (eng. embedded mode) omogućava korisniku kontrolu aplikacije s
udaljene lokacije. Konfiguracija omogućuje da korisnik mora zatražiti kontrolu nad aplikacijom
prije njenog korištenja (desnim klikom na korisničkom sučelju unutar internetskog preglednika).
Potrebno je omogućiti i potporu za IMAQ alate kako bi upravljački programi USB kamere radili
i prikazivali sliku unutar internetskog preglednika. S desne strane prozora konfiguracije nalazi se
pretpregled (eng. preview) izgleda korisničkog sučelja unutar preglednika. Klikom na strelicu
„Next >“ nastavlja se konfiguracija HTML (eng. HyperText Markup Language) stranice vidljiva
na slici 6.3.
54
Slika 6.3 Konfiguracija HTML formata
Konfiguracija HTML formata se svodi na naslov i odabir zaglavlja (eng. header) i podnožja
(eng. footer) stranice. Početne vrijednosti su zadane u poljima za unos. Naslov stranice je
izveden iz imena datoteke aplikacije, u primjeru na slici 6.2 iz imena „HP_8594E_online.vi“.
Zaglavlje i podnožje sadrže probne rečenice koje pomažu u vizualizaciji njihovog položaja u
pretpregledu stranice. Preporučljivo je da naslov stranice sadrži deskriptivan i intuitivan sadržaj
koji će korisniku prilikom otvaranja adrese u internetskom pregledniku dati do znanja nad čime
dobiva kontrolu. Za upravljanje analizatorom spektra odabran je naslov koji sadrži model uređaja
i funkciju aplikacije te su maknuti nepotrebni sadržaji zaglavlja i podnožja. Naslov, vidljiv na
slici 6.3, glasi „HP 8594E Online Spectrum Analyzer“ te je promjena izgleda stranice jasno
vidljiva u pretpregledu. U zaglavlju se nalaze upute koje korisniku pojašnjavaju način
preuzimanja kontrole nad aplikacijom. Uneseni tekst glasi „To control the instrument, request
control by the right-click somewhere on the panel“ i navodi korisnika na preuzimanje kontrole i
korištenje aplikacije unutar internetskog preglednika.
55
Pritiskom na gumb sa strelicom „Next >“ konfiguracija prelazi na svoje krajnje sučelje vidljivo
na slici 6.4.
Slika 6.4 Završavanje i spremanje konfiguracije
Alat za konfiguraciju stranicu sprema lokalno kao datoteku u .html formatu na lokaciju zapisanu
u „Local directory to save webpage“ prozoru. Odabrano ime datoteke pomaže razlikovati
različite stranice i preporučuje se odabir intuitivnog imena. Odabirom opcije „Save to Disk“
konfiguracija stranice se sprema na lokalno računalo (Slika 6.5) te server koristi istoimenu
datoteku za omogućavanje udaljenog pristupa.
56
Slika 6.5 Lokalno spremište konfiguracija
Nakon spremanja konfiguracije, alat ispiše web adresu preko koje se moguće spojiti na aplikaciju
unutar lokalne mreže. Adresa se sastoji od imena servera (računala) i imena aplikacije.
Slika 6.6 Lokalna internet adresa aplikacije
Zbog konfiguracije mreže fakulteta, spajanje na aplikaciju preko ove automatski definirane
adrese moguće je samo unutar lokalne mreže laboratorija. Zbog zatvorenosti mreže, radi pristupa
aplikaciji s računala izvan lokalne mreže, potrebno je dodatno konfigurirati mrežni ruter i
rezervirati specifičnu IP (eng. Internet Protocol) adresu i internetski priključak (eng. port) i
pridružiti ih računalu na kojem se nalazi server. Ovime se osigurava da određena IP adresa bude
rezervirana za serversku funkciju aplikacije i da se vremenom ne promijeni. Internetski
priključak omogućuje otvaranje mreže prema van specifično za računalo koje će koristiti
istoimeni priključak. U ovom slučaju, a zbog takve konfiguracije fakultetske mreže, prilikom
spajanja na aplikaciju iz vanjske mreže, ne smije se koristiti internetska adresa koja je automatski
57
dobivena Web Publishing Tool alatom, već druga IP adresa u kombinaciji s internetskim
priključkom te imenom aplikacije: http://193.198.102.250:18401/HP8594E_online.html
Slika 6.7 daje prikaz izgleda aplikacije u internetskom pregledniku. Jasno je vidljivo da je
korisničko sučelje ostalo identično, uz dodane kontrole za pokretanje i zaustavljanje aplikacije u
obliku LabVIEW alatne trake pri vrhu sučelja te ranije spomenuti naslov dodan u HTML format.
Slika 6.7 Izgled korisničkog sučelja u internetskom pregledniku Mozilla Firefox
Korisnik preuzima kontrolu nad aplikacijom desnim klikom na korisničko sučelje te klikom na
opciju „Request Control of VI“ (Slika 7.8).
Slika 6.8 Zatraživanje kontrole nad aplikacijom
http://193.198.102.250:18401/HP8594E_online.html
58
Ovime server prepušta kontrolu korisniku koji slobodno može koristiti sve funkcionalnosti
aplikacije i komunicirati s analizatorom spektra koristeći internetsku vezu. Serverska strana
može u bilo kojem trenutku, istim postupkom na lokalnom računalu, zatražiti i preuzeti kontrolu
nad aplikacijom. Korisnik također može u bilo kojem trenutku prepustiti svoju kontrolu nad
aplikacijom.
Postupak spajanja na lokalnu aplikaciju s udaljenog računala putem interneta je ovime
omogućen. Korisnik na raspolaganju ima čitavu aplikaciju i samim time pristup istim
funkcionalnostima uređaja kao da je u laboratoriju.
59
7. ZAKLJUČAK
Zadatak diplomskog rada bio je razviti aplikaciju, koristeći LabVIEW programski jezik,
koja uspostavlja kontrolu nad HP 8594E radiofrekvencijskim analizatorom spektra, te sukladno
mogućnostima replicirati glavne funkcionalnosti uređaja i osigurati njegovu kontrolu putem
interneta. Novostečeno znanje, uz nova znanja iz područja analize signala temeljena na
proučavanju i korištenju analizatora spektra, uklopljeno je, u programski proizvod koji je
rezultirao programskim sučeljem pogodnim za korištenje u znanstvenom i edukativnom
području.
Sagledavajući aplikaciju kao krajnji proizvod ovoga rada, evidentno je kako je rad
uspješno implementirao postojeće mogućnosti uređaja u aplikaciju koja uspješno komunicira s
analizatorom spektra i lokalno i preko interneta. Proučavanjem rada dobiva se pregled osnovnih
znanja potrebnih za razvoj u LabVIEW programskom okruženju i način na koje je to znanje
pretočeno u programski kod. Vidljiv je i izgled korisničkog sučelja kao posljedice grafičkog
programiranja i način prijenosa istoga sučelja u format pogodan za objavu i komunikaciju na
internetu. Kroz opisane primjere, vidljivi su neki od karakterističnih slučajeva korištenja uređaja
te kako promjene na korisničkom sučelju, kroz kod u pozadini, utječu na rezultate koje analizator
spektra prikazuje. Priloženi primjeri korištenja aplikacije, ilustrirali su uspješnu izvedbu ovoga
rada.
60
8. LITERATURA
[1] LabVIEW 2016 softverski paket, s Interneta,
http://www.ni.com/download/labview-development-system-2016/6055/en/ , siječanj 2016.
[2] Upravljački programi analizatora spektra HP8594E, s Interneta,
http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=1855 , 2014.
[3] „8590 E-series and L-series User's Guide“, s Interneta,
https://web.sonoma.edu/esee/manuals/08590-90301.pdf, srpanj 1998.
[4] „8590 E-series and L-series Programmer's Guide“, s Interneta,
https://www.naic.edu/~phil/hardware/spectrumAnalyzer/hpSpecAna_ProgMan_08590-
90235.pdf , lipanj 1995.
[5] National Instruments KnowledgeBase: “Loops and Structures“, s Interneta,
http://zone.ni.com/reference/en-XX/help/371361P-01/lvconcepts/loops_and_structures/ , ožujak
2017.
[6] Keysight Technologies portable spectrum analyzer: „Overview and Document Library“,
https://www.keysight.com/en/pd-1000002155%3Aepsg%3Apro-pn-8594E/portable-spectrum-
analyzer-9-khz-to-29-ghz?nid=-32440.536881805&cc=HR&lc=eng
[7] „Test Equipment Solution's Datasheet“, s Interneta,
http://www.testequipmenthq.com/datasheets/Agilent-8594E-Datasheet.pdf
[8] PCI, IEEE 488 GPIB Instrument Control Device, s Interneta,
http://www.ni.com/en-rs/support/model.pci-gpib.html
[9] National Instruments KnowledgeBase: „Connect Hardware via GPIB“, s Interneta,
https://www.ni.com/getting-started/set-up-hardware/instrument-control/gpib-connect
[10] National Instruments KnowledgeBase: „Property Node“, s Interneta,
http://zone.ni.com/reference/en-XX/help/371361K-01/glang/property_node/ , lipanj 2013.
[11] National Instruments KnowledgeBase: „Publishing VI to Web Page“ , s Interneta,
http://digital.ni.com/public.nsf/allkb/5874283E968ADB33862573210071D43A
http://www.ni.com/download/labview-development-system-2016/6055/en/http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=1855https://web.sonoma.edu/esee/manuals/08590-90301.pdfhttps://www.naic.edu/~phil/hardware/spectrumAnalyzer/hpSpecAna_ProgMan_08590-90235.pdfhttps://www.naic.edu/~phil/hardware/spectrumAnalyzer/hpSpecAna_ProgMan_08590-90235.pdfhttp://zone.ni.com/reference/en-XX/help/371361P-01/lvconcepts/loops_and_structures/https://www.keysight.com/en/pd-1000002155%3Aepsg%3Apro-pn-8594E/portable-spectrum-analyzer-9-khz-to-29-ghz?nid=-32440.536881805&cc=HR&lc=enghttps://www.keysight.com/en/pd-1000002155%3Aepsg%3Apro-pn-8594E/portable-spectrum-analyzer-9-khz-to-29-ghz?nid=-32440.536881805&cc=HR&lc=enghttp://www.testequipmenthq.com/datasheets/Agilent-8594E-Datasheet.pdfhttp://www.ni.com/en-rs/support/model.pci-gpib.htmlhttps://www.ni.com/getting-started/set-up-hardware/instrument-control/gpib-connecthttp://zone.ni.com/reference/en-XX/help/371361K-01/glang/property_node/http://digital.ni.com/public.nsf/allkb/5874283E968ADB33862573210071D43A
61
[12] National Instruments KnowledgeBase: „Missing plugin error“, s Interneta,
http://digital.ni.com/public.nsf/allkb/151BE12C055F57CE86257043006CB4B3
[13] National Instruments Downloads: „LabView Run-Time Engine“, s Interneta,
http://search.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/catnav:du/q/Run-
Time%20Engine%20LabVIEW%20windows/
http://digital.ni.com/public.nsf/allkb/151BE12C055F57CE86257043006CB4B3http://search.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/catnav:du/q/Run-Time%20Engine%20LabVIEW%20windows/http://search.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/catnav:du/q/Run-Time%20Engine%20LabVIEW%20windows/
62
9. POPIS OZNAKA I KRATICA
dBm – decibel-milliwatts
GHz – Gigahertz
GPIB – General Purpose Interface Bus
HP – Hewletz-Packard
HP-IB – Hewlett-Packard Interface Bus
HTML – HyperText Markup Language
IMAQ – Image acquisition
IP – Internet Protocol
MAX – Measurement and Automation Explorer
MHz – Megahertz
NI – Nation Instruments
RF – Radio frequency
USB – Universal Serial Bus
VI – Virtual Instrument
VISA – Virtual Instrument Software Architecture
VISAIC – Virtual Instrument Software Architecture Interactive Control
63
SAŽETAK
Korištenjem LabVIEW programskog jezika, razvijena je aplikacija koja upravlja
analizatorom spektra HP8594E. Programski kod aplikacije omogućuje upravljanje najčešće
korištenim funkcionalnostima te mjerenja korištenjem nekih već dostupnih upravljačkih
potprograma ili funkcija koje su razvijene u sklopu ovoga rada. Upravljanje analizatorom spektra
također je omogućeno i na daljinu, preko interneta.
Ključne riječi: LabVIEW, analizator spektra, računalno upravljanje, udaljeni pristup
SUMMARY
Using the LabVIEW programming language, a application for a computer-based control
over an HP 8594E spectrum analyzer was developed. This application enables control and usage
of the most common functionalities and measurements that this device has to offer. That was
accomplished using either the available drivers or by developing new functions. The application
also enable a remote control over the analyzer bz connecting to it over the Internet.
Keywords: LabVIEW, spectrum analyzer, computer-based control, remote access
64
PRILOG 1