labview

8
Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 205 205 Program LABVIEW flexibil, cu utilizări multiple (în fizică) autori : Ştefan Grigorescu - prof. fizică Casa Corpului Didactic & CN „I.L.Caragiale”–Bucureşti;e-mail : [email protected] prof. Livia Dinică-insp. Fizică I.S.M.B. Abstract LABVIEW este cel mai răspândit şi mai evoluat mediu de programare grafică: pune la dispoziţia programatorilor ( profesionişti şi neprofesionişti ) capacităţi ce permit realizarea rapidă a unor aplicaţii cu interfaţă grafică elaborată. Acest soft a fost achiziţionat cu licenţă de utilizare de către MEdC încă din anul 2002, de la CNI (CORPORATION NATIONAL INSTRUMENTS -AUSTIN, TEXAS, SUA) şi a fost distribuit gratuit în unităţile şcolare. Noi am realizat (modificat) un program, folosind acest soft, care are utilizări multiple, dintre care prezentăm numai unele: 1) energii : cinetică, potenţială şi totală , de tip elastic; 2) energii: cinetică, potenţială şi totală, de tip gravitaţional, la aruncarea pe verticală de jos în sus în vid, cu v o şi revenire la sol; 3) mişcare accelerată şi mişcare oscilatorie-compunere 4) două mişcări oscilatorii coliniare-compunere; 5) iluminarea cu două surse punctiforme, a unei străzi: E 1 , E 2 ,, E=E 1 +E 2 . Programul se poate folosi şi în alte cazuri, cu mici modificări. Prezentăm şi panoul frontal şi diagramă, cu comentariile corespunzătoare. 1. Introducere Lansare programul cere scrierea celor 2 formule f 1 şi f 2 în locaţia „formule”, folosind sintaxa cunoscută, precum şi scrierea de funcţii şi operatori a 1 , b 1 , a 2 , b 2 şi m =x-max (valoarea maximă a lui x ce apare în grafice), sunt parametrii care vor intra în formulele f 1 şi f 2 şi care pot fi modificaţi se lansează acţionând „Run Continuously” din bara de comenzi a panoului frontal LABVIEW şi se apasă pe „START” din program. se pot face modificări în timpul rulării programului se opreşte acţionând „Abort Execution” din bara de comenzi a panoului frontal LABVIEW şi se apasă pe „STOP” din program. Putem modifica poziţia cursoarelor şi citi coordonatele lor Facilitatea „zoom” ne permite să micşorăm/mărim graficele Prin selecţie, se pot modifica dimensiunile elementelor de pe panoul frontal, se pot colora, accentua etc.

Upload: alex-andra

Post on 31-Oct-2014

60 views

Category:

Documents


2 download

DESCRIPTION

labview

TRANSCRIPT

Page 1: labview

Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 205

205

Program LABVIEW flexibil, cu utilizări multiple

(în fizică)

autori : Ştefan Grigorescu - prof. fizică Casa Corpului Didactic & CN „I.L.Caragiale”–Bucureşti;e-mail : [email protected]

prof. Livia Dinică-insp. Fizică I.S.M.B.

Abstract

LABVIEW este cel mai răspândit şi mai evoluat mediu de programare grafică: pune la dispoziţia programatorilor ( profesionişti şi neprofesionişti ) capacităţi ce permit realizarea rapidă a unor aplicaţii cu interfaţă grafică elaborată. Acest soft a fost achiziţionat cu licenţă de utilizare de către MEdC încă din anul 2002, de la CNI (CORPORATION NATIONAL INSTRUMENTS -AUSTIN, TEXAS, SUA) şi a fost distribuit gratuit în unităţile şcolare. Noi am realizat (modificat) un program, folosind acest soft, care are utilizări multiple, dintre care prezentăm numai unele: 1) energii : cinetică, potenţială şi totală , de tip elastic; 2) energii: cinetică, potenţială şi totală, de tip gravitaţional, la aruncarea pe verticală de jos în sus în vid, cu vo şi revenire la sol; 3) mişcare accelerată şi mişcare oscilatorie-compunere 4) două mişcări oscilatorii coliniare-compunere; 5) iluminarea cu două surse punctiforme, a unei străzi: E1, E2,, E=E1+E2. Programul se poate folosi şi în alte cazuri, cu mici modificări. Prezentăm şi panoul frontal şi diagramă, cu comentariile corespunzătoare.

1. Introducere

Lansare • programul cere scrierea celor 2 formule f1 şi f2 în locaţia „formule”, folosind sintaxa cunoscută, precum şi scrierea de funcţii şi operatori • a1, b1, a2, b2 şi m =x-max (valoarea maximă a lui x ce apare în grafice), sunt parametrii care vor intra în formulele f1 şi f2 şi care pot fi modificaţi • se lansează acţionând „Run Continuously” din bara de comenzi a panoului frontal LABVIEW şi se apasă pe „START” din program. • se pot face modificări în timpul rulării programului • se opreşte acţionând „Abort Execution” din bara de comenzi a panoului frontal LABVIEW şi se apasă pe „STOP” din program. • Putem modifica poziţia cursoarelor şi citi coordonatele lor • Facilitatea „zoom” ne permite să micşorăm/mărim graficele • Prin selecţie, se pot modifica dimensiunile elementelor de pe panoul frontal, se pot colora, accentua etc.

Page 2: labview

206 Facultatea de Matematică şi Informatică, Bucureşti

206

Rezultat • pe aceeaşi diagramă apar cele trei grafice : f1, f2 şi f=f1+f2 , care pot fi analizate, studiate, în cadrul aceluiaşi program. Graficele sunt identificate după culori : f1-albastru ; f2 – roşu ; f- galben. • Se poate mişca cursorul, care se identifică după culoarea verde; poziţia sa (x,y) poate fi citită. • Există posibilitatea „zoom”: mărire/micşorare dar şi deplasarea în spaţiul graficelor.

2.Prezentarea panoului frontal şi al panoului diagramă Prezentarea panoului frontal conţine ( în afară de titlu ) vezi Figura 1.: • 6 controale numerice, în care se introduc: a1,b1,a2,b2, nr.pcte., m=x-maxim • un Array cu string control, unde se vor scrie formulele f1 şi f2 • XY Graphs: grafice f1, f2, f = f1 + f2, având elemente vizibile:Label,Plot Legend,Scale Legend,, Graph Palette, Cursor Legend şi X Scale,Y Scale • Valori booleene : Stop Button, Ok Button : notate cu Stop,Start Prezentarea panoului diagramă conţine (în sensul fluxului de date) vezi Figura 7.: • Structura repetitivă While cu starea Continue if True; (oprirea se face prin

butonul Stop situat în panoul frontal) execută o iteraţie la fiecare100ms(datorită funcţiei wait). Structura While conţine o structură cauzală Case.

• Structura Case are conectat la „terminalul selector” valoarea booleană Start, din panoul frontal.

• Fereastra False nu conţine nimic. • Fereastra True conţine elementele semnificative:

• 5 funcţii Number To Fractional String (converteşte din format numeric în format string); intrarea funcţiei Number To Fractional String este unul din controalele numerice: a1/a2/b1/b2/m=x-max

• Ieşirea fiecărei funcţii Number To Fractional String se leagă la o funcţie Bundle (grupează mai multe valori, de tip diferit, într-o structură de tip Cluster).

• Fiecare din cele 5 funcţii Bundle, are câte două intrări : constantă string a1/b1/a2/b2/m şi respectiv valoarea numerică asociată (tip string) a1/b1/a2/b2/m=x-max

• Cele 5 funcţii Bundle se leagă la cele 5 intrări ale funcţiei Build Array (concatenează la un Array una sau mai multe elemente, în acest caz de tip Cluster), în care contează ordinea de conectare (numerotarea începe de la 0 ; 0-4)

• Ieşirea din funcţia Build Array are de urmat 2 căi : 1) Spre funcţia Index Array (care returnează sub-array cu nr.4).Rezultatul reprezintă intrarea în funcţia Unbundle, care desface Cluster-ul în părţile componente şi transmite numai componenta nr.1 (numerotarea începe de la 0). Fract/Exp String To Number preia rezultatul şi transformă formatul string în format numeric.

Page 3: labview

Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 207

207

2) Spre structura repetitivă cu un număr fix de iteraţii (bucla For, care execută un număr determinat de iteraţii)

Bucla For mai primeşte date din exterior şi de la un Array cu formule (string control pentru f1 şi f2 ) .În bucla For se mai află şi funcţia Substitute Variables.vi ,care redă funcţiile f1,f2 după înlocuirea cu parametrii a1/b1/a2/b2/m. Ieşirea din bucla For duce spre 2 funcţii Index Array : una din ele extrage din tabloul primit numai sub-array-ul cu index 0, iar celălalt extrage din acelaşi array, sub-array –ul cu index1. • 2 funcţii Eval y=f(x).vi , care au intrări : nr.pcte., start, end şi formula; la ieşire ne

interesează valorile lui x şi y. La ambele funcţii avem : Nr.pcte.=se fixează din panoul frontal, start=0,( fixat din program ); end=m=x-max (se fixează din panoul frontal).Diferă formulele ; la una din aceste funcţii ajunge prima formulă iar la cealaltă a doua formulă. Se continuă cu funcţia Bundle (în număr de 2), care formează un Cluster cu valorile lui x şi y (de la fiecare din cele 2 funcţii Eval y=f(x).vi)

• Funcţia Add adună valorile corespunzătoare y provenite de la cele 2 funcţii Eval y=f(x).vi.

• O altă funcţie Bundle având intrări valorile lui x şi valorile lui y-sumă. • Cele trei funcţii Bundle sunt legate în ordine (pt.f1,f2,f=f1+f2) la funcţia Buid

Array • La ieşirea din Buid Array se conectează graficul XY Graphs din panoul frontal,

pe care vor fi reprezentate cele funcţii, în ordine

3. Exemple

1. Figura 2.: energiile cinetică şi potenţială, de tip elastic :

Ec = 2

2Mv = 2)]cos([2

tAM ωω şi Ep = 2)]sin([22

2tAkky ω= ; cu k= Mω2 valori potrivite

:a1≡ A=2.00 ; b1≡ω=1440.00; a2≡A=2.00;b2≡ω=1440.00; nr.pcte=500 ; m=x-maxim = 0.250;x≡t(s);M=0.4Kg. Se completează, ţind cont de sintaxă :

f1≡Ec=0.2*(a1*b1*3.145927/180*cos(b1*3.145927/180*x))^2 şi f2≡Ep= 0.2*64*(3.145927)^2*(a2*sin(b2*3.145927/180*x))^2

obs. : • unităţile de măsură nu se vor scrie, dar se va ţine cont de ele : A=2.00(cm) ; ω=1440.00(grade/s); graficele pentru Ec , Ep şi E= Ec+ Ep vor fi reprezentate în (10-4j) ; am luat π = 3.145927 pentru precizie mai mare ; funcţiile sinus şi cosinus necesită argumente în radiani ; s-au făcut transformările din grade în radiani • se pot face studii asemănătoare referitoare la variaţia energiei magnetice şi electrice într-un circuit oscilant L,C. 2. Figura 3.: energiile cinetică şi potenţială, de tip gravitaţional (aruncare pe verticală de jos în sus cu vo ):

Page 4: labview

208 Facultatea de Matematică şi Informatică, Bucureşti

208

Ep = Mgh = Mg )22

( tgtvo − şi Ec = 2

2Mv = 2)(2

gtvMo − valori potrivite : a1≡M=0.5 ;

b1≡v0=80 ; a2≡M=0.5 ; b2≡v0=80 ; nr.puncte=500 ; m=x-maxim=16;g=102s

m ;

Unităţile corespunzătoare nu se vor nota, se vor lua în consideraţie şi vor fi : M(Kg); vo(m/s) ; x≡t(s); Ec , Ep , E= Ec + Ep în (j); se completează : f1= Ep= a1*10*(b1*x-5*x^2) ; f2= Ec = a2/2*(b2-10*x)^2

Obs : graficele prezintă nu numai urcarea ci şi coborârea 3. Figura4.: compuneri de mişcări ,de traiectorii ; exemplu : o mişcare uniform accelerată şi o mişcare oscilatorie (un resort într-un ascensor) y1=vot+at2/2 şi y2=Asin(wt) Valori potrivite : a1≡vo=1.00 ; b1≡a=0.6 ; a2≡A=150 ; b2≡w=15 ; nr.puncte=500 ; m= x-maxim=60 ; unităţile corespunzătoare vor fi : v0(mm/s); a(mm/s2) ; A(mm); x≡t(s); y1,y2 şi y=y1+y2(mm); w(grade/s); x≡t(s); Se completează : f1= y1= a1*x+b1/2*x^2 ; f2=y2=a2*sin(b2*3.145927/180*x) Obs : funcţiile sinus şi cosinus necesită argumente în radiani ; s-au făcut transformările din grade în radiani 4. Figura5.: compuneri de mişcări ,de traiectorii ; exemplu : 2 mişcări oscilatorii liniare : y1 = A1sin(2πν1t) şi y2 = A2sin(2πν2t).

Valori potrivite : a1≡A1=2.00; b1≡ν1=50.00; a2≡A2=3.00; b2≡ν2=10; nr.puncte=500; m=x-maxim=100.000;

Unităţile corespunzătoare vor fi: A1 (cm); A2 (cm) ; x≡t(s) ; y1 , y2 şi y = y1 + y2 (cm) ; ν1 şi ν2 (hz) ; x≡t(s) ;

Se completează: f1=y1=a1*sin(2*3.145927*b1*x); f2=y2=a2*sin(2*3.145927*b2*x) Obs : asemănător se poate proceda pentru adunarea tensiunilor u = uR+uX la

legarea serie sau i = iR+iX, la legarea în paralel, într-un circuit de c.a. 5. Figura6.:iluminarea cu 2 lămpi situate de o parte şi de alta unei străzi, vezi desen : S1

h1

x D

h2

S2

PO

Page 5: labview

Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 209

209

Fie strada de lăţime D şi dorim să analizăm iluminarea în punctul P situat la distanţa x (variabil), de O, datorită surselor punctiforme S1 şi S2.

E1 = ( )xh

I22

1

1

3+

şi E2 =

( )( )xDh

I

−+ 222

2

3 unde E1 este iluminarea în P datorită lui

S1 iar E2 este iluminarea în P datorită lui S2 şi E = E1 + E2 este iluminarea totală. I1 şi I2 sunt intensităţile luminoase ale celor două surse. Atunci f1≡E1 şi f2≡E2 şi f≡E. Valori potrivite : a1≡I1=100.00 ; b1≡h1=5.00 ; a2≡I2=150.00 ; b2≡h2=6.00; nr.puncte=500; m=x-maxim=20.000 ≡D ; unităţile corespunzătoare vor fi : I1 (cd); I2 (cd) ; h1, h2, x, D în (m) ; E, E1, E2 în (lx). Se completează:

f1=a1/sqrt((b1^2+x^2)^3) ; f2=a2/sqrt((b2^2+(m-x)^2)^3) Câteva teme de efectuat :

• Referitor la energii : a)în ce caz Ec = r*Ep sau E, cu r= raport ; se vor determina valorile lui t, Ec şi Ep, ex: r=30%; b)domeniile în care Ec>Ep; • Referitor la iluminarea străzii : a)pentru ce valoare a lui x , E este minimă şi cât este valoarea acesteia, b)să se găsească poziţia ( respectiv h1,h2,I1,I2, astfel încât pentru un x-dat, E să fie minimă • Folosirea acestui program în alte cazuri :ex. capitole: electricitate şi eletromagnetism, hidro şi aerodinamică , fizică atomică dar şi în alte discipline : matematică etc. • În panoul diagramă se poate înlocui operaţia de adunare cu înmulţirea şi atunci se pot configura graficele f1,f2,f=f1*f2 , care se pot analiza. • Printr-o uşoară modificare a programului pot fi introduşi mai mulţi parametri : a1….an, b1....bn • Altă modificare rapidă ar fi reprezentarea mai multor funcţii: f1………fn. 4.Figuri obţinute din panoul frontal şi diagramă prin captare ecran

Figura 1.Panoul frontal

Page 6: labview

210 Facultatea de Matematică şi Informatică, Bucureşti

210

Figura 2. Exemplul nr.1

Figura 3. Exemplul nr.2

Figura 4. Exemplul nr.3

Page 7: labview

Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 211

211

Figura 5 .Exemplul nr4

Figura 6.Exemplul nr5

Page 8: labview

212 Facultatea de Matematică şi Informatică, Bucureşti

212

Fereastra True

Fereastra False

Figura 7.Panoul diagramă. 5.Bibliografie [1]Marius Muntenu,Bogdan Logofătu-“Instrumentaţie virtuală-Labview” Ed.Credis 2003 [2]Marius Muntenu,Bogdan Logofătu “Aplicaţii la instrumentaţie virtuală-Labview”.Ed.Credis 2003 [3]Tom Savu -Internet “Clubul Utilizatorilor Labview” – http://www.labsmn.pub.ro/clublv.htm [4]Help: soft Labview [5]T.Savu,G.Savu “Informatică-Tehnologii asistate de calculator”-manual cl.X-a, Ed.All Bucureşti 2000