Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik...
Transcript of Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik...
![Page 1: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/1.jpg)
PraktikumPraktikum softverskisoftverski alatialati
Prof. Prof. drdr MirjanaMirjana SimiSimićć--PejoviPejoviććkabinet: 108kabinet: 108miramira @@etf.rsetf.rs
![Page 2: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/2.jpg)
Šta je LabVIEW?
• “G” programski jezik
• Suštinska razlika u odnosu na ostale programske pakete je da se u LV programi predstavljaju u vidu ikona umesto programiranja pisanjem komandi u vidu tekstualnog koda
• Proizvod kompanije National Instruments
www.ni.com
![Page 3: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/3.jpg)
Zašto koristiti LabVIEW?
• Osnovna prednost LV u odnosu na druga razvojna okruženja je obimna podrška za komunikaciju sa uređajima (instrumentacioni hardver).
• LV predstavlja vrlo moćan programski paket, a da su pritom izbegnute sve teškoće i kompleksnosti koje ostali moćni softverski paketi zahtevaju.
• Omogućava analizu ali i formiranje složenih inženjerskih sistema, dok se istovremeno može koristiti i za ozbiljna naučna istraživanja.
• Najčešće primena je za dizajn, testiranje i implementaciju složenih sistema, sa procenjenim smanjenjem vremena razvoja a povećanjem produktivnosti.
![Page 4: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/4.jpg)
Zašto koristiti LabVIEW?• Jednostavan za učenje
• Jednostavan za primenu
• Nema sintakse!!!
• Programski kod je u vidu šeme
• Jednostavan i brz razvoj programa
• Gotovi kontroleri za mnoge uređaje
• Jednostavno i brzo ispravljanje grešaka
• Ne zahteva preveliku brigu o memoriji
• Prilagodljiv
• Zabavan!!!
![Page 5: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/5.jpg)
Mane
• Cena (relativno visoka)
• Može biti težak za savlađivanje naprednih tehnika
• Kod programa može biti nepregledan i nejasan ukoliko programer ne vodi na računa
• Kreiranje vrlo složenih korisničkih aplikacija može biti vremenski zahtevno
• Navika!!!
![Page 6: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/6.jpg)
LabVIEW - karakteristike
• LV programi se zovu virtualni instrumenti jer svojim izgledom podsećaju na fizičke instrumente, kao npr. osciloskope i miltimetre. Stoga je ekstenzija programa pisanih u LV
*.vi (virtual instruments)
• Zbog prvenstvene primene (komunikacija sa uređajima), LV sadrži bogate biblioteke gotovih funkcija za kontrolu mernih instrumenata, kako za prikupljanje tako i za analizu, prezentaciju i skladištenje podataka.
![Page 7: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/7.jpg)
LabVIEW - karakteristike
• LV programi su hijerarhijski i modularni:– Hijerarhijski su jer se mogu koristiti samostalno, dakle na
najvišem nivou, ali i kao potprogrami ili potprogrami unutar potprograma
– Modularni su jer se koncept rešavanja problema, naročito složenih, zasniva na podeli aplikacije na niz zadataka, koji se zatim ponovo dele sve dok se čitav problem ne svede na niz jednostavnih problema.
• Zbog prethodnog, otkrivanje eventualnih grešaka je olakšano, obzirom da se potprogrami mogu izvršavati nezavisno od programa koji ih poziva.
![Page 8: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/8.jpg)
Sadržaj
• “G” jezik
• LV program– Front panel
– Blok dijagram
• LV programiranje
![Page 9: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/9.jpg)
“G” jezik• Kompletno grafičko programiranje
• Kod programa je dijagram koji se sastoji od čvorova i žica
• Podaci “putuju” preko žica
• Proces izvršavanja programa kontroliše protok podataka a ne koda!
• Pozicija na dijagramu nije bitna
• Novi način razmišljanja: dataflow a ne codeflow!
• Vodeći princip : čvor ne izvršava svoju funkciju sve dok podaci, preko žica, ne “stignu” do svih ulaza u isti
![Page 10: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/10.jpg)
LabVIEW - Getting Started starije verzije...
Getting Started – starije verzije Getting Started – novije verzije
![Page 11: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/11.jpg)
LV program• Programi pisani u LV se zovu virtualni instrumenti i imaju
ekstenziju *.vi.
• Svaki vi sastoji se iz dva dela(prozora):
1. front panel2. block diagram
• Ako se planira korišćenje datog vi programa i kao potprograma, LV program dobija i treći sastavni deo:
3. ikone i konektori.
• Potprogram u LV se zove subvi.
![Page 12: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/12.jpg)
LV program
Startovanjem New viotvaraju se obaprozora, pri čemuje: 1. prvi front panel
(sivi)2. a iza njega blokdijagram (beli).
Front panel
Blok dijagram
![Page 13: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/13.jpg)
LV program-front panel• Front panel predstavlja korisnički interfejs vi programa.
• Ovaj deo korisnik kreira – npr. svojim izgledom front panel može simulirati panel fizičkog instrumenta (npr. analizatora spektra), ili čitavog mernog sistema.
![Page 14: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/14.jpg)
LV program-front panel
• Front panel sadrži– kontrolere (preklopnici, tasteri, ...)– indikatore (grafici, LED, skale, ...)
• Kontroleri predstavljaju ulazneterminale, a indikatori izlazne.
• Kontoleri simuliraju ulazne delove uređaja i obezbeđuju podatke za block diagramvi programa.
• Indikatori simuliraju izlazne delove uređaja, i služe za prikaz rezultata iz block diagramavi programa.
• Svaki element front panela ima odgovarajući terminal u block diagramu.
• Kontroleri i indikatori dostupni su u okviru controls palettefront panela.
![Page 15: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/15.jpg)
LV program-front panel
kontrolerStop
indikator
Random Plot
![Page 16: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/16.jpg)
Controls pallete – front panelcontrols pallete – starije verzije controls pallete – novije verzije
![Page 17: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/17.jpg)
Controls pallete – front panelNumeric sub pallete
Boolean sub pallete
String sub pallete
![Page 18: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/18.jpg)
LV program-block diagram
• Blok dijagram je grafički prikaz tela programa.
• Sadrži terminale kontrolera i indikatora iz Front panela, kao i ostale čvorove (funkcije, strukture – petlje, potprograme, ...)
• Za razliku od front panela koji je namenjen korisniku, blok dijagram je namenjen programeru.
• Blok dijagram se konstruiše u programskom jeziku “G”.
• Programiranje u blok dijagramu vrši se povezivanjem terminala i korišćenjem glavnog menija blok dijagrama –Functions pallete.
![Page 19: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/19.jpg)
LV program-block diagram
terminal kontrolera
Stop
terminal indikatora
Random Plot
funkcija za generisanje
slučajnih brojeva
vremenska funkcija
While petlja
![Page 20: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/20.jpg)
Functions pallete - block diagramfunctions pallete – starije verzije functions pallete – novije verzije
![Page 21: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/21.jpg)
Tools palletefront panel i block diagram
![Page 22: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/22.jpg)
Front paneli block diagram
Front panel Block Diagram
![Page 23: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/23.jpg)
Front paneli block diagram
Front panel Block Diagram
![Page 24: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/24.jpg)
The Objects short-cut menu
• Svi objekti na front panelu (indikatori i kontroleri) i blok dijagramu (terminali, funkcije i ostali čvorovi), kao i sam prazni deo front panela (siva zona) i blok dijagrama (bela zona) mogu se podešavati – menjati im se izgled ili način funkcionisanja.
• To se postiže korišćenjem short-cut menija objekata, koji je dostupan desnim klikom na željeni objekat.
![Page 25: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/25.jpg)
Context Help
• Context Help prozor prikazuje osnovne informacije o objektu na koji se pozicioniramo na front panelu ili blok dijagramu.
• Vrlo je koristan jer oslobađa programera pamćenja velikog broja različitih ikona tj. objekata.
ili
![Page 26: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/26.jpg)
Runmod LV programa
Dobar VI!
Loš VI!
![Page 27: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/27.jpg)
Tipovi žica
Žice se razlikuju po:-boji (jedinstvena za određeni tip podataka)-debljini
Numerički podaci
Logički podaci
String podaci
![Page 28: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/28.jpg)
Tipovi terminala
Terminali za kontrolere i indikatore su istisamo što kontroleri imaju deblji okvir terminala
![Page 29: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/29.jpg)
Tipovi čvorova
• Strukture
• Funkcije
• UserVIs
![Page 30: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/30.jpg)
Strukture
• Casestruktura
• Whilepetlja
• For petlja
• Sekvenca
• Formula Node
Whilesa shiftregistrima
if...then...else
i = 0 to N-1
![Page 31: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/31.jpg)
Funkcije
• Niskog nivoa
– Aritmetičke
– Bulove
– Funkcije poređenja
• Srednjeg nivoa
– Funkcije za manipulaciju nizovima
– Funkcije za manipulaciju stringovima
– Vremenske funkcije
![Page 32: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/32.jpg)
Funkcije
• Visokog nivoa
– File I/O
– Funkcije za komunikaciju sa uređajima (GPIB, serial, ...)
– Funkcije za komunikaciju sa mrežom (TCP...)
– Funkcije za analizu i obradu signala (FFT, filtri, ...)
– Funkcije za zvuk i grafiku
– Funkcije kontrole programa
– Advancedfunkcije
![Page 33: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/33.jpg)
Dataflow programming
• Kao što je već rečeno, LV koristi principdataflow (protok podataka) umesto codeflowprogramiranja (protok koda).
• Dataflow programiranje zasniva se na principu da se čvor izvršava onda kada su mu dostupni svi ulazni podaci.
• Kada taj čvor izvrši svoju funkciju, podaci na njegovom izlazu snabdevaju ulaze sledećeg čvora, itd...
• Kod programskih jezika koji se baziraju na codeflow principu (C, C++, Java, ...) izvršenje programa kontrolisano je sekvencijalnim redosledom izvršavanja delova programa.
![Page 34: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/34.jpg)
Dataflow programming
Dataflow
1 2
Codeflow
Šta se ovde prvo izvršava???
![Page 35: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/35.jpg)
Application Builder
• Softver koji se primenjuje na gotov LabVIEW program.
• U starijim verzijama AppB se kupovao i instaliarao nezavisno od LV, ali u novijim verzijama (6,7...) ugrađen je u instalaciju LV.
• Formira izvršnu aplikaciju (.exe) koja se može pokrenuti i na računarima na kojima nije instaliran LabVIEW.
• Poslednja pripema gotovog programa pre no što se uruči korisniku.
• Omogućava korišćenje LV programa samo kao izvršne aplikacije bez mogućnosti uvida u blok dijagram i bez mogućnosti izmena i dorada gotovog programa od strane korisnika.
![Page 36: Praktikum softverski alatitelekomunikacije.etf.bg.ac.rs/predmeti/ot2psa/LabVIEW_1...“G” jezik • Kompletno grafi čko programiranje • Kod programa je dijagram koji se sastoji](https://reader030.fdocuments.net/reader030/viewer/2022040816/5e5ef3be3dcfb35a5e441ab4/html5/thumbnails/36.jpg)
Hvalanapažnji!