Sunteți pe pagina 1din 12

“Introducere in Informatica” 2013 – facultatea de Energetica UPB

Laborator 3

≈LabVIEW≈
Bucla Formula Node

Capitol 1.Utilizarea buclei “Formula Node”


Formula Node (Nodul Formula) in LabVIEW este un nod bazat pe introducere
unei sintagme text, utilizata in realizarea unor operatii matematice complicate
utilizand structura unei sintaxe C++. Este utilizata mai ales pentru ecuatii care
contin multe variabile de intrare, lucru ce le face complicate pentru calculul
analitic.

Aditional, in afara expresiilor bazate pe sintagme text, interiorul buclei ”Formula


Node” pot aparea, dupa complexitatea programului bucle while, bulce for si bulce
for, asemanatoare ca in limbajul de programare C.

Bucla poate utiliza o serie de functii inglobate, cum ar fi: abs – modulul,
sin/cos/tan/cot – functii trigonometrice, pow – ridicare la putere, sqrt – radicat, etc,
fiind o diferenta clara intre aceste functii si cele din Mathematics.

Ca si in cazul unui program de calcul (vezi MATLAB) aceasta bulca “Formula


Node” asteapta una sau mai multe intrati si una sau mai multe iesiri, care pot avea
proprietati diferite (numerice, intregi, Boolean, string, etc.). Iesirea trebuie corelata
de intrare in interiorul buclei.

Fig1.1. Bucla “Formula Node”


Intrarea si iesirea intr-o si dintr-o bulca de tip formula se pot aplica la stanga sau la
dreapta, fara a respecta vreo regula, ele putand a fi diferentiate datorita grosimii
liniei cu care sunt afisate (fig. 1.1)

2
Bucla Formula Node

a) b)
Fig1.2. a) Variabila de intrare; b) Variabila de iesire
Se poate observa diferenta intre cele 2 date: intrarea este afisata cu o linie subtire,
iar iesirea cu o linie ingrosata (in acest caz se lucreaza cu variabile numerice).
Pentru a introduce o viariabila de intrare/iesire, se apasa click dreapta perimetrul
buclei (in locul inde se doreste a se introduce variabila) si se selecteaza: Add input
(pentru intrare), respective Add output (pentru iesire).

Variabilele se denumesc, iar in interiorul buclei se scrie functia de legatura intre


ele.
1.1. Teorema lui Pitagora
Sa se genereze in LabVIEW teorema lui Pitagora (“intr-un triunghi dreptunghic,
suma patratelor catetelor este egata cu patratul ipotenuzei”), dupa urmatoarea
relatie: , unde a si b sunt considerate intrari, iar c este considerata
iesire.

In interiorul buclei, se scrie forma ecuatiei: √ , urmata de “;”. Pentru


introducerea termenilor ridicati la putere se poate proceda in 2 moduri:

 a2 se poate scrie a*a


 se poate utiliza functia presetata pow(x,y), care efectueaza operatiunea xy –
aceasta varianta se foloseste pentru exponenti mai mari de 2!

Interiorul buclei va contine sintagma:

c=sqrt(pow(a,2)+(b,2));
3
Bucla Formula Node

iar Diagrama in totalitate va fi aranjata ca in figura 1.3:

Fig1.3. Nodul de Formula pentru teorema lui Pitagora


O B S E R V A T I E : Cateta – a si Cateta – b sunt de tipul “Control”, iar
Ipotenuza – c este de tipul ”Indicator”.
Exercitiu: In mod analog, scrieti teorema lui Pitagora generalizata (teorema
cosinusilor), avand urmatoarea forma: ( )

O B S E R V A T I E : LabVIEW foloseste masura unghiurilor in radiani. Pentru


conversia in grade, se utilizeaza functia: Convert Unit. (Click
Dreapta/Mathematics/Numeric/Conversion/Convert Unit): .

Aceasta intial este inactive, dar se initializeaza dand Click Dreapta pe fugura, apoi
se selecteaza Build Unit String, aparand caseta din figura 1.4:

4
Bucla Formula Node

Fig1.4. Caseta Build Unit String


Se va selecta din fereastra Units subfereastra angle, dupa care se va selecta
optiunea degree (deg). In mod analog se introduce o a doua casuta de conversie,
care se va initializa cu radian(rad), legaturile facandu-se ca in figura 1.5:

Fig1.5. Conversia radian-grade pentru un unghi introdus ca si Control

5
Bucla Formula Node

1.2. Crearea graficelor


Sa se introduca graficele functiilor trigonometrice sin(x), cos(x), tan(x), ctg(x).
Pentru realizarea acestui lucru, se poate utiliza o bucla for, care va contine in
interiorul sau o bucla “Formula Node”.

Pentru introducerea celor 2 bucle: Function/Programming/Structures/Loops/For


(Formula Node).

Ca si intrare se va introduce o singura variabila (x), iar ca iesire se vor introduce 4


grafice: sin, cos, tan, ctan.

Fig1.6. Diagrama pentru crearea celor 4 grafice


Exercitiu: Intr-o bucla while, utilizand bucla Formula Node, calculati urmatorul
sistem:

( )
{
( )

utilizand if.

6
Bucla Formula Node

1.3. Utilizarea terminalului “Prompt User for Input” – crearea unui input propriu
Se deschide un nou VI (dupa ce primele au fost salvate in folderol dvs. personal
aflat de Desktop). Se apasa comanda Ctrl+T (pentru a afisa cele 2 ferestre aliniate
si dimensionate identic).

Pentru introducerea si editarea unui text in Front Panel se apasa dublu click in
zona unde se doreste a fi introdus textul, se scrie, apoi din bara superioara acesta se
poate edita (font, culoare, marime, etc). Sa se realizeze in Front Panel un text care
sa contina numele. grupa, si data, apoi editandu-se caracteristicile sale, urmarind
figura de mai jos:

Fig1.7. Introducerea si editarea textului in Front Panel


Se va introduce in Bloc Diagram terminalul Prompt User for Input
(Function/Programming/Dialog&User Interface/Prompt User for Input). In mod
7
Bucla Formula Node

automat, dupa introducere va aparea fereasta “Configure Prompt User for Input”,
iar in caz contrar se va active manual, apasand dublu click pe terminalul introdus.

Fig1.8. Terminalul Prompt User for Input


In cadrul acestui capitul se doreste realizarea unui VI care sa genereze, in functie
de o valoare introdusa a temperaturii (ΔT), calculul fluxului termic in 2 cazuri:
cunoscandu-se coeficientul de conductie si cunoscandu-se coeficientul de
convectie (λ,α).
Dupa introducerea terminalului va aparea in mod automat fereastra “Configure
Prompt User for Input”, unde se vor introduce:

 In caseta “Message to Display”: textul dorit (pentru acest exemplu se va


introduce textul: Selectati modalitatea de calcul a fluxului termic”
 In caseta “Inputs” se vor introduce 2 valori (Conductie si Convectie), pentru
fiecare selectadu-se ca si data de input “Checkbox”.
 In caseta “Window Title” se va redenumi terminalul: “Calcul flux termic”
Pentru realizarea celor 2 cazuri, se apeleaza la o bucla “Case Structure”:
Function/Programming/Structures/Case Structure, la care se va lega una din cele 2
inputuri create anterior in “Configure Prompt User for Input”, ca in figura 1.9

Fig1.9. Bucla Case Structure si legatura cu Prompt User for Input

8
Bucla Formula Node

Pentru realizarea calculelor, in interiorul buclei Case Structure se va introduce o


bulca Formula Node, la care se vor lega alte 2 terminale Prompt User for Input, la
care:
 primul terminal
 va afisa mesajul: “Temperatura este:”
 va avea ca variabila de input “dT”
 tipul variabilei de input va fi “Number”
 al doilea terminal
 va afisa mesajul: “Conductivitatea termica este:”
 va avea ca variabila de input “k”
 tipul variabilei de input va fi “Number”

Aceste 2 terminale vor deservi ca intrare in bucla de formula (dT si k), iar in
interior se va scrie formula fluxului termic: Q=k*dT, unde Q va fi iesirea din bucla
de formula, ca in figura:

Fig1.10. VI pentru calculul primei faze (Conductia)


Pentru afisarea unui text (care sa contina rezultatul), se vor utiliza: terminalul
Display Message to User si un convertor numar – text.
Display Message to User: Functions/Programming/Dialog&User Interface/Display
/Display Message to User

9
Bucla Formula Node

Number to Decimals: Functions/Programming/StringNumber Conversion /Number


to Decimal String.

Pentru a se realiza si afisarea unui text, care sa fie compus cu valoarea afisata se
recomanda utilizarea unui terminal Concatenated String, la case se va adauga in
plus, pe langa iesirea din Number to Decimals, un text (ca si o constanta de tip
string sau ca si un control de tip string) – Programming/String/Concatenate String.

Exercitiu: realizati si partea de Flase in bucla, utilizand acelasi rationament, de


aceasta data fiind vorba despre calculul CONVECTIV.

Capitol 2.Utilizarea graficelor X-Y

Se salveaza VI anterior si se deschide unul nou, introducand iniatial in Front Panel


un cand text care sa contina numele, prenumele, grupa. data si un indicator de tip
Graph XY (Controls/Graph Indicators/XY Graph).

Fig2.1. Graficul XY in Bloc Diagram

Acest terminal, dupa cum se observa asteapta o intrare pe X si o intrare pe Y,


intrari ce trebuiesc sa fie de tip vector (array) – multime de elemente, in caz
contrat graficul afisand un punct de coordonate (x,y).

In acest capitol se urmareste sa se afiseze intr-un grafic distributia presiunii intr-un


recipient, fara a tine cont de dimensiuni, si considerand ca variatia este una liniara:
p=p0 + ρ∙g∙h [Pa].

Pentru acest lucru avem nevoie de un vector de tip constanta, care se va introduce
in Bloc Diagram, in felul urmator: Functions/Programming/Arrays/Array Constant.
Se observa ca acesta este inactiv, dar isi schimba starea introducand o constanta
numerica. Acest vector se va mari si se vor introduce in el 11 valori, cu pas de 1,
plecand de la 0, ca in figura 2.2:

10
Bucla Formula Node

Fig2.2. Vectorul cu valori constant

Se va introduce o bucla Formula Node, care va avea 4 intrari:


 o intrare de tip vector: h
 3 intrari de tip constanta (ro, g, p0).

Fig2.3. Cele 4 intrari in Formula Node

In interiorul Nodului Formula, Acest vector trebuie indexat, pentru ca iesirea sa fie
tot de tip vector, iar sitaxa de indexare si calculare al presiunii in functie de
adancime este urmatoarea:

11
Bucla Formula Node

Fig2.4. Indexarea vectoriala si calculul presiunii in funcite de adancime

Iesirea din bcula (p) va fi legata la axa X din grafic, iar vectorul cu elemente
constante va fi legat la axa Y.

Fig2.5. Realizarea legaturilor cu graficul X-Y

12

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