Sunteți pe pagina 1din 18

Subiecte Instrumentaie virtual, anul IV IS, Partea a II-a

Lecia 8 Partea I
1.Prezentati principiile programarii secventiale (Fig. 8-1, 8-2, 8-3,
8-4, 8-5)
In figura urmatoare este citit un curent intr-un bloc de dialog
care ii spune user-ului sa porneasca citirea, curentul este citit
dupa care ii spune sa opreasca curentul. In acest exemplu nu
este nimic secvential, deoarece aceste etape se pot executa si
aleator.

In figura urmatoare avem un exemplu partial secvential prin gruparea celor 2


erori ale DAQ Assistant. In acest mod ele se vor executa secvential dar nu si
cele 2 blocuri de dialog.

Pentru ca exemplele anterioare sa fie secventiale vom folosi structuri


secventiale care contin una sau mai multe subdiagrame sau frame-uri , care
nu se pot executa pana cand precedentul (frame, diagrama) nu s-a executat.

In figura urmatoare avem un task secvential folosind structuri secventiale si


grupuri de erori.

Cea mai buna metoda a programarii secventiale este folosirea grupurilor de


erori si a structurilor de caz asupra blocului de dialog.

2. Prezentati principiile masinilor de stare (aplicare, infrastructura


Fig. 8-6,
control, tranzitii Fig. 8-7, 8-8, 8-9, 8-10)
Aplicare : - se folosesc in aplicatii cand exista conditii de diferite tipuri de a
continua
programul
- Fiecare conditie poate duce la mai multe conditii sau poate
termina procesul
- O masina de stare se bazeaza pe intrarea setata de utilizator si in
functie de aceasta determina in ce stare va urma sa intre.
Infrastructura: - 1-bucla while
-2-registrii de shiftare
-3-structuri de caz
-4-codul de functionare
-5-codul de tranzitie
Controlul: - cea mai buna metoda de a controla tranzitile masinilor de stare
este modul de
control enumerare
-enumerarile sunt folosite ca si selectari de caz in masinile de
stare

Tranzitii: -tranzitia default in aceasta tranzitie nu este nevoie de cod pt. a


determina urm. stare, pt. ca e doar o singura stare ce poate urma.

Tranzitia intre 2 stari:


-exemplul de mai jos il putem folosi doar la tranzitia intre 2 stari

Tranzitia intre doua sau mai multe stari:


-cu ajutorul structurilor de caz

-cu ajutorul matricilor


In acest exemplu blocul de decizie ne da indexul care ne confera urm. stare.

Lecia 9 Partea I
1. Dati definitia variabilelor in LabView (9.B, pag.9-6)
Variabilele in LabView sunt elemente ale diagramei bloc care iti permit sa
accesezi sau sa depozitezi date in alte locatii.
2. Explicati modul de lucru cu variabile intr-un singur instrument
virtual (9.B,
utilizare, creare, citire si scriere, exemplu Fig. 9-5)
Utilizare: - variabilele locale transfera datele intr-un IV
-Variabilele se declara pentru a accesa obiecte din panoul
frontal din mai multe locatii
Crearea: - click dreapta pe front panel sau diagram bloc , se
selecteaza Create->Local Variable
- Din paleta functii, drag and drop pe icoana Local Variable.
Scrierea: - pentru ca o variabila sa poata fi modificata trebuie sa se
comporte ca un indicator
- Trebuie sa alegem optiunea Change to Write
In figura urmatoare loop2 citeste o variabila locala asociata unui
switch. Cand setam switch-ul pe fals in panoul frontal, switch-ul din
loop 1 scrie fals in terminalul de conditie din loop 1. Loop 2 citeste
controlul de loop, vede ca e fals si se opreste si el.

3. Explicati modul de utilizare a varibilelor prin mai multe


instrumente virtuale
(9.B, crearea variabilelor globale, initializare)
Crearea variabilelor globale
Cand cream o variabila globala LabView se creaza automat un instrument
virtual global, care contine doar panoul frontal.Acest IV global e ca un
container pe care il poate accesa orice instrument virtual. Selectarea
variabilei globale se face cu paleta functii.
Initializarea variabilei globale
-daca nu initializam o variabila globala aceasta va avea valoarea Default( 0
de obicei)
-trebuie sa verificam daca contine valori cunoscute inainte sa rulam IV
4. Variabile globale functionale ( 9.C, formatul lor Fig. 9-12,
utilizarea lor pentru
generarea tactului Fig. 9-14)
Formatul variabilelor globale functionale este prezentat in figura de mai jos:

Utilizarea variabilelor globale functionale pt. generarea tactului sunt


prezentate in figura de mai jos in care este masurat timpul intre fiecare
masurare a IV.

5. Solutii de eliminare a conditiilor de competitie la executarea


sarcinilor multiple in paralel (9.D, exemple de conditii de competitie,
pag. 9-17, Fig. 9- 15, 9-16, enumerarea solutiilor pag. 9-18,
controlul si limitarea resurselor, protejarea sectiiunilor critice,
utilizarea variabilelor globale functionale Fig. 9-17, 9-18, 9-19)
Pt. a explica ce este o conditie de competitive vom pormi de la cele 2
exemple de mai jos , in care suma Total_Count va fi egala cu count 1 +

count 2 la o rulare scurta si nu va fi egala cu count 1 + count 2 la o rulare


mai lunga.
Solutii de eliminare: - controlul si limitarea resurselor
- identificarea si protejarea sectiunilor critice din cod
- specificarea ordinei de executie
Controlul si limitarea resurselor: - evitarea conditiilor de competitive
- folosirea unui singur control pt. o resursa
- folosirea numaratorii loop-ului local

Anexa A Partea I
1. Prezentati ansamblul unui sistem de masurare (Fig. A-1)
Fenomen fizic : Lumina, Temperatura, Presiune, etc.
Senzori si traductori
Conditionatoare de semnal
Baza de achizitie de date
Instrument stand-date
Drivere
Placa sau port serial
Softul de prelucrare
2. Enumerati traductoarele specifice fenomenelor fizice (Tab. A-1)

3. Explicati notiunile de punere la masa a sursei de semnal (Fig.


A-2) si sursa
de semnal flotant (Fig. A-3).
Semnalul este pus la masa comuna ca in figura de mai jos, aceasta masa
poate fi pamantul
Exemple de aparate care au acest tip de punere la masa sunt : generatoarele
de semnal si curent.Se leaga la o masa comuna pt a avea acelasi potential.

In aceasta figura sursa de semnal nu este legata la masa comuna. Ex:


Bateriile, termocuplele, transformatoarele. Sursa de semnal este
independenta de masa.

3. Modul de amplificare al semnalelor (Fig. A-5)


Amplificarea este cel mai cunoscut mod de conditionare a semnalelor.
Daca amplificam un semnal aproape de sursa se vor amplifica si
zgomotele atasate semnalului. Pt. cea mai buna acuratete trebuie sa
amplificam semnalul astfel incat gama maxima a semnalului sa fie
egala cu gama maxima a CAN.

4. Sistem de masura cu intrare diferentiala (Fig. A-6)


Se reprezinta intr-un dispozitiv tipic de la NI care foloseste 8 canale
diferentiale de intrare. Folosirea MUX in calea semnalelor analogice
creste nr. canalelor de masurare , in cazul in care exista doar un
instrument de amplificare. AIGND este masa sistemului de masurare.

5. Calitatea masurarii (rezolutia Fig. A-10, domeniul de masura Fig. A-11,


amplificarea Fig. A-12, cea mai mica schimbare in semnal pe care o
poate detecta un sistem pag. A 15, calitatea in esantionare pag. A-16,
Fig. A-13, reducerea zgomotelor).
Rezolutia repr. cea mai mica variatie a semnalului de intrare pe care
un sensor sau un dispozitiv o poate detecta.
Un CAN de 3 biti imparte semnalul in 23 = 8 parti
Un CAN de 16 biti imparte semnalul in 216 = 65536 parti
Domeniul de masurare se refera la minimul si maximul valorii
semnalului analogic pe care CAN o poate transforma.
Sunt 2 domenii de masurare : unipolar de la 0 la +xV
Bipolar de la xV la +xV

Lecia 1 Partea a II-a


1. Forma de proiectare a unui instrument virtual general (1.B, Fig. 1-2)

2. Forma de proiectare a buclelor paralele (1.C, Fig. 1.5)

3. Forma de proiectare masterslave (1.C, Fig. 1.6)

4. Generarea tactului la executie (1.D, Fig. 1.8)

Lecia 2 Partea a II-a


1. Sincronizarea trasferului de date prin notificare (2.A, Fig. 2-1)

2. Sincronizarea trasferului prin coada de asteptare (2.A, Fig. 2-2)

Lecia 3 Partea a II-a


1. Explicatia notiunea de eveniment (3.A). La ce se folosesc
evenimentele?

Un eveniment este o notificare asincrona care sa intamplat.


Evenimentele provin de la interfata utilizatorului, I/O external, sau alte
parti ale programului.
Se foloseste interfata evenimentele in LabView pentru sincronizarea
actinilor utilizatorului pe panoul principal cu o diagrama bloc de
executie.
2. Configurarea evenimentelor (3.B, pag. 3-9)
1. Optional(daca se doreste configurarea unui eveniment de structure
pentru manipularea utilizatorului unui eveniment, un controller
Boolean cu un buton radio de control sau un utilizator de eveniment
interfata care este generat si bazat pe o referinta pentru o
aplicatie,VI sau controller dar prima data trebe sa te inregistrezi
dynamic la un eveniment).
2. Click dreapta pe interfata unei structure eveniment si selectarea
EDIT EVENTS HANDLED BY THIS CASE din meniul de scurtaturi si
afisarea EDIT EVENTS a unei cutii dialog pentru editura unui case
current. Se mai poate selecta ADD EVENT CASE din meniul de
scurtaturi pentru crearea unui nou case.
3. Specificarea unui eveniment sursa in panalul: EVENT SOURCES.
4. Se selecteaza evenimentul sursa care se doreste configurat ca si:
KEY DOWN, TIMEOUT sau VALUE CHANGE de la lista de EVENTS.
3. Forma de proiectare pentru manipularea evenimentelor prin interfata cu
utilizatorul (3.D, pag. 3-12)

Lecia 6 Partea a II-a


1. Enumerati formatele fisierelor 6.A)
-cand se foloseste fisierele text(ascii)
- cand sa se foloseasca fisierele binare (fisierele dialog)
-cand sa se foloseasca fisierele TDMS
2. Scrierea valorilor boolene intr-un fisier binar (6.B, Fig. 6-2)

3. Scrierea unui tablou bidimensional intr-u fisier (6.B, Fig. 6-3)

4. Scrierea unui fisier TDMS (6.C, Fig. 6-9)

5. Citirea unui fisier TDMS (6.C, Fig. 6-10)

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