64
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€¦ · CASE struktura (eng. case structure) – sastoji se od dva ili više pod-dijagrama. Samo jedan pod-dijagram je vidljiv i samo jedan

  • 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