13
5.1.10 TRADICIONALNO PRIKUPLJANJE PODATAKA (DAQ) Data acquisition (DAQ), pojednostavljeno rečeno, je proces dobivanja podataka iz instrumenta ili uređaja. U većini slučajeva, DAQ se izvodi koristeći plug-in pločice za prikupljanje podataka. Ove plug-in pločice proizvode brojni proizvođači, uključujući i National Instruments. Te DAQ pločice obavljaju razne zadatke, uključujući analogna mjerenja, digitalna mjerenja i timing I/O. Jedna pogodnost je mogućnost dobavljanja pločica za PC, Macintosh i Sun radne stanice. Jedna od prednosti korištenja National Instruments pločica je dostupnost NI-DAQ drivera za pločice. Iako su pločice drugih proizvođača kompatibilne s LabVIEW-om, DAQ biblioteka najvjerojatnije neće biti kompatibilna s pločicom. Većina proizvođača pločica daju svoje drivere za svoju opremu; neki imaju čak i drivere pisane u LabVIEW-u. Čak i ako kod nije pisan u LabVIEW-u, DLL-ovi se mogu implementirati korištenjem funkcije Call Library. Code Interface Nodes (CIN) se mogu koristiti za implementaciju drivera pisanih u C izvornom kodu. SLIKA 5.1 1 Podizbornik Data Acquisition je dio izbornika Functions. Data Acquisition izbornik se sastoji od šest podizbornika: Analog Input VIs, Analog Output VIs, Digital I/O VIs, Counter VIs, Calibration and Configuration VIs i Signal Conditioning VIs. Data Acquisition podizbornik prikazan je na slici 5.11. Svaki od podizbornika se sastoji od niza VI različite složenosti i funkcionalnosti. Postoje četiri razine DAQ VI. Oni su Easy VIs, Intermediate VIs, Utility VIs i Advanced VIs. U pravilu, Utility VI se nalaze u vlastitom podizborniku. Advanced DAQ VI se također nalaze u vlastitom podizborniku. Glavna razlika između Easy i Intermediate VI je sposobnost Easy VI da se pokrenu kao samostalne funkcije. Ovi VI pozivaju više razine VI za obavljanje zadatka. The Easy VIs allow you to 1

LABview Prijevod Driveri 2dio

Embed Size (px)

DESCRIPTION

LABview prirucnik prijevod na hrvatski. Poglavlje 5 driveri, 2. dio

Citation preview

Page 1: LABview Prijevod Driveri 2dio

5.1.10 TRADICIONALNO PRIKUPLJANJE PODATAKA (DAQ)

Data acquisition (DAQ), pojednostavljeno rečeno, je proces dobivanja podataka iz instrumenta ili uređaja. U većini slučajeva, DAQ se izvodi koristeći plug-in pločice za prikupljanje podataka. Ove plug-in pločice proizvode brojni proizvođači, uključujući i National Instruments. Te DAQ pločice obavljaju razne zadatke, uključujući analogna mjerenja, digitalna mjerenja i timing I/O. Jedna pogodnost je mogućnost dobavljanja pločica za PC, Macintosh i Sun radne stanice.

Jedna od prednosti korištenja National Instruments pločica je dostupnost NI-DAQ drivera za pločice. Iako su pločice drugih proizvođača kompatibilne s LabVIEW-om, DAQ biblioteka najvjerojatnije neće biti kompatibilna s pločicom. Većina proizvođača pločica daju svoje drivere za svoju opremu; neki imaju čak i drivere pisane u LabVIEW-u. Čak i ako kod nije pisan u LabVIEW-u, DLL-ovi se mogu implementirati korištenjem funkcije Call Library. Code Interface Nodes (CIN) se mogu koristiti za implementaciju drivera pisanih u C izvornom kodu.

SLIKA 5.1 1

Podizbornik Data Acquisition je dio izbornika Functions. Data Acquisition izbornik se sastoji od šest podizbornika: Analog Input VIs, Analog Output VIs, Digital I/O VIs, Counter VIs, Calibration and Configuration VIs i Signal Conditioning VIs. Data Acquisition podizbornik prikazan je na slici 5.11. Svaki od podizbornika se sastoji od niza VI različite složenosti i funkcionalnosti. Postoje četiri razine DAQ VI. Oni su Easy VIs, Intermediate VIs, Utility VIs i Advanced VIs. U pravilu, Utility VI se nalaze u vlastitom podizborniku. Advanced DAQ VI se također nalaze u vlastitom podizborniku. Glavna razlika između Easy i Intermediate VI je sposobnost Easy VI da se pokrenu kao samostalne funkcije. Ovi VI pozivaju više razine VI za obavljanje zadatka. The Easy VIs allow you to pass in the device number and channel numbers. VI će također provoditi funkcije za rukovanje greškama te će vas obavijestiti ako se pojavi greška.

Pogledajmo podizbornik Analog Input. Izbornik se sastoji od četiri tipa gore opisanih VI. Easy VI uključuju funkcije za dobivanje jednog ili više valnih oblika iz analognog ulaza. Tu su i funkcije za dobivanje uzoraka na određenim kanalima. Intermediate VI omogućuju vam da konfigurirate hardvera i pripadne postavke, startate prikupljanje, očitate podatke iz buffera, napravite prikupljanje iz jednog skeniranja i izbrišete zadatak sa analognog ulaza. Analog Input izbornik sadrži dva podizbornika. Prvi podizbornik sadrži Utility VI. Ti VI uključuju funkcije za pokretanje jednog skeniranja, skeniranja valnog oblika, ili kontinuiranog skeniranja. Drugi izbornik sadrži napredne funkcije. Izbornik Advanced functions sadrži VI za konfiguracije, čitanje buffera, postavljanje parametara i kontrolu zadataka sa analognih ulaza. Mogli bismo posvetiti brojna poglavlja DAQ funkcijama, ali DAQ funkcije su detaljno obrađene u NI Data Acquisition Basic priručniku. Nećemo pokušati pokriti materijal koji je već pokriven.

1

Page 2: LABview Prijevod Driveri 2dio

5.1.11 NI-DAQMX

Dok su se tradicionalni DAQ (Legacy) VI uspješno koristili za automatizaciju aplikacija za prikupljanje podataka više od jednog desetljeća, podrška novih mogućnosti i funkcionalnih poboljšanja rezultirala je stvaranjem DAQmx-a. DAQmx je nadskup DAQ Legacy VI. Još uvijek možete koristiti sve funkcije koje ste mogli koristili i prije, ali sada imate dodatne mogućnosti kao što su multithreaded izvršenja, dodatna funkcionalnost drivera i konfiguracijske aplikacije poput DAQ asistenta i express VI. DAQmx je dostupan za Windows i Linux operativne sustave. Kako bi osigurano podskup DAQmx funkcionalnosti za MAC OSX, RTX i Pocket PC operacijske sustave, stvoren je NI DAQmx Base.

Prva korist DAQmx-a je podrška za novije uređaje. Novi uređaji za prikupljanje podataka neprestano se stvaraju s povećanom funkcionalnošću u odonosu na starije modele uređaja. U cilju podrške novih funkcionalnosti trebati će napraviti i nove drivere. Novi driveri će se kreirati samo za DAQmx. Iako će se podrška za tradicionalni NI-DAQ nastaviti, neće se stvarati novi driveri. Da bi se dalje nastavile razvijati aplikacije savjetuje se korištenje DAQmx-a kako bi bili sigurni da će se podrška za kod nastaviti.

U većini slučajeva DAQmx poboljšava brzinu aplikacije. To je zbog nekoliko novih značajki. Prvo, legacy driveri izvršavaju se samo u single thread modu. DAQmx sada podržava multithreaded izvršenja ubrzavajući aplikacije koje mogu obavljati dva ili više zadataka prikupljanja paralelno. Drugo poboljšanje u brzini postignuto je dizajnom aplikacija. Sada s više kontrole nad operacijama kao što su rezerviranje resursa i konfiguracija, tako da korisnik može dizajnirati aplikaciju za obavljanje tih operacija samo kada je to potrebno kako bi se smanjio pretek.

Konačno, DAQmx alati mogu olakšati razvoj aplikacija. Sposobnost korištenja express VI za konfiguriranje zadataka prikupljanja može skratiti vrijeme potrebno da se test izvede. To može biti korisno kada se test program često mijenja, pa ponovno rekodiranje VI svaki put kad se test program promijeni može biti zamorno. DAQ Assistant je aplikacija koja može olakšati kodiranje vodeći vas kroz kreiranje zadatka prikupljanja korak po korak. Sada ćemo pokazati primjer s jednostavnim čitanjem podataka s analognog naponskog ulaza DAQ kartica.

Prvi korak za primjer je postavljanje hardvera. Postavljanje hardvera vrši se u Measurement Automation Explorer-u (MAX). U mapi Devices and Interfaces trebao bi biti prikazan sav dostupan hardver. Svaka instalirana DAQ kartica bi trebala biti prikazana. Ako razvijate aplikaciju na vašem stolu prije instalacije na vaš sistem za prikupljanje, uređaj neće biti ovdje. Možete dodati uređaj s driverima za vaš hardver, ili možete stvoriti simulirani uređaj kako bi mogli razvijati i testirati svoje aplikacije. To možete napraviti desnim klikom na mapu i odabirom Create New. Ovdje možete odabrati odgovarajuće drivere. Nakon što ste odabrali uređaj možete podesiti postavke kao što su početne postavke i tip konektora. Za ovaj primjer smo stvorili simuliranu DAQ karticu (PCI-6220) na DEV1. Prozor MAX-a je prikazan na slici 5.12.

2

Page 3: LABview Prijevod Driveri 2dio

SLIKA 5.1 2

Sada ćemo na code diagram kratici odabrati DAQ Assistant iz izbornika input iz Express izbornika. Početno DAQ Assistant sučelje koje se automatski pokreće prikazano je na slici 5.13. Na ovom primjeru ćemo odabrati Voltage ispod Analog Input naslova. Nakon odabira vrste prikupljanja ulazni zaslon vam daje mogućnost postavljanja hardverskih kanala koji će se koristiti. Dostupni podaci ovise o tome što je već postavljeno u MAX-u. Ovdje smo u mogućnosti odabrati određene analogne ulazne linije na DEV1 (simuliranoj 6620 kartici).

Sada kada ste završili početnu instalaciju DAQ Assistant otvara prozor za konfiguriranje parametara kanala. To sučelje je prikazano na slici 5.14. Ovdje možete dodavati, uklanjati i testirati kanale kako bi bili sigurni da imate sve dobro postavljeno. Postoji još jedna kartica na donjem dijelu prozora. Ova kartica će pokazati dijagram priključka. Ovdje možete odabrati svaki kanal i vidjeti koje žice su priključene na temelju definiranog DEV1 priključka u MAX-u. Ovaj prozor je prikazan na slici 5.15. Nakon dovršenja konfiguracije rezultirajući DAQ blok će biti na dijagramu koda. Blok je standardni Express VI blok s plavim rubom. Sada možete spojiti kontrole sve ulaze koje želiti moći kontrolirati. Valni izlaz možese spojiti na izlaz DAQ Assistant bloka. Pokretanje VI kreira graf ulaznih kanala.

3

Page 4: LABview Prijevod Driveri 2dio

SLIKA 5.1 3

SLIKA 5.1 4

4

Page 5: LABview Prijevod Driveri 2dio

Neki ljudi ne vole koristiti express VI jer je kod skriven od korisnika. Imate dvije opcije. Možete spojiti aplikaciju pomoću DAQmx subVI na isti način na koji bi koristili Legacy DAQ VI ili možete konfigurirati aplikaciju s DAQ Assistant-om i desnim klikom na ikonu izabrati da generira DAQmx kod. Slika 5.16 prikazuje jednostavno jednokanalno analogno prikupljanje ulaza. Primjetite da su DAQmx VI polimorfni. Polimorfni VI je VI koji može obavljati različite funkcije na temelju ulaznih vrijednosti. U ovom slučaju postoji VI za stvaranje kanala. U ovom slučaju odabran je analogni ulaz, pa Će VI stvoriti kanal za analogni ulaz napona. Ako programer promijeni donji tekst za čitanje napona analognog izlaza (AO Voltage) stvorio bi se kanal za napon analognog izlaza. Ova postavka se može mijenjati desnim klikom na tekst na dnu VI kao što je prikazano na slici 5.17. To je još jedan način da se programiranje olakša. Isti kod se može koristiti za različite aplikacije promjenom funkcionalnosti polimorfnih VI bez potrebe da se ubaci novi VI.

SLIKA 5.1 5

SLIKA 5.1 6

5

Page 6: LABview Prijevod Driveri 2dio

SLIKA 5.1 7

5.1.12 FILE I/O

File I/O je tip drivera kojeg se ljudi često ne sjete. Sposobnost čitanja podataka iz datoteke i pisanja podataka u datoteku na mnogo načina je slično čitanju podataka iz i pisanju podataka na GPIB instrument. Trebate sredstva za identifikaciju datoteke s kojom želite komunicirati. Umjesto GPIB adrese imate put datoteke. Također trebate biti u mogućnosti prenositi podatake s jednog mjesta na drugo. Umjesto razmjene podataka između računala i GPIB instrumenta, razmjenjujete podatke između LabVIEW programa i datoteke. File I/O funkcije su vrlo slične driverima instrumenta ili komunikacijskim driverima.

File I/O VI mogu se naći u File I/O dijelu Function izbornika. Ovaj podizbornik sadrži brojne funkcije datoteka, kao i podizbornike koji sadrže VI koji se odnose na binarne datoteke, datoteke konstanti, konfiguracijske datoteke i napredne funkcije datoteke. Standardne File I/O funkcije uključuju VI za otvaranje/stvaranja datoteke, čitanje podataka iz datoteke, pisanje podataka u datoteku i zatvaranje datoteke. Osim ovih funkcija, postoje VI za pisanje i čitanje podataka iz spreadsheet datoteke, pisanje ili čitanje znakova iz datoteke i čitanje linija iz datoteke. File I/O izbornik je prikazan na slici 5.18.

SLIKA 5.1 8

6

Page 7: LABview Prijevod Driveri 2dio

Postoje dvije preostale funkcije koje su uključene u standardne File I/O funkcije. Prvi VI omogućuje vam izgradnju puta datoteke. Taj VI stvara novi put datoteke dodavanjem naziva datoteke ili relativni put od ulaza stringa do osnovnog puta. Zadana vrijednost osnovnog puta je praza put. Rezultat je u kombinirani put datoteke. Ako postoji problem u jednom ili u oba ulaza, VI će vratiti poruku "not-a-path". Druga funkcija uzima put datoteke i razbija ga. Zadnji dio puta spojen je kao string ime datoteke. Ostatak puta je spojen kao put datoteke. VI će ispisati prazan string i "nit-a-path" ako je ulaz nevaljan. Binary file VI omogućuju vam čitanje i pisanje 1- ili 2-D polja podataka na bajt stream datoteku. Bajt stream datoteka može biti u signed word formatu ili single precision formatu. Configuration file izbornik sadržava VI koji se koriste za čitanje i izmjenu informacija u konfiguracijskim datotekama. File Constants izbornik sadrži VI koji vam omogućuju pristup trenutnim mapama, putevima ili mapama knjižnice VI. Pored navedenih funkcija, postoje konstante koje se mogu koristiti za stvaranje ulaza za File I/O VI.

Configuration Files izbornik sadrži VI koji se koriste za čitanje i pisanje u INI formatirane datoteke. Ti VI mogu biti vrlo korisni kada se od korisnika zahtjevaju informacije o konfiguraciji za postavljanje izvršavanje koda. Korištenjem ovih VI možete spremiti postavke koje korisnik unio da se učitaju sljedeći put kada se aplikacija pokrene tako da korisnik ne mora ponovno unositi sve informacije. Mogle bi čak postajiti i opcije za spremanje konfiguracija u slučaju da postoji više potrebnih postavki.

Advanced izbornik sadrži VI koji obavljaju niz zadataka koji se odnose na datoteke. Advanced izbornik je prikazan na slici 5.19. File Dialog funkcija prikazuje dijaloški okvir koji korisniku nudi odabir datoteke. Izlaz je put odabrane datoteke. Open File VI vam omogućuje da odredite vrstu datalog-a. Tu je funkcija koja se koristi kako bi pronašli pomak od kraja datoteke (EOF). Seek funkcija omogućuje vam da započnete datoteku na nekom drugom položaju osim na početku datoteke. Postoje VI koij se koriste za postaviti prava pristupa za određene datoteke, kao i za saznati informacije o datoteci, mapi ili volumen.

SLIKA 5.1 9

Tu je set od pet VI u Advanced izborniku koji obavljaju radnje na mapama. Postoji VI koji vam omogućuje da se presele datoteke ili mape. Tu su također VI koji vam omogućuju da kopirate datoteku ili mapu, kao i brisanje datoteke ili mape. New Directory funkcija vam omogućuje da stvorite mapu na određenom putu. List Directory funkcija sadrži popis svih imena datoteka i mapa koje se nalaze u putu mape.

7

Page 8: LABview Prijevod Driveri 2dio

Završni skup funkcija u Advanced izborniku su VI koji služe za pretvaranje između stringova i puteva. Funkcije mogu obavljati operacije na jednom stringu ili na polju stringova. Tu je i VI koji pretvara refnum u put. Ti su VI korisni prilikom pretvaranja string puteva koje je stvorio korisnik u korisničkom sučelju u put datoteke za obavljanje funkcija datoteka.

Sada ćemo dati kratki primjer kako čitati i pisati podatke koristeći datalog datoteke. Prvi korak je stvoriti tip podataka koji se koristi za pohranu podataka. U ovom primjeru ćemo snimati tri različite vrijednosti po datalog vrijednosti. Prvi je indeks podataka. To je jednostavno vrijednost indeksa FOR petlje koji se koristi za stvoriti podatke. Druga stavka u klasteru podataka je podatak. Podaci za ovaj primjer su jednostavno generirani slučajni brojevi između 0 i 10. Konačni tip podataka koji se koristi za cluster je oznaka datuma i vremena. Ova vrijednost je napisana kao string. Ukratko, naši tipovi podataka se sastoje od jednog cijelog broja, realnog broja i stringa.

Prvi korak je kreiranje koda koji će generirati podatake. FOR petlja izvršava 100 iteracija. Unutar For petlje, indeks petlje, test podaci i string vremena i datuma su grupirani u klaster. Taj klaster je priključen na izlaz FOR petlje, gdje je omogućeno automatsko indeksiranje. Kada su svi podaci prikupljeni, koristi se New File VI. Put datoteke sadrži naziv i lokaciju datoteke u koju pišete podatke i biti će potreban kada želite dohvatiti podatke. Put datoteke je jedini potrebni ulaz. Postoji niz drugih ulaza u VI koji se mogu priključiti ili ostaviti kao zadano. Za pisanje i čitanje datalog datoteke, trebat ćete spojiti kopiju formata podataka na datalog tip. To možete postići spajanjem stvarnog podatka na ulaz, ili povezivanjem konstante istog tipa podataka. ostali ulazi su permissions, group, deny mode i overwrite. Overwrite ulazu za naš primjer dodijeliti ćemo vrijednost "true". To omogućuje programu da prebriše postojeću datoteku s istim imenom, kao što je navedeno u ulaznom putu datoteke. Da se ulaz postavi "false" program bi javio grešku kada bi pokušao stvoriti novu datoteku koja već postoji.

Nakon što je datoteka stvorena, sljedeći korak je upisati podatke. Write VI koristi se za slanje prikupljenih podataka na datalog datoteku. Ulazi Write VI uključuju convert eol (end of line), header, refnum, positive mode, positive offset, error in i data. Jedini potrebni ulazi su refnum i data ulazi. Podaci iz FOR petlje su priključeni na unos podataka. Završni korak ovog podVI je zatvoriti datoteku pomoću Close File VI.

Sljedeći korak je stvoriti VI za čitanje podataka nazad iz datoteke. U ovom VI korisit se Open File funkcija za stvaranje veze s datotekom. File Path ulaz se koristi za usmjeravanje VI do datalog datoteke. Uz File Path priključen je i tip podataka na Datalog Type ulaz. Ovaj tip podataka mora odgovarati tipu podataka klastera kojega smo upisali u datoteku. To vam omogućuje da pročitate informacije u odgovarajućem formatu. Osim datalog tipa i puta datoteke, možete postaviti open mode i deny mode za datoteku. To vam omogućuje da odredite dozvole za datoteku. Nakon otvaranja datoteke, morate koristiti funkciju Read File. Ovaj VI se koristi kako bi dobavili podatke iz datoteke i pisali podatke na pokazatelj. Opet, završni korak je zatvaranje datoteke. Code diagram za Datalog Write VI i Datalog Read VI je prikazan na slici 5.20.

8

Page 9: LABview Prijevod Driveri 2dio

SLIKA 5.2 0

5.1.13 CODE INTERFACE NODE I CALL LIBRRARY FUNKCIJA

LabVIEW ima sposobnost izvršavanja koda napisanog u C-u, kao izvršavanja funkcija spremljenih u DLL. Postoje dva načina za pozivanje vanjskog koda. Programer može pozvati kod napisan u tekst-temeljenom jeziku poput C-a koristeći Code Interface Node (CIN). Programer također ima mogućnost pozvati funkcije iz DLL ili zajedničke knjižnice pomoću Call Librarry funkcije. Slijedi kratak opis svake.

CIN je u nekim aspektima sličan podVI. CIN je objekt na blok dijagramu VI. Programer može unijeti ulazne podatke neophodne za izvršavanje funkcija ispojiti izlaze iz CIN-a na ostatak programa. Glavna razlika je što je podVI kod napisan u G jeziku za obavljanje funkcije, dok CIN izvršava tekstualni kod za obavljanje funkcije. CIN je povezan na kompajlirani izvorni kod. Kad izvršenje blok dijagrama dođe do CIN-a, LabVIEW poziva izvršni kod, vraćajući konačne izlaze na VI.

Postoje brojni razlozi za korištenje CIN-a. Jedna od prednost je mogućnost korištenja postojećeg koda u vašem LabVIEW programu. Ako je funkcija već napisana u C-u, imate mogućnost integriranja koda u vaš LabVIEW program što će smanjiti vrijeme razvoja. Još jedna korist korištenja CIN-a je proširivanje funkcionalnosti LabVIEW-a. Određene funkcije sustava koje nemaju odgovarajuće LabVIEW funkcije mogu se realizirati pomoću koda koji je napisan u C-u. To može pomoći programeru u obavljanju low-level programiranja s LabVIEW-ovim grafičkim sučeljem. Konačna prednost kod korištenja CIN-a je brzina. Dok je LabVIEW dovoljno brz za većinu programskih zadataka, određene vremenski kritične operacije, kao što su prikupljanje podataka i

9

Page 10: LABview Prijevod Driveri 2dio

manipulacija, može biti učinjeno učinkovitije u programskom jeziku kao što je C. Korištenje CIN-a omogućuje programeru korištenje pravog alata za pravi posao.

Sposobnost korištenja prethodno napisanog koda je ključ za smanjenje vremena razvoja. Funkcije za obavljanje mnogih Windows funkcija već su napisane. Te funkcije su obično napisane u C-u i spremljene su u Dynamic Link Libraries (DLL). LabVIEW može pozvati ove Windows funkcije na dva načina. Prvi način je pomoću CIN-a. Lakši način za pozivanje DLL funkcija je pomoću Call Libraryfunkcije. Glavna razlika između pozivanja C koda pomoću CIN-a i koristeći Call Library funkciju za pozvati DLL je integracija izvornog koda. Kada koristite DLL, kod ostaje u svojoj knjižnici; ne kopira se u izvršne datoteke programa. Druga očita razlika je činjenica da su DLL-ovi Windows specifični, dok se CIN može koristiti na svim platformama.

Za više informacija o Code Interface Node, može se pronaći Code Interface Reference priručnik na National Instruments web stranici. PDF datoteka pokriva kako integrirati CIN na bilo kojoj platformi. Za više informacija o korištenju DLL-ova, postoji Application note na NI web stranici. Application Note 087, "Writing Win32 Dynamic Link Libraries (DLLs) and calling them from LabVIEW", govori o metodama korištenja DLL-ova.

5.2 KLASIFIKACIJA DRIVERA

Tri su glavne funkcije drivera. Tri vrste odgovaraju tri glavne svrhe drivera: konfiguriranje instrumenta, uzimanje mjerenja ili provjea statusa. O te tri glavne vrste drivera će govoriti u nastavku. Kada se kreiraju driveri VI, National Instruments preporuča standardni format kojeg driveri trebaju slijediti. Knjižnice drivera trebaju sadržavati sljedeće funkcije: Initialize, Configure, Action/Status, Data, Utility i Close.

10