LABview Prijevod Driveri 2dio

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

1

5.1.10 TRADICIONALNO PRIKUPLJANJE PODATAKA (DAQ)



Data acquisition (DAQ), pojednostavljeno reeno, je proces dobivanja podataka iz instrumenta ili ureaja. U
vedini sluajeva, DAQ se izvodi koristedi plug-in ploice za prikupljanje podataka. Ove plug-in ploice proizvode
brojni proizvoai, ukljuujudi i National Instruments. Te DAQ ploice obavljaju razne zadatke, ukljuujudi
analogna mjerenja, digitalna mjerenja i timing I/O. Jedna pogodnost je mogudnost dobavljanja ploica za PC,
Macintosh i Sun radne stanice.
Jedna od prednosti koritenja National Instruments ploica je dostupnost NI-DAQ drivera za ploice.
Iako su ploice drugih proizvoaa kompatibilne s LabVIEW-om, DAQ biblioteka najvjerojatnije nede biti
kompatibilna s ploicom. Vedina proizvoaa ploica 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 koritenjem
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 razliite sloenosti 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
takoer nalaze u vlastitom podizborniku. Glavna razlika izmeu Easy i Intermediate VI je sposobnost Easy VI da
se pokrenu kao samostalne funkcije. Ovi VI pozivaju vie razine VI za obavljanje zadatka. The Easy VIs allow you
to pass in the device number and channel numbers. VI de takoer provoditi funkcije za rukovanje grekama te
de vas obavijestiti ako se pojavi greka.
Pogledajmo podizbornik Analog Input. Izbornik se sastoji od etiri tipa gore opisanih VI. Easy VI
ukljuuju funkcije za dobivanje jednog ili vie valnih oblika iz analognog ulaza. Tu su i funkcije za dobivanje
uzoraka na odreenim kanalima. Intermediate VI omoguduju vam da konfigurirate hardvera i pripadne
postavke, startate prikupljanje, oitate podatke iz buffera, napravite prikupljanje iz jednog skeniranja i izbriete
zadatak sa analognog ulaza. Analog Input izbornik sadri dva podizbornika. Prvi podizbornik sadri Utility VI. Ti
VI ukljuuju funkcije za pokretanje jednog skeniranja, skeniranja valnog oblika, ili kontinuiranog skeniranja.
Drugi izbornik sadri napredne funkcije. Izbornik Advanced functions sadri 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 obraene u NI Data Acquisition Basic priruniku. Nedemo pokuati
pokriti materijal koji je ved pokriven.
2

5.1.11 NI-DAQMX

Dok su se tradicionalni DAQ (Legacy) VI uspjeno koristili za automatizaciju aplikacija za prikupljanje podataka
vie od jednog desetljeda, podrka novih mogudnosti i funkcionalnih poboljanja rezultirala je stvaranjem
DAQmx-a. DAQmx je nadskup DAQ Legacy VI. Jo uvijek moete koristiti sve funkcije koje ste mogli koristili i
prije, ali sada imate dodatne mogudnosti kao to su multithreaded izvrenja, 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 podrka za novije ureaje. Novi ureaji za prikupljanje podataka neprestano se
stvaraju s povedanom funkcionalnodu u odonosu na starije modele ureaja. U cilju podrke novih
funkcionalnosti trebati de napraviti i nove drivere. Novi driveri de se kreirati samo za DAQmx. Iako de se
podrka za tradicionalni NI-DAQ nastaviti, nede se stvarati novi driveri. Da bi se dalje nastavile razvijati
aplikacije savjetuje se koritenje DAQmx-a kako bi bili sigurni da de se podrka za kod nastaviti.
U vedini sluajeva DAQmx poboljava brzinu aplikacije. To je zbog nekoliko novih znaajki. Prvo, legacy
driveri izvravaju se samo u single thread modu. DAQmx sada podrava multithreaded izvrenja ubrzavajudi
aplikacije koje mogu obavljati dva ili vie zadataka prikupljanja paralelno. Drugo poboljanje u brzini postignuto
je dizajnom aplikacija. Sada s vie kontrole nad operacijama kao to su rezerviranje resursa i konfiguracija, tako
da korisnik moe dizajnirati aplikaciju za obavljanje tih operacija samo kada je to potrebno kako bi se smanjio
pretek.
Konano, DAQmx alati mogu olakati razvoj aplikacija. Sposobnost koritenja express VI za
konfiguriranje zadataka prikupljanja moe skratiti vrijeme potrebno da se test izvede. To moe biti korisno kada
se test program esto mijenja, pa ponovno rekodiranje VI svaki put kad se test program promijeni moe biti
zamorno. DAQ Assistant je aplikacija koja moe olakati kodiranje vodedi vas kroz kreiranje zadatka prikupljanja
korak po korak. Sada demo pokazati primjer s jednostavnim itanjem podataka s analognog naponskog ulaza
DAQ kartica.
Prvi korak za primjer je postavljanje hardvera. Postavljanje hardvera vri 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 vaem stolu prije instalacije na
va sistem za prikupljanje, ureaj nede biti ovdje. Moete dodati ureaj s driverima za va hardver, ili moete
stvoriti simulirani ureaj kako bi mogli razvijati i testirati svoje aplikacije. To moete napraviti desnim klikom na
mapu i odabirom Create New. Ovdje moete odabrati odgovarajude drivere. Nakon to ste odabrali ureaj
moete podesiti postavke kao to su poetne 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.

3


SLIKA 5.1 2

Sada demo na code diagram kratici odabrati DAQ Assistant iz izbornika input iz Express izbornika.
Poetno DAQ Assistant suelje koje se automatski pokrede prikazano je na slici 5.13. Na ovom primjeru demo
odabrati Voltage ispod Analog Input naslova. Nakon odabira vrste prikupljanja ulazni zaslon vam daje
mogudnost postavljanja hardverskih kanala koji de se koristiti. Dostupni podaci ovise o tome to je ved
postavljeno u MAX-u. Ovdje smo u mogudnosti odabrati odreene analogne ulazne linije na DEV1 (simuliranoj
6620 kartici).
Sada kada ste zavrili poetnu instalaciju DAQ Assistant otvara prozor za konfiguriranje parametara
kanala. To suelje je prikazano na slici 5.14. Ovdje moete dodavati, uklanjati i testirati kanale kako bi bili
sigurni da imate sve dobro postavljeno. Postoji jo jedna kartica na donjem dijelu prozora. Ova kartica de
pokazati dijagram prikljuka. Ovdje moete odabrati svaki kanal i vidjeti koje ice su prikljuene na temelju
definiranog DEV1 prikljuka u MAX-u. Ovaj prozor je prikazan na slici 5.15. Nakon dovrenja konfiguracije
rezultirajudi DAQ blok de biti na dijagramu koda. Blok je standardni Express VI blok s plavim rubom. Sada
moete spojiti kontrole sve ulaze koje eliti modi kontrolirati. Valni izlaz moese spojiti na izlaz DAQ Assistant
bloka. Pokretanje VI kreira graf ulaznih kanala.
4


SLIKA 5.1 3


SLIKA 5.1 4

5

Neki ljudi ne vole koristiti express VI jer je kod skriven od korisnika. Imate dvije opcije. Moete spojiti
aplikaciju pomodu DAQmx subVI na isti nain na koji bi koristili Legacy DAQ VI ili moete 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 moe
obavljati razliite funkcije na temelju ulaznih vrijednosti. U ovom sluaju postoji VI za stvaranje kanala. U ovom
sluaju odabran je analogni ulaz, pa De 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 moe mijenjati desnim klikom na tekst na dnu VI kao to je prikazano na slici 5.17. To je jo jedan
nain da se programiranje olaka. Isti kod se moe koristiti za razliite aplikacije promjenom funkcionalnosti
polimorfnih VI bez potrebe da se ubaci novi VI.


SLIKA 5.1 5


SLIKA 5.1 6
6



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 naina je slino itanju podataka iz i pisanju podataka na GPIB instrument. Trebate sredstva
za identifikaciju datoteke s kojom elite komunicirati. Umjesto GPIB adrese imate put datoteke. Takoer
trebate biti u mogudnosti prenositi podatake s jednog mjesta na drugo. Umjesto razmjene podataka izmeu
raunala i GPIB instrumenta, razmjenjujete podatke izmeu LabVIEW programa i datoteke. File I/O funkcije su
vrlo sline driverima instrumenta ili komunikacijskim driverima.
File I/O VI mogu se nadi u File I/O dijelu Function izbornika. Ovaj podizbornik sadri brojne funkcije
datoteka, kao i podizbornike koji sadre VI koji se odnose na binarne datoteke, datoteke konstanti,
konfiguracijske datoteke i napredne funkcije datoteke. Standardne File I/O funkcije ukljuuju 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
7

Postoje dvije preostale funkcije koje su ukljuene u standardne File I/O funkcije. Prvi VI omoguduje
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 de 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 de ispisati prazan string i "nit-a-path" ako je ulaz nevaljan. Binary file VI omoguduju vam itanje i
pisanje 1- ili 2-D polja podataka na bajt stream datoteku. Bajt stream datoteka moe biti u signed word formatu
ili single precision formatu. Configuration file izbornik sadrava VI koji se koriste za itanje i izmjenu informacija
u konfiguracijskim datotekama. File Constants izbornik sadri VI koji vam omoguduju pristup trenutnim
mapama, putevima ili mapama knjinice VI. Pored navedenih funkcija, postoje konstante koje se mogu koristiti
za stvaranje ulaza za File I/O VI.
Configuration Files izbornik sadri 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 izvravanje
koda. Koritenjem ovih VI moete spremiti postavke koje korisnik unio da se uitaju sljededi put kada se
aplikacija pokrene tako da korisnik ne mora ponovno unositi sve informacije. Mogle bi ak postajiti i opcije za
spremanje konfiguracija u sluaju da postoji vie potrebnih postavki.
Advanced izbornik sadri VI koji obavljaju niz zadataka koji se odnose na datoteke. Advanced izbornik
je prikazan na slici 5.19. File Dialog funkcija prikazuje dijaloki okvir koji korisniku nudi odabir datoteke. Izlaz je
put odabrane datoteke. Open File VI vam omoguduje da odredite vrstu datalog-a. Tu je funkcija koja se koristi
kako bi pronali pomak od kraja datoteke (EOF). Seek funkcija omoguduje vam da zaponete datoteku na
nekom drugom poloaju osim na poetku datoteke. Postoje VI koij se koriste za postaviti prava pristupa za
odreene 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
omoguduje da se presele datoteke ili mape. Tu su takoer VI koji vam omoguduju da kopirate datoteku ili
mapu, kao i brisanje datoteke ili mape. New Directory funkcija vam omoguduje da stvorite mapu na odreenom
putu. List Directory funkcija sadri popis svih imena datoteka i mapa koje se nalaze u putu mape.
8

Zavrni skup funkcija u Advanced izborniku su VI koji slue za pretvaranje izmeu 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 korisnikom suelju u put datoteke
za obavljanje funkcija datoteka.
Sada demo dati kratki primjer kako itati i pisati podatke koristedi datalog datoteke. Prvi korak je
stvoriti tip podataka koji se koristi za pohranu podataka. U ovom primjeru demo snimati tri razliite 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
sluajni brojevi izmeu 0 i 10. Konani tip podataka koji se koristi za cluster je oznaka datuma i vremena. Ova
vrijednost je napisana kao string. Ukratko, nai tipovi podataka se sastoje od jednog cijelog broja, realnog broja
i stringa.
Prvi korak je kreiranje koda koji de generirati podatake. FOR petlja izvrava 100 iteracija. Unutar For
petlje, indeks petlje, test podaci i string vremena i datuma su grupirani u klaster. Taj klaster je prikljuen na izlaz
FOR petlje, gdje je omogudeno automatsko indeksiranje. Kada su svi podaci prikupljeni, koristi se New File VI.
Put datoteke sadri naziv i lokaciju datoteke u koju piete podatke i biti de potreban kada elite dohvatiti
podatke. Put datoteke je jedini potrebni ulaz. Postoji niz drugih ulaza u VI koji se mogu prikljuiti ili ostaviti kao
zadano. Za pisanje i itanje datalog datoteke, trebat dete spojiti kopiju formata podataka na datalog tip. To
moete postidi 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 demo vrijednost "true".
To omoguduje programu da prebrie postojedu datoteku s istim imenom, kao to je navedeno u ulaznom putu
datoteke. Da se ulaz postavi "false" program bi javio greku kada bi pokuao stvoriti novu datoteku koja ved
postoji.
Nakon to je datoteka stvorena, sljededi korak je upisati podatke. Write VI koristi se za slanje
prikupljenih podataka na datalog datoteku. Ulazi Write VI ukljuuju 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
prikljueni na unos podataka. Zavrni korak ovog podVI je zatvoriti datoteku pomodu Close File VI.
Sljededi 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 prikljuen je i tip podataka na Datalog Type ulaz. Ovaj tip podataka mora odgovarati tipu podataka
klastera kojega smo upisali u datoteku. To vam omoguduje da proitate informacije u odgovarajudem formatu.
Osim datalog tipa i puta datoteke, moete postaviti open mode i deny mode za datoteku. To vam omoguduje
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, zavrni korak je zatvaranje
datoteke. Code diagram za Datalog Write VI i Datalog Read VI je prikazan na slici 5.20.

9


SLIKA 5.2 0


5.1.13 CODE INTERFACE NODE I CALL LIBRRARY FUNKCIJA

LabVIEW ima sposobnost izvravanja koda napisanog u C-u, kao izvravanja funkcija spremljenih u DLL. Postoje
dva naina za pozivanje vanjskog koda. Programer moe pozvati kod napisan u tekst-temeljenom jeziku poput
C-a koristedi Code Interface Node (CIN). Programer takoer ima mogudnost pozvati funkcije iz DLL ili zajednike
knjinice pomodu Call Librarry funkcije. Slijedi kratak opis svake.
CIN je u nekim aspektima slian podVI. CIN je objekt na blok dijagramu VI. Programer moe unijeti
ulazne podatke neophodne za izvravanje 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 izvrava tekstualni kod za obavljanje funkcije.
CIN je povezan na kompajlirani izvorni kod. Kad izvrenje blok dijagrama doe do CIN-a, LabVIEW poziva izvrni
kod, vradajudi konane izlaze na VI.
Postoje brojni razlozi za koritenje CIN-a. Jedna od prednost je mogudnost koritenja postojedeg koda
u vaem LabVIEW programu. Ako je funkcija ved napisana u C-u, imate mogudnost integriranja koda u va
LabVIEW program to de smanjiti vrijeme razvoja. Jo jedna korist koritenja CIN-a je proirivanje
funkcionalnosti LabVIEW-a. Odreene funkcije sustava koje nemaju odgovarajude LabVIEW funkcije mogu se
realizirati pomodu koda koji je napisan u C-u. To moe pomodi programeru u obavljanju low-level programiranja
s LabVIEW-ovim grafikim sueljem. Konana prednost kod koritenja CIN-a je brzina. Dok je LabVIEW dovoljno
brz za vedinu programskih zadataka, odreene vremenski kritine operacije, kao to su prikupljanje podataka i
10

manipulacija, moe biti uinjeno uinkovitije u programskom jeziku kao to je C. Koritenje CIN-a omoguduje
programeru koritenje pravog alata za pravi posao.
Sposobnost koritenja prethodno napisanog koda je klju za smanjenje vremena razvoja. Funkcije za
obavljanje mnogih Windows funkcija ved su napisane. Te funkcije su obino napisane u C-u i spremljene su u
Dynamic Link Libraries (DLL). LabVIEW moe pozvati ove Windows funkcije na dva naina. Prvi nain je pomodu
CIN-a. Laki nain za pozivanje DLL funkcija je pomodu Call Libraryfunkcije. Glavna razlika izmeu pozivanja C
koda pomodu CIN-a i koristedi Call Library funkciju za pozvati DLL je integracija izvornog koda. Kada koristite
DLL, kod ostaje u svojoj knjinici; ne kopira se u izvrne datoteke programa. Druga oita razlika je injenica da
su DLL-ovi Windows specifini, dok se CIN moe koristiti na svim platformama.
Za vie informacija o Code Interface Node, moe se pronadi Code Interface Reference prirunik na
National Instruments web stranici. PDF datoteka pokriva kako integrirati CIN na bilo kojoj platformi. Za vie
informacija o koritenju 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 koritenja 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 de govoriti u nastavku. Kada se kreiraju
driveri VI, National Instruments preporua standardni format kojeg driveri trebaju slijediti. Knjinice drivera
trebaju sadravati sljedede funkcije: Initialize, Configure, Action/Status, Data, Utility i Close.

You might also like