LabVIEW

Allikas: Vikipeedia
Arendaja National Instruments
Viimane versioon 2013
Viimase versiooni väljastamine August 2013
Võimalused Testimine, mõõtmine, andmehõive, aparaatide kontroll, mõõtmiste analüüs, tulemuste kujutamine – aruannete genereerimine, modelleerimine ja lisaks manussüsteemide programmeerimine ning elektroonikaskeemide joonistamine
Platvormid MS Windows, Apple Macintosh, Sun Microsystems, Linux, Pocket PC, Palm OS, Windows CE, Embedded 32-bit CPU
Litsents Tasuline
Koduleht National Instruments

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) on firma National Instruments (NI) graafiline programmeerimiskeskkond ja keel. LabVIEW võimaldab luua programme: testimiseks, mõõtmiseks, andmehõiveks, aparaatide kontrolliks, mõõtmiste analüüsiks, tulemuste kujutamiseks – aruannete genereerimiseks, modelleerimiseks ja lisaks manussüsteemide programmeerimiseks ning elektroonikaskeemide joonistamiseks. LabVIEW on tarkvarapakett, mis pakub kasutajatele vahendeid, et lahendada tänapäeva mõõteseadmete programmeerimise probleeme ning võimaldab suutlikkust luua innovatiivseid lahendusi kiiremini ja tõhusamalt kui varem.

LabVIEW eelised[muuda | redigeeri lähteteksti]

LabVIEW on arendatud välja selleks, et insenerid ja teadlased saaksid luua paindlikke mõõte- ja kontrollprogramme kiiremini ja odavamalt. NI LabVIEW süsteemiprojekteerimise tarkvara keskmeks on National Instruments platvorm. See võimaldab kasutada igakülgseid tööriistu, mida vajame, ehitamaks mõõte- ja kontrollprogramme, aga seda kõike võimalikult väikese ajaga. LabVIEW võimaldab juhtida mitmesugust riistvara ja seeläbi automatiseerida näiteks mõõtmisi, signaalide genereerimisi. Samuti võib mõõtmisi ja genereerimisi modelleerida arvutiekraanil, selleks eraldi riistvara kasutamata.[1] Kombineerides LabVIEW tarkvara võimalusi National Instrumentsi konfigureeritava riistvaraga, võime koostada vägagi keerukaid ja täpseid mõõtmissüsteeme. Kasutatakse täpseid tulemusi nõudva materjali ioonse elektroaktiivse polümeeri (IEAP) testimisel ja arendamisel.

Graafiline programmeerimine[muuda | redigeeri lähteteksti]

Firma National Instruments programmeerimiskeskkonda LabVIEW (nagu ka analoogseid keskkondi HP VEE, Hewlett-Packard Visual Engineering Environment) ei iseloomusta mitte graafilise kasutajaliidese olemasolu, vaid programmikoodi esituse põhimõtted: programmi loomine graafilises programmeerimiskeskkonnas ei seisne tekstiridade sisestamises arvutisse, vaid hoopis piltkujul esitatud funktsioonikastikeste ühendamises muutujate kulgemisradu tähistavate joonte abil. Selline programmeerimistegevus meenutab tööd projekteerimistarkvaraga (P-CAD, OrCAD jms), keelele endale (meetodile) on antud nimeks G.[2] Graafilise programmeerimiskeskkonna erinevus visuaalsest (Visual C, Delphi jms) seisneb nimelt selles, et nende abil loodud lõpptulemus on küll igati graafiline, aga selle loomise protsess jääb endiselt tekstiliseks. Sellega on mainitud visuaalsed keskkonnad kõigest samm edasi eelmise põlvkonna tekstipõhisest keskkonnast. Teksti sisestamine on nendes küll lihtsustatud – tekstiridade kirjutamine on asendatud modulaarsete vormide täitmisega ning sellega kaasnevad lohistamise võimalused. Aga sisuliselt ei ole nad graafilised programmeerimise keskkonnad, nagu seda on LabVIEW.[3]


Andmete voog[muuda | redigeeri lähteteksti]

Andmevoo meetod – iga funktsioon saab rakenduda alles siis, kui temani on jõudnud kõik vajalikud sisendparameetrid.

Suurem osa tekstil põhinevaid programmeerimiskeeli kasutab nn käsuvoomudelit, LabVIEW seevastu kasutab programmi täitmisel andmevoomudelit. Lihtsustatult, käsuvoomudeli järgi, määrab programmi täitmise järjekorra programmi elementide järjestus. LabVIEW-s kasutatava andmevoomudel töötab nii, et plokkdiagrammil asuv element (nt funktsioon) käivitub alles siis, kui selle sisendites on kõik nõutud andmed, pärast seda tekitab element oma väljundile tulemuse. Edasi liigub tulemus mööda andmevoogu juba järgmise elemendi sisendisse. See liikumine määrab LabVIEW programmi täitmise järjekorra.[4]

Polümorfism[muuda | redigeeri lähteteksti]

Üks LabVIEW sümpaatsemaid omadusi on tema põhifunktsioonide polümorfism. See tähendab seda, et erinevate andmetüüpide ja vormidega opereerimiseks kasutatakse samu funktsioone, mis adapteeruvad esimesena funktsiooni sisendisse ühendatud andmetüübile. Täisarv teisendatakse siiski reaalarvuks, mitte vastupidi; sama loogiline põhimõte kehtib 8-, 16- ja 32-bitiste arvudega tehete sooritamisel. Kui näiteks liitmisfunktsiooni sisenditesse ühendada massiiv ja üksikmuutuja, liidetakse see üksikmuutuja rea igale elemendile. Põhimõtteliselt erinevate andmetüüpidega muutujaid siiski kokku liita (stringiks ühendada) ei saa. Selleks tuleb nad eelnevalt sobivale kujule teisendada, mille tarvis on LabVIEWl mitu funktsiooni, näiteks stringi kujul esineva numbrilise muutuja liitmine täisarvuga.[5]

Tsüklid[muuda | redigeeri lähteteksti]

LabVIEW keskkonnas kohtab WHILE-tsüklit, samuti on olemas valikustruktuur (CASE Structure) ja kaadristruktuur (FRAME Structure) tegevuse järjestamiseks. Tsükliliste muutujate külgedele on võimalik tekitada mälupuhvreidnihkeregistreid (shift register) ja kohalikke muutujaid. Nihkeregister võimaldab ühe tsükli lõppedes tekitatud väärtuse järgmisse tsüklisse sisse tuua. Valemite sisestamine on võimalik valemiraami (formula node) abil, milles raami külgedele defineeritakse sisend- ja väljundmuutujad ning raami sisse kirjutatakse muutujaid siduv valem.

Kaadristruktuur[muuda | redigeeri lähteteksti]

Kaadristruktuur on üles ehitatud analoogiliselt filmi kaadritega, mis on nummerdatud järjekorras 0-1-2-jne.

Valikustruktuur[muuda | redigeeri lähteteksti]

Valikustruktuuri täitmine toimub vastavalt valija (selector) (struktuuri vasakul äärel) külge ühendatud muutujale. Tõeväärtuste korral on valikuid kaks (TRUE/FALSE), numbrite või stringide korral hulgaliselt.

FOR-tsükkel[muuda | redigeeri lähteteksti]

FOR-tsüklit läbitakse N korda, kui terminali N külge on ühendatud täisarvuline väärtus. Kui struktuuri siseneb rida, puudub vajadus N ühendamiseks. Automaatselt töötab tsükkel minimaalse siseneva rea pikkusega võrdne arv kordi.

WHILE-tsükkel[muuda | redigeeri lähteteksti]

WHILE-tsüklit läbitakse vähemalt üks kord. See töötab, kuni tsüklit käigus hoidev muutuja (paremas alumises nurgas) on ühendatud tõeväärtusega TRUE.[6]

Andmetüübid[muuda | redigeeri lähteteksti]

LabVIEWs liiguvad andmed mööda juhtmeid. Igal juhtmel võib olla üks andmete allikas, kuid juhet saab ühendada mitmete VI-de ja funktsioonidega. Juhtmetel võib olla vastavalt nende andmete tüübile mitmesuguseid stiile, värve ja paksusi. Juhtme tüübid on reaalarv, täisarv, kahendväärtus või string. Lisaks jagunevad kõik juhtmetüübid kolme erinevasse andmetüüpi. Andmetüüpideks on skalaar, 1D jada ja 2D jada. Kõiki reaalarvudega seotud andmetüüpe märgistatakse LabVIEW programmis oranži värvusega, täisarvudega andmetüüpe sinisega, kahendväärtustega andmetüüpe rohelisega ning string kujul andmetüüpe roosa värvusega.[7]

LabVIEW programmiosad[muuda | redigeeri lähteteksti]

LabVIEW programm (VI) koosneb:

  • üaneelist (Front Panel) – kasutajaliides
  • diagrammist (Diagram) – programmi kood
  • ikoon ja liides (muhv) (Icon / Connector Pane) – ühenduspunkt programmi sõlmede (funktsioonide, VI-de vahel)

LabVIEW paneel[muuda | redigeeri lähteteksti]

Paneel (Panel) on programmi graafiline kasutajaliides, sellel paiknevad programmi sisendelemendid ehk juhtelemendid (Controls) ja väljundelemendid ehk indikaatorid (Indicators). Iga paneelielement kujutab diagrammil terminali. Juhtelemendid ja indikaatorid jagunevad järgmistesse tüüpidesse:

LabVIEW diagramm[muuda | redigeeri lähteteksti]

Diagramm kujutab LabVIEW programmi koodi graafilises (G-)keeles. Diagramm esitatakse funktsioone kujutavate piltide kogumina (Icon), mis on ühendatud andmevoogu (Dataflow) tähistavate joontega ehk juhtmetega (Wires). Programmi täidetakse andmevoogu tähistavate joonte kulgemist järgides. Diagramm koosneb järgmistest osadest:

  • terminalid – ühenduspunktid (sisendid (Contols) / väljundid (Indicators)) paneeli ja diagrammi vahel
  • sõlmed (Nodes) (nende hulka kuuluvad ka alamVI-d) klassikaliste programmeerimiskeelte operaatorite ja protseduuride (alamprogrammide) analoogid
  • Jooned ehk juhtmed (Wires) – kannavad (juhivad) andmeid sõlmede ja terminalide vahel

Liides[muuda | redigeeri lähteteksti]

Liides ehk muhv (Connector Pane) on klemmikarpi meenutav nelinurk paneeli ülemises paremas nurgas. Liidese klemmid on klassikaliste programmeerimiskeelte alamprogrammi sisestatavate/tagastatavate muutujate analoogid. Alam VI-d (Sub VI) on alamprogrammide (Procedure) analoogid.

Virtuaalne Instrument[muuda | redigeeri lähteteksti]

LabVIEW programme nimetatakse virtuaalseteks instrumentideks (Virtual Instrument (VI)), nad imiteerivad/emuleerivad reaalsete füüsikaliste instrumentide, näiteks multimeetrite, Ostsilloskoopide, termomeetrite ja analüsaatorite käitumist ja väljanägemist.

Platvormid[muuda | redigeeri lähteteksti]

LabVIEW’s kirjutatud programme saab kasutada järgmistel arvutiplatvormidel:

Riistvara[muuda | redigeeri lähteteksti]

LabVIEW sisaldab sisseehitatud draivereid paljude kommunikatsioonistandardite kasutamiseks:

Paljud firmad pakuvad draivereid enda mõõte- ja kontrollaparatuuri jaoks. Tüüpilised draiverid võimaldavad initsialiseerida seadme, konfigureerida seadet ning lugeda ja kirjutada andmeid.

LabVIEW ja arvutivõrk[muuda | redigeeri lähteteksti]

Sisseehitatud võimalused arvutivõrgu kasutamiseks:

National Instruments programmid[muuda | redigeeri lähteteksti]

National Instruments toodab mitmesuguseid mõõtmis- ja juhtimisprogramme ja programmeerimisvahendeid:

  • LabVIEW – graafiline universaalne programmeerimiskeskkond
  • LabWindows/CVI – ANSI C keskkond, võimaldab kasutada LabVIEW funktsioone ja kasutajaliidese elemente
  • Measurement Studio – liides MS Visual Studio-le LabVIEW funktsioonide ja kasutajaliidese elementide kasutamiseks
  • LabVIEW Datalogging and Supervisory Control
  • NI Vision – kujutisetöötluse ja kontrolli tarkvara, masinnägemise tarkvara (Machine Vision)
  • LabVIEW Real Time – LabVIEW reaalajamõõtmiste lisa, võimaldab ajalist lahutust kuni 1 mikrosekund NI RT keskkonnas (tavaline Windowsi väärtus on 1 ms)
  • Palju muid pakette (MATRIX, Electronic Workbench jne)

Kasutajad[muuda | redigeeri lähteteksti]

  • USA 500-st juhtivast firmast (Fortune 500) kasutab LabVIEW-d mingil viisil 85%:
    • Väljatöötlus / arendus
    • Testimine
    • Kontroll / kvaliteedikontroll [8]
  • Kümned tuhanded teadus-, uurimis-, õppeasutused kogu maailmas (Eestis TTÜ – alates 1998. aastast kõik mõõtelabori töökohad varustatud LabVIEW-ga):
    • eksperimendijuhtimine
    • mõõtesüsteemide õpetus
  • Kõik suuremad Eesti teadusasutused ja ülikoolid:
    • Tartu Ülikoolis andmehõive ja analüüs LabVIEW keskkonnas alates 2006/07 õppeaastast, visuaalprogrammeerimine 2007/08 õppeaastast

Tuntumad ettevõtted[muuda | redigeeri lähteteksti]

  • NASA: Vesiniku lekke detekteerimiseks kosmosesüstikutes
  • Texas Instruments: Maailma suurimaid mikroskeemitootjaid, traadita kommunikatsiooni skeemide automaatse testimise ja kvaliteedikontrolli süsteem
  • Microsoft: Xbox automaatne testimine (PXI-siinil, 2,5 GHz mõõtesagedus)
  • USA õhujõud: LANTIRN süsteemi uus version – 50% odavam, kiirem, väiksem (öine madallennu navigatsiooni ja sihtmärgi otsimise süsteem, näiteks F-15, F-16 lennukitel)

Puudused[muuda | redigeeri lähteteksti]

  • Päris kallis, eriti firmade versioon ja teadustöö versioon
  • Normaalseks tööks vajalik monitori lahutus 1600×1200 punkti või 1900×1200 punkti – 19”...22” monitor (odav TFT tavaliselt 1200×1000 punkti)
  • Diagrammile uute osade lisamine nõuab ajamahukat olemasolevate osade ümberpaigutamist säilitamaks loetavus (automaatne ümberpaigutamine ei anna enamasti soovitud tulemust) – uuemates versioonides sellele rohkem tähelepanu pööratud
  • Klassikalise programmeerimisega harjunud inimesel kohati raske “paradigmat” taibata
  • Ainult täielik (campus) litsents sisaldab kõiki tooteid, tavaliste litsentside korral vaja iga “lisa” eest eraldi maksta.

Publikatsioonid[muuda | redigeeri lähteteksti]

Valik LabVIEW alastest publikatsioonidest:

  • Robert H. Bishop. Learning with LabVIEW 7 Express.
Pearson/Prentice Hall, 2004. ISBN: 0131239260
  • Gary W. Johnson. LabVIEW Graphical Programming: Practical Applications in Instrumentation and Control.
McGraw-Hill, 1997 (June), 665 p. 2nd edition, softcover, includes CD-ROM.
  • Thomas Klinger. Image processing with LabVIEW and IMAQ vision.
Prentice Hall PTR, Upper Saddle River, N.J, 2003. ISBN/ISSN: 0130474150
  • Hall T. Martin. LabVIEW for automotive, telecommunications, semiconductor, biomedical, and other applications.
Prentice Hall, 2000.
  • Jon Olansen. Virtual bio-instrumentation : biomedical, clinical, and healthcare applications in LabVIEW.
Prentice Hall PTR, Upper Saddle River, N.J, 2002.
  • Jeffrey Travis. LabVIEW for everyone.
Prentice Hall, 2002. ISBN: 013065096X

Versioonid[muuda | redigeeri lähteteksti]

Nimi/Versioon Seerianumber Kuupäev
LabVIEW projekti algus  ??? Aprill 1983
LabVIEW 1.0 (Macintosh versioon)  ??? Oktoober 1986
LabVIEW 2.0  ??? Jaanuar 1990
LabVIEW 2.5 (Esimene väljalase Sun ja Windows platvormile)  ??? August 1992
LabVIEW 3.0 (Mitmele platvormile)  ??? Juuli 1993
LabVIEW 3.0.1 (Esimene versioon Windows NT'le)  ??? 1994
LabVIEW 3.1  ??? 1994
LabVIEW 3.1.1 (Esimene versioon rakenduste genereerimisega)  ??? 1995
LabVIEW 4.0  ??? Aprill 1996
LabVIEW 4.1  ??? 1997
LabVIEW 5.0  ??? Veebruar 1998
LabVIEW RT (Reaalajas)  ?? Mai 1999
LabVIEW 6.0 (6i) 6.0.0.4005 26. juuli 2000
LabVIEW 6.1 6.1.0.4004 12. aprill 2001
LabVIEW 7.0 (Täielik) 7.0.0.4000 Aprill 2003
LabVIEW PDA module (esimene versioon)  ??? Mai 2003
LabVIEW FPGA module (esimene versioon)  ??? Juuni 2003
LabVIEW 7.1 7.1.0.4000 2004
LabVIEW Embedded module (esimene versioon)  ??? Mai 2005
LabVIEW 8.0 8.0.0.4005 September 2005
LabVIEW 8.20 (Objekt orienteeritud programmmerimine)  ??? August 2006
LabVIEW 8.2.1 8.2.1.4002 21. veebruar 2007
LabVIEW 8.5 8.5.0.4002 2007
LabVIEW 8.6 8.6.0.4001 24. Juuli 2008
LabVIEW 8.6.1 8.6.0.4001 10. detsember 2008
LabVIEW 2009 (32 ja 64-bit versioon) 9.0.0.4022 4. august 2009
LabVIEW 2009 SP2 9.0.1.4011 8. jaanuar 2010
LabVIEW 2010 10.0.0.4032 4. august 2010
LabVIEW 2010 f2 10.0.0.4033 16. september 2010
LabVIEW 2010 SP1 10.0.1.4004 17. mai 2011
LabVIEW for LEGO MINDSTORMS (2010 SP1 lisa moodulitega)  ??? August 2011
LabVIEW 2011 11.0.0.4029 22. juuni 2011
LabVIEW 2011 SP1 11.0.1.4015 1. märts 2012
LabVIEW 2012 12.0.0.4029 August 2012
LabVIEW 2012 SP1 12.0.1.4013 Detsember 2012
LabVIEW 2013 13.0.0.4047 August 2013

.[10]

Viited[muuda | redigeeri lähteteksti]

  1. NI LabVIEW. (.htm) Kasutatud 25.09.2013. (Eesti)
  2. Aivar Usk. Graafiline programmeerimiskeskkond LabVIEW. 05.06.1999. Aivar Usk. (.htm) Kasutatud 29.09.2013. (Eesti)
  3. Aivar Usk. Graafiline programmeerimiskeskkond LabVIEW. Kohandatud märts 2008. Peeter Sillakivi. (.htm) Kasutatud 29.09.2013. (Eesti)
  4. E-ope. Andmete voog LabViews. 29.11.2011. E-ope. (.pdf) Kasutatud 29.09.2013. (Eesti)
  5. Peeter Sillakivi. Polüformism. (Koostanud Aivar Usk, täiendanud Peeter Sillakivi). 29.11.2011. Peeter Sillakivi. (.htm) Kasutatud 29.09.2013. (Eesti)
  6. Peeter Sillakivi. Tsüklilised struktuurid. (Koostanud Aivar Usk, täiendanud Peeter Sillakivi). 29.11.2011. Peeter Sillakivi. (.htm) Kasutatud 29.09.2013. (Eesti)
  7. Peeter Sillakivi. Andmetüübid. (Koostanud Aivar Usk, täiendanud Peeter Sillakivi). 29.11.2011. Peeter Sillakivi. (.htm) Kasutatud 29.09.2013. (Eesti)
  8. National Instruments. NI LabVIEW for Higher Education (University/College). (Top Reasons to Use LabVIEW for Academic Teaching). National Instruments. Kasutatud 16.10.2013. (Inglise)
  9. Peeter Sillakivi. Publikatsioonid. (Koostanud Aivar Usk, täiendanud Peeter Sillakivi). 29.11.2011. Peeter Sillakivi. (.htm) Kasutatud 29.09.2013. (Eesti)
  10. National Instruments. NI LabVIEW Release Archive. National Instruments web page. National Instruments. (.html) Kasutatud 16.10.2013. (Inglise)

Kasutatud materjalid[muuda | redigeeri lähteteksti]

  1. http://www.elin.ttu.ee/mesel/Study/Subjects/0030DAqS/Content/PrograVI/Graafiline_programmeerimiskeskkond_LabVIEW_ver2.htm, kasutatud 29.09.2013
  2. http://ims.ut.ee/~ramon/Progetiiger%206.%20klass.pdf, kasutatud 29.09.2013
  3. http://www.e-ope.ee/_download/euni_repository/file/2454/MHX0065_1_LabView.zip/MHX0065_1_LabView/MHX0065_Teema1_Sissejuhatus_%20LabView%20programmeerimine.pdf, kasutatud 29.09.2013
  4. http://softwarelicense.arizona.edu/labview, kasutatud 29.09.2013
  5. http://www.ni.com/labview/, kasutatud 29.09.2013
  6. http://www.eava.ee/opiobjektid/ADmuundus/NI%20LabVIEW.htm, kasutatud 29.09.2013
  7. http://www.elin.ttu.ee/mesel/LabView.htm, kasutatud 29.09.2013
  8. Tartu Ülikooli kursuse "Visuaalprogrammeerimine" loeng 1 slaidid (2011). Koostaja A. Reinart, kasutatud 29.09.2013
  9. Hall T. Martin. LabVIEW for automotive, telecommunications, semiconductor, biomedical, and other applications. Prentice Hall, 2000, kasutatud 29.09.2013
  10. Jon Olansen. Virtual bio-instrumentation : biomedical, clinical, and healthcare applications in LabVIEW.Prentice Hall PTR, Upper Saddle River, N.J, 2002, kasutatud 29.09.2013
  11. Jeffrey Travis. LabVIEW for everyone. Prentice Hall, 2002. ISBN: 013065096X, kasutatud 29.09.2013

Välislingid[muuda | redigeeri lähteteksti]