Sunteți pe pagina 1din 7

Elemente de electronică și mediu de programare pentru fluxuri - Dr. Ing.

Vlad-Cristian Georgescu

Laborator 6 – Aplicații cu fișiere

În cadrul acestei lucrări se vor prezenta aplicaţii ce au ca scop familiarizarea cu


metode de salvare a datelor în fișiere.

1. Scriere și citire folosind fișiere de tip text

Se va realiza un VI pentru scrierea unui text într-un fișier și apoi citirea fișierului.

- Se crează un nou VI, în diagrama bloc adăugându-se din subpaleta String


pictograma Concatenate Strings. Cu click dreapta pe ambele intrări ale pictogramei,
se alege opțiunea Create > Control.

- Din subpaleta File I/O se alege Open/Create/Replace File. La intrarea


Operation, cu click dreapta, se alege opțiunea Create > Constant. Din structura de tip
Enum apărută, se alege opțiunea replace or create.
- Din subpaleta File I/O se alege Write to Text File. Intrarea File se leagă la
ieșirea refnum out a pictogramei anterioare. La intrarea text, se leagă ieșirea
pictogramei Concatenate Strings.
- Din subpaleta File I/O se alege Close File. Intrarea File se leagă la ieșirea
refnum out a pictogramei anterioare.

- Din subpaleta Structures se alege structura Flat Sequence. Se așează în


diagramă astfel încât să includă tot ce a fost plasat până acum. Cu click dreapta pe
marginea structurii, se alege opțiunea Add Frame After și se redimensionează pentru a
avea spațiu în care să continuăm programul.

- Din subpaleta File I/O se alege Open/Create/Replace File.


La intrarea Operation, nu trebuie să mai alegem o opțiunea, deoarece default
pictograma are opțiunea open.
- Din subpaleta File I/O se alege Read from Text File. Intrarea File se leagă la
ieșirea refnum out a pictogramei anterioare. La ieșirea text, cu click dreapta, se alege
opțiunea Create > Indicator.
- Din subpaleta File I/O se alege Close File. Intrarea File se leagă la ieșirea
refnum out a pictogramei anterioare.

1
Schema de conexiuni este redată în fig. 1.1.

Fig. 1.1. Diagrama bloc pentru scrierea și citirea unui text

Rularea aplicaţiei

- Se rulează aplicația folosind butonul Run sau combinaţia de taste Ctrl+R.


Deoarece la intrarea file path a pictogramei Open/Create/Replace File nu a fost
conectat nimic, va apărea automat o fereastră de dialog, în care ni se va cere să
alegem fișierul în care dorim să scriem.
Apoi, deoarece nici la a doua pictogramă nu am ales o cale predefinită de unde
să fie deschis fișierul, va apărea o altă fereastră de dialog, în care va trebui să selectăm
fișierul pe care să îl citim.

În denumirea fișierelor, nu trebuie neapărat să folosim și extensie sau putem


scrie orice extensie dorim. În Windows, putem să deschidem orice astfel de fișier
folosind un editor de text, indiferent de extensia cu care l-am denumit.

2. Scriere în fișiere de tip tabelar

Următoarea aplicaţie se referă la realizarea unui VI care să scrie într-un fișier


tabelar rezultatul unor calcule.

Diagrama bloc

- Se crează un nou VI, în diagrama bloc adăugându-se din subpaleta Structures


se alege structura For Loop.

2
- Se apasă click dreapta pe terminalul de numărare a structurii For și se alege
opțiunea Create > Constant. Se atribuie valoarea 4 acestei constante.
- În interiorul structurii For adăugăm din subpaleta Numeric: un generator de
numere aleatoare (Random Number (0-1) ), o constantă numerică cu valoarea 10
(Numeric Constant), un multiplicator (Multiply) și Round to Nearest.
- Generatorul și constanta se conectează la intrările multiplicatorului, iar ieșirea
acestuia se conectează la intrarea pictogramei ce realizează partea întreagă.
- Ieșirea pictogramei Round to Nearest se conectează la marginea structurii For,
la un tunel, la care ne asigurăm că este în modul Enable Indexing. Apoi, cu click
dreapta pe tunel, se alege opțiunea Create > Indicator iar indicatorul se denumește
”X”.

- Se selectează cu click stânga întregul cod, și se copiază (CTRL+C urmat de


CTRL + V). Se redenumește indicatorul ”X 2” cu ”Y”. Se modifică valoarea constantei de
la terminalul de numărare a noi structurii For din 4 în 6.

Schema de conexiuni este redată în fig. 2.1.

Fig. 2.1. Diagrama bloc parțială

- Din subpaleta Array se alege Build Array. Se redimensionează pictograma


astfel încât să aibă două intrări. La ele se conectează cele două tuneluri prin care ies
datele din cele două structuri For. Cu click dreapta pe ieșirea pictogramei, se alege
opțiunea Create > Indicator.

3
- Din subpaleta Array se alege Transpose 2D Array. La intrarea acetei
pictograme se conectează ieșirea pictogramei Build Array. Cu click dreapta pe ieșirea
pictogramei, se alege opțiunea Create > Indicator.

- Din subpaleta String se alege Array to Spreadsheet String.


- La intrarea array se conectează ieșirea pictogramei Transpose 2D Array.
- La intrarea format string, cu click dreapta, se alege opțiunea Create >
Constant. În interiorul ei se scrie ”%d”.
- Cu click dreapta pe ieșirea pictogramei, se alege opțiunea Create > Indicator.

Această pictogramă transformă array-ul de la intrare într-un string, pentru a


putea fi ulterior scris într-un fișier. La intrarea format string a trebuit să speciicăm ce fel
de date se află în array (în cazul nostru numere întregi).

- Din subpaleta File I/O se alege Write to Text File.


- La intrarea File, cu click dreapta, se alege opțiunea Create > Constant.
Valoarea acestei constante de tip path va fi completată cu o locație din calculator, în
care să fie salvat fișierul și numele acestuia (de exemplu ”D:\lab6.csv”).
- La intrarea text, se leagă ieșirea pictogramei Array to Spreadsheet String.

Schema de conexiuni este redată în fig. 2.2.

Fig. 2.2. Diagrama bloc parțială

4
- Din subpaleta File I/O se alege Write to Spreadsheet File.
- La intrarea File, cu click dreapta, se alege opțiunea Create > Constant.
Valoarea acestei constante de tip path va fi completată cu o locație din calculator, în
care să fie salvat fișierul și numele acestuia (de exemplu ”D:\lab6-varianta2.csv”).
- La intrarea 2D Data se conectează ieșirea pictogramei Build Array.
- La intrarea format, cu click dreapta, se alege opțiunea Create > Constant. În
interiorul ei se înlocuiește conținutul default cu ”%d”.
- La intrarea transpose ?, cu click dreapta, se alege opțiunea Create > Constant.
Prin apăsarea constantei boolene create, se schimbă valoarea acesteia în True.

În final se va obţine diagrama bloc din fig. 2.3.

Fig. 2.3. Diagrama bloc finală

Panoul Frontal

După ce s-a terminat aranjarea obiectelor în diagrama bloc, cu Ctrl+E se trece în


panoul frontal al aplicaţiei. Aici avem toate elementele de afișare și control adăugate
anterior, dar urmează să le aranjăm într-o manieră intuitivă.

5
- În partea stângă sus se aduc cele două indicatoare ale vectorilor generați (X si
Y). Se redimensionează indicatoarele astfel încât să permită afișarea unui vector, cu
minim 4, respectiv minim 6 elemente.
- În partea stângă jos se aduce indicatorul appended array. Se redimensionează
astfel încât să permită afișarea unei matrici cu 6 coloane și 2 linii.
- În partea dreaptă sus, se aduce indicatorul transposed array. Se
redimensionează astfel încât să permită afișarea unei matrici cu 2 coloane și 6 linii.
- În partea stângă jos se mută indicatorul spreadsheet string și se
redimensionează pentru a îl mări pe verticală.

În final se va obţine un panou frontal asemănător cu cel din fig. 2.4.

Fig. 2.4. Exemplu de panou frontal al aplicaţiei

Rularea aplicaţiei

- Se rulează aplicația folosind butonul Run sau combinaţia de taste Ctrl+R.


După rularea aplicației se vor obține două fișiere cu același conținut. Diferența
este doar modul în care le-am generat în diagramă: pictograma Write to Spreadsheet
File are opțiunea transpose?, pe care am activat-o, pe când în cazul scrierii simple în
fișier cu Write to Text File a trebuit să introducem noi această funcție (folosind
pictograma Transpose 2D Array).
Se observă că din cauza dimensiunilor diferite ale cei doi vectori X și Y, au fost
adăugate automat 2 elemente cu valoarea 0 în appended array, de către funcția Build
Array.

6
Fișierele rezultate pot fi deschise atât cu un editor de text, cât și cu unul de calcul
tabelar. Elementele celor două coloane sunt delimitate de un caracter de tip Tab,
deoarece aceasta este setarea implicită. În cazul pictogramei Array to Spreadsheet
String, la intrarea delimiter, se poate specifica orice alt caracter, care să separe cele
două coloane de numere.
Dacă se folosește Microsoft Excel pentru deschiderea fișierelor, în funcție de
versiune este posibil să nu recunoască direct delimitarea cu Tab. În acest caz, în Excel,
din meniul Data, se alege opțiunea From Text, se indică fișierul dorit, moment în care
apare o fereastră de dialog. Se apasă Next, iar cum în noua fereastră este implicit
selectat Tab, se apasă Finish.

Bibliografie:
 Manual “LabVIEW Basics 1” – National Instruments

S-ar putea să vă placă și