You are on page 1of 11

5 Driveri

Ovo poglavlje govori o LabVIEW-ovim driverima. Driver je donja razina u trorazinskom pristupu
razvoja softvera; meutim, to je moda i najvanija razina. Ako se driveri koriste i napisani su
ispravno, korisnik e imati korist kroz itljivost, mogunost ponovnog koritenja koda i brzinu
primjene.
LabVIEW driveri su dizajnirani da programeru omogue upravljanje instrumentima, procesima ili
kontrolama. Glavna svrha drivera je da stvori apstrakciju nad temeljnim kodom nie razine. To
omoguuje nekome da naredi instrumentu da obavi zadatak bez znanja stvarne naredbe ili naina na
koji instrument komunicira. Krajnji korisnik piui testni VI ne mora znati sintaksu za komunicirati s
instrumentom, ve samo mora biti u stanju spojiti odgovarajue ulaze na driver instrumenta.
U ovome dijelu e se raspravljati o nekim od uobiajenih komunikacijskih metoda koje LabVIEW
podrava za pristup instrumentima i kontrolama. Nakon komunikacijskiih standarda, govoriti emo o
klasifikacijama, ulazima i izlazima, otkrivanju pogreaka, prijedlozima za razvoj i, konano, o
ponovnom koritenju koda.
Prvo e se raspravljati o standarnom LabVIEW driveru. Ovaj standardi driver je temelj za veinu
aktualnih LabVIEW aplikacija. U nastojanju da se pobolja uinkovitost i fleksibilnost aplikacija,
stvoreni su Interchangeable Virtual Instrument (IVI) driveri. IVI driveri e biti dublje opisani kasnije u
ovom poglavlju.

5.1 KOMUNIKACIJSKI STANDARDI
Postoje mnogi naini na koje se komunikacija izvodi svaki dan. Komunikacija je metoda dijeljenja
informacija. Ljudi mogu meusobno djeliti informacije govorom, pisanjem poruka, znakovnim
jezikom, itd .... Ba kao to ljudi imaju mnogo razliitih naina meusobnog komuniciranja, softverske
aplikacije imaju mnogo naina komuniciranja s vanjskim subjektima. Programi mogu razgovarati
jedni s drugima, s instrumentima, ili s drugim raunalima. Sljedei komunikacijski standardi su samo
neke od metoda koje LabVIEW koristi za komunikaciju s vanjskim svijetom.

5.1.1 GPIB
General Purpose Interface Bus (GPIB) je standardna metoda komunikacije izmeu raunala/kontrolera
i ispititne opreme. GPIB se sastoji od 16 signalnih linija i 8 povratnih linija zemlje. 16 signalnih linija
sastavljene su od 8 podatkovnih linija, 5 upravljakih vodova, te 3 sinkronizacijske linije. GPIB
suelje usvojeno je kao standard (IEEE 488). Maksimalna brzina prijenosa podataka GPIB-a je oko
1Mbyte/sekundi. Kasnija verzija standarda s dodatnim mogunostima definirana je 1987. Ovaj
standard je ANSI/IEEE 488.2. Ovo poboljanje standarda definira kako kontroler treba upravljati
sabirnicom. Novi standard ukljuuje definicije standardnih poruka za sve usklaene instrumente,
LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
2

metodu za izvjeivanje pogreaka i drugih statusnih informacija, te protokole koji se koriste za
otkrivanje i konfiguriranje GBIP 488.2 instrumenata spojenih na sabirnicu.
HS488 je standard kojeg je stvorio NI. Ovaj standard je dopuna IEEE 488 standarda i poveava stopu
prijenosa podataka GBIP-a. Koritenjem HS488 kontrolera i kompatibilnih instrumenata, brzina
prijenosa podataka moe se poveati do 8 Mbyte/sekundi. Najvea korist vee brzine prijenosa
podataka je uporaba instrumenata koji vraaju velike skupove podataka. Instrumenti kao to su
osciloskopi i spektralni analizatori alju velike koliine podataka kontrolnom raunalu. HS488
standardni vam omoguuje da poveate svoju testnu propusnost.
Postoje dvije vrste GPIB naredbi. Postoje poruke ovisne o ureaju i poruke suelja. Poruke ovisne o
ureaju sadre programske naredbe, podatke mjerenja i status ureaja. Poruke suelja izvravaju
sljedee operacije: inicijalizacija sabirnice, konfiguriranje udaljenih ili lokalnih postavki ureaja i
adresiranje ureaja.
Mnogi sadanji proizvoai instrumenta imaju standardizirane udaljene naredbe. To omoguuje
korisniku nekog instrumenta da naui programirati instrument u kratkom vremenskom razdoblju i ini
instrumente izmjenjivijima. Kako bi se pokualo napraviti programiranje instrumenata lake, razvijen
je skup naredbi SCPI (Standard Commands for Programmable Instrumentation). SCPI naredbe
standardizirane su za osnovne funkcije koje gotovo svi instrumenti podravaju. Postoje neki
instrumenti na tritu koji nisu SCPI usklaeni. Ovi instrumenti imaju vlastite setove naredbi i
formate. To moe uiniti pisanje softvera za automatizaciju tekim. Jedan primjer je T-BERD PCM
analizator. Ovaj instrument nije SCPI usklaen. Ako ste htjeli resetirati instrument, morati traiti
naredbu u referentnom priruniku. U ovom sluaju, za resetiranje instrumenta, morali ste upisati
"FIRST POWER UP" u instrument. Ne samo da je naredba nejasna, ve e to zahtijevati od
developera da provede vrijeme traei naredbe. Slika 5.1 prikazuje GPIB driver.


Slika 5. 1

U I/O dijelu izbornika funkcija instrumenta postoji podizbornik koji sadri GPIB drivere. GPIB
izbornik sadri tradicionalne GPIB 488 naredbe. Na GPIB izborniku postoji podizbornik, GPIB 488.2,
koji sadri GPIB 488.2 naredbe. VI iz ovih podizbornika mogu se koristiti u kombinaciji s GPIB 488.2
instrumentima. Ako instrument koji koristite nije GPIB 488.2 usklaen, moete koristiti samo VI iz
tradicionalnog GPIB izbornika.
Primarni VI u GPIB izborniku su GPIB Read (itaj) i GPIB Write (pii). Ta dva VI su osnova za bilo
koji program koji koristi GPIB instrumente. Tu su i VI koji se koriste za ekanje zahtjeva usluge iz
LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
3

instrumenta (Wait for GPIB RQS), pribavljanje statusa GPIB sabirnicom (GPIB status), i za
inicijalizaciju odreene GPIB sabirnice (GPIB Initialization). Meu preostalim GPIB VI, postoji i
GPIB Miscellaneous VI. Taj VI omoguuje izvravanje low-level GPIB naredbe. GPIB izbornik je
prikazan na slici 5.2.


Slika 5. 2

GPIB 488.2 izbornik sadri dodatne funkcije. GPIB funkcije podjeljene su u pet kategorija: funkcije za
jedan ureaj, funkcije za vie ureaja, low-level I/O funkcije, funkcije upravljanja sabirnicom i ope
funkcije. Funkcije za jedan ureaja su VI koji komuniciraju sa odreenim instrumentom ili ureajem.
Neke funkcije ukljuuju Device Clear (obrii ureaj), Read Status (oitaj stanje) i Trigger (okida).
Funkcije vie ureaja komuniciraju s vie ureaja istovremeno. VI definiraju s kojim ureajima e
komunicirati kroz niz adresa koje su uneene. Ova kategorija VI ukljuuje VI za brisanje popisa
ureaja, omoguivanje daljinskog upravljanja, okidanje (Trigger) popisa VI i VI obavljanje serijskie ili
paralelne komunikacije s ureajima.
Low-level I/O VI omoguuju veu kontrolu nad komunikacijama. VI u ovoj kategoriji ukljuuju
funkcije za itanje i pisanje bajta sa ureaja, slanje GPIB naredbenih bajtova, i konfiguraciju ureaja u
pripremi za primanje bajtova. Funkcije upravljanja sabirnicom su VI koji se koriste bilo za itanje
statusa sabirnice ili obavljanje funkcije nad cijelim GPIB-om. VI u ovoj kategoriji ukljuuju VI za
pronalazak svih sluatelja na GPIB-u, za resetiranje sustava, za utvrivanje stanje SRQ linije, i za
ekanje dok se SRQ javi. Konano, ope funkcije se koriste za kreiranje adrese ili za postavljanje
timeout perioda GPIB ureaja. GPIB 488.2 izbornik prikazan je na slici 5.3.


Slika 5. 3

LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
4

5.1.2 SERIJSKA KOMUNIKACIJA
Komunikacija putem serijskog porta danas je u irokoj uporabi. Jedna od prednosti serijske
komunikacije u odnosu na druge standarde poput GPIB-a je dostupnost: svako raunalo ima serijski
port. Jo jedna prednost serijske komunikacije u odnosu na GPIB je sposobnost kontrolne
instrumenata na veoj udaljenosti. Serijski standardni omoguuje veu duljinu kabela.
Najei serijski standard je RS-232C. Ovaj protokol zahtijeva spojeve prenoenja, primanja i
uzemljenja. Postoje i druge linije na raspolaganju za handshaking funkcije, ali one nisu potrebne za
sve primjene. Macintosh serijski portovi koriste RS-422A protokole. Ovaj protokol koristi dodatni par
podatkovnih linija. Zbog dodatnih podatkovnih linija, standard je sposoban za pouzdan prijenos na
vee udaljenosti i vee brzine. Dostupni su i drugi serijski protokoli , ali ovi su najee koriteni u
ovom trenutku.
VI serijskog porta nalaze se u izborniku funkcija u dijelu I/O instrumenta. Ovaj podizbornik sadri VI
koji se koriste za itanje podataka iz serijskog porta, pisanje podataka u serijski port, inicijalizaciju
serijskog porta, vraanje broj bajtova dostupnih na serijskom portu i postavljanje prekida (break)
serijskog porta. Serial Port Initialize VI omoguuje podeavanje postavki serijskog porta. Kako bi
imali uspjenu komunikaciju izmeu serijskog porta i ureaja, postavke porta trebaju odgovarati
postavkama ureaja. Dostupne postavke su veliina buffera, broj porta, brzina prijenosa, broj
podatkovnih bitova, broj stop bitova, paritet podataka i cluster za kontrolu toka. Cluster za kontrolu
toka objedinjuje niz parametara, ukljuujui i brojne handshake postavke. Izbornik serijskog VI
prikazan je na slici 5.4.


Slika 5. 4

Kada programer koristi serijski standard mora osigurati da serijsko pisanje ne ide u pretek zbog
veliine buffera. Drugi uvjet je da osigura da se svi podaci oitaju sa serijskog porta. Postoje brojne
LabVIEW ugraene funkcije dizajnirane za konfiguriranje veliine buffera i za pridobivanje
informacije o broju bajtova dostupnih na serijskom portu. Slika 5.5 pokazuje VI napisan da ita
podatke iz serijskog porta. VI obavlja itanje dok se svi eljeni podaci ne oitaju.
Od LabVIEW verzije 7 dolo je do promjene u LabVIEW serijskoj komunikaciji. Dok starija verzija
VI serijskog porta i dalje radi, a moe se nai u C:\Program Files\National Instruments\LabVIEW 8.0
\vi.lib\Instr\serial.llb, glavni VI serijskog porta u Serial izborniku su pretvoreni u VISA. Osim VISA
serijski VI, ostavtina VI serijskog porta takoer su ugraeni u VISA komunikaciju. Ova promjena
zahtijeva instalaciju VISA s LabVIEW, ak i ako aplikacija rabi samo serijsku komunikaciju.

LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
5


Slika 5. 5

Postoje dodatni standardi za serijski port, koji bi zahtijevali posebnu raspravu. Ti standardi su
Universal Serial Bus (USB) i FireWire (IEEE 1394). USB omoguuje spajanje ureaja na zajedniki
port, i daje mogunost "hot swap" (brze izmjene) instrumenata. Postoji niz hardverskih ureaja koji
koriste USB na raspolaganju. Osim toga, National Instruments radi ureaje koji koriste ovu
tehnologiju, ukljuujui GPIB-to-USB kontroler. Ova vanjska kutija spaja se na raunalo putem USB
prikljuka i omoguuje korisniku spajanje do 14 GPIB instrumenata bez potrebe za GPIB portom na
PC-u. To je posebno korisno kada koristite prijenosno raunalo bez I/O utora; kontroler se moe
prikljuiti na USB port. Takoer su dostupne kutije za dodavanje serijskih portova na vaem raunalu
putem USB konvertera. Novi serijski portovi izgledaju kao standardni serijski portovi na vaem
raunalu. USB podrava brzine prijenosa od 1,5 do 12Mbps.
FireWire je zapravo Macintosh-ova implementacija standarda IEEE 1394. FireWire je brand name
poput Coca-Cole ili Kleenex-a. FireWire omoguuje brzu izmjenu ureaja i moe povezati do 16
ureaja u lanac (daisy-chain). Glavna prednost FireWire je brzina. 1394a FireWire standard ima brzinu
od 100, 200 i 400 Mbit/sec. Izmjene standarda IEEE 1394 (1394b) omoguuju brzine od 800Mbps, 1.6
Gbps i 3.2 Gbps. Trenutno, postoje samo 800Mbps ureaji komercijalno dostupni. 1394b standard
takoer poveava doputenu duinu kabela od 4.5m na 100m.

5.1.3 VXI
VME ekstenzije za instrumentaciju (VXI) su standardi dizajnirani za podrku implementacije
instrumenata na kartici. VME je popularna arhitektura sabirnice sposobna prenositi podatke brzinom
od 40MB/s. VXI kombinira brzinu VME sabirnice s jednostavnim za koritenje setom naredb od
GPIB instrumenta. Cilj VXI instrumentacije je proizvesti Cilj VXI instrumentacije je proizvesti mali,
trokovno smanjeni hardverski sustav sa standardiziranom konfiguracijom i programiranjem. VXI
Plug&Play standardi promiu multi-vendor izmjenjivost standardiziranjem naredbi instrumenta za sve
VXI instrumente. Uvoenjem instrumenata na karticama, veliina potrebna za implementaciju probne
stanice moe biti znatno smanjena. Sposobnost implementacije niza instrumenata u malom okviru
omoguuju test programeru izradu ispitnog mjesta na mjestima koja nisu bila praktina prije,
oslobaajui resurse za druge aplikacije. VXI standard takoer daje korisniku fleksibilnost
prilagoenih rjeenja. Kartice se mogu napraviti i koristiti za implementaciju rjeenja koja nisu
dostupna s police. VXI VI se nalaze u podizborniku Instrument I/O izbornika.
LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
6

NI ne preporua koritenje VXI za nove aplikacije. Dostupnost VXI koda je samo za odravanje
kompatibilnosti s postojeim aplikacijama. Potie se koritenje VISA funkcija za komunikaciju s
instrumentima.

5.1.4 LXI
Zbog elje korisnika da budu u mogunosti postaviti postojee i nove ureaje bez potrebe za
koritenjem posebnih kabela ili kontrolera, kao i da bi mogli smanjiti trokove (specijalizirani VXI
moduli povevaju trokove zbog manjeg broja jedinica), razvija se novi standard. LXI standard koristi
LAN (Ethernet) kao okosnicu sustava. To ima nekoliko prednosti, ukljuujui smanjenje trokova
(nema card cages ili interface kartica), brzina i dostupnost (svako raunalo ima LAN port i mnogi
noviji instrumenti ve imaju LAN podrku). Ovaj standard je jo uvijek u fazi razvoja, ali ima podrku
tvrtki velikih proizvoaa instrumenata. Mislim da e se o LXI uti vie u budunosti.

5.1.5 VISA DEFINICIJA
Virtual Instrument Software Architecture (VISA) je standardni Application Programming Interface
(API) za I/O komunikaciju instrumenata. VISA je sredstvo za komunikaciju GPIB, VXI, ili serijskih
instrumenata. VISA nije LabVIEW specifian, ali je standard dostupan na mnogo jezika. Kad
LabVIEW instrument driver koristi VISA Write (pisanje), poziva se odgovarajui driver za tu vrstu
komunikacije koja se koristi. To omoguuje istom API kontrolu niza instrumenata razliitih vrsta. VI
napisan za obavljanje pisanja na instrument nee se morati mijenjati ako se korisnik prebacuje sa
GPIB na serijski ureaj. Samo se mora mijenjati ime resursa kada se koristi instrument za Open
(otvaranje).
Jo jedna korist od koritenja VISA je neovisnost platforme. Razliite platforme imaju razliito
definirane predmete, kao to je veliina integer varijable. Programer se nee morati brinuti o takvim
problemima; VISA e obaviti potrebne konverzije. Slika 5.6 prikazuje usporedbu GPIB i VISA
drivera.
Kao to se vidi na slici 5.6, glavni posao kod primjene VISA je inicijalizacija. GPIB komunikacija
zahtijeva da se niz adresa prenosi posvuda gdje se driver poziva. Ako bi dolo do promjene u
instrumentu, kao koritenje serijskog umjesto GPIB instrumenta, veliki broj aplikacija bi zahtijevao
znatne promjene. Svi driveri bi morali biti promijenjeni. Aplikacija koja koristi VISA bi zahtijevala
samo promjenu ulaza na VISA Open VI. Rezultirajua referenca instrumenta bi i dalje vrijedila za
VISA drivera, bez potrebe za promjenom. VISA driveri nude fleksibilnost.

LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
7


Slika 5. 6

VISA driver VI se nalaze u Instrument I/O dijelu Functions izbornika. Podizbornik VISA sadri irok
spektar programskih funkcija. U glavnom izborniku su standardni VISA driveri VI. Ti VI omoguuju
vam da otvorite komunikaciju sesiju, itate i piete podatke, dodjelite trigger, i zatvorite komunikaciju.
Osim standardnih VISA VI, postoji veliki broj naprednih VISA funkcija. One se nalaze u
podizborniku VISA Advanced i tri podizbornika u Advanced izborniku.
Prvi podizbornik na VISA Advanced izborniku je Bus/Interface. Sadri VI koji se koriste za suelje-
specifine potrebe. Postoje VI za postavljanje serijske veliine buffera, pranjenje serijskog buffera i
slanje serijske pauze. VISA GPIB Control REN (Remote Enable) VI omoguuje kontrolu linije REN
suelja temeljem odreenog moda. VISA VXI CMD or Querry VI omoguava slanje naredbe ili upita,
ili primanje odgovora na prethodno poslan upit na temelju naina unosa.
Sljedei podizborniik je Event Handling. VI u ovom izborniku djeluju na odreene dogaaje. Primjeri
dogaaja su triggeri, VXI signali, ili zahtjevi za uslugom. Konano, podizbornik Register Access
omoguuje itanje, pisanje, i premjetanje odreenih dugih rijei podataka iz odreene adrese.
Podizbornik Low-Level Register Access omoguuje peek and poke odreenih vrijednosti duljine bita
kod odreenih adresa registra. VISA izbornik je prikazan na slici 5.7.

LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
8


Slika 5. 7

5.1.6 DDE
Dynamic Data Exchange (DDE) je nain komunikacije izmeu Windows aplikacija. Ovaj
komunikacijski standard vie nije podran u trenutnoj verziji LabVIEW-a. Sljedei tekst govori o
podrci za starije verzije LabVIEW-a.
U DDE komunikaciji, postoji aplikacija posluitelja i klijenta. DDE klijent je program koji trai
podatke ili alje naredbe na DDE posluitelj. Pod pretpostavkom da su obje aplikacije otvorene, klijent
prvi uspostavlja komunikaciju s posluiteljem. Veze se nazivaju "razgovori". Klijent tada moe
zatraiti od posluitelja da poalje ili izmjeni bilo koji prozvani podatak. Klijent takoer moe slati
naredbe ili podatke na posluitelj. Klijent moe zatraiti podatke ili zahtjev da se obavijesti o promjeni
podataka za potrebe praenja stanja. Kao i drugi oblici komunikacije, kada su svi zadaci zavreni,
klijent mora zatvoriti komunikaciju s posluiteljem.
LabVIEW moe djelovati kao posluitelj ili klijent. Jedan primjer djelovanja LabVIEW-a kao klijenta
bio bi VI koji dobiva podatke iz Excel tablice ili pie podatke u tablicu. Ako LabVIEW djeluje kao
posluitelj, drugi Windows program bi mogao otvoriti i pokrenuti VI, uzimajui dobivene podatke za
obavljanje zadatka.
DDE VI su u izborniku Communications. Postoje VI za otvaranje i zatvaranje razgovora i obavljanje
zadanih funkcija, zahtjeva i izvravanja. Osim DDE funkcijskih drivera, postoji podizbornik u DDE
izborniku. Ovaj izbornik sadri funkcije DDE servera. Ove funkcije se koriste za registrirati i odjaviti
DDE usluge i stavke. Tu su i VI koji se koriste za postavljanje i provjeru stavki.

5.1.7 OLE
OLE, kao DDE, vie nije podran u trenutnim verzijama LabVIEW-a. Sljedei tekst govori o podrci
za starije verzije LabVIEW-a.
Object Linking and Embedding (OLE), ili automatizacija, je sposobnost stavljanja objekata iz drugih
softverskih programa u drugu aplikaciju. Ova sposobnost omoguuje i irenje sposobnosti programa i
manipulaciju podacima u drugoj aplikaciji. Primjer za to bilo bi snimanje filmskog zapisa (AVI file) i
usaivanja u Word datoteku. Iako Word nema pojma to je snimka, moe je prikazati u okolini obrade
teksta. OLE je nain na koji se objekti mogu prenositi izmeu aplikacija.
LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
9

OLE radi s objektima koristei standard poznat kao Component Object Model (COM). COM standard
definira zajednike naine pristupa objektima aplikacije da bi se utvrdilo je li objekt u uporabi,
izvjeuje li o pogreci, postoji li razmjena podataka izmeu aplikacija, i nain da se identificiraju
objekte kako bi ih se povezalo s odreenim aplikacijama. OLE je nadskup ActiveX standarda i koristi
iste VI. Dublja rasprava o ActiveX s primjerima nalazi se u poglavlju 8.

5.1.8 TCP/IP
Postoje tri glavna protokola za komunikaciju preko mree: Transmission Control Protocol (TCP),
Internet Protocol (IP) i User Datagram Protocol (UDP). TCP je izgraen povrh IP-a. TCP razbija
podatke u pakete da bi ih IP sloj poslao. TCP takoer obavlja provjeru podataka kako bi se osiguralo
da podaci stignu na odredite u jedinstvenom potpunom obliku. TCP/IP podatak se sastoji od 20 bajta
IP informacija, koje slijedi 20 bajta TCP informacija, a potom i podatak koji se alje. TCP/IP protokol
moe se koristiti na svim LabVIEW i BridgeVIEW platformama.
Svako raunalo na IP mrei ima jedinstvenu internetsku adresu. Ova adresa je 32-bitni cijeli broj,
najee prikazan u IP tokasto-decimalnom zapisu. Adresa je podijeljena u 8-bitne brojeve odvojene
decimalnim toakam. Domain Name Service (DNS) sistem je baza podataka IP adresa povezanih s
jedinstvenim imenima. Na primjer, ako korisnik trai National Instruments web stranice
(www.ni.com) biti e preusmjeren na odgovarajuu IP adresu koja odgovara imenu. Taj proces je
poznat kao "hostname resolution".
Postoji niz standarda koji koriste TCP/IP te se mogu implementirati pomou LabVIEW-a. Telnet,
SMTP i POP3 su neke od aplikacija izgraene pomou TCP/IP protokola. Telnet se moe koristiti za
pruanje dvosmjerne komunikacije izmeu lokalnog i udaljenog raunala. POP3 i SMTP koriste se za
provedbu mail aplikacije.
S TCP/IP, konfiguracija vaeg raunala ovisi o sustavu u kojem radite. Uz Windows, UNIX i
Macintosh verzije 7.5 i kasnije verzije, TCP/IP je ugraen. Za starije verzije Macintosh operativnih
sustava, treba biti instaliran MacTCP driver.
TCP izbornik se nalazi u Communication dijelu Function izbornika. VI u TCP izborniku omoguuju
otvaranje i zatvaranje veza. Jednom kada je veza otvorena, moete itati i pisati podatke preko VI u
TCP izborniku. Tu su i VI za stvaranje sluatelja i ekanje na sluatelja. IP to string funkcija
omoguuje vam pretvaranje IP adrese u niz. Tu je ulaz za ovu funkcijugdje treba odrediti ako adresa
koristi dot zapis. Funkcija za pretvaranje niza u IP adresu je takoer dostupna. VI u ovom izborniku
prikazani su na slici 5.8.

Slika 5. 8
LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
10

5.1.9 DATA SOCKET
DataSocket je programska tehnologija koja omoguuje razmjenu podataka izmeu aplikacije i
raunala. Podaci se lako mogu prenositi izmeu aplikacija preko Internet prikljuka. DataSocket je
izgraen koritenjem TCP/IP i ActiveX/COM tehnologija. DataSocket posluitelj se moe nalaziti na
lokalnom raunalu ili na drugom raunalu u mrei. Moete itati podatke pomou DataSocket HTTP,
FTP i lokalnih datoteka. DataSocket takoer moe itati uivo podatke putem dstp (DataSocket
transfer protocol) veze. Takoer imate mogunost kontrole svoje LabVIEW aplikacije putem web
suelja pomou DataSocket CGI funkcija. Shared Variable u LabVIEW 8 zamjenjuje DataSocket
funkcionalnost. Podrka za DataSocket e ostati, ali nove aplikacije bi trebale poeti prelaziti na novu
varijablu. Shared Variable je detaljno opisana u drugim poglavljima.
DataSocket VI nalaze se u podizborniku Communication dijelu Function izbornika. DataSocket VI
rade na isti nain kao i VISA VI ili neki drugi LabVIEW standard. Postoje VI za otvaranje i zatvaranje
veze. Open funkcija e otvoriti komunikaciju na temelju ulaznog URL-a i pristupnog naina. URL
ulaz mora biti jedan od gore spomenutih protokola. Izlaz Open funkcije je DataSocket referenca. Ova
referenca se koristi na isti nain kao kod tipine veze. Preostali VI koristite referencu za obavljanje
radnjo na eljenim informacijama. Nakon toga moete itati ili pisati niz, Boolean, cijeli broj ili
dvostruku vrijednost. Ako elite itati ili pisati array od tih podataka, potrebni VI su dostupni u
DataSocket Write i DataSocket Read podizbornicima.


Slika 5. 9

Podizbornik Advanced vam daje mogunost za itanje i pisanje varijabli. Osim varijabli funkcija, tu su
i funkcije niske razine za obavljanje DataSocket komunikacije. Ove funkcije ukljuuju VI za
povezivanje i auriranje podataka. Konano, postoji VI za programsku kontrolu DataSocket
posluitelja. Takoer bi trebali biti u mogunosti pristupiti DataSocket posluitelju putem svoga Start
izbornika pod imenom National Instruments DataSocket. DataSocket izbornik funcija prikazan je na
slici 5.9.
Ako elite izvesti live auriranja podataka, najprije je potrebno utvrditi je li DataSocket posluitelj
pokrenut na lokalnom raunalu. Tipian format za lokalno pisanje podataka na DataSocket posluitelj
je dstp://localhost/test. Uz pretpostavku da je "test" naljepnica (label) za podatke koje piete na
posluitelj. Ako koristite lokalnog posluitelja, DataSocket posluitelj treba biti pokrenut pomou
funkcije u DataSocket Advanced podizborniku. Zatim, trebati ete otvoriti DataSocket vezu s
oznaenim Write Attribute. Nakon toga moete upisati podatke koje elite podijeliti na DataSocket
posluitelju. Ako koristite DataSocket posluitelj na drugom raunalu, adresa raunala treba biti u
DSTP adresi.
Za itanje podataka s posluitelja, ponovno trebate utvrditi je li posluitelj je lokalno ili udaljeno
raunalu. Nakon to rijeite ime posluitelja i imate otvorenu vezu na posluitelju s ukljuenim read
LabVIEW: Tehnike naprednog programiranja Poglavlje 5: Driveri
11

atributom, moete koristiti Read DataSocket VI za itanje podataka.Morati ete koristiti Update data
VI ako elite proitati nove podatke nakon to su upisani na posluitelj.


Slika 5. 10

Za itanje i pisanje statikih podataka, postupak je isti. Jedina razlika je URL koji se koristi za
spajanje na DataSocket. Primjeri VI koji se koriste za generiranje Live podataka na DataSocket
posluitelja i VI za itanje podataka iz DataSocket posluitelja, prikazani su na slici 5.10. Ovaj primjer
ukljuuje dodatne atribute. To omoguuje stavkama kao to su vrijeme i datum da prate podatke koji
se prenose. DataSocket posluitelj je pokrenut na istom raunalu kao i Data Write VI. Postoje i
dodatni primjeri on-line.

You might also like