Embedded Systems Research Group at the Faculty of ...



Sadržaj

File I/O (ulaz/izlaz Fajlova)...........................................................................2

Osnovne File I/O operacije............................................................................2

Biranje formata File I/O operacija................................................................2

Kada koristiti tekst fajlove?......................................................................3

Kada koristiti binarne fajlove?.................................................................7

Kada koristiti datalog fajlove?..................................................................9

Korišćenje File I/O Vis višeg nivoa.............................................................12

Korišćenje File I/O Vis naprednih funkcija i funkcija nižeg nivoa...........13

Skladištenje na disku (Disk Streaming)...................................................14

Kreiranje tekstualnih i tabličnih fajlova......................................................15

Formatiranje i upis podataka u fajlove....................................................15

Skeniranje podataka iz fajlova................................................................15

Kreiranje binarnih fajlova...........................................................................16

Kreiranje Datalog fajlova.............................................................................16

Upisivanje različitih talasnih oblika u fajla...............................................18

Čitanje različitih talasnih oblika iz fajla.....................................................18

Flow Through parametri..............................................................................19

Kreiranje konfiguracionog fajla..................................................................19

Primena konfiguracionih fajlova.............................................................22

Format Windows Configuration Settings fajla...........................................22

Prikupljanje podataka iz prednjeg panela...................................................24

Automatski i interaktivni Front Panel Datalogging...................................24

Interaktivni pregled Logged Front Panel Data panela...............................24

Brisanje zapisa............................................................................25

Uklanjanje povazanosti Log-fajla..................................................25

Promena povezanosti Log-fajla.....................................................25

Programski povratak Front Panel podataka............................................26

Povratak Front Panel podataka korišćenjem subVI funkcije...........26

Specificiranje zapisa....................................................................27

Povratak Front Panel podataka korišćenjem File I/O funkcija........27

Reference......................................................................................................28

File I/O (ulaz/izlaz Fajlova)

File I/O operacije prenose podatke iz fajlova i u fajlove. Korišćenjem File I/O VI-a i funkcija koje se nalaze u paleti Functions-File I/O možete izvršiti sledeće operacije:

➢ Otvaranje i zatvaranje fajlova sa odgovarajućim podacima,

➢ Upis i čitanje podataka iz fajlova,

➢ Upis i čitanje odgovarajućih tabelarnih fajlova,

➢ Promena imena i premeštanje fajlova i direktorijuma,

➢ Promena karakteristika fajlova,

➢ Kreiranje, modifikovanje i čitanje konfiguracionog fajla

Upotrebom VI-a višeg nivoa vršimo standardne I/O operacije.

Upotrebom VI-a nižeg nivoa i funkcija, vršimo kontrolu nad svakim I/O fajlom posebno.

Za više informacija, vezanih za File I/O, pogledajte: LabVIEW help

Osnove File I/O operacije

Tipične File I/O operacije sadrže sledeće procese:

1. Kreiranje i otvaranje fajla. Određuje putanju za već postojeći fajl ili putanju za novi fajl koju vi specificirate ili vas na to upućuje LabVIEW dijalog boks. Nakon otvaranja fajla, njihovo prikazivanje preuzimaju referentni brojevi. Pogledati u References to Objects or Applications[1] a zatim u Building the front panel, za više informacija o referentnim brojevima (refnums).

2. Čitanje iz fajla i upis u fajl,

3. Zatvaranje fajla.

Većina File I/O VI operacija i funkcija vrše samo jedan korak File I/O operacija. Međutim, neke File I/O VI operacije višeg nivoa (high-level File I/O VIs operations) su napravljene tako da se sve File I/O operacije izvrše u sva tri koraka. Mada ove operacije nisu tako efikasne kao funkcije nižeg nivoa (low-level functions), koje su u nekim slučajevima lakše za upotrebu.

Biranje formata File I/O operacija

Postoje različiti formati fajlova nad kojima se mogu vršiti File I/O VI operacije. Možete čitati podatke ili upisivati podatke u tri formata fajlova – tekstualni, binarni i datalog fajlovi. Format fajla koji ćete da koristite, zavisi od tipa podatka koji vam je potreban ili od aplikacije koja koristi taj fajl.

Sledeći vodiči će vam pomoći za koji tip formata da se odlučite:

➢ Ako želite vaše podatke (fajlove) da učinite raspoloživim za druge aplikacije, kao što su Microsoft Excel koristite tekstualne fajlove jer su najčešće u primeni i laki su za distribuciju.

➢ Ako želite kompletan pristup kodu fajla, optimizovanu veličinu i brzinu u radu, koristite binarne fajlove jer su efikasniji od tekstualnih fajlova kada se uzme u obzir mesto koje zauzimaju na disku i brzina rada.

➢ Ukoliko želite da vršite manipulacije sa kompleksnim snimcima (podacima) ili različitim vrstama podataka u LabVIEW-u, koristite datalog fajlove jer oni su najbolji za skladištenje podataka ako nameravate da im pristupate jedino iz LabVIEW programa i ako trebate da čuvate kompleksne strukture podataka.

Kada koristiti tekst fajlove?

Koristite fajlove tekst formata, u vašim podacima, kako bi ih učinili dostupnim za druge korisnike ili aplikacije, ako kapacitet diska i brzina file I/O operacija nisu bitne za rad, ako vam nije bitna izmena unutar fajla kao i ako vam nije bitna numerička preciznost.

Tekst format fajlovi su najlakši za upotrebu i razmenu. Skoro svaki računar može da pročita ili snimi tekstualni fajl. Postoji veliki broj tekstualnih programa koji mogu da rade sa ovom vrstom fajlova. Većina kontrolnih aplikacija kod instrumenata koristi tekstualne stringove.

Kada želite pristup ovom tipu podataka iz nekih drugih aplikacija kao što su obrada reči i tabelarni programi, tekst fajlovi su najbolje rešenje. Da bi sačuvali podatke u tekst formatu, koristite String funkcije koje se nalaze u Functions-String paleti gde možete izvršiti konverziju svih podataka u stringove. Tekst fajlovi mogu sadržati informaciju o različitim tipovima podataka.

Tekst fajlovi tipično zauzimaju više memorijskog prostora od binarnih i datalog fajlova osim ako izvorni podatak nije u teksualnoj formi, kao što su grafici, dijagrami i grafikoni, jer njihova reprezentacija u ASCII kodu je obično veća nego njihov originalni fajl. Na primer, možete sačuvati broj -123.4567 u 4 bajta kao broj jednostruke tačnosti sa pokretnom zapetom. Dok njegova ASCII reprezentacija zauzima 9 bajtova, i to jedan bajt za svaki karakter.

Prilikom dodavanja, teško je izvršiti slučajni pristup numeričkim podacima u tekstualnim fajlovima. Mada svaki karakter u stringu zauzima tačno 1 bajt u memoriji, memorijsko mesto koje je potrebno da bi se izrazio broj kao tipično tekstualni podatak nije fiksno. Da bi pronašao deveti broj u tekst fajlu, LabVIEW mora prvo da pročita i konvertuje prethodna osam broja.

Ukoliko skladištite numeričke podatke u obliku tekstualnih fajlova, možete izgubiti željenu tačnost. Računar skladišti numeričke podatke kao binarne podatke, a neki podaci se upisuju sa decimalama. Gubitak tačnosti se može javiti kada čitate podatke iz tekstualnih fajlova. Gubitak podataka nije vezan za binarne fajlove.

Pogledati: examples\file\smplfile.llb i examples\file\sprdsht.llb

Primeri u NI LabVIEW-u:

[pic]

Slika 1. Čitanje binarnog fajla – Block Diagram

[pic]

Slika 2. Čitanje binarnog fajla – Front Panel

[pic]

Slika 3. Čitanje iz tekstualnog fajla – Block Diagram

[pic]

Slika 4. Čitanje iz tekstualnog fajla – Front Panel

[pic]

Slika 5. Korišćenje tabelarnog formata – Block Diagram

[pic]

Slika 6. Korišćenje tabelarnog formata – Front Panel

Kada koristiti binarne fajlove?

Binarni fajlovi koriste brojeve sa fiksnim zarezom za skladištenje podataka na disku. Na primer, za skladištenje bilo kog broja između 0 i 4 miliona u binarnom formatu kao npr. 1, 1.000, 1.000.000 koristi 4 bajta memorijskog prostora za svaki broj.

Binarni fajlovi takođe se primenjuju kod čuvanja numeričkih podataka i kod pristupa određenim brojevima iz fajla ili prilikom pristupa bilo kom broju iz fajla. Binarni fajlovi se mogu čitati samo pomoću mašine (računara), za razliku od tekst fajlova, koje mogu čitati i ljudi. Binarni fajlovi predstavljaju najkompaktniji i najbrži format fajla za skladištenje podataka. Kod binarnih fajlova se takođe mogu koristiti višestruki tipovi podataka, ali to je redak slučaj.

Binarni fajlovi su efikasniji u pogledu zauzimanja mesta na disku, jer prilikom čuvanja i ponovnog pristupa nije potrebno konvertovati tekstualni fajl u binarni kod i obratno. Binarni fajl može prikazati 256 vrednosti u 1 bajtu memorijskog mesta na disku. Često, binarni fajlovi sadrže bajt-po-bajt nizove podataka koji se na taj način smeštaju u memoriju, osim u slučaju složenih i kompleksnih brojeva. Kada fajl sadrži bajt-po-bajt niz podataka koji su smešteni u memoriju, pristup takvom fajlu je brži jer konverzija nije neophodna.

Beleška: tekstualni i binarni fajlovi su još poznati kao byte-stream fajlovi, što znači da se podaci kod ovih fajlova skladište kao nizovi karaktera ili bajtova.

Pogledati čitanje binarnih fajlova i upis u binarne fajlove VIs u:examples\file\smplfile.llb , gde postoje primeri čitanja i upisa u niz podataka dvostruke preciznosti sa pokretnim zarezom u binarni fajl, respektivno.

[pic]

Slika 7. Upisivanje u binarni fajl – Block Diagram

[pic]

Slika 8. Upisivanje u binarni fajl – Front Panel

[pic]

Slika 9. Upisivanje u tekstualni fajl – Block Diagram

[pic]

Slika 10. Upisivanje u tekstualni fajl – Front Panel

Kada koristiti datalog fajlove?

Datalog fajlovi se koriste prilikom pristupanja i manipulisanja sa podacima koje jedino podržava LabVIEW kao i prilikom brzog i lakog skladištenja kompleksnih podataka.

Datalog fajlove jedino LabVIEW može da kreira i čita. Za razliku od binarnih fajlova kod kojih prilikom čuvanja podataka postoji zahtev da budu istovetni, sa datalog fajlovima se mogu sačuvati nekoliko različitih vrsta podataka u istom fajlu. Na primer, u datalog fajlu možete sačuvati stringove, numeričke i skupove podataka.

U datalog fajlovima, podaci se smeštaju kao nizovi identično sastavljenih zapisa, slično kao kod tablica, gde svaka vrsta predstavlja podatak. Svaki zapis u datalog fajlu mora da ima iste tipove podataka koji su sa njim povezani. Ipak, komponente datalog zapisa mogu biti podaci bilo kog tipa, koji vi određujete pri kreiranju samog fajla.

Na primer, možete kreirati datalog fajl čiji je zapis tipa niza stringova ili brojeva. U tom slučaju datalog je deo stringa i broja. Ipak, prvi zapis bi mogao biti („abc“, 1), dok bi drugi mogao biti („xyz“, 7).

Upotreba datalog fajlova zahteva izvesne manipulacije, koje čine upisivanje i čitanje mnogo bržim. Takođe olakšava povratak podataka jer možete pročitati originalne blokove podataka u vidu zapisa bez potrebe isčitavanja svih zapisa koji mu prethode. Slučajni pristup je lak i brz sa datalog fajlovima jer vam je samo potreban broj zapisa kako bi mu pristupili. LabVIEW numeriše zapise sekvencijalno, kada se kreiraju u datalog fajlu.

Datalog fajlu se može pristupiti preko prednjeg panela (front panel) i iz blok dijagrama. Pogledati Logging Front Panel Data sekciju ovog poglavlja za više informacija o pristupu datalog fajlovima preko front panel-a.

LabVIEW kreira zapis u datalog fajlu svaki put kada se povezani VI pokreće. Kada LabVIEW snimi zapis u datalog fajl više ne možete prepravljati taj zapis. Kada čitate datalog fajl, u mogućnosti ste da pročitate jedan ili više zapisa istovremeno.

Pogledati examples\file\datalog.llb , u vezi sa zapisivanjem i čitanjem iz datalog fajla.

Primeri u NI LabVIEW-u:

[pic]

Slika 11. Primer pisanja Datalog fajla – Block Diagram

[pic]

Slika 12. Primer pisanja Datalog fajla – Front Panel

[pic]

Slika 13. Primer čitanja Datalog fajla – Block Diagram

[pic]

Slika 14. Primer čitanja Datalog fajla – Front Panel

Korišćenje File I/O VIs višeg nivoa

File I/O VIs višeg nivoa locirane su na vrhu palete Functions-File I/O, i koriste se za izvršavanje uobičajenih I/O operacija kao što su pisanje ili čitanje sledećih tipova podataka:

➢ Karakteri iz tekstualnih fajlova

➢ Linije iz tektualnih fajlova

➢ Jednodimenzionalnih ili dvodimenzionalnih nizova jednostruke preciznosti iz tabelarnih tekstualnih fajlova

➢ Jednodimenzionalnih ili dvodimenzionalnih brojeva jednostruke preciznosti ili 16-o bitnih celobrojnih koji se učitavaju ili smeštaju u binarni fajl.

Korišćenjem funkcija višeg nivoa, štedite vreme i programerski trud prilikom snimanja i čitanja fajlova. Funkcije višeg nivoa izvršavaju operacije čitanja i snimanja uz funkcije otvaranja i zatvaranja fajla. Operacije višeg nivoa zahtevaju unos putanje fajla. Ukoliko ne unesete putanju, dialog books će se pojaviti u cilju specificiranja putanje kako bi pročitali fajl ili snimili isti. U slučaju pojave greške, funkcija višeg nivoa će vam prikazati dijalog boks koji će bliže opisati grešku. Nakon toga možete izabrati da li želite prekid izvšenja operacije ili nastavak.

Na slici 15, prikazana je upotreba funkcija višeg nivoa za upis u tabelarni fajl (high-level Write To Spreadsheet File VI), kako bi nakon toga fajl bio primenljiv u Microsoft Excel programu. Kada pokrenete ovu funkciju, Lab VIEW će vas pitati da li želite da upišete podatak u postojeći fajl ili da li želite da kreirate novi fajl.

[pic]

Slika 15. Korišćenje High Level VI za upisivanje u radnu tabelu.

Za upis i čitanje iz fajlova binarnih formata, koristite funkciju koja se nalazi u Functions-File I/O-Binarz File Vis. Podaci mogu biti celobrojni (integer) ili sa pokretnom zapetom.

Korišćenje File I/O VIs naprednih funkcija i funkcija nižeg nivoa

Da bi kontrolisali svaku File I/O operaciju posebno, koristimo File I/O VIs napredne funkcije i funkcije nižeg nivoa koje se nalaze u Functions-File I/O i Functions-File I/O-Advanced File Functions paletama, respektivno.

Osnovne funkcije nižeg nivoa se koriste za operacije kreiranja ili otvaranja fajla, upisivanja podataka u fajl ili čitanja istih iz fajla i zatvaranja fajla. Ostale funkcije nižeg nivoa vrše sledeće operacije:

➢ Kreiranje direktorijuma,

➢ Premeštanje, kopiranje ili brisanje fajlova,

➢ Listanje sadržaja direktorijuma,

➢ Menjanje karakteristika fajlova,

➢ Manipulacija putanjama.

[pic] Putanja prikazana levo, je LabVIEW data type koji pokazuje lokaciju fajla na disku. Putanja opisuje particiju na kojoj se nalazi fajl, direktorijume počev od najnižeg hijerarhijskog nivoa pa do samog fajla i ime fajla. Unesite ili prikažite putanju korišćenjem standardne sintakse za datu platformu pomoću kontrolora putanje ili indikatora. Pogledati sekciju Path Controls and Indicators u poglavlju 4, Building the Front Panel, za više informacija o kontroli putanje i indikatorima.

Na slici 16 je opisano kako se koriste funkcije nižeg nivoa za slanje brojeva u Microsoft Excel tablični fajl. Kada pokrenete ovu funkciju u Open/Create/Replace otvara se numbers.xls fajl. Funkcija Write File upisuje stringove u fajl. Close funkcija zatvara fajl. Ukoliko ne želite da zatvorite fajl, isti ostaje u memoriji i nije moguće pristupiti njemu preko drugih aplikacija ili od strane drugih korisnika.

[pic]

Slika 16. Korišćenje Low-Level VI za upisivanje u radnu tabelu

Ukoliko uporedimo slike 16 i 15, na kojima se izvršava ista operacija možemo doći do određenih zaključaka. Na slici 16 koristi se Array To Spredasheet String (niz u tabelu stringova) funkcija kako bi se formirao niz brojeva u obliku stringova, dok na slici 15 da bi se zapisalo u tablični fajl vrši se otvaranje fajla, konverzija niza brojeva u string i zatvaranje fajla.

Pogledati Write Datalog File (primere upisivanja u datalog fajlove) u examples\file\datalog.lib, za dodatne primere upotrebe File I/O funkcija nižeg nivoa.

Skladištenje na disku (Disk Streaming)

Funkcije nižeg nivoa se takođe mogu koristiti za tzv. disk streaming funkciju koja štedi memorijske resurse. Disk streaming je tehnika koja zadržava određene fajlove otvorene, dok vršite operacije višestrukog upisivanja, npr. u okviru petlji. Takođe i operacije višeg nivoa su lake za korišćenje, jer one uprošćavaju otvaranje i zatvaranje fajla svaki put kada se upotrebe. Vaše radne funkcije (VI) mogu biti efikasnije ukoliko izbegavate frekventno otvaranje i zatvaranje fajlova.

Disk streaming smanjuje broj pristupa funkcije operativnom sistemu prilikom otvaranja i zatvaranja fajla. Da bi kreirali tipičnu disk streaming operaciju, postavite Open/Create/Replace File VI pre same petlje i funkciju Close File nakon petlje. Kontinualno upisivanje u fajl će se izvršavati u tom slučaju bez velikog broja funkcija koje su karakteristične za otvaranje i zatvaranje fajla.

Disk streaming operacija je idealna kod akvizicionih operacija nad obimnim podacima gde je brzina značajan faktor. To vam omogućuje kontinualan upis podataka u fajl za vreme trajanja akvizicije. Za najbolje rezultate, izbegavajte pokretanje ostalih VIs funkcija koje nisu od trenutnog značaja, kao što su npr. Analyze VIs dok ne završite akviziciju.

Kreiranje tekstualnih i tabličnih fajlova

Da bi upisali podatak kao tekstualni ili tablični fajl, morate izvršiti konverziju podatka u string. Da bi upisali podatak u tablični fajl, morate formatirati string kao tablični string (spreasheet string), što predstavlja string sa graničnicima, kao što su tabovi (razmaci). Pogledati sekciju Formatting Strings i Grouping Data Using Strings, Arrays, and Clusters, u poglavlju 9, za više informacija o formatiranju stringova.

Upis tekstualnih fajlova ne zahteva formatiranje jer većina vord procesora ne zahteva formatirani tekst. Da bi upisali tekstualni string u tekstualni fajl, koristite Write Characters To File VIs funkciju koja automatski otvara i zatvara fajlove.

Funkcije Write To Spreadsheet File VI ili Array To Spreadsheet String koriste pri konverziji skup brojeva iz grafa (grafika), dijagrama ili prilikom akvizicije unutar tabličnih stringova. Pogledati sekcije Using High-Level File I/O VIs i Using Low-Level and Advanced File I/O VIs and Functions ovog poglavlja za više informacija o upotrebi ovih funkcija.

Učitavanje teksta iz programa za obradu reči može proizvesti greške, jer programi za obradu reči formatiraju tekst pomoću raznolikih fontova, boja, stilova i veličina koje tablični fajl (funkcija tabličnih fajlova) ne može da obradi.

Ukoliko želite da upisujete brojeve i tekst u tablični ili program za obradu reči, koristite String funkcije koje se nalaza u Functions-String paleti i Array funkcije koje se nalaza u Functions-Array paleti, koje omogućavaju formatiranje podataka i kombinovanje stringova. Nakon toga izvršite upis u željeni fajl. Pogledati poglavlje 9, Grouping Data Using Strings, Arrays, and Clusters, za više informacija o korišćenju ovih funkcija za formatiranje i kombinovanje podataka.

Formatiranje i upis podataka u fajlove

Upotrebom Format Into File funkcije, vršite formatiranje stringova, brojeva, putanja i podataka Boolean-ove algebre kao tekstualni podatak. Ova funkcija je češće u primeni za razliku od funkcija koje nude odvojeno formatiranje stringova sa funkcijom Format Into String i zatim upisivanje obrađenog stringa funkcijom Write Characters To File VI ili Write File.

Upotrebom Format Into File funkcije, određujete redosled kojim će se podaci pojavljivati u tekstualnom fajlu. Međutim, ne možete koristiti ovu funkciju prilikom dodavanja podataka fajlu ili prilikom prepravljanja već postojećih podataka u fajlu. Za ove operacije, koristite Format Into String funkciju u kombinaciji sa Write File funkcijom.

Pogledati sekciju Formatting Strings poglavlja 9, Grouping Data Using Strings, Arrays and Clusters, za više informacija o formatiranju stringova.

Skeniranje podataka iz fajlova

Upotrebom Scan From File funkcijom, skenirate tekst u fajlu radi pronalaženja stringova, brojeva, putanja i podataka Boolean-ove algebre i zatim vršite konverziju željenog teksta u željeni tip podatka. Ovu funkciju možete koristiti umesto čitanja podatka iz fajla pomoću Read File funkcije ili Read Characters From File VI i zatim skeniranja rezultirajućeg stringa pomoću funkcije Scan From String.

Funkciju Scan From File možete koristiti za čitanje celokupnog teksta u fajlu. Ipak, ne možete koristiti ovu funkciju za definisanje startne tačke skeniranja fajla. Za ovu operaciju, koristite funkcije Read Characters From File VI i Scan From String.

Kreiranje binarnih fajlova

Da bi kreirali binarni fajl, uzmite neki skup brojeve u upišite ih u fajl. Ne morate formatirati brojeve osim ukoliko ne želite da koristite funkciju high-level Binary File I/O VIs koja se nalazi u paleti Functions-File I/O-Binary File VIs.

Koristite operacije Write To I16 i Write To SGL VIs da bi snimili jednodimenzionalne i dvodimenzionalne nizove brojeva u fajl. Morate prvo formatirati brojeve kao 16-bitne celobrojne brojeve (integer numerics) ili brojeve jednostruke tačnosti u pokretnom zarezu (single-precision floating-point numerics). Da bi pročitali kreirane fajlove koristite operacije Read I16, Read SGL VIs.

Da bi upisali brojeve različitih formata kao što su floating-point numerics or 32-bit unsigned integers, koristite low-level ili Advanced File funkcije koje se nalaze u paleti Functions-File I/O-Advanced File Functions. Kada čitate ovakav fajl, koristite Read File funkciju i označite format broja.

Pogledati primere Read Binary File i Write Binary File VIs u examples\file\smplfile.llb koji opisuju upisivanje u binarni fajl i čitanje brojeva u pokretnom zarezu (floating-point numerics) iz binarnog fajla.

Kreiranje Datalog fajlova

Možete kreirati i čitati datalog fajlove aktiviranjem opcije front panel datalogging ili korišćenjem funkcija low-level ili Advanced File koje se nalaze u paleti Functions-File I/O-Advanced File Functions. Pogledati deo Logging Front Panel Data u ovom poglavlju za više informacija o kreiranju i pristupanju datalog fajlova iz prednjeg panela (front panel).

Nije potrebno formatirati podatke u datalog fajlu. Međutim, kada upisujete ili čitate datalog fajlove morate odrediti tip podatka. Npr. ako obrađujete temperaturne podatke sa vremenom i datumom kada je temperatura snimana, vi zapisujete podatke u datalog fajl i pritom specificirate podatke kao skup jednog broja i dva stringa (cluster of one number and two string). Pogledati Simple Temp Datalogger VI u examples\file\datalog.llb za primere upisivanja podataka u datalog fajl.

Primer u NI LabVIEW-u:

[pic]

Slika 17. Jednostavni Temp Datalogger – Block Diagram

[pic]

Slika 18. Jednostavni Temp Datalogger – Front Panel

Upisivanje različitih talasnih oblika u fajl

Da bi zapisali waveform signale u fajl, koristite Write Waveforms To File i Export Waveforms To Spreadsheet File VIs funkcije koje se nalaze u paleti Functions-Waveform-Waveform File I/O. Waveform signale možete upisivati u tablične, tekstualne i datalog fajlove.

Ukoliko očekujete dalju obradu waveform podatka kreirajte ga samo u VI obliku, i snimite ga kao datalog fajl (.log). Pogledati deo When To Use Datalog Files u ovom poglavlju, za više informacija o datalogingu.

Na slici 19 prikazano je obrađivanje višestrukih waveform podataka, njihovo prikazivanje na grafiku i upisivanje u Microsoft Excel tablični fajl.

[pic]

Slika 19. Upisivanje višestrukih talasnih oblika u fajl radne tabele.

Čitanje različitih talsnih oblika iz fajla

Da bi pročitali waveform podatak iz fajla koristite funkciju Read Waveform From File VI koja se nalazi u paleti Functions-Waveform-Waveform File I/O. Kada pročitate waveform podatak, možete pridodati ili editovati komponente waveform podataka pomoću Build Waveform funkcije koja se nalazi u paleti Functions-Waveform, ili možete da ekstrahujete (extract) waveform komponente podataka pomoću Get Waveform Attribute funkcije koja se nalazi u paleti Functions-Waveform.

Na slici 20 prikazano je čitanje waveform podatka iz fajla, editovanje dt komponente waveform podatka i iscrtavanje editovanog waveform podatka na grafiku.

[pic]

Slika 20. Pregled talasnog oblika iz fajla

Funkcija Read Waveform From File, takođe čita i višestruke waveform podatke iz fajla. VI nam daje nizove podataka talasnih oblika, koje možete prikazati na grafiku sa više krivih. Ukoliko želite da pristupite jednom waveform podatku iz fajla morate indeksirati (označiti) nizove waveform podatka kao što je prikazano na slici 21. Pogledati deo Arrays poglavlja 9, Grouping Data Using Strings, Arrays, and Clusters, za više informacija o indeksiranju nizova. VI funkcija pristupa fajlu koji sadrži i višestruke waveform signale. Index Array funkcija čita prvi i treći waveform signal u fajlu i iscrtava ga na dva odvojena waveform grafika. Pogledati poglavlje 8, Loop and Case Structures, za više informacija o graficima.

[pic]

Slika 21. Isčitavanje višestrukih talasnih oblika iz fajla.

Flow Through parametri

Većina File I/O VIs funkcija sadrži flow-through parametre, obično su to putanje referentnih brojeva, koje vraćaju istu vrednost kao odgovarajući ulazni parametri. Ovi parametri se primenjuju u kontroli reda izvšavanja funkcija. Povezivanjem flow-through izlaza za protok sa prvim čvorom želite da povežete odgovarajući izlaz sledećeg čvora čije vam je izvršenje potrebno, tako da stvarate veštačku zavisnost podataka. Bez ovih flow-through parametara, vi bi morali da koristite Sequence strukture da bi obezbedili da File I/O operacije budu u redosledu koji vama odgovara. Pogledati sekciju Data Depency and Artificial Data Depency poglavlja 5, Building the Block Diagram, za više informacija o artificial data depency.

Kreiranje konfiguracionog fajla

Da bi čitali i kreirali standardne Windows konfiguracione fajlove (.ini) i da bi vršili upis podataka tipa platform-specific, kao što su putanje, u nezavisnom formatu od platforme u cilju korišćenja fajlova koji su primenljivi na različitim platformama, koristite Configuration File VIs funkciju koja se nalazi u paleti Functions-File I/O-Configuration File VIs.

Pogledati examples\file\config.llb za primere o korišćenju Configuration File VIs operacija.

Primer u NI LabVIEW-u:

[pic]

Slika 22. Pisanje konfiguracijskih podešavanja – Block Diagram

[pic]

Slika 23. Pisanje konfiguracijskih podešavanja – Front Panel

[pic]

Slika 24. Čitanje konfiguracijskih podešavanja – Block Diagram

[pic]

Slika 25. Čitanje konfiguracijskih podešavanja – Front Panel

Napomena: Standardna ekstenzija za Windows konfiguraciona podešavanja je .ini, ali configuration File VIs operacija može da funkcioniše sa fajlovima bilo koje ekstenzije, koji sadrže podatke u odgovarajućem formatu. Pogledati deo Windows Configuration Settings File Format u ovom poglavlju radi više informacija.

Primena konfiguracionih fajlova

Standardni Windows konfiguracioni fajl predstavlja specifični format skladištenja podataka u tekstualni fajl. Možete programski pristupiti podacima unutar .ini fajla pošto oni prate odgovarajući format.

Npr. posmatrajmo konfiguracioni fajl sa sledećim sadržajem:

[pic]

Da bi pročitali ovaj podatak, možete koristiti operaciju Configuration File VIs, kako je prikazano na slici 26. Ova operacija koristi Read Key VI da bi pročitala ključ (key) nazvan Value iz dela koji se zove Data. Ovaj VI radi bez obzira na način promene fajla, ukoliko fajl i dalje ima Windows konfiguraciju kada je format u pitanju.

[pic]

Slika 26. Isčitavanje podataka iz .ini fajla.

Format Windows Configuration Settings fajla

Windows Configuration Settings fajlovi predstavljaju tekst fajlove podeljene na imenovane sekcije. Uglaste zagrade obuhvataju ime svake sekcije. Svako ime sekcije unutar fajla mora biti jedinstveno. Sekcija sadrži parove tipa key/value (ključ/vrednost) odvojene znakom jednakosti (=). Ime ključa predstavlja konfiguracioni prioritet (configuration preference), a vrednost (value) predstavlja podešavanje tog prioriteta. Sledeći primer pokazuje uređenje jednog ovakvog fajla:

[pic]

Iskoristite sledeće tipove podataka za Configuration FileVI:

➢ String

➢ Putanja

➢ Bulovi parametri (Boolean)

➢ 64-bitni numerički podatak dvostruke preciznosti u pokretnom zarezu

➢ 32-bitni označeni integer broj

➢ 32-bitni neoznačeni integer broj

Operacijom Configuration File VIs možete vršiti čitanje i upisivanje raw ili escaped stringova. Ovom operacijom možete čitati ili upisivati raw podatke bajt-po-bajt, bez konverzije podataka u ASCII kod. U konvertovane ili izgubljene stringove LavVIEW smešta bilo koji ne-prikazani tekstualni karakter u fajl sa konfiguracionim podešavanjima pomoću ekvivalentnih heksadecimalnih izlaznih kodova, kao što su „\0D” carriage return - za vraćanje na početak linije.

Takođe LabView skladišti i karaktere u podešavanjima konfiguracije sa dve kose crte, kao što su \\. Podesite read raw string? ili write raw string? ulaze u konfiguracionom fajlu TRUE za sirove podatke ili FALSE za izgubljene podatke.

Kada VIs funkcija zapisuje u konfiguracioni fajl, ona oko bilo kog stringa ili putanje koja sadrži space karakter postavlja navodnike. Ukoliko string sadrži navodnike LabVIEW ih smešta kao \”. Ukoliko vršite čitanje i/ili upis u konfiguracioni fajl koristeći tekst editor, možete primetiti da LabVIEW navodnike zamenjuje sa \”.

LabVIEW smešta podatke koje sadrže putanje u nezavisne formate od platformi, tj. standardni UNIX format za putanje u .ini fajlovima. VIs funkcija vrši interpretaciju apsolutne putanje /c/temp/data.dat koja je smeštena u konfiguracionom fajlu kao:

[pic]

Dok relativnu putanju interpretira kao:

[pic]

Prikupljanje podataka iz prednjeg panela

Za memorisanje podataka za kasniju primenu drugih funkcija kao i za zapisivanje izveštaja (reports) koristi se tzv. front panel datalogging. Npr. možete učitati podatak iz grafika i iskoristiti taj podatak na drugom grafiku u odvojenim VI funkcijama.

Prilikom svakog pokretanja VI funkcije, front panel datalogging snima podatke u odvojeni datalog fajl, koji je u formatu ograničenog teksta (delimited text). Podatke možete povratiti na sledeće načine:

➢ Koristeći istu VI funkciju sa kojom ste snimili podatke da bi povratili podatke uzajamno.

➢ Koristeći VI funkciju kao subVI da bi povratili podatke isprogramirano

➢ Koristeći File I/O VI funkcije da bi povratili podatke

Svaka VI funkcija sadrži log-file povezivanje koje snima lokaciju datalog fajla gde LabVIEW čuva logged front panel podatke. Log-file povezivanje je pridruživanje VI funkcije i datalog fajla u koji učitavate VI podatke.

Datalog fajl sadrži podatke koji uključuju vremenski-odabirak (timestamp) i podatke od svakog pokretanja funkcije VI. Kada pristupite datalog fajlu, birate koji snimak želite pokretanjem VI u povratnom modu (retreival mode) i koristeći kontrole iz front panela (front panel controls) možete videti podatak. Kada pokrenete VI u retreival modu pojaviće se numeričke kontrole pri vrhu front panela, tako da sada možete vršiti navigaciju među snimcima. Pogledajte sliku 27 kao primer za ove numeričke kontrole.

Automatski i interaktivni Front Panel Datalogging

Izaberite Operate-Log at Completion da bi omogućili automatsko logovanje (automatic logging). Prilikom prvog logovanja front panel podataka za VI, LabVIEW će vas pitati da imenujete fajl. LabVIEW loguje podatke prilikom svakog pokretanja VI funkcija i dodaje nove zapise u datalog fajl svaki naredni put prilikom pokretanja VI-a. Ne možete vršiti prepravke nakon što LabVIEW izvrši upis u datalog fajl.

Da bi učitali vaše konverzacione podatke izaberite Operate-Data Logging-Log. LabVIEW dodaje podatak u datalog fajl momentalno. Logujte vaše konverzacione podatke kako bi mogli da definišete kada ćete logovati podatke. Automatsko logovanje vaših podataka loguje podatke svaki put kada pokrenete VI.

Interaktivan pregled Logged Front Panel Data panela

Nakon logovanja podataka, možete ih videti konvertovane biranjem Operate-Data Logging-Retrieve. Data retrieval linija sa alatima će se prikazati kao što je na slici 27.

[pic]

Slika 27. Toolbar za isčitavanje podataka

Osenčani broj označava skup podataka koji je trenutno prikazan. Broj u uglastim zagradama označava granice skupa podataka koji su logovani za VI funkciju. Prilikom svakog pokretanja VI loguje se podatak. Datum i vreme označavaju kada ste logovali izabrani podatak. Da bi videli prethodni ili sledeći podatak, kliknite na strelice nagore i nadole respektivno. Možete takođe koristiti u taster gore (strelica) i dole (strelica) na vašoj tastaturi.

Pored toolbar-a za preuzimanje podataka, izgled front panel-a se menja u skladu sa snimkom koji odaberete u toolbar-u. Npr. kada kliknete na strlicu za povećanje i pređete na sledeći snimak, kontrola i indikatori prikazuju podatke vezane za dati snimak, a koji se odnose na vreme kada je snimak napravljen. Kliknite na taster OK kako bi izašli iz ovog moda i kako bi se vratili u VI čiji ste datalog fajl pregledali.

Brisanje zapisa

Kada ste u retrieval modu, možete brisati određene zapise. Da bi obrisali zapis, markirajte ga u retrieval modu i kliknite na Trash dugme. Ukoliko kliknete ponovo na Trash dugme, zapis nije više markiran za brisanje.

Da bi obrisali sve zapise koje ste markirali za brisanje izaberite Operate-Data Logging-Purge Data dok ste u retrieval modu.

Ukoliko ne izaberete Operate-Data Logging-Purge Data pre nego što kliknte OK dugme, LabVIEW će vas pitati da li hoćete da obrišete markirane snimke.

Uklanjanje povezanosti Log-fajla

Povezivanje (binding) log-fajla se koristi kada želite da izvršite asocijaciju VI sa datalog fajlom prilikom logovanja i uspostavljanja front panel podataka. Možete imati dva ili više datalog fajlova sjedinjena sa jednom VI funkcijom. Ovo može biti od koristi prilikom testiranja ili poređenja VI podataka. Npr. možete izvršiti poređenje podataka logovanih prilikom prvog pokretanja VI-a sa podacima logovanim prilikom drugog pokretanja VI-a. Da bi izvršili asocijaciju više od jednog datalog fajla sa VI, morate očistiti log-fajl povezivanje (clear log-file binding) selektovanjem Operate-Data Logging-Clear Log File Binding. LabVIEW će vas pitati da specificirate datalog fajl koji ćete narednog puta pokrenuti sa VI-om bilo automatskim logovanjem ili kada logujete podatke interaktivno.

Promena povezanosti Log-fajla

Promenite log-file vezu u log podatke front pane-a ili ih preuzmite iz front panel-a tako što ćete odabrati Operate»DataLogging»Change Log File Binding. LabVIEW će vas upozoriti da odaberete drugi log fajl ili da kreirate novi. Možete izmeniti povezanost log fajla kada želite povratiti različite podatke u VI-u ili dodati podatke iz VI u drugi datalog fajl.

Programski povratak Front Panel podataka

Možete povratiti logovane podatke korišćenjem subVI ili File I/O VI funkcija.

Povratak Front Panel podataka korišćenjem subVI funkcije

Kada kliknete desnim tasterom miša na subVI i odaberete Enable Database Access iz menija, pojaviće se žuti okvir oko subVI-a, kao što je prikazano na slici 28.

[pic]

Slika 28. Isčitavanje snimljenih podataka

Žuti okvir izgleda kao kutija za odlaganje dokumenta i uključuje terminale (linije) za pristup podacima iz datalog fajla. Kada osposobite pristup bazi za subVI funkciju, ulaz i izlaz subVI-a se ponaša kao izlaz, vraćajući logovane podatke. Record # prikazuje zapis koji je spreman za povratak, invalid record # prikazuje koji zapis broja postoji, timestamp je vreme kada je zapis kreiran i front panel data je niz objekata iz front panela.

Možete pristupiti podacima objekta koji se nalazi na prednjem panelu povezivanjem dela podataka prednjeg panela sa Unbundle funkcijom.

Takođe možete ponovo isčitati vrednosti specifičnih ulaza i izlaza direktnim povezivanjem sa odgovarajućim terminalom na subVI, kao što je prikazano na slici 29.

[pic]

Slika 29. Isčitavanje upisanih podataka kroz SubVI terminale

Ukoliko pokrenete VI, subVI se neće pokrenuti. Umesto toga, vratiće logovane podatke iz front panela u VI front panel kao nizove (cluster).

Specificiranje zapisa

subVI ima n logovanih zapisa, gde vi možete povezati bilo koji broj od –n do n-1 sa record # na kraju subVI funkcije. Možete pristupiti zapisima koji se odnose na prvi logovani zapis korišćenjem nenegativnih brojeva zapisa. 0 predstavlja prvi zapis, 1 predstavlja drugi, itd. do n-1, koji predstavlja zadnji zapis.

Možete pristupiti zapisima koji se odnose na zadnji logovani zapis korišćenjem negativnih brojeva zapisa, -1 predstavlja zadnji zapis, -2 predzadnji, itd. do –n koji predstavlja prvi zapis. Ukoliko postavite broj koji je izvan granica –n do n-1 u record # terminalu, javiće se invalid record # izlaz kao TRUE komanda i subVI neće povratiti nikakav podatak.

Povratak Front Panel podataka korišćenjem File I/O funkcija

Možete povratiti podatak logovan iz front panela korišćenjem File I/O VIs i funkcija, kao što je Read File funkcija. Svaki zapis u front panelu datalog fajla kreira dva niza. Jedan niz sadrži timestamp(informacija pridodata podatku da ukaže na vreme kada je prikupljena) podatak, a drugi niz sadrži front panel podatke. Timestamp niz sadrži 32-bitne celobrojne brojeve koji predstavljaju sekunde i 16-bitne celobrojne brojeve koji predstavljaju milisekunde koje su protekle u odnosu na LabVIEW referentno vreme koje odgovara 1. januaru 1904.god. u ponoć.

Zapisima iz front panel datalog fajlova pristupate pomoću istih File I/O funkcija koje se koristite za pristup datalog fajlovima koje kreirate programski.

Unesite datalog record type kao ulaz funkciji File Open, kao što je prikazano na slici 30.

[pic]

Slika 30. Isčitavanje upisanih podataka korišćenjem funkcije File Open.

Reference

• NATIONAL INSTRUMENTS LabVIEW – User Manual

-----------------------

[1] Traženi deo možete naći u 4-tom poglavlju References to Objects or Applications

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download