LabVIEW-ohjelmointi

Ohjelmistotekniikan seminaarityö

Jorma Narikka
jokana@jyu.fi

3.11.1996



Sisältö



1. Esipuhe

Tämä seminaarityön varsinainen tekstiosa on kokonaan omaa tuotantoani, ajatuksia ei ole käännetty eikä kopioitu mistään muualta. En ole pyrkinytkään väitöskirjamaiseen tarkkuuteen erilaisten yksityiskohtien suhteen. Lukija saattaa siten löytää mielessään joillekin väitteille vastaesimerkkejä, jotka uskoakseni ovat kuitenkin käytännön ohjelmistoliiketoiminnan kannalta vähäisiä painoarvoltaan. Olen siten ainakin noin 95 %:sti tämän tekstin takana, kunnes toisin osoitetaan.

Aiheekseni sain (tai otin) National Instrumentsin LabVIEW-ohjelmointiympäristön ja sen graafisen ohjelmointikielen G. Kun kysymyksessä on selkeästi yhden yhtiön aloitteesta syntynyt kaupallinen ohjelmointikieli, niin on vaikea välttää sellaista asetelmaa, jossa esiinnyn tavallaan kyseisen tuotteen mainostajana. Minua tämä asetelma ei juuri häiritse, enkä ole pyrkinyt "akateemisen tasapuolisuuden nimissä" keksimään tuotteesta huonoja puolia. Omat vähäiset kokemukseni sekä tuotteesta että sen edustajista kun ovat pääasiassa positiivisia.

Huomautan vielä, että tässä seminaarisarjassa on ollut muitakin esityksiä, jotka ovat olleet selkeästi jonkun yhtiön (esim. Sun) tuotteisiin liittyviä.

 

2. Johdanto

Seminaarityö käsittelee LabVIEW-ympäristön ohjelmointikielen G ominaisuuksia lähtien taustoista ja verraten kieltä muihin yleisesti käytössä oleviin kieliin. Liitteenä on hyvin pieni näyte valmistajan kotisivuilta ja viite, mistä kautta löytyy lisää tietoa. LabVIEW-ohjelmointia tämä seminaarityö ei pyri opettamaan. Mikäli haluat opiskella sitä joko tämän esityksen innoittamana tai muuten, niin kannattaa hankkia demoversio maahantuojalta.

3. LabVIEW:n taustoja

LabVIEW:han on siis graafinen ohjelmointiympäristö. Sen historia ulottuu hieman yli kymmenen vuotta taaksepäin. Jos lukija hetken ajattelee mielessään tilannetta tuolloin, niin mihin ympäristöön kieli alunperin luotiin? Aivan oikein: Eli tietenkin MacIntosh-ympäristöön. Sitä en tarkkaan tiedä, miksi kehittelijöiden työnantajaksi "sattui" National Instruments. Tienneekö tuota kukaan?

National Instrumentshan oli tuolloin - ja on edelleen - yksi maailman suurimmista PC-mittauskorttien valmistajista, jolla oli tarve hyödyntää tuon ajan tietokoneita mittaustietojen jatkokäsittelyssä. Huonommalla tuurilla koko graafinen ohjelmointi olisi saattanut jäädä ainakin tuossa vaiheessa keksimättä. Erikoisen hyvällä tuurilla siitä olisi taasen ehkä muodostunut jonkinlainen maailmanlaajuinen standardi. (Ehkä ei kuitenkaan, koska muilla ei ollut yleisesti käytössä graafista käyttöliittymää...)

LabVIEWsta on siis vuosien myötä kehittynyt valmistajakohtainen graafinen ohjelmointikieli, joka jo viime vuosikymmenellä portattiin graafiseen Unix-maailmaan. Se on sittemmin portattu myös PC-maailmaan sen jälkeen, kun Windows tuli markkinoille. LabVIEW:stä tulee uudet versiot muutaman viikon sisällä kaikkiin näihin yllä mainittuihin ympäristöihin.

 

4. Erilaisista ohjelmointikielistä

Ohjelmointia voidaan tehdä - ja on tehty - viimeisten vuosikymmenien aikana melko monella eri tavalla. Alkuun kielten luojia rajoittivat lähinnä laitteiston ominaisuudet, mutta myöhemmin on voitu kehitellä erilaisia kieliä erilaisiin käyttötarkoituksiin. Ainakin muutamat ohjelmointitapojen perustyypit lienevät lukijalle jo tavalla tai toisella tuttuja. Seuraavassa on lyhyt kertaus perinteisiin ohjelmointikieliin.

 

4.1. Proseduraaliset kielet

Alunperin tapa lienee ollut kirjoittaa käskyjä rivi kerrallaan jollakin merkistöllä (jollaiseksi jo varsin pian vakiintui ASCII, paitsi IBM:llä oli oma merkistönsä). Näitä proseduraalia ohjelmointikieliä ovat itse asiassa suurin osa yleisistä ohjelmointikielistä, kuten alkuaikojen Fortran ja Cobol, sekä myöhempien aikojen Pascal ja C. Huomattakoon, että läheskään aina ei käyttö ole rajoittunut siihen, mihin kieli alunperin suunniteltiin. Kärjistetyimpänä esimerkkinä lienee C-kieli, joka alunperin suunniteltiin lähinnä käyttöjärjestelmien ohjelmointia varten.

Proseduraalisten kielten hyvä puoli on yleensä tehokkuus. Nehän ovat muotonsa puolesta lähinnä konekieltä, jolle kaikki kielet on kuitenkin jossakin vaiheessa käännettävä! Konekielihän etenee käsky kerrallaan. Ohjelman kulun kannalta voitaisiin kai sanoa, että nämä kielet ovat rakenteeltaan ohjelmointijärjestykseen sidottuja (Programmer driven), ohjelma siis etenee sen mukaan kuin ohjelmoija on sen kirjoittanut.

 

4.2. Listamuotoiset kielet

Asioiden esittäminen ja käsittäminen listamuotoisena on johtanut Lisp-kieleen, jota tänä päivänä käytetään ainakin Autocadin "ohjelmointikielenä". Selkein pesäero proseduraaliseen ohjelmointiin on tehty ehkä loogisissa, usein tekoälysovelluksiin liittyvissä kielissä, joista mainittakoon vaikka Prolog.

 

4.3. Funktioihin perustuvat kielet

On olemassa joukko ohjelmointikieliä, joissa perusajatus on sama kuin matematiikan funktioissa. Kaikki ohjelmat ovat siis funktioita, joita kutsutaan tietyillä parametreilla ja jotka palauttavat jonkun arvon "toimittuaan". Monesti tämä palautuva arvo voi olla itse asiassa vain virhekoodi, joka kertoo kutsujalle, menikö asiat niinkuin niiden piti mennä.

Vähiten ohjelmoijan kontrollia on sellaisissa automaatioalallakin käytössä olevissa systeemeissä, joissa toiminta on verrattavissa taulukkolaskentaohjelmien Solver-toimintoihin. Jossakin on siis kasa kaavoja, jossakin toisessa paikassa on kaikki tunnetut tiedot ja jossakin kolmannessa paikassa on määritelty tuntemattomat. Jos kaavojen avulla pystyy jotenkin ratkaisemaan tuntemattomat, niin ohjelma tekee sen, eikä käyttäjän tarvitse tietää miten.

Toisenlainen versio aiheesta on erään automaatiovalmistajan Unix-ympäristöön luoma ohjelmointikieli, jossa esimerkiksi ylimmän tason funktiona on vaikkapa "tulosta raportti". Ja se sitten kutsuu tarpeen mukaan eri funktioita jne. Tällaista rakennetta voisi sanoa vaikka tietoohjautuneeksi (Data driven). Tässä tapauksessa ohjelman kirjoittajalla on usein - ainakin tehokkuussyistä - mielessä myöskin se, mikä käytännössä tulee olemaan funktioiden suoritusjärjestys.

 

4.4. Oliokielet

Merkkipohjaisia ovat oliokielet, joissa ideana on se, että tietueen kuvaus ja tietueeseen liittyvät toimenpiteet sotketaan yhteen. Tällöin lopputulos on sellainen, että tietoihin ei pääse "suoraan" käsiksi, vaan muiden ohjelmien on aina haettava tiedot niiden menetelmien avulla, jotka kyseiseen tietoon on alunperin liitetty.

Oliokielet sopivat hyvin tilanteisiin, joissa ongelma itsessään on rakenteeltaan hierarkinen. Eräs tällainen on graafinen käyttöliittymä. Jos halutaan tehdä omat vierityspalkit uusilla ominaisuuksilla, niin onhan toki kätevää, jos voin käyttää valmiita vierityspalkkeja pohjana ja vain lisätä omat ideat niihin. Monesti kuitenkin käytännössä esimerkiksi relaatiorakenne kuvaa monimutkaisempaa ongelmaa paljon paremmin kuin oliopohjainen tietokanta.

 

5. Graafinen ohjelmointi

Olemme edellä palauttaneet mieliin joitain käytössä olevia ohjelmointiperiaatteita. Voisiko niiden avulla kuvata graafisen ohjelmoinnin? (Joka on siis tasan eri asia kuin graafinen käyttöliittymä.) Vastaus on mielestäni selvä: Ei voi. Joudumme opiskelemaan aivan uudenlaisen ajattelutavan.

Mihin graafinen ohjelmointi sitten voisi perustua? Jos otamme ajattelun pohjaksi Ward-Mellorin tavan kuvata tietojärjestelmiä, niin kuvauksiahan on kolmea perustyyppiä:

1. Käsitekaavio (Entity Relationship Diagram)

2. Tilasiirtymäkaavio (State Transition Diagram)

3. Tietovuokaavio (Data Flow Diagram) .

On syytä huomata, että tietovuokaavio ei ole sama kuin "historiallinen" proseduraalisen ohjelmoinnin vuokaavio, joka esitti käskyohjelman ikään kuin graafisessa muodossa. Tietovuokaavio esittää tietojen sekä kontrollin kulkua erilaisten toimilohkojen välisessä maailmassa. Toiseksi on syytä huomata, että esimerkiksi olio-ohjelmointi ei välttämättä sovi hyvin sellaisiin kohteisiin, joihin LabVIEW on tarkoitettu. Käsitekaavio sisältää kyllä attribuutit, mutta metodeja ei ole oikein keskitetysti saatavilla. Lisäksi olio-ohjelmoinnin kielet eivät välttämättä sovellu hyvin reaaliaikaisten ongelmien ratkaisemiseen. Niissähän on keskeisellä sijalla tuo tilasiirtymäkaavio. Koska se kuvaa toimilohkojen välisen toiminnan ajallista järjestelyä, sitä on vaikea kuvata minkään yhden olion metodien avulla.

Mitä noilla yllä esitellyillä kuvausmenetelmillä on tekemistä itse aiheen eli LabVIEW-ohjelmoinnin kanssa? LabVIEW-ohjelma on itse asiassa hyvin pitkälle sama asia kuin tietovuokaavio, tai Jacobssenin "use case"-malli, tai edellämainittujen yhdistelmä.

6. Automaatiotausta

LabVIEW-ohjelmille voidaan hakea taustoja ajallisesti paljon kauempaakin kuin 80-luvun puolivälissä julkaistuista Ward-Mellorin menetelmistä. Oletan, että teollisuuden instrumentoinnissa yleisesti käytetty PI-kaavio on yleistynyt joskus toisen maailmansodan aikoina, siis paljon ennen kuin ensimmäistäkään transistoria on keksitty - nykyaikaisilla periaatteilla toimivista tietokoneista puhumattakaan. Kyseiset kaaviot olivat jo varsin standardoituneita 60-luvulla. Niiden avulla esitettiin - ja esitetään edelleen - esimerkiksi analogisen signaalin, siis tiedon, kulkua laitteelta toiselle.

Edellä mainittuihin kaavioihin ei tarvita oikeastaan muuta muutosta kuin että LabVIEW-ideologian mukaisesti ajatellaan fyysisen laitteen paikalle VirtuaaliInstrumentti eli VI. Välillä oli tosin muutaman vuoden jakso 70-luvun lopussa, jolloin ensimmäiset digitaaliset automaatiojärjestelmät ohjelmoitiin lähinnä konfigurointityylisesti. Jo 80-luvun puolivälissä siirryttiin ohjelmoinnissa "takaisin" graafiseen ohjelmointiin eli automaatioalan ihmisten kannalta "palattiin" vanhaan tuttuun PI-kaavion ideaan.

 

7. LabVIEW-ohjelmien rakenne

LabVIEW:ssa yksittäinen ohjelmamoduuli on nimeltään "Virtuaali Instrumentti" eli vi. Käytännössä ohjelmamoduulien nimen laajenteena on tuo sama vi eli ohjelma voi olla nimeltään vaikka Mittari.vi. On huomattava, että nimi ei välttämättä ole tässä tapauksessa DOS-tyyppinen tiedostonimi, vaan DOS-tiedostona on kirjasto (llb), jossa on sitten näitä vi:tä. Tämä johtuu siitä, että yhteensopivuuksien (Mac, Unix, DOS) vuoksi LabVIEW:ssä on sallittu jo alusta lähtien pitemmät kuin 8 merkin nimet.

Jos menemme yhden vi:n sisälle tarkastelemaan sen rakennetta, niin huomamme, että vi muodostuu tavallaan kahdesta eri osasta. Front Panel on nimensä mukaisesti etupaneeli eli käyttöliittymä. Vastaavasti Diagram on oikeastaan varsinainen ohjelma eli ohjelman looginen toiminta. Malli on vähän samanlainen kuin mitä on ajatus asiakas/palvelin-järjestelmissä.

Jos puolestaan tarkastelemme asioita laajemmin kuin yhden vi:n kannalta, niin huomaamme vi:n olevan (ali)ohjelman. VI:lle voidaan määritellä tulot ja lähdöt ns. connectoreilla, jotka vastaavat "tavallisen" aliohjelman kutsuparametreja. Näin ollen Lab VIEW tukee modulaarista ja hierarkista ohjelmointia. Itse asiassa väline tukee parhaiten sellaista menettelytapaa, jossa suunnitelma tehdään ylhäältä alaspäin ja implementointi alhaalta ylöspäin.

 

8. LabVIEW-ohjelmien käyttökohteet

Tässä vaiheessa kannattaa muistaa, mikä on LabVIEW-ohjelman alkuperäinen käyttötarkoitus. Sehän on lähinnä mittaustietojen keruu ja analysointi. Näin ollen välineen käyttöliittymä-toiminnoissa ovat tietysti hyvin edustettuina erilaiset painonapit, vierityspalkit, piirturit ynnä muut vastaavat. ASCII-merkkien syöttöönkin on omat välineensä, mutta ei se silti tarkoita sitä, että tällä välineellä kannattaisi alkaa ohjelmoimaan esimerkiksi palkanlaskentasovellusta.

Ohjelma voi tallettaa tietoa merkkimuodossa, jolloin se on helposti siirrettävissä Windows-välineillä esimerkiksi Exceliin jatkokäsittelyä varten. Muut talletusmuodot ovat numeerinen sellaisenaan ja numeerinen pakattuna. On muistettava, että nopeissa ja laajoissa mittaussovelluksissa dataa voi nopeasti kerääntyä useita kymmeniä megatavuja, joten tiedon pakkaus saattaa olla olennaisen tärkeää. Sen sijaan kovin hyviä tietokantalinkkejä välineessä ei vielä ole. Tämäkin mm. aiheuttaa sen, että ajatus palkanlaskennan ohjelmoinnista tällä välineellä kannattaa unohtaa.

Sen sijaan esimerkiksi kuva-analyysejä tällä on tehty ja tehdään. Esimerkkinä on vaikka Graftek, jolla on sovelluksia mm. liekin analysointiin 3-ulotteisesti. Samoin on Helsingin teknillisessä korkeakoulussa tehty lentosimulaattori, johon on toteuttettu mm. keinohorisontti. Ohjelman "sponsorina" on ollut Ilmavoimat, jolla on puolestaan ollut antaa malliksi oikea USA:sta saatu (tai siis ostettu) lentosimulaattori.

9. LabVIEW:n ominaisuuksia

Ettei asia jäisi lukijaa vaivaamaan ja ettei mielipiteeni jäisi jonnekin kappaleen keskelle sanojen sekaan lukijan tavoittamattomiin, niin tulkoon mielipiteeni tässä heti esille. Mielestäni graafinen ohjelmointi LabVIEW:llä ei ole yleisesti ottaen parempi tai huonompi kuin esimerkiksi proseduraalinen tekstiohjelmointi C-kielellä. Todellinen "oppimisaika" kestää muutamia kuukausia.

Mikään työkalu ei ole ihanteellinen kaikkiin ongelmiin. Aina joskus tosin ilmestyy profeettoja, jotka ovat sitä mieltä, että nyt on löytynyt täysin ylivertainen systeemi. Tällöin on kuitenkin yleensä se tilanne, että kyseinen henkilö ei tunne hyvin muita vaihtoehtoja. Jos siis ainoa tiedossasi oleva työväline on vasara, niin silloin kaikki ongelmat näyttävät nauloilta. Ja jos eivät näytä, niin laitetaan näyttämään.

Toinen syy jonkun välineen yksipuoliseen suosimiseen löytyy yleensä kaupalliselta puolelta; eli kenen leipää syöt, sen lauluja laulat. Jos on myyntimiehenä edustamassa jotakin ratkaisua, niin sitä on melkein pakko kehua joka käänteessä.

 

9.1. Graafisen ohjelmoinnin etuja

Jos sovellus vähänkin sivuaa esimerkiksi prosessiteollisuuden automaatiota, niin graafisen ohjelmoinnin merkittävä etu tuli jo edellä esille. Jonkun LabVIEW-ratkaisun periaatteiden selittäminen esimerkiksi jollekin paperikoneenhoitajalle on syntaksista johtuen yleensä varsin vaivatonta.

Jos sovelluksen toimilohkojen välillä on paljon erilaisia kytkentöjä, niin silloin toteutuu vanhan kansan sanonta "yksi kuva kertoo enempi kuin tuhat sanaa. Jos siis yhteen mahdolliseen LabVIEW-kuvaan sisältyvät asiat pitäisi kirjoittaa auki sanalliseen muotoon, esimerkiksi C-kielellä, niin ohjelmaa tulisi todella paljon.

Kun kysymyksessä on tietovuo-ohjelmointi (dataflow programing), niin ohjelman sisäisiä apumuuttujia ei tietenkään tarvita, joten niiden kanssa ei voi tulla ongelmiakaan. Lisäksi tyyppitarkastukset tulevat automaattisesti tehdyksi siinä vaiheessa, kun tietopisteet kytketään toisiinsa.

Vektori- ja klusterimuotoiselle tiedolla on graafisessa ohjelmoinnissa jalostuneempia käsittelytapoja kuin monissa ns. peruskielissä. Kielestä löytyvät perusstruktuurit peräkkäisyydelle ja iteraatiosilmukoille, joten ohjelman voi halutessaan tehdä myöskin perinteistä ohjelmaa vastaavaksi. Oletusarvoisesti ohjelmointi on kuitenkin tapahtumaohjattua (event driven).

Järeä etu muodostuu siitä, että tällainen korkean tason sovelluskehitin voi toisaalta asioida helposti I/O-korttien kanssa. Yleensähän nämä ovat selkeästi toisensa poissulkevia ominaisuuksia. I/O-asiointi edellyttää tietysti, että löytyy sopivat ajurit. Mutta siihen puoleen National Instruments on eräänä alan (=kortti-alan) suurista valmistajista paneutunut todella huolella, sillä ilmaisia ajureita löytyy sekä omiin että kilpailijoiden kortteihin runsaasti.

Toinen järeä etu on siinä, että ohjelmaan voi tulla tietoa ja tapahtumia satunnaisesti monesta eri kohteesta. Ja ohjelma selviytyy siitä kuten ohjelmoitava logiikka tai automaatiojärjestelmä eli tapahtuma-ohjatusti. Perinteinen konttori-ATK:han lähtee siitä, että silloin, kun ohjelmalla on miettimistä, niin pistetään "tiimalasi ruudulle". (No, voihan tietysti perinteisilläkin ohjelmointikielillä tehdä keskeytys-ohjattua ohjelmaa, mutta se vaatii yleensä työtä ohjelmoitsijalta, kun taas tässä sellainen muodostuu ihan kuin itsestään.)

Vielä yksi järeä etu liittyy mielestäni LabVIEW:hin sillä analogiasignaaleja voidaan ainakin näennäisesti käsitellä ikään kuin jatkuvina signaaleina. Niitähän ne tietysti ovatkin. Tässä mielessä abstraktiotaso on selvästi korkeampi kuin perinteisillä kielillä.

 

9.2. Haittoja

Jos ohjelma näyttää "spagetilta" niin se saattaa myös olla sellaista. Eli LabVIEW on väline, jolla voi tehdä "spagettiohjelmaa", sekä visuaalisessa että menttaalisessa mielessä!!!

Ohjelma on jonkun verran tehottomampaa kuin esimerkiksi C. National Instruments puhuu nopeuden ja muistitilan suhteen 10...15 % erosta verrattuna esimerkiksi juuri C:hen. Lienee selvää, että korkeamman tason ohjelmointivälineellä tehty ohjelma on aina jonkun verran tehottomampaa.

Toisaalta, jos tarvitaan todella nopea mittaus, niin se ei ole kiinni tämän sovelluksen nopeudesta. Silloin pitää olla kortti, jossa on prosessorit itsessään ja joka osaa tallettaa tietoja sekä toimittaa niitä eteenpäin silloin kun (LabVIEW:lle) sopii.

 Käyttöliittymän suhteen tulee tietysti vastaan normaali sovelluskehittimen raja. Jos siis välttämättä tarvitset toisenlaisen käyttöliittymän kuin mihin tämä pystyy, niin unohda koko juttu. National: Instrumentsin tuotteissa on tietysti mahdollista pysyä silti, katso kohta muut tuotteet ja siellä LabWindows/CVI.

Vastaavasti voi tulla raja vastaan tietojen tallennuksessa ja tietokanta-liittymissä. Ja taasen on sama tilanne, pitää vaihtaa työvälinettä.

Reaaliaikaisuudesta ja tapahtuma-ohjautuvuudesta on aiemmin jo puhuttu. Siltä osin lienee syytä palata hieman maan pinnalle. LabVIEW saa asiat näyttämään siltä, että toiminta on reaaliajassa. Mutta eihän se sitä välttämättä ole, joka johtuu käyttöjärjestelmäympäristöistä ja mahdollisesta tietojen tallennuksesta levylle. Jos sovellus on pieni eikä talleta levylle, niin silloin lähes ajantasainen toiminta on mahdollisuuksien rajoissa. Yleensä se riittää useille teollisuussovelluksille. Varsinaiseen ajantasaiseen toimintaan tarvitaan kyllä oikea automaatiojärjestelmä, ohjelmoitava logiikka tai muu sellainen. Tai pitää hankkia erillisellä prosessorilla varustettu kortti, jolle LabVIEW toimii vain isäntänä.

 

9.3. Ohjelmien tutkiminen

Ohjelmaa voi ajaa tavallaan askeltaen ja seurata, mitä ovat tietojen arvot missäkin päin. Lisäksi tietoja voi aputulostaa graafisesti, jolloin trendinomaiset muutokset tulevat loistavasti esille. Vastaavassa tilanteessa pitäisi perinteistä C-ohjelmaa ajaa N kertaa peräkkäin ja yrittää sen debuggerista muistella, mihin suuntaan mikin asia on muuttumassa ja millä nopeudella.

Suoranainen tietosilmukoiden rakentaminen ohjelmaan ei ole mahdollista, koska tapahtumaohjattuna LabVIEW jäisi tietysti silmukan joka kohdassa odottamaan edellistä arvoa, eikä mitään tapahtuisi. Jos esimerkiksi silmukkaohjelmassa pitää välittää tieto edellisen kierroksen arvosta, niin se tehdään erityisellä siirtorekisterillä.

 

9.4. Moniajo

Periaatteessa tapahtumaohjattu ohjelma voisi tietysti hyödyntää hienompia käyttöjärjestelmiä (NT ja Unix versus Windows), mutta ainakaan edellinen NT- versio ei tätä osannut.

Lisäksi näennäinen moniajo on Windowsissa tehty siten, että sovellusohjelma itse päättää, milloin on aika luovuttaa vuoro muille. Manuaalin mukaan aika on suuruusluokkaa 110 ms. Lisäksi on ohjelmia (muutama), jotka eivät luovuta kesken missään tapauksessa. Eräs sellainen on valmistajan mukaan FFT eli nopea Fourier- muunnos.

Todellisen moniajon hyödyntäminen sopisi tähän rinnakkaismalliseen ohjelmointikieleen kuin nyrkki silmään. Mutta siinä tapauksessa valmistaja joutuisi varmaan luopumaan esimerkiksi laajasta tuesta eri käyttöjärjestelmille (Windows95, NT, Unix, MacOS).

 

10. Käyttäjiä

Muistan nähneeni LabVIEW:n Jyväskylän yliopistolla hiukkaskiihdyttimen yhteydessä. Paikallisia käyttäjiä ovat myös Sisu-traktorit, Ilmavoimat ja Kaipola. Vaikka LabVIEW toimiiWindows-versiona 8 MB:n koneessa, niin laajempi sovellus saattaa vaatia myös tehokkaamman koneen. Eräällä yllämainituista oli jo pari vuotta sitten LabVIEW:ta pyörittämässä PC:tä, jossa oli keskusmuistia 64 MB.

11. Tulevaisuus

LabVIEW:han on suhteellisen selkeästi suuntautunut mittaussovelluksiin (vaikka periaatteessahan sillä voi ohjelmoida oikeastaan mitä vaan). Käyttöä teollisuudessa PC-valvomona on rajoittanut lähinnä logiikkaliitäntöjen puute. Nyt asia on ollut sillä tasolla, että jokainen voi halutessaan ohjelmoida liitännän ja ajurit, kun tässä kerran on ohjelmointiväline...

Tietääkseni LabVIEW:lle on näinä päivinä tulossa markkinoille "serkku" nimeltään BridgeVIEW. Yhtenä erona siinä on juuri se, että kaikkiin yleisiin logiikoihin pitäisi olla valmiit liitännät, kun täyttää asianmukaisen konfigurointi-lomakkeen ruudulla. Näinhän asia on jo kauan ollut esimerkiksi InTouchissa. Käytännössä tällä on iso merkitys, sillä teollisuudessa kuitenkin usein on logiikka PC-valvomon alapuolella. Tiettävästi BridgeVIEW:tä ohjelmoidaan samalla G-kielellä kuin LabVIEW:tä.

LabVIEW:hin on tulossa, tiettävästi vuoden 1997 ensimmäisellä neljänneksellä tuotteita, joilla LabVIEW:ta voidaan ajaa Internetin (tai Intranetin) yli. Tällöin tavallaan Front Panel on toisella puolella ja Diagram toisella puolella Internetiä. Olen nähnyt demoja tästä aiheesta ja siltä osin voinee todeta, että tulevaisuus näyttää varsin mielenkiintoiselta.

Toinen merkittävä kehityspolku on siinä, että LabVIEW on ollut varsin merkittävänä tekijä toteuttamassa suurta suunnitelmaa perinteisen 4-20 mA virtaviestin korvaamiseksi kansainvälisen standardin mukaisella digitaalisella viestillä prosessiteollisuudessa. Ja niissä demoissa LabVIEW on ollut eräänlaisena "väyläanalysaattorina".

 

12. National Instrumentin muita tuotteita

Perinteisimpiä NI:n tuotteita ovat varmaan erilaiset mittauskortit, mutta niistä ei kerrota tässä yhteydessä. Ohjelmistopuolella löytyy nimittäin muitakin tuotteita kuin LabVIEW. Uusin tulokas on BridgeVIEW, joka on eräänlainen evoluutiomalli LabVIEW:stä. BridgeVIEW on tullut tai tulee markkinoille 12/96.

Toinen uusi tuote on LookOut-valvomo-ohjelma. Sitä ohjelmoidaan yksinomaan konfiguroimalla, joten kaikki on helppoa, niin kauan kun ei vaadi mahdottomia. Tämä tuote tuli NI:lle yritysoston kautta vuonna 1996.

Yhtiöön tuli samalla tavalla yritysoston kautta vuonna 1996 myöskin HiQ. Se on National Instrumentsin mukaan kilpailija MatLabille. HiQ:n beta-version voi ladata koneeseensa ilmaiseksi tämän vuoden aikana verkosta.

Neljäs tuote on sitten LabWindows/CVI, joka on yhtiön oma ja jo vanhempi tuote. Sitä voisi kai luonnehtia eräänlaiseksi opastetuksi C-ohjelmaeditoriksi. Tekemällä valintoja se luo yhteen ikkunaan C-koodia. Voi sitä koodia tietysti naputella itsekin suoraan, mutta silloin pitää tietysti tuntea syntaksi.

Miksi otan esille näitä muita National: Instrumentsin ohjelmia? Tällaisen yhden yhtiön "tukeman" kielen yhteydessä helposti herää epäilys, että kyseinen yhtiö on jotenkin korviaan myöten sitoutunut kyseiseen kieleen. Näin ei National Instrumentsin kohdalla ole. Yhtiö tarjoaa erilaisiin käyttötarkoituksiin sopiviksi arvioimiaan kieliä, eikä ole täysin riippuvainen tästä G-kielestä.

 

13. Kilpailijoita

Kilpailijoita on varmaan paljonkin. Kuten jo yllä tuli todettua, niin erittäin monet automaatiojärjestelmät ohjelmoidaan tänä päivänä tavalla, joka muistuttaa G-kieltä, vaikkakaan syntaksi ei ole sama.

Jos pysytään PC-ympäristössä, niin paikallisesti keskisuomalaisittain tulee mieleen Datalogin DasyLab, jota Jämsänkoski käyttää suunnilleen vastaaviin tarkoituksiin. Muita kilpailijoita ovat esimerkiksi korttipuolen kilpailija Data Translation, jolla on tuote nimeltään DT VEE, ja HP, jolla on tuote nimeltään HP VEE.

 

14. Lähteet

Jos on pääsy Internetiin, niin tärkein osoite on ilman muuta: "www.natinst.com"

Sieltä löytyy lisää tietoa ja viitteitä. Sovelluksista on kuvauksia, joista osa on tosin pdf-formaatissa. Sieltä löytyy myöskin linkit kansallisten maahantuojien kotisivuille.

Mikäli yhteyttä Internetiin ei ole käytettävissä, niin silloin on parasta otta yhteys maahantuojaan vaikka puhelimella,

puh. 09-5272321.

Internetin kautta löytyy muutenkin lisää tietoa, esimerkiksi haku Altavistasta tavaramerkin mukaisella merkkijonolla eli "LabVIEW" tuotti 10517 kappaletta viitteitä. En tulosta niitä tähän, jokainen tarkentakoon hakua sen mukaan, mikä asia kiinnostaa.

Loppuun olen kopioinut muutaman sivun eräältä National Instrumentsin LabVIEW:ta käsittelevältä sivulta. Kopio palvelee kahta tarkoitusta. Ensinnä siinä on selostettu alkuperäisesti monia LabVIEW:n perusasioita, jotka minun muuten olisi pitänyt kääntää itse tähän dokumenttiin. Ja toisekseen Internet-yhteyttä vailla olevat näkevät vähän siitä, mistä ovat paitsi.


LIITE: Ote National Instrumentsin Internet-sivuilta


Graphical Programming Software


LabVIEW - Increasing Your Productivity with Virtual Instrumentation


"At CERN, LabVIEW is widely used by scientists and engineers. It does an excellent job in different fields, like testing modular instruments, controlling testbenches, and monitoring power equipment."
Fabio Soso, LabVIEW Software Administrator, CERN, European Organization for Nuclear Research

The Instrument of Choice
Imagine a revolutionary instrument that exactly meets your application needs. An instrument that acquires, analyzes, and displays data exactly the way you want it to. Imagine LabVIEW - the Instrument of Choice.

Thousands of successful engineers, scientists, and technicians use LabVIEW to create solutions for their demanding application needs. LabVIEW, a revolutionary graphical programming system for data acquisition and control, data analysis, and data presentation, offers an innovative programming methodology in which you graphically assemble software objects called virtual instruments (VIs).

LabVIEW gives you the flexibility of a powerful programming language without the associated difficulty and complexity. If you are looking for a faster way to program your instrumentation systems without sacrificing performance, then join the thousands of successful LabVIEW users and discover the software that is revolutionizing test and measurement, data acquisition and control, process monitoring, and factory automation.

Developing a Complete Instrumentation System
With LabVIEW, you control your system and present your results through interactive graphical front panels. You have numerous options for data management - storing data to disk, sharing data over a network and between applications, and preparing hardcopy output.

You can acquire data from thousands of devices, including GPIB, VXI, serial devices, PLCs, and plug-in data acquisition (DAQ) boards. You can also connect to other data sources via networking, interapplication communication, and structured query language (SQL) database links.

After you have acquired the data, you can convert your raw data into meaningful results by using the powerful data analysis routines in LabVIEW.

"Our LabVIEW-based in-vehicle data acquisition system has been a big hit with our customers. LabVIEW has provided us the functionality, creative license and tools to design systems that meet the cutting edge requirements of our customers in the automotive industry."
John Date, Vice President Engineering, Dateppli Inc.

Virtual Instrumentation
The introduction of LabVIEW in 1986 pioneered a new instrumentation approach called virtual instrumentation. Virtual Instrumentation empowers users to build their own instrumentation systems with standard computers and cost-effective hardware. These software-centered systems leverage off the computational, display, and connectivity capabilities of popular computers to give you the power and flexibility to build each of your instrumentation functions. You can mix and match your choice of data acquisition and instrument control hardware, including all of your existing instruments, to create virtual instrumentation systems that exactly meet your needs.

Saves Time and Money
Virtual Instrumentation saves time and money by empowering you to build "user-defined" systems in a fraction of the time it takes with traditional approaches. In development, you get the answers you need more quickly and have the time to test more thoroughly. In manufacturing, you test products faster and more completely. Your quality goes up, while your time to market goes down.

Improves Productivity
Because LabVIEW substantially reduces the time required to develop applications, LabVIEW users all over the world are experiencing substantial productivity gains. These productivity gains stem not only from the ease of use in LabVIEW but also from simplified code maintenance and reuse.

Increases Flexibility
By combining LabVIEW with standard data acquisition and instrument control devices, you can create virtual instruments and use them in many applications. Unlike traditional instruments, which are limited by the design of the manufacturer, a virtual instrument can operate as a variety of devices, such as a temperature monitor, voltmeter, strip chart recorder, digitizer, and signal analyzer.

Developing Test and Measurement Systems for Real-World Applications


"Apart from being the most advanced instrument control software, LabVIEW has the largest library of instrument drivers across instrument vendors. Users benefit from years of product feedback and a large installed base. The software is the key to a truly open system."
Deborah Agrella, GENEVA Business Unit Manager, GenRad

LabVIEW Test and Measurement Tools
LabVIEW has become an industry-standard development tool for test and measurement applications. With the LabVIEW Test Executive, graphical test programs, and the industry's largest instrument library, you have a single, consistent development and execution environment for your entire system.

LabVIEW VI Development
LabVIEW eases application development with GUI libraries, analysis libraries, and I/O libraries for GPIB, VXI, DAQ, and serial interfaces. In addition, you can easily connect to other applications through networking and interapplication communication. With the open architecture of LabVIEW, you can call any DLL or shared library, so you can reuse your existing code.

The LabVIEW Test Executive
The Test Executive controls test execution sequences for production and manufacturing applications. To leverage off your existing code, you can incorporate tests written in a variety of languages into the Test Executive. In addition, you can easily incorporate statistical process control (SPC) methods and SQL database connectivity into your test sequences.

Instrument Drivers
Instrument drivers dramatically reduce software development costs because you do not have to spend time programming the low-level control of each instrument. The LabVIEW instrument driver library has more than 500 drivers for instruments from more than 45 manufacturers. The instrument driver architecture of LabVIEW has been standardized and endorsed by all major suppliers through the VXIplug&play Systems Alliance. LabVIEW is the standard development platform for all VXIplug&play GWIN framework drivers. LabVIEW also runs all VXIplug&play drivers that conform to either the WIN or GWIN framework specifications.

"LabVIEW's functional test design environment enables rapid development of cost-effective ATE solutions."
Hugh Williams, Test Equipment Design Leader, British Aerospace (Systems and Equipment) Limited - BASE

In-Vehicle Data Acquisition System
Dateppli, Inc., based in Midland, Michigan, has developed a LabVIEW-based, in-vehicle DAQ system. Using DRIVE (Data Retrievable In-Vehicle), engineers can easily acquire data from a moving vehicle under test track and over-the-road test conditions. DRIVE is especially useful for test engineers who acquire a combination of digital and analog data, such as strain measurement, acceleration, and deflection, from a moving vehicle. Engineers at Dateppli chose LabVIEW to develop DRIVE because of its functionality, its straightforward programming approach, and its interactive control for on-the-fly dynamic data acquisition.

Production Test and ATE
GenRad, Inc. uses LabVIEW to control instruments and perform tests in their ENCOMPASS Test Management System. ENCOMPASS is an open, high-productivity test development environment for use with its GENEVA (GenRad Extended VXIbus-Based Architecture) test and measurement systems. Engineers at GenRad chose LabVIEW for their ENCOMPASS product because of its productivity and ease of use for functional verification and test. With its large library of instrument drivers and its simple graphical programming, LabVIEW provides an open system for production testing.

Surveillance Radar Quality Control System
Intersoft Electronics, a Belgium-based engineering company, uses LabVIEW for many applications. The RASS-PDP and RASS-S programs use LabVIEW to analyze primary and secondary surveillance radar performance for EUROCONTROL and the FAA. A total quality control of the radar chain, from antenna to data processor, is performed. LabVIEW is used for all of the data acquisition, RF instrument control, data analysis, and reporting in these applications.

Developing Process Control and Factory Automation Systems for Real-World Applications


"We use LabVIEW throughout our R&D Technical Center for a wide range of applications, from supervisory and direct PID process control to complex data analysis and process simulation. LabVIEW gives us the ability to link the process control, data logging, and data analysis in our labs - giving us better control, 24 hour operation, and recording/reporting of critical data."
John O'Neal, Laboratory Automation Specialist

Versatile Tools for SCADA
LabVIEW offers user interface, I/O, data analysis, and connectivity to address applications such as simple data logging, Supervisory Control and Data Acquisition (SCADA), and direct PID control. The graphical programming capabilities of LabVIEW give you a combination of both ease of use and flexibility not available in traditional man-machine interface (MMI) or SCADA software products.

Powerful User Interface
If you have MMI requirements, the user interface tools in LabVIEW will help you quickly create intuitive graphical displays, including trend charts, pushbuttons, LED alarms, and graphs, without having to draw controls from scratch. You can further customize your MMI with the LabVIEW Picture Control Toolkit or imported graphics created in other drawing packages to present instrumentation symbols and system diagrams.

Variety of I/O Options
LabVIEW offers a wide range of instrumentation I/O options, with drivers included at no charge for plug-in DAQ boards, serial instruments, and GPIB and VXI hardware. Drivers are also available for communicating with programmable logic controllers (PLCs), motion controllers, and other industrial DAQ devices. With LabVIEW, you can easily mix and match the instrumentation that best suits your industrial I/O needs.

Online Data Analysis
The LabVIEW analysis tools give you the ability to analyze and process your data online, so you can quickly and reliably make important decisions about your process. Using the SPC Toolkit, you can integrate quality control capabilities into your data acquisition and control programs.

Company-Wide Connectivity
In today's business environment, company-wide access to data from your process is critical. LabVIEW includes the connectivity tools you need to provide this access to your data, including built-in dynamic data exchange (DDE), NetDDE, and TCP/IP. For database connectivity, LabVIEW has integrated SQL access to a wide range of databases.

"LabVIEW is a product of enormous quality, flexibility, and power - both York International and our customers have benefitted from it, and we have only begun to scratch the surface of the program's power. LabVIEW proved the perfect tool to develop a flexible, fast MMI."
Jack Gornik, Building Automation Manager, York International

North Sea Oil Well Monitoring
CARDIAC, a National Instruments Alliance Program member based in Norway, has developed a unique Multiphase Flowmeter (MPFM) with LabVIEW to measure oil, gas, and water flow from North Sea oil wells. The MPFM application integrates sensors and transmitters using serial, HART, ModBus, and direct analog connections into a single virtual instrument. The MPFM also acts as a ModBus slave within a Fisher-Rosemount Provox DCS installed at the oil well.

HVAC Monitoring and Control
York International uses LabVIEW as the MMI in many of their HVAC (heating, ventilation, and air conditioning) control systems. LabVIEW communicates over a standard serial interface to remote smart panels that control sensors, motors, and other HVAC instrumentation. LabVIEW performs functions such as alarm notification and monitoring and control of chillers. York installations include Apple Computer in Cupertino, California, The Pond hockey arena in Anaheim, California, and the National Instruments manufacturing and engineering facility in Austin, Texas.

Production Line Automation with PLCs
Consolidated Diesel uses LabVIEW and National Instruments DAQ products for several systems in their engine manufacturing facility. One system is used for setting top dead center (TDC) of a diesel engine on the production line. This system uses a National Instruments AT-MIO-16 multifunction DAQ board to control a drive that positions the engine on the stand. LabVIEW controls the engine position through the DAQ board while monitoring Modicon PLCs that control the production line.

Using Graphical Programming to Build Virtual Instruments



Draw Your Own Solution
With LabVIEW, you build VIs instead of writing programs. You quickly create front panel user interfaces, giving you the interactive control of your software system. To specify the functionality, you intuitively assemble block diagrams - a natural design notation for engineers and scientists.

Create the Front Panel
On the front panel of your VI, you place the controls and data displays for your system by choosing objects from the Controls menu, including numeric displays, meters, gauges, thermometers, tanks, LEDs, charts, graphs, and more. When your VI is complete, you can use the front panel to control your system - while the VI is running - by clicking a switch, moving a slide, zooming in on a graph, or entering a value from the keyboard.

Construct the Graphical Block Diagram
To program the VI, you construct the block diagram without worrying about the many syntactical details of conventional programming. You select objects (icons) from the Functions menu and connect them with wires to pass data from one block to the next. These blocks range from simple arithmetic functions, to advanced acquisition and analysis routines, to network and file I/O operations.

Dataflow Programming
LabVIEW uses a patented dataflow programming model that frees you from the linear architecture of text-based languages. Because the execution order in LabVIEW is determined by the flow of data between blocks, and not by sequential lines of text, you can create diagrams that have simultaneous operations. Consequently, LabVIEW is a multitasking system - running multiple execution threads and multiple VIs.

Modularity and Hierarchy
LabVIEW VIs are modular in design, so any VI can run by itself or be used as part of another VI. You can even create an icon for your own VIs, so you can design a hierarchy of VIs and subVIs that you can modify, interchange, and combine with other VIs to meet your changing application needs.

Graphical Compiler
In many applications, execution speed is critical. LabVIEW is the only graphical programming system with a compiler that generates optimized code with execution speeds comparable to compiled C programs. Consequently, you can increase your productivity with graphical programming without sacrificing execution speed.

Completing Your Application with Powerful Built-In Libraries


"We looked at many other DAQ systems. Other systems were not very flexible and did not suit our needs. With LabVIEW, we got a development system that exactly fit our needs."
Mark Williams, Development Engineer, VI Engineering

Instrument Control
The LabVIEW, GPIB, VXI, and Serial VI Libraries use National Instruments industry-standard device driver software for complete control of your instrumentation. You can control any GPIB instrument connected to a National Instruments IEEE 488.2 interface board. Your VXI instruments are easily programmed with the LabVIEW VXI Development System, which includes VISA (Virtual Instrument Software Architecture), the new interface-independent software interface endorsed by the VXIplug&play Systems Alliance. You can communicate to your instruments from embedded VXI controllers or computers with an MXI or GPIB-VXI interface.

The Instrument Driver VI Library, available free of charge, contains drivers for more than 500 GPIB, VXI, Serial, and CAMAC instruments. These drivers are included on the LabVIEW CD-ROM distribution. They are also available on our Internet site, our BBS, and can be requested on disk.

Data Acquisition and Control
The DAQ VI Library has functions to acquire and output data with all National Instruments plug-in and remote DAQ products. The plug-in boards are ideal for high-speed and direct control applications. Because of their lower cost, they bring the cost per channel down significantly. LabVIEW also has drivers for industrial I/O devices such as PLCs, data loggers, and single-loop controllers. All National Instruments SCXI modules for signal conditioning and remote data acquisition work with LabVIEW. To help you select the right DAQ hardware for your system, we have created a free software configuration utility called DAQ Designer - you can request it from any National Instruments office.

"LabVIEW for Windows NT provides us with an excellent environment for our S655 printed circuit board tester. We were able to easily call DLLs directly from LabVIEW. With features like DDE and database support, we'll be able to expand our application in the future."
Patrick Mullin, Engineering Manager, Schlumberger ATE

Data Analysis
LabVIEW features powerful, comprehensive analysis libraries that rival those of dedicated analysis packages. These libraries are complete with statistics, evaluations, regressions, linear algebra, signal generation algorithms, time and frequency-domain algorithms, windowing routines, and digital filters. For a comprehensive list of more than 140 analysis functions in LabVIEW, contact National Instruments.

Connectivity
LabVIEW features numerous VI Libraries to communicate with other applications. You can call any DLL or shared library from LabVIEW. VIs for several networking protocols, including TCP/IP and UDP, are also available to communicate with remote applications. Using DDE VIs, you can create both Client and Server VIs to communicate with other Windows applications either on the same machine or using NetDDE on a remote computer. For Macintosh users, you can use Apple Events and program-to-program communication (PPC) VIs to communicate with other applications. On Unix platforms, VIs are available to pass data between applications via named pipes. For example, you can share data with an existing HP-BASIC program running under HP-UX.

Stand-Alone Applications
The LabVIEW Application Builder gives you the ability to create and distribute stand-alone executable applications. These executable applications run at compiled execution speeds and do not require a separate run-time system.

Increasing User Productivity


"An important issue in building large systems is unit testability. With LabVIEW this testing is built right in. And changing or adding instruments is a simple process - no lengthy program modification or recompilation is necessary."
Steve Bragg, Systems Engineer, Frontier Engineering

Flexibility to Meet Your Needs
LabVIEW delivers not only ease of use, but the flexibility and versatility to build a complete system. That's why so many people turn to LabVIEW for both their simple and sophisticated applications.

Editing and Debugging
LabVIEW has extensive tools for development, test, and debugging. It features execution highlighting, single-step mode, wire probes, and breakpoints, so you can trace and monitor the execution flow through the diagram. The context-sensitive Help window describes each icon and its connections. The Online Help gives instant access to common questions, online manuals, error codes, examples, customer support information, and more.

Existing Code Is Reusable
As you move to a new programming system, it is very important to maintain compatibility with your existing code. With LabVIEW, you can call executables written in other languages; communicate with other applications using DDE, Apple Events, and named pipes; and directly call external code written in any language through DLLs and shared libraries.

Large Application Management
When developing large applications, configuration management features are a necessity to ensure that your applications meet rigorous quality standards. With LabVIEW, you can log in under a user name and keep track of the progress of your VIs, including your name, the time and date the VIs are updated, and the modifications made.

Ready-to-Run Examples
LabVIEW is shipped with more than 300 example VIs, along with a special utility to help you locate exactly what you're looking for. You can use these examples as is or customize them to meet your needs, eliminating the need to build programs from scratch.

Ensuring Your Success


"The hands-on approach made learning and understanding easier. Absolutely superb instructors! Clear, concise and extremely sensitive to our individual needs."
LabVIEW Basics , Customer Education Course Student

Applications Assistance
National Instruments provides comprehensive customer assistance for our products. LabVIEW users have access to updates, example programs, all instrument drivers, and documents to answer common questions on the National Instruments World Wide Web site (http://www.natinst.com), FTP site (ftp.natinst.com), and Bulletin Board Service (512) 794-5422. Application Notes, product information, and common questions are available from our automatic information retrieval system (512) 418-1111. By joining the LabVIEW Maintenance and Support Program, you will receive free upgrades, discounts on training, and first-priority technical support.

Customer Education
National Instruments offers LabVIEW Customer Education materials and courses around the world. The LabVIEW Basics and LabVIEW Advanced courses teach you about all LabVIEW programming concepts. Courses are also available to help you develop LabVIEW Data Acquisition applications, LabVIEW GPIB applications, and LabVIEW VXI applications. You can also use the LabVIEW Training Video to learn the basics in just a few hours.

LabVIEW User Groups
LabVIEW User Group meetings are held throughout the year at trade shows, company sites, and regional offices. Users share information with each other and learn about new LabVIEW features and upcoming products. You can also subscribe to the user-sponsored info-labview Internet mailing list (info-labview-request@pica.army.mil). This list is very popular with LabVIEW users for discussing applications, tips and techniques, and more. We encourage you to use info-labview to discuss your potential applications with other LabVIEW users.

The Instrument Library Developer Program (ILDP)
The ILDP was formed to satisfy the high demand for instrument drivers. The ILDP offers instrument manufacturers special training and other benefits for writing instrument drivers. Through the ILDP partnership with instrument vendors, the LabVIEW Instrument Library continues to grow while maintaining a high standard of quality.

Alliance Program
National Instruments is joining system integrators, consultants, and hardware vendors from around the world by combining our powerful and flexible software and hardware tools with their specialized technical expertise to focus on solutions for particular application areas. For the LabVIEW consultant, the program includes product and training discounts, additional technical assistance, and new product information, as well as referrals and comarketing opportunities. For the LabVIEW user, the program ensures qualified, specialized assistance for application and system development from highly qualified Alliance Program members.

LabVIEW Data Analysis VI Libraries



The LabVIEW Advanced Analysis VI Library offers a powerful and comprehensive set of analysis routines for processing acquired data. These VIs deliver the latest technologies in analysis software. These libraries are rich in statistics, evaluations, regressions, linear algebra, signal generation algorithms, time and frequency-domain algorithms, windowing routines, and digital filters.

Measurement
AC & DC Estimator
Amp & Freq Estimate
Amplitude and Phase Spectrum