Softverski alati Zoran Miloevi
VISOKA KOLA TEHNIKIH STRUKOVNIH STUDIJA AAKSPECIJALISTIKE
STRUKOVNE STUDIJE
STUDIJSKI PROGRAM:INDUSTRIJSKO INENJERSTVO
LabVIEW
ZADACI I OSNOVE LabVIEW-a
(praktini seminarski rad iz Softverskih alata-LabView)
Student: Profesor:
Zoran Miloevi 5/12-c Prof. dr Vlade Uroevi
U aku, april 2013. godine
SADRAJ
1.UVOD31.1 Osnovni koncepti LabVIEW-a42.ZADACI6ZADATAK BR.
16ZADATAK BR. 28ZADATAK BR. 310ZADATAK BR. 412ZADATAK BR.
514ZADATAK BR. 617ZADATAK BR. 720ZADATAK BR. 8233.ZAKLJUAK25
1. UVOD
LabVIEW je programski paket posebno izraen tako da
dozvoljavabrzu ugradnju kompjuterskog prikupljanja podataka i
sistema za njihovuanalizu koji mogu biti iroko prilagoeni potrebama
korisnika paketa.Programski paket se odlikuje velikim mogunostima
ali se znatnorazlikuje od bilo kog programskog paketa sa kojim se
programer moesresti u svom dosadanjem radu.
LabVIEW je hijerarhijski program, u smislu da se bilo koji
virtuelni instrument (bilo koja potpuna funkcionalna celina naziva
se virtuelni instrument i uvek se oznaava sa VI) koji se porgramira
moe brzo pretvoriti u modul koji moe biti potprogram drugog VI. To
je u potpunosti analogno konceptu programiranja kod konvencionalnih
programskih jezika.
1.1 Osnovni koncepti LabVIEW-a
Kao to je pomenuto ranije postoje dva izgleda bilo kog
LabVIEW-avirtuelnog instrumenta. To su block dijagram i front
panel.
Front panel je ono to korisnik vidi pri radu sa mernim
sistemom.On sadri kontrole i indikatore. LAbVIEW ima vrlo bogat
menu jednih idrugih (ak se moe dizajnirati I sopstvena kontrola ili
indicator) I toomoguava iroko podruje mogunosti programera.
Blok dijagram predstavlja pozadinu njegove prednje ploe
kojaprikazuje kako su sve kontrole i indikatori povezani meusobno
kao iskrivene module gde se odvija sva programska obrada podataka.
Izgleda na neki nain poput elektronikog ematskog dijagrama i
baremje konceptualno oien na isti nain. Takav prikaz esto izgleda
vrlosloen kao u elektronikoj emi stvarnog elektronikog
mernoginstrumenta. Stoga je jedno od najvanijih svojstava u
LabVIEWprogramiranju odrediti tajming i redosled operacija. U
konvencionalnomprogramskom jeziku to je ostvareno redosledom
naredbi i korienjemrazliitih programskih petlji (FOR, WHILE itd.).
LabVIEW radi na potpunoisti nain, jedino to je nain na koji se
odreuje redosled izvrenjanaredbi prefinjeniji. Koncept korien u
LabVIEW-u je dataflow (radnjase na nekom elementu izvrava kad su
svi njegovi ulazi naraspolaganju). To znai paralelnost u izvrenju
radnje (ili barempseudoparalelizam). Uobiajeno izvravanje radnji je
s leva na desno jersu ulazi obino na levom delu elementa a izlazi
na desnom delu.Meutim, to nije zahtev ve samo stvar dogovora.
Programske petlje iredosled kojim se odvijaju naredbe odvija se
pomou struktura kojeizgledaju poput knjiga s brojevima stranica ili
kao odseci filmske trake.
2. ZADACIZADATAK BR. 1 1. Kreirati virtualni instrument koji vri
razdvajanje elemenata niza napozitivne i negativne i formira dva
nova niza: niz pozitivnih i niznegativnih brojeva.
Reenje:1. Izabrati element Array (niz) Controls > Array &
Clusters > Array2. Odabrati element Digital control - Controls
> Numeric > Numeric control3. Postaviti element Numeric
control u niz4. Odabrati Select tool iz Tools palete i poveati niz
tako da se prikau 8 elemenata, kao slici:
5. Postaviti dva niza Pozitivni i Negativni niz analogno
prethodnim koracima, samo umesto numerikih kontrola postaviti
numerike indikatore.6. U blok dijagramu spojiti elemente kao na
slici.
7. Initialize Array.vi Functions > Array >Initialize
Array.vi koristi se da bi seincijalizovao novi niz.8. Build array
Functions> Array >Build array.vi koristi se za kreiranje
novog niza.9. Less Than 0? Functions > Comparison > Less than
0? koristi se za ispitivanje elemenata zadatog niza, da li su manji
od nule.10. Na ivicu For petlje postaviti pokaziva mia, kliknuti na
desni taster i odabratiopciju Add Shift Register(dva puta). Zatim
spojiti elemente kao na slici.
ZADATAK BR. 2
2. Kreirati virtualni instrument koji vri razdvajanje elemenata
niza koji su vei od 2 I manji od 4 u jedan niz, raunajui i 2 i 4, a
ostali u drugi. Reenje:1. Izabrati elemenat Array (niz) Controls
> Array & Clusters > Array2. Odabrati element Digital
control - Controls > Numeric > Numeric control3. Postaviti
element Numeric control u niz4. Odabrati Select tool iz Tools
palete i poveati niz tako da se prikau 8 elemenata, kao slici:
5. Postaviti dva niza Brojevi veci od dva I manji od cetri I
Ostali analogno prethodnim koracima, samo umesto numerikih kontrola
postaviti numerike indikatore.6. U blok dijagramu spojiti elemente
kao na slici:
7.Array.vi Functions> Array >Initialize Array.vi koristi
se da bi seincijalizovao novi niz.8. Build array Functions>
Array >Build array.vi koristi se za kreiranje novog
niza.9.Potrebno je koristiti funkciju Functions >Comparation
>In Range and Coerce da bi se izdvojili brojevi u traenom
opsegu.10. Desnim klikom da pomenutu funkciju potrebno je ekirati
dve opcije Includeupper limit i Include lower limit, i postaviti
dve konstante: 2 i 4 kao granice zadatog opsega11. Na ivicu For
petlje postaviti pokaziva mia, kliknuti na desni taster i
odabratiopciju Add Shift Register(dva puta). Zatim spojiti elemente
kao na slici.
ZADATAK BR. 3
3. Projektovati virtuelni instrument koji generie sluajne
brojeve uintervalu [0,1] i prikazuje ih na grafiku. Zatim napraviti
da se omogui on-line vremenska kontrola generisanja brojeva.
Reenje:1. Kreirati novi Virtualni Istrument .2. Postaviti
aktivanu Control Paletu.3. Izabrati Stop Button iz Controls >
Boolean palete.4. Postaviti ga na front panel.5. Kreirati garf
(waveform chart) izborom Waveform Chart iz Controls
Graphpodpalete6. Postaviti kontrolu na front panel i imenovati je
sa Random Plot.7. Za promenu skale grafa selektovati Operating tool
iz Tools Palete. Dvaput kliknuti miem na y-osu i promijeniti skalu
sa [0,1].
- Blok dijagram - BLOCK DIAGRAM1. Izabrati funkciju Random
Number (01) iz Functions Numeric palete.Ova funkcija generie
sluajne brojeve u intervalu (0-1) kao ulaz u VI.2. Postaviti
funkciju Random Number na blok dijagram.3. Izabrati While Loop iz
Functions > Structures podpalete. While petlja izvrava kod
unutar svojih granica sve dok se ne pritisne dugme STOP na Front
panelu.4. Postavimo pointer na mjesto dijagrama gde elimo da pone
petlja i prevuemo miem preko dela koda za koji elimo da bude u
While petlji. U ovom sluaju emo obuhvatiti funkciju Random Number,
Stop Button i Random Plot dijagram.5. Sauvati VI pod nazivom
Generisanje brojeva.vi
- On-line vremenska kontrola1. Iz Controls Numeric izabrati
kontrolu Dial, postaviti je na front panel iimenovati je sa
Kanjenje.2. U Blok dijagramu postaviti terminal Kanjenje unutar
While petlje i povezati ga sa Wait Until Next ms Multiple 3.
Startovati VI.
ZADATAK BR. 4
4. Napraviti virtuelni instrument koji generie 100 sluajnih
brojevavrednosti od 0 do 100 i prikazuje ih na grafiku. Odrediti
najvei dobijenibroj i prikazati ga na Front panelu.
Reenje:1. Na Front panelu postaviti grafik iz Controls >Graph
>Waveform Chart.2. Postavljeni grafik imenovati sa Random Data3.
Zatim postaviti jedan numeriki indikator iz Controls >Numeric
>NumericIndicator.4. Postavljeni indikator nazvati Max clan.
5. Prei u Blok dijagram.6. Na Blok dijagram postaviti For petlju
iz Functions >Structures >For loop.7. Pomou For petlje
obuhvatiti ikonicu Waveform Chart.8. U gornjem levom uglu For
petlje stoji Loop count. Postaviti numerikukonstantu 100, koja
definie broj izvravanja For petlje.9. Postaviti funkciju Functions
>Numeric >Random number (0-1) unutar For petlje10. Takodje,
postaviti unutar For petlje i funkciju Functions >Comparation
>Max & Min, a sa leve strane For petlje postaviti numeriku
konstantu, koja e predstavljati poetnu vrednost pri uporedjivanju
dva broja.11. Desnim klikom mia na ivicu For petlje postaviti jedan
Shift registar, odabiromopcije iz padajueg menija Add Shift
Register.12. Povezati postavljene elemente kao na slici:
ZADATAK BR. 5
5. Napraviti program koji rauna kvadratni koren iz zadatog broja
i kojie u sluaju zadavanja negativnog broja prijaviti odredjenu
porukukorisniku.
Reenje:1. Kreirati novi VI.2. Na Front panelu postaviti jednu
numeriku kontrolu i jedan indikator, i nazvati ih Zadati broj i
Kvadratni koren.
3. U Blok dijagramu postaviti Case strukturu Functions >
Structures.4. Izabrati funkciju Greater or Equal To 0?, iz
Functions >Comparation5. Izabrati funkciju Square Root iz
Functions->Numeric, koja rauna kvadratnikoren zadatog broja i
postaviti je unutar Case strukture(sluaj True).
6. Unutar Case strukture u sluaju False postaviti funkciju
Display Message to User, koja se nalazi u
Functions->Time&Dialog. Unutar postavljene funkcije upisati
poruku korisniku: GREKA! Negativan broj. Takodje, postaviti i
numeriku konstantu koja e u numeriki indikator upisati vrijednost
-999999, kao znak da dobijeni rezultat nije validan.
ZADATAK BR. 6
6. Kreirati program koji vri operacije sabiranja i oduzimanja
nad dva unesena broja, i rezultat ispisuje na front panelu.
Tasterom omoguiti izbor eljene operacije
Reenje:1. Kreirati novi VI.2. Na Front panelu postaviti dve
numerike kontrole i jedan indicator.3. Zatim postaviti taster
Boolean iz Controls > Boolean > Slide Switch.
4. U Blok dijagramu postaviti Case strukturu Functions >
Structures.Izabrati funkciju Add iz Functions > Mathematics >
Numeric kojarauna zbir dva ili vise zadatih brojeva i postaviti je
unutar Case strukture(sluaj True) I povezati kao na slici.
5. Unutar Case strukture u sluaju False postaviti funkciju
Subtract iz Functions > Mathematics > Numeric koja rauna
razliku dva ili vise zadatih brojeva I povezati kao na slici.
ZADATAK BR. 7
7. Napisati program u LabVIEW-u, gde na osnovu izbora korisnika
rauna zbir, razliku, proizvod ili deljenje dva broja dobijamo
trazeni broj. Reenje:1. Na Front panelu postaviti dve numerike
kontrole I nazvati ih Broj 1 I Broj 2 i jedan indicator I nazvati
ga Rezultat.2. Zatim u dodati numericki kontroler tipa Horizontal
Pointer Slide iz Controls > Numeric3. Promeniti opseg skale
kontolera tako da se opseg kree od 0 do 3.4. Pored brojeva na skali
(0, 1, 2 i 3) uneti oznake koji poloaj predstavlja koju operaciju.
Birati:0: sabiranje1: oduzimanje2: mnozenje3: deljenje
4. U Blok dijagramu postaviti Case strukturu.5. Povezati
kontroler Slide na ulaz Case strukture tj. na uslovni terminal
iste.Obratiti panju na promenu boje uslovnog terminala usled
prilagodjavanja vrsti podataka vezanim za njega. 6. U okviru iste
strukture promeniti i nazive okvira, tj. pored dva postojea (0 i 1)
dodati jo dva sluaja (2 i 3). To se postie: - strelicom doi do
oznake sluaja 1 - desnim klikom na strelicu otvara se meni u kojem
treba birati opciju AddCase After nakon ega se pojavljuje i sluaj 2
u datoj case strukturi. Ponovitijo jednom ceo postupak kako bi se
pojavio i sluaj 3.Na taj nain dobijena je case struktura sa 4
uslova:0 - sabiranje1 - oduzimanje2 - mnozenje3 deljenjePostaviti
da sluaj 0 bude Default.
- Strelicama se zaustaviti na prozoru uslova "0". Obzirom da
ovaj uslov znai"sabirati", u okvir "0" treba postaviti numeriku
funkciju Add - Strelicom prei na prozor uslova "1". Obzirom da ovaj
uslov znai "oduzimati", u okvir "1" treba postaviti numeriku
funkciju Subtract - Strelicom prei na prozor uslova "2". Obzirom da
ovaj uslov znai "mnozenje",u okvir "2" treba postaviti numeriku
funkciju Multiply - Strelicom prei na prozor uslova "3". Obzirom da
ovaj uslov znai "deljenje", uokvir "3" treba postaviti numeriku
funkciju Divide - Povezati na odgovarajui nain sve terminale i
ikone funkcija u blok dijagramu. 8. Prei na front panel, birati
operaciju i vrednosti ulaznih promenljivih, pokrenutiprogram i
posmatrati rezultat.
ZADATAK BR. 8
8.Napisati program u LabVIEW koji od 2 string kontrolera i
jednognumerikog kontrolera sa ulaza:- prvi string: "rezultat
mjerenja iznosi"- broj: 5.00- drugi string: "volti"FORMIRA
JEDINSTVENI STRING:"rezultat merenja iznosi 5.00 volti" i prikazuje
duinu konanog stringa. Reenje: 1. Na Front panel postaviti dva
string kontrolera i jedan numeriki, i dva stringIndikatora(Controls
> String & Path).
2. Na Blok dijagramu postaviti sledee dve funkcije: Format Into
String i String Length, koje se nalaze u paleti Functions
>String. Postavljene elemente povezati kao na slici.
3. ZAKLJUAK
Cilj seminarskog rada je upoznavanje sa osnovnim elementima
grafikog programskog jezika u LabVIEW okruenju i programskim
ablonima koji se jednostavno realizuju u LabVIEW-u, a mogu posluiti
za reavanje vrlo sloenih inenjerskih problema. Rad u ovom programu
osposobljava studente, da koristei programski paket LabVIEW,
razviju i testiraju aplikacije za ispitivanje ureaja; akviziciju,
obradu i skladitenje rezultata merenja; kontrolu rada mernih
ureaja, itd. Programski paket LabVIEW ve godina predstavlja
standardni alat, koji sve vei broj inenjera svakodnevno koristi u
razvoju aplikacija za testiranje ureaja, akviziciju i obradu
merenih signala. Veoma brz i jednostavan nain povezivanja
merno-kontrolne opreme sa raunarom i jednostavno upravljanje tom
opremom omoguio je da LabVIEW postane neizostavan alat u
inenjerskoj praksi. Sve vei broj proizvoaa merno-kontrolne opreme
obezbeuje besplatnu LabVIEW podrku za svoje ureaje. Bogata
biblioteka gotovih funkcija i primera ubrzava reavanje novih
problema u domenu obrade i analize podataka, kao i vizuealizacije
rezultata, sve u cilju to efikasnije realizacije samostalne
aplikacije
25