![]() | See artikkel ootab keeletoimetamist. (September 2023) |
LabVIEW | |
---|---|
Arendaja | National Instruments |
Viimane väljalase |
2024 Q3 / juuli 2024 ![]() |
OS | Windows, Mac OS X, Linux |
Arenduse staatus | aktiivne |
Suunitlus | testimine, mõõtmine, andmehõive, aparaatide kontroll, mõõtmiste analüüs, tulemuste kujutamine – aruannete genereerimine, modelleerimine, manussüsteemide programmeerimine ja elektroonikaskeemide joonistamine |
Litsents | tasuline |
Veebisait | http://www.ni.com/labview/ |
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) on ettevõtte 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, manussüsteemide programmeerimiseks ja 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 on välja töötatud selleks, et insenerid ja teadlased saaksid luua paindlikke mõõte- ja kontrollprogramme kiiremini ja odavamalt. LabVIEW süsteemiprojekteerimise tarkvara keskmeks on National Instrumentsi platvorm. See võimaldab kasutada igakülgseid tööriistu, mida vajame, ehitamaks mõõte- ja kontrollprogramme, aga seda kõike võimalikult lühikese 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.
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 pandud 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]
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]
Ü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]
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älupuhvreid – nihkeregistreid (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 on üles ehitatud analoogiliselt filmi kaadritega, mis on nummerdatud järjekorras 0-1-2-jne.
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ü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ü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]
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 programm (VI) koosneb:
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:
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:
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.
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.
LabVIEW’s kirjutatud programme saab kasutada järgmistel arvutiplatvormidel:
LabVIEW sisaldab sisseehitatud draivereid paljude kommunikatsioonistandardite kasutamiseks, näiteks GPIB, VXI, PXI, RS-232, USB, Ethernet ja Plug-in DAQ.
Paljud ettevõtted pakuvad draivereid enda mõõte- ja kontrollaparatuuri jaoks. Tüüpilised draiverid võimaldavad initsialiseerida seadme, konfigureerida seadet ning lugeda ja kirjutada andmeid.
Sisseehitatud võimalused arvutivõrgu kasutamiseks:
National Instruments toodab mitmesuguseid mõõtmis- ja juhtimisprogramme ja programmeerimisvahendeid:
Nimi/versioon | Seerianumber | Kuupäev |
---|---|---|
LabVIEW projekti algus | ??? | Aprill 1983 |
LabVIEW 1.0 (Macintoshi versioon) | ??? | Oktoober 1986 |
LabVIEW 2.0 | ??? | Jaanuar 1990 |
LabVIEW 2.5 (esimene väljalase
Suni ja Windowsi 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 (objektorienteeritud
programmeerimine) |
??? | 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-bitine 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 lisamoodulitega) |
??? | 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 |
.[9]
{{netiviide}}
: kontrolli kuupäeva väärtust: |Aeg=
(juhend)
<references>
-siltide vahel olevat <ref>
-silti nimega "t1nIo" ei kasutata eelnevas tekstis.<ref>
-silt. Viide nimega t1nIo
on ilma tekstita.