Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
RAČUNALNIŠKA ORODJA
NI LabVIEW, 4. predavanje
M. Jankovec
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 2
Odločanje “Case” in tekstovni nizi
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 3
Vozlišče lastnosti “Property node”
28.10.2013NI LabVIEW, 4. predavanje
Vozlišče lastnosti “property node” omogoča programsko branje in nastavljanje vseh lastnosti kontrol/indikatorjev.
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 4
Lastnosti (property nodes) in funkcije (Invoke nodes)
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 5
Lastnosti (property nodes) in funkcije (Invoke nodes)
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 6
Struktura dogodkov “Event structure”
28.10.2013NI LabVIEW, 4. predavanje
• Podobna strukturi Case
• Posamezen dogodek na čelni plošči sproži določen okvir strukture
• Dogodki so lahko proženi tudi programsko
• Struktura čaka na dogodek in s tem ne troši procesorskega časa
• Uporablja se za lažjo in učinkovitejšo uporabo uporabniškega vmesnika.
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 7
Struktura dogodkov “Event structure”
28.10.2013NI LabVIEW, 4. predavanje
Program se ves čas izvaja, preverja vrednost kontrole “Knob” in trati procesorski čas
Struktura dogodkov se izvede le ob spremembi vrednosti kontrole “Knob”
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 8
Delo z datotekami
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 9
Upravljanje napak - Error cluster
28.10.2013NI LabVIEW, 4. predavanje
• Grozdi napak “Error cluster” so strukture, ki omogočajo spremljanje napak posameznih VI.
• Error in, error out vsebujejo sledeče elemente:• status je Boolova spremenljivka, ki da vrednost TRUE, če pride do
napake. • koda je 32-bitno predznačeno število, ki z vrednostjo opredeli
napako. Poljubna vrednost v kombinaciji s statusom FALSE pomeni opozorilo!
• izvor je niz, ki pove, kje je prišlo do napake.
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 10
Grozd napak kot pogoj v strukturah
28.10.2013NI LabVIEW, 4. predavanje
• Uporaba WHILE ali CASE struktur pri upravljanju napak
Ko pride do napake, se • While zanka ustavi (Stop on Error) ali• While zanka teče naprej (Continue while Error)
Glede na napako se izvede Case “No Error” ali “Error”
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 11
Upravljanje napak
28.10.2013NI LabVIEW, 4. predavanje
• LabVIEW privzeto avtomatično upravlja napake delujočega VI s prekinitvijo izvajanja, osvetlitvijo subVI ali funkcije, kjer je prišlo do napake, in prikazom pogovornega okna napak. Ta funkcija se lahko izklopi, če je moteča.
• Za dosledno sledenje napakam skozi izvajanje programa mora skrbeti programer s pomočjo grozda napak “Error cluster”, ki jih povezuje od VI-ja do VI-ja in s tem poleg prenosa informacije o napaki skrbi tudi za vrstni red izvajanja programa.
• Avtomatično upravljanje napak LabVIEW izvaja samo na tistih VI-jih, ki nimajo priključenega izhoda Error out na naslednji VI!
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 12
Iskanje in odpravljanje napak
28.10.2013NI LabVIEW, 4. predavanje
• Prekinitev povezav
• Lista napak (Error List)
• Osvetljeno izvajanje
• Koračno izvajanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 13
Iskanje in odpravljanje napak
28.10.2013NI LabVIEW, 4. predavanje
• Sonde za izpis podatkov “Probe”
• Točke zaustavljanjaprograma “Breakpoints”
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 14
Iskanje in odpravljanje napak
28.10.2013NI LabVIEW, 4. predavanje
• Sonde s pogoji za ustavitev programa “conditional probe”
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 15
VI kot podprogrami - “SubVI”
28.10.2013NI LabVIEW, 4. predavanje
• Primer: Pretvorba iz radianov v stopnje
• Trikrat se izvaja ista koda na različnih vhodnih podatkih
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 16
VI kot podprogrami - “SubVI”
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 17
LabVIEW hierarhija
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 18
Glavne lastnosti VI
28.10.2013NI LabVIEW, 4. predavanje
• Zasedenost pomnilnika
• Dokumentacija in zgodovina urejanja
• Možnosti urejanja čelne plošče
• Zaščita VI pred vpogledom v diagram
• Izgled čelne plošče
• Velikost in pozicija okna med izvajanjem
• Način izvajanja VI
• Možnosti tiskanja
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 19
Ikona VI
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 20
Priključki ikone VI
28.10.2013NI LabVIEW, 4. predavanje
Ikona VI je povezava vseh kontrol in indikatorjev na čelni plošči za vpis in branje pri uporabi tega VI kot podprograma.
Priklujuček je lahko obvezen (glavni program ne deluje, če ni povezan), priporočen ali opcijski.
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 21
Privzete vrednosti kontrol
28.10.2013NI LabVIEW, 4. predavanje
• Če kontrola podprograma ni povezana, se uporabi njena privzeta vrednost
• Določimo jo lahko za vsako kontrolo posebej ali za vse hkrati.
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 22
Polimorfni VI
28.10.2013NI LabVIEW, 4. predavanje
• Polimorfni VI lahko sprejme različne tipe podatkov (tudi večfunkcijski).
• Organiziran je kot skupina VI s skupnim konektorjem. Vsake izmed VI skupine opravlja funkcije za en tip podatkov.
• LabVIEW samodejno izbere ustezen VI iz polimorfnega VI glede na tip vhodnega podatka.
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 23
Gradnja polimorfnega VI
28.10.2013NI LabVIEW, 4. predavanje
• Zgradimo dva ali več VI s soležnimi konektorji za različne tipe podatkov.
• Izberemo File»New da se pokaže New pogovorno okno.
• Na seznamu Create New, izberemo VI»Polymorphic VI.
• Vanj dodamo “add” izdelane VI enega po enega.• Če nek VI ne ustreza kriterijem, postane ikona
pretrgana.• V urejevalniku lahko postavimo prioritetni seznam.
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 24
Gradnja polimorfnega VI
28.10.2013NI LabVIEW, 4. predavanje
Niz Število 1D polje 2D polje 3D polje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 25
Meritve v okolju LabVIEW
28.10.2013NI LabVIEW, 4. predavanje
• Skozi zgodovino razvoja instrumentov so standardizirali nekaj vodil za krmiljenje merilnih instrumentov
Krmiljenje samostojnih instrumentov
• Samostojni sistemi za vgradne instrumente s svojim vodilom
Instrumentacijski sistemi
• Vmesniki za zajemanje in generacijo signalov, ki se jih priključi na osebni računalnik
DAQ vmesniki
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 26
Signali “Waveforms”
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 27
Funkcije signalov
28.10.2013NI LabVIEW, 4. predavanje
Visokonivojske funkcije•Signalni generatorji•Oblikovanje signalov•Meritve signalov
Srednje in nizkonivojske funkcije•FIR in IIR Filtri•FFT, IFFT, oknenje•Transformacije•Operacije Point-by-point
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 28
Generacija signalov
28.10.2013NI LabVIEW, 4. predavanje
Osnovne oblike signalov
Multitone signali
Šumni signali z različnimi distribucijami
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 29
Procesiranje signalov
28.10.2013NI LabVIEW, 4. predavanje
Filtriranje
Poravnava Vzorčenje
Konvolucija, oknenje
Proženje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 30
Meritve signalov
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 31
Spektralni analizator
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 32
Funkcije point-by-point
28.10.2013NI LabVIEW, 4. predavanje
• Običaje waveform funckije delujejo na signalih, ki so predstavljeni kot vektorji
• Funkcije point-by-point pa delujejo na posameznih vzorcih, ki prihajajo v enakomernih časovnih razmakih
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 33
Peak detektor: point-by-point28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 34
Krmiljenje samostojnih instrumentov
28.10.2013NI LabVIEW, 4. predavanje
▫ RS-232
▫ IEEE488: GPIB General Purpose Instrumentation Bus
▫ USB
▫ Ethernet – LXI Lan eXtensions for Instrumentation
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 35
SCPI
28.10.2013NI LabVIEW, 4. predavanje
• Standard Commands for ProgrammabIe Instrumentshttp://www.ivifoundation.org/docs/SCPI-99.PDF
MEASure:VOLTage:DC?MEASure:VOLTage:DC:RATio?MEASure:CURRent:AC?
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 36
VISA
28.10.2013NI LabVIEW, 4. predavanje
• Virtual Instrument Software Architecture
Application
User driver
Device driver
Interface
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 37
VISA konfigurator: NIMax
28.10.2013NI LabVIEW, 4. predavanje
NI Measurement & Automation Explorer
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 38
RS-232 (serial)
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 39
GPIB
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 40
Instrument I/O assitant
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 41
IVI - Interchangeable Virtual Instruments
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 42
Instrumentacijski sistemi
28.10.2013NI LabVIEW, 4. predavanje
▫ Compact DAQ
▫ CompactRIO
▫ VXI VME eXtension for Instrumentation
▫ PXI PCI eXtension for Instrumentation
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A
DAQ vmesniki• Compact Flash
• PCMCIA
• USB
• PCI, PCI express
• LAN
• WLAN
28.10.2013NI LabVIEW, 4. predavanje
43
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A
Prilagoditev signalov -“Signal conditioning”
• SCC • SCXI
28.10.2013NI LabVIEW, 4. predavanje
44
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 45
DAQmx gonilniki
28.10.2013NI LabVIEW, 4. predavanje
R A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J AR A Č U N A L N I Š K A O R O D J A 46
DAQ assistant
28.10.2013NI LabVIEW, 4. predavanje