HYRJE NË SOFTVERËT INXHINIERIK fileDr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW...
Transcript of HYRJE NË SOFTVERËT INXHINIERIK fileDr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW...
UNIVERSITETI I PRISHTINËS “HASAN PRISHTINA”
FAKULTETI I INXHINIERISË MEKANIKE
PROGRAMI MEKATRONIKË
Dr. sc. ILIR DOÇI, prof.asoc.
USHTRIME NGA LËNDA
HYRJE NË SOFTVERËT INXHINIERIK
(Dispensë)
PRISHTINË
2015
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
2
1. HYRJE NË SOFTVERIN LABVIEW
Lab VIEW paraqet softverin e dizajnimit të sistemeve dhe zhvillimin me anë të
programimit vizuel të krijuar nga kompania amerikane National Instruments (NI). LabVIEW
paraqet shkurtesën për Laboratory Virtual Instrument Engineering Workbench – Laboratori dhe
tavolina e punës i inxhinierisë së instrumenteve industriale. Gjuha programuese grafike që përkrah
ky softver quhet “G”. Së pari u krijuar në vitin 1986 nga kompania Apple Macintosh e pastaj u ble
dhe u avancua nga kompania National Instruments.
LabVIEW është softveri që përdoret për:
- Marrje dhe përpunim të dhënave,
- Kontrollin e instrumenteve,
- Automatizimi industrial,
- Programimi vizuel me gjuhë programuese grafike dhe tekstuale,
- Sisteme të matjes dhe kontrollit,
- Krijim të aplikacioneve të kontrollit dhe industriale,
- Trajnim dhe aftësim për programim dhe për studentë.
Programet dhe nënrutinat e LabVIEW quhen Virtual Instruments (VI).
Punon në platforma të ndryshme operative: Microsoft Window, UNIX, LINUX, dhe
MacOS X. Versioni i fundit i këtij softveri është LabVIEW 2014. Softveri ofron edhe opcionet e
programimit grafik dhe teksutal për analiza numerike. Gjuha programuese tekstuale quhet
MathScript dhe përdor .n file skript sintaksën që mund të ketë kompatibilitet edhe me programin
MATLAB.
Softveri LabVIEW 2013 është pjesë përbërëse e ushtrimeve të kësaj lënde, me qëllim të
mësimit të lidhjes në mes të programimit, softverit të menaxhimit të organizimit të pajisjeve
mekatronike dhe kontrollit të instrumenteve.
Gjuha programuese që pëdoret në LabVIEW e quajtur G është gjuhë programuese e tipit
DataFlow. Ekzekutimi i programit varet nga struktura e bllok diagrameve grafike (Fig.1.4) që
paraqesin kodin burimor në LabVIEW. Në këto blloqe programuesi lidh funksione apo nyje të
ndryshme me drejtëza. Këto drejtëza promovojnë variablat dhe çdo nyje mund të ekzekutojë në
momentin kur të gjitha të dhënat hyrëse janë të gatshme. Pasi që mund të kemi shumë nyje
përnjëherë, gjuha G është e aftë të bëjë ekzekutim paralel – të shumfishtë në bazë të përparësisë së
secilit operacion të definuar në sintaksën e gjuhës.
Programimi grafik përkrah krijimin e interfejsit të përdoruesit (të quajtur Front Panel) në
ciklin e zhvillimit dhe të punës. Programet dhe nënrutinat e LabVIEW quhen Virtual Instruments
(VI). Secila Vi ka katër komponente të rëndësishme: Bllock diagram, Front panel, Connector
panel (Paneli i lidhjeve) dhe Paletat – Tools, Controls, Functions. (Fig.1.1.a).
- Front Panel – paraqet pjesën e programit dhe interfejs ku krijohen kontrollat, indikatorët,
grafikët, vektorët, matricat dhe objektet tjera të programit vi. Paraqet interfejsin e përdoruesit.
Kontrollat janë madhësi hyrëse - i mundësojnë përdoruesit të japin informatat për Vi. Indikatorët
janë daljet – këto japin indikacion, ose paraqesin në formë të display apo grafike rezultatet në bazë
të hyrje që janë dhënë në Vi. Kontrollat dhe indikatorët janë të formave të ndryshme.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
3
- Block diagram – Është paneli i programit që paraqet bllok diagramet dhe kodin burimor
grafik (Fig.1.1.b). Përdoret për të paraqitur programin e Vi-së në formë të bllok diagrameve. Të
gjitha objektet të vendosura në Front panel do të paraqiten në panelin e block diagram në formë të
simboleve të terminaleve. Paneli i bllok diagrameve që quhet edhe Back Panel përmban edhe
strukturat dhe funksionet që realizojnë operacionet në kontrolla dhe ofrojnë të dhëna për
indikatorët. Strukturat dhe funksionet gjenden në paletat e funksioneve dhe mund të vendosen në
Back Panel. Së bashku kontrollat, indikatorët, strukturat dhe funksionet referohen si nyje (Nodes).
Nyjet janë të lidhura me njëra tjetrën duke përdorur vijat apo kabllot (wires) – p.sh. dy kontrolla
dhe një indikator mund të lidhen me vija me një funksion shtesë ashtu që indikatori paraqet
shumën e dy kontrollave. Kështu që një instrument virtual mund të ekzekutohet si program me
Front Panel që përdoret si User Interface, ose të jetë nyje në bllok diagram me ç’rast Front Panel
definon hyrjet dhe daljet për nyjen e dhënë nëpër Panelin e lidhjeve.
a. Front Panel b. Block Diagram paneli
Fig.1.1.
Me anë softverit LabVIEW gjithashtu mund të bëhen edhe lidhja e pajisjeve hardverit dhe
instrumenteve me lidhje-porte paralele, porte serike, USB porte ose porte të rrjetit me qëllim të
matjes së parametrave të tyre, konfigurimit, dirigjimit dhe analizës (Fig.1.2)
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
4
Fig.1.2. Pajisjet hardverike- kontrollerët dhe portet e lidhjes me PC kompjuter dhe LabVIEW
2. PËRDORIMI I PROGRAMIT LABVIEW
Për të punuar në softverin LabVIEW, ai duhet paraprakisht të instalohet në kompjuter. Pas
instalimit, pamja e tij është si në Fig.1.3.
Fig.1.3. Pamja fillestare pas hapjes së LabVIEW
Pas hapjes së LabVIEW, nga Fig.1.3 mund të vërejmë menynë fillestare. Në anën e majtë
është butoni Create Project që ofron mundësinë e krijimit të një projekti. Në anën e djathtë është
butoni Open Existing që mundëson hapjen e një VI ekzistuese. Ndërsa, nëse dëshirojmë të hapim
një Fajll-VI të ri dhe të zbrazët, shkojmë në menynë File -> NewVI. Na paraqitet pamja si në
Fig.1.4. Në këtë figurë kemi të paraqitet dy komponentet kryesore të LabVIEW – Front Panel me
rrjetë të hirtë, dhe mbrapa tij Block Diagram me hapësirë të bardhë. Gjithashtu në anën e djathtë
poshtë vërehet edhe paleta e kontrollave për Front Panel.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
5
Fig.1.4. Pamja e një VI të zbrazët të hapur
Secili Vi ka katër komponente të rëndësishme: Front panel, Block Diagram, Connector
panel (paneli i lidhjeve) dhe Paletat – Tools, Controls, Functions. (Fig.1.4, 1.5).
2.1. FRONT PANEL
Është pjesa kryesore ku fillon të paraqitet dizajni i programit. Programi në Front Panel
krijohet duke përdorur kontrollat dhe indikatorët e ndryshëm. Paraqet interfejsin e përdoruesit për
Vi. Elementët përbërës të programit krijohen me kontrolla dhe indikatorë që paraqesin terminalet e
hyrjes dhe daljes të një VI.
Fig.1.5. Paleta e kontrollit në Front Panel
- Kontrollat janë madhësi hyrëse- i mundësojnë përdoruesit të japin informatat për Vi. Ato
mund të jenë: kontrolla numerike (Numeric Control), hapësirë e tekstit (String), ndërprerës
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
6
(Boolean), butone të shtypjes (push buttons), thirrje (dials), vektorë (Array) dhe Matrica (Matrix),
dhe pajisje tjera hyrëse. Indikatorët mund të jenë edhe grafe (Graphs), LED, dhe display tjetër.
Kontrollat i simulojnë pajisjet hyrëse dhe furnizojnë me të dhëna bllok diagramin e një VI.
- Indikatorët janë madhësitë dalëse – këto japin indikacion, ose paraqesin në formë të
display apo grafike rezultatet në bazë të hyrje që janë dhënë në Vi. Indikatorët simulojnë pajisjet e
instrumenteve dalëse dhe paraqesin të dhënat që bllok diagram i krijon.
Krijimi i kontrollave dhe indikatorëve në Front Panel bëhet nga menyja Control, e cila i
përmban të gjitha kontrolla dhe indikatorë të nevojshëm, dhe nga e cila me metodën Drag and
drop mund të vendosen në Front Panel. (Fig.1.5). Pas krijimit të detyrës me anë të kontrollave dhe
indikatorëve, detyra nuk ka përfunduar, por ato duhet të funksionalizohen duke krijuar kodin me
përdorimim e paraqitjes grafike të funksioneve që lidhen me kontrollin e objekteve në Bllok
diagrame.
2.2. BLOK DIAGRAMET
Block Diagram është paneli i programamit vizuel, dhe ofron mundësinë e krijimit të bllok
diagrameve që paraqesin kodin burimor grafik (Fig.1.6b). Përdoret për të paraqitur Vi-të në bllok
diagrame. Do ta paraqesim në anën e djathtë të ekranit. Të gjitha objektet të vendosura në Front
panel do të paraqiten edhe në panelin e Block Diagram. Objektet e krijuara në Front Panel, do të
paraqiten në Block Diagram në formë të simboleve të terminaleve, në anën e majtë të ekranit. Një
terminal i Block Diagram nuk mund të shlyhet nëse nuk shlyhet edhe nga Front Panel.
Objektet e Block Diagramit përfshijnë terminale, SubVI, funksione, konstanta, struktura
dhe vija lidhëse apo kabllo (wires).
a) b)
Fig.1.6. Paleta e funksioneve në Block Diagram (a) dhe dritarja e block diagrameve (b)
Të dhënat që përpunohen lëvizen me anë të vijave lidhëse që transferojnë të dhëna në mes
të objekteve të block diagramit.(fig.1.6.b.)
Së bashku kontrollat, indikatorët, strukturat dhe funksionet referohen si nyje (Nodes).
Nyjet janë të lidhura me njëra tjetrën duke përdorur vijat apo kabllot lidhëse (wires) – p.sh. dy
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
7
kontrolla dhe një indikator mund të lidhen me vija me një funksion shtesë ashtu që indikatori
paraqet shumën e dy kontrollave.
Krijimi i objekteve në Block Diagram bëhet nga menyja Functions (Fig.1.6.a), e cila i
përmban të gjitha ato terminale, funksione, konstante, struktura të nevojshme për krijimin e
programit funksional, dhe pastaj me anë të miut mund të realizohen lidhjet me tyre me anë të
vijave (wires). Përmbanë të gjitha elementet e nevojshme për të realizuar elementet e programimit
në LabVIEW (Fig.1.6)
- Paneli i lidhjeve – Connection Pane përdoret në subVi për të pasuar parametrat nga dhe deri te
subVi-të (Fig.1.6.c). Sub Vi janë VI që janë nënprograme të një program tjetër apo të një VI.
Fig. 1.6.c. Paneli i lidhjeve – Connection Pane në LabVIEW dhe menyja e veglave
- Paleta Tools - është pjesë të rëndësishme të programit dhe ndihmesë në realizimin e formatit,
madhësia e shkronjave, pozicionim të objekteve, ngjyra, testim të programit, etj. Hapet nga menyja
VIEW->Tools Palette.
- Function Palete janë grupe të funksioneve që përdoren për ndërtimin e Blok diagrameve, dhe
përmbajnë të gjitha elementet e nevojshme për të realizuar elementet e programimit në LabVIEW
(Fig.1.6.b).
Detyrë 1. Të realizohet detyra-programi në Lab VIEW për mbledhjen e dy numrave të plotë dhe të
paraqitet rezultati i tyre.
Zgjidhje: Për realizimin e detyrës hapim një Vi të re në File->New Vi dhe fillojmë me krijimin e
detyrës. Paraprakisht me shkurtesën Ctrl+T ndajmë Front Panel dhe Block Diagram në dy gjysma
që lehtëson krijimin e modelit të detyrës (Fig.1.7). Fillojmë në Front Panel.
Fig.1.7. Hapja e një Vi të re
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
8
Fig.1.8. Paleta Controls në Front Panel dhe nënpaleta Numeric
Klikojmë me miun e djathtë dhe hapet Paleta e kontrollit -Controls. Nga paleta zgjedhim
modulin Numeric, dhe pastaj zgjedhim ikonën për krijimin e kontrollës për numrin e parë që do
mblidhet (Fig.1.8). Zgjedhim modulin Numeric Control me anë të miut. Pastaj shkojmë me miun
kudo diku në Front Panel dhe klikojmë duke e vendosur në atë pozicion. (Fig.1.9a). Fitojmë
kontrllën e parë që ka pamjen si në Fig.1.9, që paraqet një kontrollë me të dhënë numerik, ku e
dhëna fillestare është 0. Emri i kësaj kontrolle është Numeric. Nëse dojmë të ndërrojmë emërtimin,
apo ndonjë parametër tjetër të kësaj kontrolle, mbi të klikojmë me miun e djathtë, dhe në mënynë e
hapur zgjedhim Properties (Fig.1.b). Fitojmë dritaren e vetive të kontrollës, si në Fig.1.9.c
a) b) c)
Fig.1.9. Krijimi i kontrollës numerike dhe ndryshimi i vetive të kontrollës
Në dritaren nga Fig.1.9c, ndryshojmë në fushën nën Label ku shkruan Numeric, e shlyejmë
dhe e shkruajmë Numri i parë. Pas këtij ndryshimi fitojmë pamjen e detyrës si në Fig.1.10.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
9
Ndryshimi i emërtimit mund të bëhet edhe direkt mbi kontrollën në Front Panel me klikim me anë
të miut.
Fig.1.10. Ndryshimi i emërtimit të kontrollës
Kontrollat apo elementët tjerë në Front Panel apo Bllock Diagram mund të lëvizen kudo në
hapësirën e punës së tyre duke i kapur me anë të miut dhe zhvendosen në pozitën tjetër të
dëshiruar. Kjo bëhet zakonisht për të krijuasr distancë të qartë në mes të elementeve dhe moduleve
të detyrës. Këto elemente mund edhe të zgjerohen, si dhe shkronjave të emërtimit mund të
ndërrohet madhësia në menynë e simboleve, në 13pt Application Font.
Fig.1.11. Pamja e detyrës pas krijimit të kontrollës së numrit të parë që do të mblidhet.
Nga Fig.1.11, vërehet se pas krijimit të kontrollës numerike Numri i parë, në anën e
djathtë, në Block Diagram në të njejtën kohë është krijuar moduli programatik apo terminali i
kontrollit me të njejtin emër Numri i parë.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
10
Pas krijimit të kontrollës së numrit të parë, vazhdohet me krijimin e elementëve tjerë të
detyrës. Krijohet numri i dytë mbledhës, duke zgjedhur llojin e njejtë të kontrollit, dhe e shënojmë
me Numri i dytë.
Fig.1.12. Pamja e krijimit të elementëve kryesor të detyrës
Pas krijimit të kontrollës së dytë, krijohet elementi i paraqitjes së rezultatit të shumës së dy
numrave, që e quajmë Indicator. Nga Paleta Controls në Front Panel dhe nënpaleta Numeric
zgjedhim Numeric Indicator dhe e vendosim në Front Panel. E emërojmë me emrin Rezultati.
(Fig.1.12)
Fig.1.13. Paleta Functions dhe nënmenyja Numeric
Deri në këtë fazë, detyra ka vetëm elementët përbërës, por nuk ka funksionalitet dhe nuk
do të japë rezultat. Nëse dëshiroj të ekzekutojmë detyrën, p.sh. shkruajmë në Numri i parë një
numër të çfarëdoshëm – 6 ndërsa në Numri i dytë – 8, dhe pastaj ekzekutojmë me ikonën më lartë
në menynë e ikonave që paraqet komandën ekzekutive Run, atëherë nuk do të kemi kurrfarë
Objektet në Front Panel Terminalet në Block Diagram
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
11
rezultati në Indikatorin Rezultati. Kjo ndodh për arsye se programi dhe detyra – Vi nuk dijnë se
çfarë të bëjnë- se numrat duhet mbledhur. Kjo procedurë duhet bërë në Block Diagram ku do të
realizohet procedura e lidhjes së moduleve për paraqitjen e rezultatit të mbledhjes së numrave.
Në Block Diagram (në të djathtë), krijojmë distancë modulet ekzistuese prej njëri tjetrit dhe
vendosim në mes tyre një element të ri – operatorin e mbledhjes. Ky operator zgjidhet nga Paleta
Functions, dhe në të zgjedhim Numeric, që hap nënpaletën Numeric, ku paraqiten një numër i
madh i moduleve me operatorë matematikor (Fig.1.13). Zgjedhim operatorin trekëndësh Add ose +
që paraqet operatorin e mbledhjes, dhe këtë e vendosim në mes të simboleve në Block Diagram
(Fig.1.14a).
a) b) c)
Fig.1.14. Veprimet e lidhjes së moduleve me operatorin e mbledhjes – Add
Nëse shiqojmë me vëmendje, nëse kalojmë me anë të miut mbi operatorin Add ose + do të
vërehet se në anën e majtë ka dy pika, që paraqesin portet hyrëse të të dhënave apo informatave,
ndërsa në anën e djathtë kemi një pikë, që paraqet portin dalës të informatës (Fig.1.14.b). Modulet
e kontrollave numri i parë dhe numri i dytë kanë vetëm nga një port dalës, ndërsa moduli indikator
Rezultati ka vetëm një port hyrës.
Me qëllim të realizimit të procesit të mbledhjes, bëhet lidhja me anë të vijave të këtyre
porteve. Me anë të miut, nga porti dalës i numri i parë vazhdojmë deri te njëri port hyrës i
operatorit +. Në këtë rast shigjeta e miut do të merr formën e kalemit të telit, dhe do të krijojë vijën
apo telin (wire) e lidhjes në mes të dy porteve (Fig.1.14.c). Të njejtin veprim e bëjmë edhe nga
kontrolla Numri i dytë. (Fig.1.15)
Më tutje, portin dalës të operatorit +, në të djathtë e lidhim me portin hyrës të indikatorit
Rezultati dhe fitojmë modelin si në Fig.1.15.
Fig. 1.15. Lidhja e elementëve me operatorin + me anë të vijave lidhëse
Pas kryerjes së këtyre veprimeve kemi realizuar detyrën programatike, dmth kemi krijuar
blok diagramin, dhe do të fitojmë rezultatin e dëshiruar. Për të vërtetuar se detyrën e kemi në
rregull, kthehemi në Front Panel, dhe shkruajmë në kontrolla dy numrat që do mbledhim – në
njërin 6 dhe në tjetrin 8 (Fig.1.16) dhe do të fitojmë rezultatin 14 në indikatorin Rezultati.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
12
Fig.1.16.Verifikimi i detyrës në Front Panel
Programi LabVIEW ofron edhe shiqimin e rrjedhjes së detyrës dhe verifikim të rezultatit
në Block Diagram duke zgjedhur ikonën që do tregojë rrjedhën e informatave ose ekzekutimi
i detyrës në diagram, dhe pastaj klikojmë ikonën Run.
Pas realizimit të detyrës, ruajmë fajllin në File->Save dhe e shenojmë mbledhja e
numrave.vi. Nëse dojmë të hapim fajllin e krijuar, në LabVIEW zgjedhim File->Open dhe
zgjedhim fajllin që dojmë të hapim.
Nëse të njejtën vi dëshirojmë ta ruajmë në emër tjetër, p.sh. për të plotësuar apo ndryshuar
detyrën ekzistuese, atëherë atë e bëjmë në File->Save As dhe paraqitet dritarja si në vijim
(Fig.1.16a). Zgjedhim opcionin Substitute Copy for Original, që krijon kopje të re, ndërsa e mbyll
fajllin original. Pastaj bëjmë emërimin e fajllit të ri.
Fig.1.16.a. Krijimi i kopjes sw fajllit origjinal
1.3. SHIRITI I VEGLAVE (TOOLBAR)
Shiriti i veglave paraqet shiritin e ekzekutimit dhe monitorimit të detyrës (Fig.1.17 dhe Fig.1.18)).
Shiriti i veglave ekziston edhe në Hapësirën Front Panel dhe në Block Diagram.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
13
Fig.1.17. Shiriti i veglave në Front Panel
Kuptimi i ikonave në shiritin e veglave të Front Panel është:
- Run – Ekzekutimi i detyrës. Realizohet edhe me Operate->Run, ose Ctrl+R
- Run – Pamja e ikonës Run është e ndërprerë. Kjo tregon se detyra ka gabim dhe nuk mund të
ekzekutohet.
- Run Continuously – Ekzekutimi i pandërprerë i detyrës,
- Abort Execution – Ndalimi i ekzekutimit ose Ctrl+.
- Pause – Pauzimi i ekzekutimit të detyrës
- Aplikimi i madhësisë, stilit, ngjyrës dhe llojit të shkronjave në objektet e
Front Panel
- Align Objects – Renditja e objekteve, elementeve apo moduleve në Front Panel
- Distribute Objects – Distribuimi i objekteve, elementeve apo moduleve në hapësirën e punës në
Fron Panel
- Resize Objects – Ndryshimi i madhësisë së objekteve dhe elementeve në Front Panel
- Reorder – Rirenditja e madhësisë së objekteve dhe elementeve në Front panel
Kuptimi i ikonave në shiritin e veglave në Block Diagram është:
Fig.1.18. Shiriti i veglave në Front Panel
- Higlight Execution – Paraqitja e rrjedhës së ekzekutimit të detyrës
- Retain wire values – Identifikimi i vlerave në vijave lidhëse
- Start Single Stepping – Në rast të detyrave me unaza, apo me përsëritje interaktive,
mundësojnë realizimi e detyrës në hapa një nga një.
Detyrë për ushtrime 2. Të krijohen detyra veqmas për realizimin e zbritjes, shumëzimit, pjestimit
të 2 numrave në LabVIEW.
Detyrë për ushtrime 3. Të krijohet detyra-programi për realizimin e mbledhjes së 3 numrave në
LabVIEW – c = a+b+c. Të krijohen detyra për llogaritjen c = a+b-c .
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
14
Detyrë 4. Është dhënë vlera numerike x. Të llogaritet vlera 3·x+4 në LabVIEW.
Hapim një fajll VI të ri. Në Front Panel krijojmë një kontrollë dhe e emërojmë me Vlera x.
Pastaj krijojmë një element indikator dhe e emërojmë me Rezultati. Për të titulluar detyrën, mbi dy
elementet e krijuara klikojmë dy herë me anë të miut dhe shkruajmë titullin e dëshiruara, pastaj
rrisim shkronjat dhe aplikojmë stilin e tekstit si në Fig.1.19. Në Block Diagram duhet të krijojmë
diagramin që llogarit shprehjen 3·x+4.
Së pari krijojmë operatorin e shumëzimit për të kalkuluar 3·x. Zgjedhim nga menynë
operatorin e shumëzimit Function->Numeric->Multiply që paraqitet me simbolin x, dhe e
vendosim në Block Diagram në mes të dy terminaleve Vlera x dhe Rezultati (Fig.1.20). E lidhim
portin dalës të Vlera x me njërin port hyrës të operatorit x.
Fig.1.19. Krijimi në Front Panel i detyrës Fig.1.20. Krijimi fillestar i Block Diagramit
Më tutje duhet të krijojmë shumëzimin e vlerës x me numrin 3, që është konstantë.
Krijojmë vlerën konstantë duke u afruar në portin e dytë hyrës të operatorit x (Fig.1.21).
Fig.1.21. Krijimi i konstantës 3 në portin e dytë të operatorit për shumëzim
Krijojmë operatorin e mbledhjes + për të mbledhur rezultatin e 3·x me 4. E vendosim pas
operatorit x dhe para indikatorit Rezultati. Pastaj e lidhim portin dalës të operatorit x me njërin
port hyrës të operatorit +. Në portin tjetër hyrës të operatorit + krijojmë vlerën konstante 4, sikurse
u krijua vlera konstante 3 më lartë. Në fund, portin dalës të operatorit + e lidhim me portin hyrës të
indikatorit Rezultati. (Fig.1.22).
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
15
Fig.1.22. Realizimi i Block Diagramit të detyrës së dhënë për llogaritjen e shprehjes 3·x+4
Kthehemi në të majtë në Front Panel për të testuar detyrën – Fig.1.23, duke dhënë vlerat
për x dhe për të shiquar rezultatin. Në këtë rast për vlerën x = 4, rezultati është 16.
Fig.1.23. Testimi i detyrës në Front Panel
Detyra për ushtrime 5. Të krijohet detyra-programi në Lab VIEW për llogaritjen e shprehjes e =
(a+b)-c·d ; Të krijohet detyra për llogaritjen e shprehjes (x+1)/3-7, ku vlera e x është e dhënë në
detyrë.
Detyra 6. Të krijohet detyra-programi në Lab VIEW për llogaritjen e shprehjes x2-10·x+2, ku vlera
e x është e dhënë në detyrë
Në këtë detyrë do të krijohet në Block Diagram elementi nyje, dhe operatori x2 për të
llogaritur shprehjen e dhënë x2-10·x+2. (Fig.1.24). Operatori x
2 merret nga nënmenyja Function-
>Numeric->Square. Pas kontrollës Vlera x, është krijuar ndarja në dy degëzime me një nyje, pasi
x paraqitet në dy pjesë të ekuacionit: x2 dhe 10·x.
Fig.1.24. Front Panel dhe Bllok Diagrami për llogaritjen e shprehjes x2-10·x+2
Detyrë për ushtrime 7. Të krijohet detyra-programi në Lab VIEW për llogaritjen e shprehjes 2·x3-
10, ku vlera e x është e dhënë në detyrë
Detyrë për ushtrime 8. Të krijohet detyra-programi për realizimin e njëkohshëm të mbledhjes,
shumëzimit dhe pjestimit të 2 numrave në të njejtin vi në LabVIEW.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
16
Detyrë për ushtrime 9. Të krijohet detyra-programi në Lab VIEW për llogaritjen e shprehjes
, ku vlera e x është e dhënë në detyrë.
Detyrë për ushtrime 10. Të krijohet detyra-programi në Lab VIEW për llogaritjen e shprehjes 2·x2-
5·ln(x)+3·π, ku vlera e x është e dhënë në detyrë.
Detyrë për ushtrime 11. Të krijohet detyra-programi në Lab VIEW për konvertimin e njësisë së
temperaturës nga grade Fahrenheit ºF në gradë ºC. Formula e konvertimit është (°F - 32) x 5/9 =
°C
1.4. VEPRIMET E MODIFIKIMIT TË OBJEKTEVE DHE TERMINALEVE DHE
VERIFIKIMI
- Në LabView mund të bëhet edhe modifikimi i objekteve dhe terminaleve të detyrës me
qëllim të rregullimit, si: shlyerja, kopjimi, lëvizja, rritja, zvogëlimi, etj. Për shumicën e veprimeve,
LabView i ka veprimet e njejta si programet e tjera të Sistemit Operativ Windows.
- Selektimi i objekteve – Realizohet me anë të miut, duke klikuar objektin, apo duke zgjedhur
disa objekte përnjëherë. Selektimi i objekteve mund të bëhet një nga një duke klikuar miun +
tastier SHIFT.
Fig. 1.25. Selektimi i një objekti
Fig.1.26. Selektimi i disa objekteve njëkohësisht Fig.1.27. Vijë e lidhur dhe e palidhur
- Shlyerja e objekteve – Bëhet njejtë si në programet e Windows, duke selektuar objektin dhe
duke klikuar Delete. Gjithashtu mund të shlyhen edhe vijat e lidhura apo të palidhura
(Fig.1.27).
- Kopjimi i objekteve - Bëhet njejtë si në programet e Windows, duke selektuar objektin dhe duke
zgjedhur Copy (Ctrl+c), e pastaj Paste (Ctrl+V). Kjo mundëson duplikimin e objekteve në të
njejtin vi, por edhe në vi tjetër të hapur.
- Lëvizja e objekteve – Bëhet duke selektuar objektet dhe duke i çvendosur nëpër hapësirën e
punës. Kujdes! – Nuk bën të lëvizen objektet nga Front Panel në Block Diagram apo
anasjelltas.
- Rritja dhe zvogëlimi i objekteve – Realizohet duke klikuar në skaje të objektit dhe duke e
tërhequr me anë të miut. Rritja e objektit bëhet për arsye të ndryshme, por kryesisht për pamjen
e numrave të shkallëzimit.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
17
- Ngjyrosja e objekteve – Mund të ndërrohen ngjyrat e objekteve, por jo të gjithëve. Nuk mund të
ndryshohen ngjyrat e terminaleve në Block Diagram. Objektet që mund tu ndërrohen ngjyrat
janë zakonisht në Front Panel. Ngjyrat ndërrohen duke selektuar objektin dhe pastaj me miun e
djathtë zgjedhim Properties. Në dritaren që paraqitet, në Appearance, zgjedhim Fill dhe pastaj
caktojmë ngjyrën e dëshiruar në rreshtat e ngjyrave. Në Fig.1.28, është treguar ndryshimi i
ngjyrës së objektit Slider.
Fig.1.28. Ndryshimi i ngjyrës së objektit Slider
- Vijat e ndërprera – Paraqiten në rastin kur vijat nuk kanë fillim e kanë fund (Fig.1.27), apo
kanë lidhur dy objekte që nuk janë të të dhënave të njejta (P.sh. objekti Numeric me objekt
tekstual – String). Në këtë rast duhet përmirësuar lidhjen në mënyrë që vija e lidhjes të jetë e
plotë, pasi detyra nuk është në rregull, dhe program nuk e proceson.
Fig. 1.29. Lista e gabimeve – Error List
- Verifikimi i gabimeve në detyrë – Në rast se ikona Run paraqitet e ndërprerë , atëherë
kemi gabim, dhe ai gabim duhet verifikuar. Kjo arrihet duke klikuar në ikonën e ndëprerë, ku
pastaj paraqitet dritarja e përshkrimit të gabimit. Pas leximit të gabimit duhet të veprohet në
përmirësim të tij, pasi detyra nuk mund të vazhdohet dhe nuk do të ketë procesim të rezultateve
(Fig.1.29)
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
18
1.5. LLOJET E TË DHËNAVE NË LAB VIEW
Secili objekt apo modul në LabView është i ndonjë lloji të të dhënave të cilat përdoren për
tu përpunuar në një detyrë. Llojet kryesore të të dhënave me të cilat punohet në LabView janë:
- Të dhëna numerike
- Të dhëna logjike (Boolean)
- Të dhëna tekstuale (String)
- Të dhëna vector, matricë dhe Cluster
Fig.1.30. Detyra me llojet kryesore të të dhënave në LabView
Në fig.1.30, në një detyrë janë paraqitur të dhënat e ndryshme në një vi. Këto të dhëna kanë
edhe nëngrupet e tyre. Më të rëndësishmet janë të dhënat numerike. Në fajllin vi mëposhtë janë
krijuar dhe paraqitur llojet kryesore të të dhënave në LabView: Në detyrë janë krijuar të dhënat në formë të kontrollave dhe Indikatorëve që janë lidhur në anën e
djathtë në Block Diagram.
Fig.1.31. Caktimi i llojit të të dhënës numerike
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
19
- Lloji i parë i të dhënave me rend nga lartë është e dhëna e llojit Numeric, tipi i objektit
Control me emrin Konstantë-i plotë, që paraqet të dhënën numerike që është definuar me numër
konstant të plotë. Krijimi i kësaj të dhëne bëhet duke selektuar kontrollën Konstantë-i plotë dhe me
miun e djathtë zgjedhim Representation (Fig.1.31). Pastaj zgjedhet lloji i të dhënave nga grupi prej
15 të dhënave numerike. Zgjedhim I32 - Long signed integer. Në të gjitha llojet e programimit,
Integer do të thotë numër i plotë, pozitiv apo negative. Në anën e djathtë, në Block Diagram, lloji i
të dhënave Integer ka ngjyrë të kaltë, ndërsa nën të shkruan lloji I32. Në mënyrë të njejtë caktojmë
edhe rezultatin duke krijuar tipin Indicator me emrin Rezultati-i Plotë. Në Block Diagram lidhim
me vijën lidhëse kontrollën Konstantë – i plotë dhe indikatorin Rezultati-i plotë.
- Lloji i dytë i të dhënave me rend nga lartë është e dhëna e llojit Numeric, tipi i objektit
Control me emrin Konstantë-racional, që paraqet të dhënën numerike që është definuar me numër
racional. Krijimi i kësaj të dhëne bëhet duke selektuar kontrollën Konstantë-racional dhe me miun
e djathtë zgjedhim Representation (Fig.1.31). Pastaj zgjedhet lloji i të dhënave nga grupi prej 15 të
dhënave numerike. Zgjedhim DBL – Double Precision. Në anën e djathtë, lloji i të dhënave DBL
ka ngjyrë të verdhë, ndërsa nën të shkruan lloji DBL. Në mënyrë të njejtë caktojmë edhe rezultatin
duke krijuar tipin Indicator me emrin Rezultati-Racional. Në Block Diagram lidhim me vija
kontrollën Konstantë – i plotë dhe indikatorin Rezultati-i plotë.
Të dhënat Numerike kanë disa nëngrupe, të treguara në Tab.1:
Lloji i të dhënave
numerike
Hapësira në
disk në bit
Numri i përafërt
i shifrave
decimale
Rangu i përafërt
Single-precision, floating-
point
SGL
32 6
Numri minimal pozitiv: 1.40e–45
Numri maksimal pozitiv: 3.40e+38
Numri minimal negativ: –1.40e–45
Numri maksimal negativ: –3.40e+38
Double-precision, floating-
point
DBL
64 15
Numri minimal pozitiv: 4.94e–324
Numri maksimal pozitiv: 1.79e+308
Numri minimal negativ: –4.94e–324
Numri maksimal negativ: –1.79e+308
Extended-precision,
floating-point
EXT
128
Ndryshon nga 15
në 20 sipas
platformës
Numri minimal pozitiv: 6.48e–4966
Numri maksimal pozitiv: 1.19e+4932
Numri minimal negativ: –6.48e–4966
Numri maksimal negativ: –1.19e+4932
Complex single-precision,
floating-point
CSG
64 6 Njejtë si single-precision, floating-point për
secilën pjesë reale dhe imagjinare
Complex double-precision,
floating-point
CDB
128 15 Njejtë si double-precision, floating-point për
secilën pjesë reale dhe imagjinare
Complex extended-
precision, floating-point
CXT
256
Ndryshon nga 15
në 20 sipas
platformës
Njejtë si extended-precision, floating-point për
secilën pjesë reale dhe imagjinare
Fixed-point
FXP 64, ose 72
Ndryshon në
varësi nga
konfiguracioni i
userëve
Ndryshon në varësi nga konfiguracioni i userëve
Byte signed integer 8 2 –128 deri 127
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
20
I8
Word signed integer
I16 16 4 –32,768 deri 32,767
Long signed integer
I32 32 9 –2,147,483,648 deri 2,147,483,647
Quad signed integer I64 64 18 –1e19 deri 1e19
Byte unsigned integer U8 8 2 0 deri 255
Word unsigned integer U16 16 4 0 deri 65,535
Long unsigned integer U32 32 9 0 deri 4,294,967,295
Quad unsigned integer
U64 64 19 0 deri 2e19
128-bit time stamp 128 19
Koha minimale: 01/01/1600 00:00:00
UTC Koha maksimale: 01/01/3001 00:00:00 UTC
Grupi i të dhënave numerike - Numeric, në Paletën Controls të Front Panel ka 17 objekte
të llojeve të ndryshme: Numeric Control, Numeric Indicator, Time Stamp, Vertical Fill Slider,
Vertical Pointer, etj. Këto do të tregohen në detryat e ardhshme (Fig.1.32.a). Në Paletën Functions
të Block Diagram, ky grup i të dhënave e ka paletën si në Fig.1.32.b.
a) b)
Fig.1.32.Grupi Numeric në Front panel dhe në Block Diagram
- E dhëna e tretë me radhë nga Fig.1.30 është e dhëna logjike Boolean, që në kuptimin e
programimit ka kuptimin Po/Jo, Aktiv/joaktiv, saktë/pasaktë, (True/False, On/Off). E dhëna është
krijuar në formë të kontrollës dhe indikatorit. Për të krijuar kontrollën Boolean të formës së
ndërprerësit si në Fig.1.30, në Paletën e kontrollit zgjedhim Boolean-Vertical Toggle Sëitch ndërsa
për indikatorë zgjedhim Boolean->Round Led. Në Block Diagram bëjmë lidhjen e dy terminaleve
(Fig.1.33). Veprimi i kësaj të dhëne është që nëse ndryshojmë pozitën e ndërprerësit, në këtë rast
lart-poshtë, do të ndryshojë edhe ngjyra e Led llampës nga gjelbër mbyllur në gjelbër qelët.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
21
Fig.1.33. Krijimi dhe lidhja e të dhënës logjike Boolean
Nga Fig.1.33, të dhënat logjike në Paletën Controls->Boolean kanë 13 objekte të
ndryshme: Push Button, Rocker, Vert Rocker, Rouned LED, Horizontal Toggle, etj. . Të dhënat
logjike në Block Diagram kanë shumë operatorë, që janë paraqitur në Fig.1.34.
Fig.1.34. Grupi i Objekteve të të dhënave logjike të llojit Boolean
- E dhëna e katërt me radhë nga Fig.1.30 është e dhëna për krijim të madhësive tekstuale në
hyrje, dhe tregimi i rezulatit tekstual. Kjo e dhënë quhet String. Për të krijuar të dhëna tekstuale
hyrëse zgjedhim në Paletën e kontrollit String &Path -> String Control dhe krijojmë kontrollën që
e quajmë String2. Në të njejtën mënyrë e krijojmë edhe indikatorin e rezultatit tekstual String
&Path -> String Indicator. Në Block Diagram bëjmë lidhjen e dy terminaleve (Fig.1.35).
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
22
Fig.1.35. Krijimi i të dhënave tekstuale String
Nga Fig.1.35, të dhënat String në Paletën Controls->String&Path kanë 5 objekte të
ndryshme: String Control. String Indicator, Combo Box, etj. Grupi i të dhënave String, në Paletën
Functions të Block Diagram, e kanë nënpaletën si në Fig.1.36.
Fig.1.36. Grupi i Objekteve të të dhënave të llojit String
- E dhëna e pestë me radhë nga Fig.1.30 është e dhëna për krijim të të dhënave tabelare, në
një rresht apo shtyllë që e quajmë Arrays. Në terminologjinë e programimit është i njohur edhe me
fjalën vektor. Për të krijuar këtë të dhënë tabelare, zgjedhim në Paletën e kontrollit Array,Matrix &
Cluster -> Array dhe krijojmë kontrollën që e quajmë Array (Fig.1.37.a). Në këtë kontrollë
vendosim kontrolla numerike duke i zgjedhur prap nga Paleta e kontrollit. Numri i tyre mund të
jetë sipas dëshirës, dhe kjo realizohet duke i tërhequr me anë të miut. Array tabela mund të jetë një
rresht vertikal apo një rresht horizontal (Fig.1.37.b).
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
23
a) b) c)
Fig.1.37. Krijimi i të dhënës Array.
Nga Fig.1.37, të dhënat Array në Paletën Controls-> Array,Matrix & Cluster kanë 6
objekte të ndryshme: Array, Cluster, Read Matric.ctl, etj. Por, në Paletën Functions të Block
Diagram, këto të dhëna janë shumë të përbëra me terminale, dhe janë të ndara në tri grupe. Të
dhënat Array (dhe Matrix) në Block Diagram e kanë nënpaletën si në Fig.1.38. Për të krijuar
indikatorin e të dhënës Array, duhet të krijojmë një kontrollë dhe pastaj atë ta konvertojmë në
indicator në Block Diagram. Indikatorin e krijuar e kemi quajtur Array 2 (Fig.1.34.c). Në fund në
Block Diagram bëjmë lidhjen e dy terminaleve të krijuara.
Fig.1.38. Grupi i Objekteve të të dhënave të llojit Array dhe Matrix
- E dhënë e ngjashme me Array është e dhëna Matrix, që mundëson krijimin e të dhënave
në formë matricore në LabView të llojit të njejtë. Cluster gjithashtu mundëson krijimin e të
dhënave në formë matricore, por të dhënat mund të jenë të llojeve të ndryshme. Të dhënat Cluster
në Block Diagram e kanë nënpaletën si në Fig.1.39.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
24
Fig.1.39. Grupi i Objekteve të të dhënave të llojit Cluster (Cluster, Class & Variant)
1.6. OBJEKTET TJERË TË PALETAVE
1.6.1. Objektet tjerë të Paletës Controls në Front Panel
Në kuadër të Front Panel, paraqiten edhe grupi tjera që ndërlidhen me të dhënat e
paraqitura më lartë dhe në realizimin e detyrave të llojeve të ndryshme. Këto janë:
- Kontrollat List, Table & Tree – Paraqet menynë e krijimit të tabelave dhe listave në Front
Panel.
- Listbox është objekti me një kolonë që paraqet grupe të dhënave të cilat mund të zgjedhen
nga një. Multicolumn Listbox mund të ketë më shumë kolona që mund të paraqesin më shumë
informata për secilën të dhënë, si madhësia e të dhëns, data kur është krijuar, etj.
- Tables – paraqet të dhënat në formë tabelare ku secila qelizë e tabelës është një string, dhe
secila qelizë gjendet në një kolonë dhe në një rresht. Nga kjo rrjedh se tabela paraqet një të dhënë
2D array të të dhënave string.
- Tree Control – ofron mundësinë e paraqitjes së listës së gjërave në formë hierarkike – të
degëzuar.
-
Fig.1.40. Objektet e Grupit Listbox, Table & Tree
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
25
Fig.1.40. Grupi i Objekteve List, Table & Tree
Fig.1.41. Grupi i Grafeve dhe paraqitjes grafike – Graph
- Kontrollat Graph – Ofron mundësitë e paraqitjes grafike të të dhënave numerike në forma
të ndryshme.
- Waveform Chart dhe Waveform Graph që ofrojnë paraqitjen e të dhënave në formë të
lakoreve. (Fig.1.41). Waveform Chart paraqet të dhënat një nga një, sipas lakores së dhënë.
Waveform Graph paraqet tërë grafikun e funskionit në një interval të dhënë.
- XY Graph mundëson paraqitjen grafike të funksioneve y=f(x).
- Mixed signal Graph mund të paraqesin të dhëna analoge dhe digjitale, dhe pranon të gjitha
të dhënat nga Waveform Graph, XY Graph, dhe Waveform digital.
- Intensity chart – mundëson paraqitjen grafike të të dhënave në formë të intensitetit të
shpërndarjes së të dhënave.
- Digital Waveform Graph – është grafi që mundëson paraqitjen e të dhënave digjitale,
veqanërisht të të dhënave me të cilat punojmë në diagrame kohore ose analizues logjik.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
26
Waveform chart Waveform Graph XY Graph
Digital Waveform Graph Intensity Chart Mixed Signal
Fig.1.42. Disa lloje të paraqitjeve në grafik
Fig.1.43. Disa lloje të 3D Grafeve
3D Graph - mundëson vizualizimin e të dhënave tredimensionale dhe mundëson përshtatjen e
paraqitjes së të dhënave. Lab View ofron shumë forma të 3D grafeve - Scatter, Stem, Comet,
Surface, Contour Mesh, Waterfall, Ribbon, Bar, Pie, 3D Parametric, 3D Surface, 3D Line.
- Kontrollat Ring & Enum – Paraqet një grup të kontrolleve dhe indikatorëve që ofrojnë
mundësinë e krijimit të listës së të dhënave string në të cilën mund të qaset në mënyrë ciklike.
Ring Controls – Janë objekte numerike që lidhin vlerat numerike me string ose me fotografi.
Paraqiten si meny rënëse në të cilat përdoruesi mund të lëvizë dhe të zgjedh një të dhënë. Enum
controls – janë lloje të objekteve që i ofrojnë përdoruesit listën e të dhënave të cilën mund ta
zgjedhin duke lëviz nëpër kontrollë.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
27
Fig.1.42. Grupi Ring&Enum
- Kontrollat Containers – Ofron mundësinë e grupimit të kontrolleve dhe indikatorëve ose
të paraqesin Front panel të një tjetër VI në Front panel të VI aktuale. Mund të përdoren edhe për të
paraqitur .NET dhe ActiveX objekte në Front Panel.
Fig.1.42. Grupi Containers Fig.1.43. Grupi I/O
- Kontrollat I/O – Paraqet menynë e krijimit të kontrollave dhe indikatorëve për pajisjet
hardverike Input/Output (I/O) të komunikimit. Mundëson krijimin e emrave të DAQ kanaleve,
VISA emra të resurseve. Paraqet paletën që mundëson krijimin e VI për komunikim me një
instrument ose DAQ device (Data Acquisiton Device)
- Kontrollat Variant&Class – Paraqet menynë e krijimit të kontrollave dhe indikatorëve për
të ndërvepruar me të dhënat variant dhe class. Klasët e LabView (Class) definojnë të dhëna të
asocuara me një object, si dhe metodat për të definuar veprimet që mund të realizohen në të
dhënat. Llojet e të dhënave class janë: Public, Community, Protected, Private, Not specified .
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
28
Fig.1.43. Grupi Variant&Class
- Kontrollat Decorations – Paraqet menynë për të ndarë objektet në Front Panel me katror,
ramë, trekëndësha, drejtëza, apo shigjeta. Këto objekte janë vetëm për qëllime dekorimi dhe nuk
paraqesin të dhëna as nuk ndërveprojnë me të dhëna.
Fig.1.44. Grupi Decorations
- Kontrollat Refnum – Ofron mundësinë e krijimit të kontrolleve me numra referees për të
punuar me fajll, direktoriume, pajisje dhe lidhje në rrjetë. Përdoret edhe për të dërguar objekte nga
Frnt Panel në SubVi. Numri i referencës, ose refnum, paraqet një identifikim unik për një object, si
file, pajisje ose lidhje në rrjetë. Kur të hapet një file, pajisje ose lidhje në rrjetë, LabView krijon
një refnum të asociuar me atë file, pajisje apo lidhje në rrjetë.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
29
Fig.1.44. Grupi Refnum
Objektet tjera të paletës Control si Silver, System, Classic, Express, Control Design &
Simulation etj. janë forma që përmbajnë të gjitha kontrollat e përmendura më lartë, por të
rregulluara dhe të përshtatura (Fig.1.44).
1.6.2. Objektet tjerë të Paletës Functions në Block Diagram
Në kuadër të Block Diagram, paraqiten edhe grupe tjera të paletave në paletën Functions.
Këto fillojnë me grupin e paletave të programimit - Programming:
- Grupi i kontrollave Structures – Paraqet grupin e parë dhe kryesor të strukturave për krijimin e
VI të ndryshme. Ky grup i terminaleve përdorë strukturat si For Loop (unaza For) , Ëhile Loop
(Unaza Ëhile), Timed Structure (Strukturë me kohëzgjetje), Case Structure, Event Structure, In
Place in/Out element, Formula Node, etj., që do ti përdorim shumë gjatë zgjedhjes së detyrave.
Fig. 1.45. Funksionet Structures
- Funksionet Comparision - Paraqet nënmenynë e relacioneve logjike dhe operatorëve të
krahasimit. Kjo nënmeny mund të përdoret me disa lloje të të dhënave sipas nevojës. Elementet e
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
30
kësaj nënpalete janë: Equal? (Baraz?), Not Equal? (Jo baraz), Greater? (Më i madh?), Less (Më i
vogël?), Greater or Equal (Më i madh ose Baraz?), Less or Equal (Më i vogël ose Baraz?), etj.
Fig.1.45. Funksionet e operatorëve relacional - Comparision
- Funksionet Timing – Mundëson manipulimin e shpejtësisë me të cilën një operacion
ekzekutohet, evidentimin e kohës së kaluar dhe marrjen e informatave të të dhënave nga ora e
kompjuterit.
Fig.1.46. Funksionet Timing
- Funksionet Dialog & User Interface – Ofron funksionet për të krijuar objekte të dialogur
(Dialog Boxes) për të informuar përdoruesit me instruksione, mesazhe, lajmërime për gabimet, etj.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
31
Fig.1.47. Funksionet Dialog & User Interface dhe Funksionet I/O
- Funksionet I/O – Mundëson përdorimin e VI Fajllave të tipit I/O dhe funksionet përkatëse për të
hapur, mbullur, lexuar nga, dhe shkruar në file, krijim i direktoriumeve dhe file që specifikohen në
kontrollin e vendndodhjes së file, marrje e informatave nga direktoriumet; dhe shkruarje e string,
numrave, array dhe klasterëve (Clusters) në file.
Fig.1.48. Funksionet Waveform dhe Application Control
- Funksionet Waveform – Mundëson përdorimin e VI të llojit Waveform dhe funksioneve
përkatëse për të krijuar waveforms (forma të lakoreve të valëzuara) që përfshijnë vlerat ëaveforms,
informata për kanalet, informatat për kohën, dhe për të krijuar dhe përfituar atributet e Waveform
dhe komponenteve të tyre.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
32
- Funksionet Application Control - përdorimi i VI të llojit Application Control dhe funksioneve
përkatëse për të kontrolluar VI-të nëmënyrë programatike dhe aplikacionet e LabView në
kompjuter local dhe në rjetë. Këto VI dhe funksione mund të përdoren për të konfiguruar shumë
Vi në të njejtën kohë.
- Funksionet Synchronization - Mundëson përdorimin e VI të sinkronizimit dhe funksioneve
përkatëse për të sinkronizuar detyrat që ekzekutohen paralelisht dhe për të përcjellur të dhënat në
mes të detyrave paralele.
Fig.1.49. Funksionet Synchronization dhe Graphics & Sound
- Funksionet Graphics & Sound - Mundëson përdorimin e VI të sinkronizimit dhe funksioneve
përkatëse për të krijuar display të çfarëdoshëm, importim dhe eksportim të të dhënave nga file
grafik, dhe për të ekzekutuar audio.
Fig.1.50. Funksionet Report Generation dhe Measurement I/O
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
33
- Funksionet Report Generation - Përdorimi i VI për gjenerim të raporteve për të krijuar dhe
manipuluar raporte të LAbView Aplikacioneve. Në këtë paletë mund të përdoren edhe Vi për të
insertuar tekst, tabela, grafe. (Fig.1.50)
- Funksionet Measurement I/O – Këtu fillojmë me paraqitjen e grupeve tjera të paletave në
kuadër të paletës Functions. Measurement I/O mundëson përdorimin e VI Fajllave të tipit I/O dhe
funksionet përkatëse për të ndërvepruar me NI-DAQmx pajisjet dhe pajisjet tjera Data Acquisition
Device (DAQ). Këto paleta paraqesin VI dhe funksionet për pajisjet hardverike të cilat instalohen.
Nëse driver të VI mungojnë në këtë paletë, atëherë duhet instaluar kata driver në LabView.
Funksioni më i rëndësishëm i kësaj palete është System Configuration ku bëhet konfigurimi i
lidhjes dhe komunikimit me pajisjet hardverike. (Fig.1.50)
- Funksionet Instrument I/O - Mundëson përdorimin e VI Fajllave të tipit I/O dhe funksionet
përkatëse për të ndërvepruar me pajisjet GPIB, pajisjet serike, modulare, PXI, dhe llojet tjera të
instrumenteve (Fig.1.1). Instrumentet e lidhura në kompjuter mund të gjenden me NI Instrument
Driver Finder dhe kërkohen duke shkuar në menynë Tools -> Instrumentation-> Find
Instrumentation Driver. Ndërsa Measurement & Automation Explorer (MAX) paraqet veglën për
menaxhimin e instrumenteve të lidhura në kompjuter. Qaset nga menyja Tools -> Measurement &
Automation Explorer. Nëse një driver i instrumenteve nuk është në listë të pajisjeve dhe driver,
atëherë mund të përdoret Create New Instrument Driver Project për të kërkuar instrumentin dhe
driver të tij. Nëse nuk mund të gjendet apo të krijohet driver i insrumentit, atëherë mund të
përdoret Instrment I/O Assistant për të komunikuar me instrumente.
Nëse driver të VI në këtë paletë mungojnë, atëherë duhet instaluar driverët përkatës në LabView.
Fig.1.51. Funksionet Instrument I/O dhe Vision and Motion
- Funksionet Vision and Motion – I referohet opcioneve të NI Vision, d.m.th opcionet për lidhje
me pajisjet e shiqimit dhe të regjistrimit të lëvizjes. Gjithashtu përfshinë edhe komunikimin me NI
Vision Acquisition Softëare, NI-Motion, NI SoftMotion file, etj. Nëse këto opcione nuk janë të
instaluara, atëherë në menu nuk paraqiten.
- Funksionet Mathematics - Paraqet funksionet kryesore matematikore që instaluara në
LabView, për të realizuar lloje të ndryshme të analizave matematikore. Gjithashtu mund të
ndërlidhen matjet e ndryshme në instrumente me algoritmet matematikore.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
34
Fig.1.51. Funksionet Mathematics dhe Signal Processing
Fig.1.51. Funksionet Data Communication dhe Connectivity
- Funksionet Signal Processing – Paraqet funksionet e procesimit të sinjaleve nga matjet
apo VI fajllat, ku përfshihen këto veprime me sinjalet – Gjenerim i sinjaleve (Signal Generation),
Digital Filtering (Filtrim digjital), Transforms (Transformime), Spectral (analiza spektrale), etj.
- Funksionet Data Communication – Paraqet VI të transmetimit të të dhënave dhe
funksionet përkatëse për të këmbyer të dhënat në mes të aplikacioneve. VI-të dhe funksionet në
këtë paletë mund të gjenerojnë SMTP email reply codes (SMTP - email kode të përgjigjes).
- Funksionet Connectivity - Paraqet VI të lidhjes të të dhënave dhe funksionet përkatëse
për të punuar me objektet .NET, ActiveX aplikacionet, pajisjet hyrëse, adresat e regjistrave të
procesorit, kontrollin e burimeve, web shërbimet, regjistrin e Windows, dhe softverë të tjerë, duke
përfshirë edhe produkte të NI – National Instruments.
- Funksionet Express - Paraqet VI Express dhe funksionet përkatëse për të krijuar detyra të
matjeve
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
35
Fig.1.51. Funksionet Express
1.7. PËRDORIMI I OBJEKTEVE TË NDRYSHME TË LAB VIEW NË DETYRA
Detyrë 12. Me anë të objekteve nga Menyja Control e Front Panel, në paletën Numeric
përdorim kontrollën Dial dhe indikatorin Tank, për të paraqitur konvertimi i vlerave të presionit
nga njësia Bar në Megapaskal. Faktori i konvertimit është 1 bar = 0.1 Mp.
Fig.1.52. Zgjedhja e detyrës 12
Në zgjidhjen e detyrës, me rastin e lëvizjes së kontrollës Dial, që paraqet vlerat në njësinë
Bar, realizohet ndryshimi i nivelit në indikatorin Tank që tregon nivelin në njësinë Mp. Nëse
dojmë që për çdo ndryshim në Dial të fitojmë nivel të ri në Tank pa e klikuar vazhdimisht ikonën
Run, zgjedhim paraprakisht ikonën Continuous. Vërehet se indikatori Tank ka shkallëzimin nga 0
– 10, ndërsa kontrolla Dial ka shkallëzimin 0-100. Për të dy objektet, shkallëzimi mund të
rregullohet në Properties, me ç’rast paraqitet dritarja si në Fig.1.53, e pastaj zgjedhet Scale. Në
Scale Range shkruhen vlerat minimale dhe maksimale që paraqiten në shkallëzimin e objektit.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
36
Fig.1.53. Paraqitja e shkallëzimit të vlerave të objektit
Detyrë 13. Me anë të objekteve – kontrollës Vertical Point Slider dhe grafeve të paraqitet
konvertimi i vlerave nga ºF në ºC. Të jepen vlera të ndryshme dhe të paraqiten rezultatet në
indikatorin Thermometer dhe në Grafin Graph Chart. Formula e konvertimit është nga detyra për
ushtrime 11: (°F - 32) x 5/9 = °C.
Në Fig.1.54. është paraqitur zgjedhja e detyrës.
Fig.1.54. Pamja e detyrës për konverimin e vlerave nga ºF në ºC
Në Front Panel, zgjedhim objektin që paraqet kontrollën e nivelit të temperaturës në
paletën Control->Modern->Numeric-> Vertical Point Slider dhe e vendosim në Front Panel. Ky
është një tregues i nivelit që ka treguesin që mund të rrëshqet në gjatësinë e tij për zgjedhjen e
vlerës së dëshiruar. Kjo paraqet vlerën e temperaturës në ºF. Pasi ta vendosim, e selektojmë dhe
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
37
shkojmë në Properties, ku zgjedhim Visible Items-> Digital Display, për të paraqitur vlerën e
temperaturës ºF në formë digjitale nën Vertical Point Slider. (Fig.1.55)
Më tutje në detyrë caktojmë dy objekte të llojit Indicator, njëri merret në Control-
>Modern->Numeric->Numeric Indicator dhe tjetri Control->Modern->Numeric-> Thermometer.
Të dy këta indikatorë do të përdoren për të paraqitur rezultatin në ºC.
Fig.1.55.
Për të vendosur grafikun që do të tregojë vlerat e zgjedhura në formë grafike, zgjedhim Waveform
Chart dhe e vendosim nën objektet tjera.
Pas vendosjes së objekteve në Front Panel, në anën e djathtë krijojmë programin në Block
Diagram. (Fig.1.56.)
Fig.1.56. Programi i krijuar në Block Diagram
Nga Fig.1.56. në pjesën e majtë të programit është paraqitur terminali i objektit hyrës Slide
dhe është krijuar formula e konvertimit. Në pjesën e djathtë të programit vërejëm se janë tri
objekte dalëse që paraqesin terminalet e objekteve nga Front Panel, dhe janë lidhur me nyje për të
paraqitur vlerën e njejtë numerike si rezultat që paraqet temperaturën në ºC.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
38
Detyrë 14. (Bazuar ne detyrën 3). Të bëhet mbledhja e tre numrave me përdorimin e operatorit
Compound Arithmetic.
Operatori Compound Arithmetic mundëson krijimin e shumë madhësive hyrëse dhe një madhësi
dalëse. Ky operatori zgjidhet në Block Diagram, në Paletën Functions->Numeric. Pamja e
programit të detyrës është më poshtë.
Fig.1.57. Llogaritja me anë të operatorit Compound Arithmetic të shumës së tre numrave
Detyrë 15. Të realizohet detyra që tregon se cili nga dy numra të dhënë është më i madh.
Detyra realizohet duke aplikuar në Front Panel dy objekte Controls për shkruarje të dy
numrave. Për paraqitje të rezultatit zgjedhim një Indikator të tipit Boolean -> Square Led (dritë
katërkëndëshe). Në indikatorin Square Led, zgjedhim opcionet për ndryshimin e ngjyrës dhe
paraqitjen e tekstit brenda saj. Kjo bëhet në opcionin Properties të Square Led (Fig.1.59). Qëllimi
i detyrës është të krahasojë se cili numër i dhënë është më i madh apo më i vogël se tjetri.
Fig.1.58. Aplikimi
Në Block Diagram paraqitet diagrami duke përdorur operatorin nga paleta Functions-
>Comparision->Greater? Ky operator përdoret për krahasim të madhësisë së dy vlerave
numerike.
Ngjashëm mund të përdoren edhe operatorët tjerë të këtij grupi: Equal?, Not Equal?,
Less?, Greater or Equal?, Less or Equal?, Equal to Zero?, Greater then Zero?, Less than Zero?,
Greater or Equal?, Less or Equal?
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
39
Fig.1.59. Rregullimi i opcioneve të indikatorit Square Led.
1.8. PËRDORIMI I VEKTORËVE DHE MATRICAVE NË LAB VIEW
Më lartë kemi treguar llojin e të dhënave vektor (Array) dhe matricë (Matrix). Këto të
dhëna dhe elemente paraqiten në shumë detyra të programimit, dhe kanë për qëllim llogaritje të
ndryshme të të dhënave numerike në një tabelë në formë të një apo më shumë shtylla dhe rreshta.
Detyrë 16. Për vektorin e dhënë në detyrë, të realizohet detyra që llogaritë shumën e
numrave të vektorit.
A(n) = 2 -1 0 -3 4 5 1
Detyra realizohet duke aplikuar në Front Panel, në menynë Controls->Array,Matrix & Cluster
dhe pastaj duke zgjedhur objektin Array. Në Array të krijuar krijojmë një Numeric Control, dhe
pastaj e zgjerojmë në numrin e anëtarëve që është n =7. Pastaj i plotësojmë hapësirat me nurmat e
vektorit. Detyra e ka pamjen si më poshtë:
Fig.1.60. Detyra e mbledhjes së numrave të vektorit
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
40
Detyrë 17. Për vektorin e dhënë në detyrë, të gjenden këto parametra të vektorit: indeksi i
anëtarit të vektorit (pozita rendore në vektor), Numëri i elementëve të vektorit, Anëtari më i madh
dhe më i vogël i vektorit. Në fig.1.61. është treguar detyra.
Rezultati fillestar i vektorit – vlerat numerike janë treguar në formë të treguesve indikatorë të llojit
Vertical Fill Slide.
Programi është treguar në Block Diagram. Të gjitha veprimet e programit nga madhësitë hyrëse në
dalëse është treguar në një degëzim.
- Numri i elementeve të vektorit është realizuar me operatorin Functions->Programming->Array-
> Array Size.
- Anëtari më i madh dhe më i vogël i vektorit është realizuar me operatorin Functions-
>Programming->Array-> Max&Min.
- Indeksi i anëtarit të vektorit është realizuar me operatorin Functions->Programming->Array-
>Index Array. Në këtë rast duhet krijuar Control që kërkon dhënjen e index-it për të paraqitur
elementin në atë index (pozicion). Duhet përmendur se renditja e elementëve në vektor fillon nga
0, e jo nga 1.
Fig.1.61. Veprimet me vektorë
Detyrë 18. Për matricën e dhënë në detyrë, të realizohet detyra që paraqet: numrin e
rreshtave dhe shtyllave, shumën e numrave të matricës, produkti i elementeve të matricës, Anëtari
më i madh dhe më i vogël, matricën e transponuar AT.
1 2 0 -2
A= 3 1 -1 2
4 -3 2 5
7 6 0 3
Detyra realizohet duke aplikuar në Front Panel, në menynë Controls->Array,Matrix &
Cluster dhe pastaj duke zgjedhur objektin Real Matrix. Matricën e krijuar e zgjerojmë në numrin e
rreshtave dhe shtyllave 4x4. Pastaj i plotësojmë hapësirat me numrat e matricës. Detyra e ka
pamjen si më poshtë:
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LabVIEW – Ushtrime1
41
Fig.1.62. Detyra e veprimeve me matrica
Programi është treguar në Block Diagram. Të gjitha veprimet e programit nga madhësitë hyrëse në
dalëse është treguar në një degëzim.
- Shuma e elementeve të matricës është realizuar me Functions->Programming->Numeric->Add
Array Elements. Paraprakisht krijohet një Indikator në Front panel për paraqitje të rezultatit.
- Numri i rreshtave dhe shtyllave të matricës është realizuar me operatorin Functions-
>Programming->Array->Matrix->Matrix Size. Paraprakisht krijohen dy Indikatorë në Front
panel për paraqitje të rezultatit, njëri për numrin e rreshtave dhe tjetri për numrin e shtyllave
- Produkti i elementeve të matricës është realizuar me Functions->Programming->Numeric-
>Multiply Array Elements. Paraprakisht krijohet një Indikator në Front Panel për paraqitje të
rezultatit.
- Anëtari më i madh dhe më i vogël i matricës është realizuar me operatorin Functions-
>Programming->Array-> Max&Min. Paraprakisht krijohen dy Indikatorë në Front panel për
paraqitje të rezultatit.
- Matrica e transponuar fitohet duke krijuar një matricë të re në Front panel, Controls->Array,
Matrix & Cluster dhe pastaj duke zgjedhur objektin Real Matrix. E zgjerojmë në madhësinë 4x4.
Në Block Diagram zgjedhim terminalin e matricës dhe me miun e djathtë zgjedhim Change to
Indicator e shndërrojmë në indikator të rezultatit.
Rezultatet janë treguar në Fig.1.62.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
42
2. STRUKTURAT NË LABVIEW
Strukturat janë paraqitje grafike e unazave programuese dhe deklaratat e procedurës (Case statements) të gjuhëve programuese të bazuara në tekst dhe vizuele. Përdorimi i strukturave bëhet në Block Diagram bëhet për të përdëritur blloqe të strukturave apo përsëritje të procedutës së kodit për të ekzekutuar kodin me kushtëzim të caktuar apo në renditje të caktuar. Në LABVIEW ekzistojnë disa struktura nga paleta Functions->Structures, tw cilat janë: While Loop, For Loop, Case structures, Timed Structures, Event Structure, Flat Sequence structure, Stacked Sequence structure, Formula Node, etj. Dy të parat While Loop dhe For Loop janë struktura unazore të përsëritjes.
2.1. Strukturat unazore While Loop
Me qëllim të realizimit të llogaritjeve të shumfishta që përsëriten sipas një rregulli të
përsëritjes, duke u shtuar apo duke u zvogëluar, ose strukturave unazore në programe, ekzistojnë urdhëra dhe procedura për realizimin e këtyre llogaritjeve. Në programin Lab View struktura While Loop është e ngjashme me while apo do...while në C++. Struktura While Loop ekzekuton një nëndiagram derisa të plotësohet kushti i kërkuar. While Loop vendoset në Block Diagram nga paleta Functions->Structures->While Loop.
Një While Loop i kompletuar paraqet një katërkëndësh që mund të rritet apo zvogëlohet (Fig.2.1). Ky katërkëndësh ka dy elementë kryesorë: Iteration Terminal – Terminali i iterimeve dhe Condition Terminal – Terminali i kushtëzimit.
Fig.2.1. Katërkëndëshi i While Lopp
Brenda katërkëndëshit të While Loop mund të shtohen elementë tjerë duke i vendosur
brenda tij – brenda kufijve. While Loop ekzekuton nëndiagramin derisa të plotësohet terminali i kushtëzimit, terminali i hyrjes (Input terminal), pranon një vlerë Boolean, etj. Gjendja fillestare e terminalit të kushtëzimit është Vazho nëse është e vërtetë (Continue if True). Nëse terminali i kushtëzimit është në gjendjen Continue if True, unaza While Loop do të ekzekutojë nëndiagramin derisa terminali i kushtëzimit të pranojë vlerën FALSE.
Terminali i iterimeve majtas i përmban një numër të iteracioneve të kompletuara. Vlera e iterimeve në While Loop gjithmonë fillon me zero.
Terminali i iterimeve
Terminali i kushtëzimit
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
43
Detyrë 2.1. Me anë të unazës While Loop, të realizohet programi për numrimin me numra
të plotë deri të barazohet me numrin e dhënë.
Fig.2.2. Paraqitja e numrimit deri të jetë baras me numrin e dhënë
Për realizimin e detyrës në Front Panel krijohen dy objekte, një Control me emrin Vlera hyrëse n, dhe një Indikator me emrin Rezultati i numrimit. Në Block Diagram krijohet një While Loop. Controla me emrin Vlera hyrëse n lihet jashtë unazës While Loop, ndërsa indikatori lidhet me terminalin e iterimit i. Pastaj krijohet operatori i kushtëzimin Baraz (Equal?) nga Paleta Functions->Comparision->Equal. Në këtë operator, në njërin port hyrës lidhet kontrola Vlera hyrëse n, ndërsa në tjetrin port ndahet një nyje nga terminali i iterimit i. Porti dalës i operatorit Baraz lidhet me terminalin e kushtëzimit të mbylljes. (Fig.2.2).
Në rast se detyra ekzekutohet shpejt, mund të ngadalësohet ekzekutimi me anë të terminalit kohor. Nga Paleta Functions->Timing-> Wait until Next multiple, zgjedhim terminalin e rregullimit kohor. Në portin hyrës të këtij terminali shkruajmë shpejtësinë e ekzekutimit në milisekonda. Në detyrë është dhënë 100 ms.
Detyrë 2.2. Nga detyra më lartë, të paraqitet në unazën While Loop vlera e funksionit F(x)
që plotëson kushtin, sipas vlerës së dhënë të x:
F(x) = F(x) = 0 ; x ≤ 0 F(x) = x ; x > 0
While Loop
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
44
Fig.2.3. Paraqitja e vlerës së funksionit me objektin Dial
Në detyrë, në Front Panel, në vend të objektit Contol, është paraqitur objekti nga Paleta Controls->Numeric->Dial me emrin Zgjedhja e vlerës së x. Ky objekt në Representation përcaktohet të jetë i llojit të dhënave I32 (Integer). Në Properties->Scale, i caktojmë rangun në Scale Range, në mes të -20 deri 20. Indikatori i rezultatit do të quhet Rezultati.
Në Block Diagram krijohet unaza While Loop. Jashtë unazës vendoset objekti Dial – Zgjedhja e vlerës së x. Mbrenda unazës, indikatori Rezultati lidhet me terminalin e iterimit i. Pastaj krijohet operatori i kushtëzimin Baraz (Equal?) nga Paleta Functions->Comparision->Equal. Në këtë operator, në njërin port hyrës lidhet kontrola Dial, ndërsa në tjetrin port ndahet një nyje nga terminali i iterimit i.
Krijohet operatori me i vogël se 0, nga Paleta Functions->Comparision->Less Than zero? Nga dega dalëse e funksionit Dial krijojmë nyjen deri te operatori Less Than Zero?
Zgjedhim operatorin logjik ose (�) nga Paleta Functions->Boolean->Or, dhe e vendosim brenda unazës. Në njërin port hyrës të këtij operatori lidhim portin dalës të Equal, ndërsa në protin tjetër hyrës lidhim portin dalës të Less Than Zero? Porti dalës i operatorit Or lidhet me terminalin e kushtëzimit të mbylljes. (Fig.2.3) Gjithashtu, nga Paleta Functions->Timing-> Wait until Next multiple, zgjedhim terminalin e rregullimit kohor. Dhe i japim hapin kohor 100 ms.
Detyra funksionon në këtë mënyrë: Nëse në Controlën Dial jepet ndonjë vlerë zero apo më e vogël, programi nuk llogarit asgjë, mbetet rezultati 0, pasi iterimi fillestar është 0. Nëse në Controlën Dial jepet ndonjë vlerë më e madhe se zero, atëherë programi e paraqet atë vlerën e dhënë në rezultatin e fundëm.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
45
Detyrë 2.3. Me anë të unazës While Loop, të realizohet programi për llogaritjen e shumës
së numrave natyral prej 1 deri n.
Fig.2.4. Llogaritja e shumës së numrave prej 1 deri n, me anë të unazës While Loop
Për realizimin e detyrës në Front Panel krijohen tri objekte, një Control me emrin Vlera hyrëse n, dhe dy Indikatorë me emrin Rezultati i shumës, dhe Shuma e përkohshme. Në Block Diagram krijohet një While Loop. Controla me emrin Vlera hyrëse n lihet jashtë unazës While Loop, indikatori Rezultati i shumës lihet jashtë unazës në anën e djathtë. Krijohet operatori i kushtëzimin Më i vogël ose Baraz (Less or Equal?) nga Paleta Functions->Comparision->Less or Equal? Ky operator krijohet me qëllim që kur të arrihet vlera hyrëse n të ndalojë mbledhjen e nurmave. Në këtë operator, në njërin port hyrës lidhet kontrola Vlera hyrëse n, ndërsa në tjetrin port ndahet një nyje nga terminali i iterimit i. Porti dalës i operatorit Less or Equal? lidhet me terminalin e kushtëzimit të mbylljes.
Krijohet operatori i mbledhjes Functions->Numeric->Add. Në njërin port hyrës vazhdohet nyja nga terminali i iterimit i. Nga portin dalës të operatorit Add krijohet lidhja në dalje të unazës, tek indikatori Rezultati i shumës.
Më tutje, Indikatori Shuma e përkohshme lidhet me nyje në degën dalëse të operatorit Add. Ky është indikatori që mbledh të dhënat nga shuma e iterimit të fundit. Rezultatet e shuëms së iterimit të fundit duhet të kthehen sërish për kalkulim në iterimin e ardhshëm. Kjo arrihet duke zgjedhur nga Indikatori Shuma e përkohshme, me miun e djathtë Create->Local Variable. Në objektin e krijuar si variabël lokale, me miun e djathtë e ndërrojmë në Change to Read. Pastaj, portin hyrës të variablës lokale e lidhim me portin tjetër hyrës të variablës Add. (Fig.2.4)
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
46
Detyrë 2.4. Të krijohet programi në LABVIEW për të llogaritur shumën si më poshtë.
10
Fig.2.5.
Detyra zgjidhet ngjashmë me detyrën 2.3. Të ushtrohet!
Detyrë 2.5. Të krijohet grafiku që regjistron në formë të lakores në grafik nga të dhënat hyrëse numerike për shndërrimin e temperaturës nga njësitë ºF në ºC.
Fig.2.6.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
47
Detyra paraqet regjistrimin e të dhënave hyrëse me anë të një Vertical Slide, të cilat do të regjistrohen përkohësisht në grafikun Waveform Chart, që ndodhet brenda unazës While Loop, dhe përfundimisht në grafikun Waveform Graph, në dalje djathtas të unazës While Loop. Numrat të cilët zgjidhen në Vertical Slide do të regjistrohen në grafikët përkatës, por edhe në Indikatorin Numeric të krijuar në Front Panel.
Në këtë detyrë, është krijuar objekti i ri Stop në formë butoni në Front Panel, që paraqet një Objekt nga Controls->Boolean->Stop Button, i cili lidhet me terminalin e kushtëzimit të mbylljes. Kjo do të thotë që procesi në detyrë nuk do të ndalojë derisa të klikohet butoni i ndalimit Stop Button.
Nga Paleta Functions->Timing->Wait (ms), zgjedhim terminalin e rregullimit kohor. Ky terminal pret derisa të plotësohet koha e ekzekutimit në milisekonda, për të ekzekutuar procesin. Në portin hyrës të këtij terminali shkruajmë shpejtësinë e ekzekutimit në milisekonda. Në detyrë është dhënë 100 ms. Detyra është paraqitur në Fig.2.6. 2.2. Strukturat unazore For Loop
Struktura unazore For Loop paraqet strukturën që përsëritë pjesë të programit të krjuar paraprakisht në formë të iterimeve. For Loop përbëhet nga një katërkëndësh që mund ti ndryshohet madhësia dhe dy terminale: terminali i numërimit - Count terminal ose terminali i hyrjeve, dhe terminali i terimeve – Output terminal. Terminali i numërimit specifikon sa herë të ekzektuohet unaza. Terminali i itermimeve përmban sa herë unaza ka ekzekutuar. For Loop unaza ndryshon nga While Loop unaza në atë se For Loop ekzekuton një numër të caktuar paraprakisht të iterimeve, derisa While Loop ndalon përsëritjen e ekzekutimeve bazuar në një kusht që duhet plotësuar. Iterimet në For Loop fillojnë nga 0. Unaza For Loop është ekuivalent me kodin e gjuhës programuese C++: if, if…else.
Fig. 2.7. Elementet e strukturës unazore For Loop
Detyrë.2.6. Të paraqitet grafiku i funksionit y = 5·x+3, për vlerat x= 0…99.
Krijojmë në Front Panel Grafin ku do të paraqitet funksioni i dhënë. Në Controls->Graph->XY Graph marrim objektin e grafikut dhe e vendosim në Front Panel. (Fig.2.8) Shkruajmë edhe tekstin përkatës.
Krijohet unaza For Loop, në të cilën krijohet numri i përsëritjeve 100, si në fig.2.9. Numri i përsëritjeve 100 krijohet duke krijuar konstatën 100 nga Terminali i numërimit N. Nga terminali i numërimit N, në lidhjen në mes të këtij terminali dhe konstantës 100, tërheqim një vijë poshtë deri te kufiri i majtë i unazës, ku krijohet një katërkëndësh i vogël i mbyllur. Ky është operatori Tunnel,
Terminali i iterimeve
Terminali i numërimit
Numri i përsëritjeve
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
48
që mundëson kalimin më të shpejtë të të dhënave në unazë apo nga unaza For Loop pa ndonjë manipulim shtesë të të dhënave.
Fig. 2.8. Front Panel për krijimin e funksionit y = 5·x+3
Fig. 2.9. Block Diagrami me unazën For Loop, për krijimin e funksionit y = 5·x+3
Më tutje, merret terminali i iterimeve i dhe tërhiqet diku afër qendrës së unazës For.
Krijohet operatori i shumëzimit x (Multiply). Terminali i iterimeve i lidhet me njërin port hyrës të terminalit. Në portin tjetër krijohet konstata 5, që është pjesë e funksionit të dhënë. Më ttuje në detyrë krijohet terminali i mbledhje + (Add). Në portin hyrës të këtij terminali lidhet dalja e terminalit të shumëzimit x, ndërsa në tjetrin port hyrës krijohet konstanta 10, që është pjesë e funksionit të dhënë y = 5x+3.
Krijimi i Funksionit Cluster - Në dalje të unazës For Loop krijojmë për herë të parë terminalin Cluster, që përdoret për të mbledhur shënimet disa dimensionale nga madhësitë hyrëse dhe i përcjall në dalje. Terminali Cluster është opcioni më i mirë për të krijuar grafet e funksioneve F(x). Zgjedhim në Functions->Cluster,Class & Variant, dhe zgjedhim Bundle. Do të paraqitet terminali i ri Cluster, që pranon të dhënat hyrëse. Terminali krijohet jashtë unëzës. Ky terminal ky aktualisht dy porte hyrëse dhe një dalës, por portet hyrëse mund të shtohen në Miu i djathtë-> Add Input. E krijojmë një lidhje, nyje të ndarë nga terminali i iterimeve i dhe e vazhdojmë deri te porti i parë hyrës i Cluster. E Tërheqim tjetrën vijë nga Porti dalës i terminalit + deri te porti i dytë hyrës i terminalit Cluster. Më tutje, nga terminali dalës i Cluster e lidhim me terminalin e grafit XY. (Fig.2.9)
Pas ekzekutimit të detyrës, do të paraqitet grafiku i funksionit si në fig.2.8.
Terminali Cluster - Bundle
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
49
Detyrë.2.7 (Për ushtrime). Të paraqitet grafiku i funksionit y = 3·x2+1, për vlerat x=0…99
Detyrë.2.8. Të paraqitet grafiku i funksionit y = 4·x3-1, për vlerat x= -30…+30
Në detyrat më lartë u paraqit grafiku i funksionit vetëm për vlerat pozitive, pasi unaza For Loop nuk mund të ofrojë iterime negative (Numri i përsëritjeve N nuk përkrah numrat negativ). Për të krijuar funksionin e plotë, duhet të krijojmë opcionin e pranimit të vlerave negative të funksionit. Krijojmë detyrën si më poshtë (Fig.2.10, Fig.2.11) :
Fig. 2.10. Front Panel për krijimin e funksionit y= 4·x3-1, në vlerat x=-30…+30
Fig. 2.11. Block Diagrami me unazën For Loop, për krijimin e funksionit y= 4·x3-1, në vlerat x=-
30…+30
Në këtë detyrë, janë krijuar dy degëzime nga terminali i iterimeve i, njëri drejt në lidhje të drejtpërdrejt, tjetri nëpërmjet operatorit Negate (-x), që do të shndërrojë vlerat pozitive të i në vlera negative. Krijojmë dy terminale Cluster të llojit Bundle brenda unazës For Loop. Në portet e para hyrëse të tyre i lidhim daljet nga terminali i iterimeve i , ndërsa në portet e dyta hyrëse i lidhim funksionin e krijuar.
Terminali Build Cluster - Bundle
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
50
Krijojmë dy terminale Cluster-> Bundle jashtë unazës, në të djathtë. Këto terminale i krijojmë me një Input (e heqim nga një Input në Miu i djathtë -> Remove Input). Portin hyrës të tyre e lidhim me portin dalës të Cluster terminaleve brenda For Loop unazës. Ndërsa portin dalës të tyre e lidhim me një element të ri Build Array që e marrim nga Functions->Array->Build Array. Ky element i ri mundëson krijimin e të dhënave në formë të Array nga të dhënat hyrëse të pavarura njëra prej tjetrës. Në fund, nga terminali Build Array, nga porti dalës i tij e lidhim me XY Grafin e krijuar në Front Panel.
Me ekzekutimin e detyrës fitohet grafiku si në Fig.2.10. Kjo paraqet grafikun e plotë të funksionit.
Me detyrë të tillë, ngjashëm mund të krijohen më shumë se një lakore në grafik të ndryshëm.
Detyrë.2.9. (Për ushtrime). Të paraqitet grafiku i funksionit y = (2·x-1)/(3·x+2), për vlerat x= -30…+30
Detyrë.2.10. Të paraqitet grafiku i funksioneve y1 =sin(x/2) dhe y2 =3·cos(x) në të njejtin xy grafik, për vlerat x= -30…+30. Zgjedhja e detyrës është dhënë më poshtë.
Fig. 2.12. Front Panel për krijimin e funksioneve y= 4·x3-1, y1 =sin(x/2) dhe y2 =3·cos(x) në të njejtin
xy grafik, për vlerat x= -30…+30.
Fig. 2.13. Block Diagrami për krijimin e funksioneve y= 4·x3-1, y1 =sin(x/2) dhe y2 =3·cos(x) në të
njejtin xy grafik, për vlerat x= -30…+30.
Në këtë detyrë, funksionet trigonometrike zgjedhen nga menyja Functions->Mathematics->Elementary->Trigonometric. Identifikimi se cila lakore cilit funksion i takon, bëhet duke shkuar
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
51
në Vetitë e grafit në Front Panel. Zgjedhim Properties mbi XY graph, dhe në Plots, pastaj në Names shkurajmë emrin e lakores (Fig.2.14.a). Në të njejtën mënyrë e bëjmë duke zgjedhur lakoren tjetër në tek shigjeta. Në këtë dritare mund të zgjedhet edhe trashësia e lakores, si dhe mundësia e paraqitjes me pikat kryesore të funksionit.
Fig.2.14. a. Emërimi i lakoreve Fig.2.14. b. Paraqitja e lakoreve në graf
Në Fig.2.14.b është treguar opcioni i paraqitjes së legjendës së lakoreve, në Shoë Plot legend. Në Plot Shown tregohet se paraqiten 2 lakore. Nëse ka më shumë lakore në të njejtin grafik, aty zgjedhet numri i paraqitjeve të tyre. Nëse zgjedhim Show Graph palette, do të paraqitet paleta e grafikut nën grafik (Fig.2.15), në të cilën mund të bëhet zmadhimi apo zvogëlimi i grafikut, lëvizja e tij, etj.
Nga Fig.2.15, nëse dëshirohet të ndërrohet ngjyra e lakores, kjo bëhet duke zgjedhur lakoren në Show Plot legend, klikojmë me miun e djathtë dhe zgjedhim Color. Pastaj zgjedhim ngjyrën e dëshiruar për lakoren.
Fig.2.15. Konfigurimi i të dhënave në grafikun xy
Detyrë.2.11. Të paraqitet grafiku i krijuar nga të dhënat numerike të rastit. Numri i iterimeve të jetë deri në 100.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
52
Detyra zgjidhet duke krijuar unazën For Loop dhe në të krijohet së pari terminali Functions->Numeric->Random Number. Ky terminal përdoret për të gjeneruar numrat e çfarëdoshëm në mes të 0 dhe 1. Për të ngadalësuar ekzekutimin e detyrës është përdorur terminlai Timing për shpejtësi 500 ms.
Fig.2.16. Krijimi i grafikut nga të dhënat e rastit
Detyrë.2.12. Të paraqitet lista në një vektor e numrave të rastit të gjeneruar nga 0 deri 1.
Lista është paraqitur për 10 iterime, që do të thotë për 10 të dhëna të rastit. Lista është një objekt Array, i cili në Front Panel krijohet si një indikator. Në Block Diagram Lista vendoset jashtë Unazës For Loop, dhe lidhet me portin dalës të terminalit të rastit - Random.
Fig.2.17. Krijimi i listës me Array nga të dhënat e rastit
2.3. Strukturat Shift Register në kuadër të strukturave unazore
Strukturat Shift Register përdoren në kuadër të strukturave unazore While Loop dhe For Loops. Këto përdoren për të transferuar të dhënat nga një iteracion në iteracionin e ardhshëm. Shift Register krijohet duke klikuar kufirin e majtë të For Loop apo While Loop dhe me miun e djathtë, duke zgjedhur Add Shift Register.
Terminali i të dhënave të rastit - Random
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
53
Shift Register përmban një çift të terminaleve direkt dhe në anën e kundërta të kufijve të unazës. Terminali i djathtë ruan të dhënat pas kompletimit të një iteracioni. Këto të dhëna pastaj zhvendosen në terminalin e majtë, në fillim të iteracionit të ardhshëm. Një Shift Register mund të përmbajë çfarëdo të dhëna: Numerike, Boolean, string, Array, etj. Shift Register i përshtatet në mënyrë automatike të dhënave me të cilat lidhet, dhe ndërron ngjyrën sipas atyre të dhënave. Shift Register zyrtarisht kan vlerë iniciale 0, por mund të deklarohet edhe vlerë tjetër fillestare si vllerë iniciale.
Fig. 2.18. Pamja e funksionimit të Shift Register
Detyrë 2.13. (Bazuar në detyrën 2.3). Me anë të unazës For Loop dhe Shift Register, të realizohet programi për llogaritjen e shumës së numrave natyral prej 1 deri n.
Fig.2.19. Llogaritja e shumës së numrave natyral prej 1 deri në n
Vlera iniciale Vlera iniciale Vlera e re
Vlera e kaluar Vlera e re Vlera e re
Shif Register
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
54
Detyrë 2.14. (Bazuar në detyrën 2.13). Krijimi i listës së numrave. Me anë të unazës For Loop dhe Shift Register, të realizohet programi për llogaritjen e shumës së numrave natyral prej 1 deri n dhe ata numra të paraqiten në një listë të numrave, në formë të objektit Array.
Fig.2.20. Llogaritja e shumës së numrave natyral prej 1 deri në n dhe paraqitja në listë
Në këtë detyrë, për paraqitjen e rezultateve në tabelën Array, është krijuar në Front Panel objekti Array, si Indicator, dhe i është shtuar një Dimension, në opcionin Add Dimension. Në Block Diagram, Terminali i Array është vendosur në anën e djathtë jashtë unazës. Brenda unazës është krijuar terminali Build Array, nga paleta Functions->Array. Ky terminal në portin hyrës është i lidhur me vijën e Shift Register, ndërsa në portin dalës është lidhur me Indikatorin Array.
Detyrë 2.15. Me anë të opcionit Shift Register të paraqitet Grafiku që do të paraqet vlerat e rastit dhe mesataren e të tri vlerave – vlerës aktuale dhe dy vlerave të fundit të rastit.
Detyra paraqet perdorimin e Shift Registers për të llogaritur mesataren e numrave te rastit te gjeneruar nga terminali Random. Detyra do te paraqet ne njerën lakore vleren aktuale të rastit, ndersa në tjetren lakore mesataren e dy vlerave të fundit të rastit. Detyra krijohet me anë të unazës While Loop. Detyra nuk ndalet derisa te klikohet butoni Stop. Grafiku në Front Panel është krijuar me objektin Waveform Chart.
Fig.2.21. Krijimi i programit në Block Diagram për grafikun e të dhënave të rastit
Në detyrë është krijuar funksioni i dyfishtë Shift Register në hyrje. Kjo arrihet me Krijim e Shift Register, e pastaj me krijimin e një elementi shtesë në Add Element. Më tutje është krijuar terminali Compound Arithmetic, që përmban numrat e krijuar të rastit nga Random, si dhe dy numrat e iterimeve të kaluara. Shprehja e pjestimit për 3 paraqet mesataren e tri vlerave. Paraqitja e lakoreve është bërë me krijimin e terminalit Bundle të grupit Cluster, ndërsa në portin dalës të tij është lidhur Grafiku i të dhënave.
Terminali Build Array
Shif Register
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
55
Fig.2.22. Grafiku i krijuar në Front Panel. Ndarja e lakoreve është bërë me Stack Plots
Detyrë 2.16. Nga pajisja e çfarëdoshme hardverike virtuale e lidhur për kompjuteri, dhe e detektuar nga Lab View, janë lexuar vlerat e matjeve të temperaturës në milivolt (mV). Këto vlera të lexuara, të paraqitura në formë të objektit Array duhet lexuar në temperaturë në ºC, dhe duhet të paraqiten grafikisht. Të dhënat hyrëse dhe detyra e zgjedhur është treguar në Fig.2.23 dhe Fig.2.24. Në këtë detyrë, leximi është bërë në grafikun e temperaturës, dhe në indikatorin dalës të quajtur Temperatura.
Fig. 2.23. Pamja e detyrës në Front Panel
Fig. 2.24. Pamja e detyrës në Block Diagram
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
56
2.4. Krijimi i 3D grafikëve në Lab View
Grafikët e llojit 3D mund të krijohen në Lab View në lloje të shumta, të përmendura në kapitullin 1.6.1 të dispensës së ushtrimeve. Krijimi i tyre bëhet me anë të unazës së dyfishtë For Loop dhe llojit të grafit që do të paraqitet.
Detyrë 2.17. Të paraqitet grafiku i funksionit z = 4·x+y3
Fig.2.25. Pamja e programit për grafikun e funksionit z = 4·x+y3
Për realizimin e detyrës, në Front Panel zgjedhet objekti për 3D grafikun e llojit Mesh në Control->Graph->3D Graph-> Mesh. Ky opcion – Mesh zgjidhet një prej disa opcioneve të 3D grafeve. Mund të zgjidhen edhe opcionet tjera si Surface dhe Surface Graph. E vendosim objektin Mesh në Front Panel. Nëse shkojmë brenda grafit Mesh dhe klikojmë me miun e djathtë, paraqitet menyja e opcioneve si në Fig.2.26. Zgjedhim 3D Plot Properties për të rregulluar opcionet e grafit. Në Block Diagram krijojmë programin për paraqitjen grafike të funksionit, si në Fig.2.25. Në këtë Block Diagram janë krijuar dy unaza For Loop, njëra brenda tjerës. Unaza e brendshme përmban pjesën e funksionit 4·x.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime2
57
Fig.2.26. Rregullimi i parametrave kryesor të 3D grafit
Unaza e jashtme përmban numrin e iteracioneve i = 30, që do të thotë që funksioni do të llogaritet për 30 vlera. Unaza e jashtme përmban pjesën e funksionit +y3 . Unaza e jashtme lidhet me unazën e brendshme me operatorin N. Jashtë unazës së jashtme, në anën e djathtë është lidhur objekti – terminali i grafikut Mesh për kalkulim të rezultatit. Ky terminal përbëhet nga dy pjesë – Plot Helper dhe 3D Mesh. Portet hyrëse x vector dhe y vector të terminalit Plot Helper lidhen me daljet e ekuacionit nga For Loop. Ndërsa në z matrix lidhet dalja e funksionit z. Në dalje të objektit Plot Helper, njëri port lidhet me grafikun 3D Mesh ndësa porti tjetër dalës lidhet me terminalin Simple Error Handler. (Fig.2.27)
Fig.2.27. Terminali i Mesh për 3D grafik
Në këtë diagram për herë të parë është përdorur terminali Error (Fig.2.23). Ky terminal është Simple Error Handler, që merret nga Functions->Dialog & User Interface->Simple Error Handler. Ky terminal paraqet një VI të paraprogramuar që është pjesë e LabVIew. Tregon nëse ka ndodhur gabimi në program. Nëse paraqitet gabimi, kjo Vi tregon përshkrimin e gabimit dhe e tregon në një dialog box dritare.
Shkalla e grafikut dhe shkalla e variablave mund të rregullohet në 3D Plot Properties (Fig.2.26).
Detyrë 2.18. (Për ushtrime) Të paraqitet grafiku i funksionit z = x2+y2 duke përdorur opcionin Surface Graph. Të bëhet llogaritja për 100 vlera (iteracione).
Detyrë 2.19. (Për ushtrime) Të paraqitet grafiku i funksionit z = 3·x+2·y+1 duke përdorur opcionin 3D Mesh. Të bëhet llogaritja për 100 vlera (iteracione).
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
58
3. STRUKTURAT CASE
Strukturat Case janë objekte dhe terminale të LabView të cilat janë analoge me komandat if…then…else të gjuhëve programese tekstuale. Strukturat Case kanë disa opcione në program dhe janë konfiguruar të funksionojnë sikur fletët e librit, duke treguar vetëm njërën “fletë” apo opcion, ndërsa tjerat nuk shifen por qëndrojnë në prapavi.
Fig.3.1. Strukturat Case në bazë të llojit të të dhënave
Strukturat Case vendosen në Block Diagra, duke i marrë në Paletën Functions->Structures->Case Structure. Objektet tjera mund të vendosen brenda strukturës ose të lihen jashtë strukturës. Secili opcion – Case përmban një nëndiagram (subdiagram). Vetëm njëri opcion ekzekutohet, në vearësi të vlerës që ndodhet në terminalin e selektorit të Case strukturës. Terminali selector mund të jetë numeric, Boolean ose string. Nëse lloji i të dhënave është Boolean, struktura ka opcionin True ose False. Nëse lloji i të dhënave është Numeric ose String, struktura mund të ketë shumë opcione, në varësi të detyrës.
Më tutje janë dhënë disa shembuj të Strukturave Case.
Detyrë 3.1. Të krijohet detyra me Case Structure ku njëri opcion i mbledh dy numra, ndërsa tjetri opcion i zbret dy numra. Lloji i kushtëzimit të jetë Boolean.
Detyra është paraqitur në Fig.3.2. Në këtë detyrë në Front Panel janë krijuar dy kontrolla që përmbajnë numrat të cilët mblidhen apo zbriten (a, b), një objekt Boolean i llojit të ndërprerësit Horizontal Toggle Sëitch dhe një object Indicator për të përaqitur rezultatin. Është krijuar Objekti Horizontal Toggle Switch rregullohet në Properties, me emrin Kushti, të tregojë ngjyrën e gjelbër dhe tekstin Mbledhje, në rastin kur kemi mbledhje të nurmave, dhe ngjyrën e kuqe dhe tekstin Zbritje, në rastin kur kemi zbritje të nurmave.
Në Block Diagram krijohet Case Structure nga Paleta Functions->Structures->Case Structure. Në anën e majtë të strukturës janë vendosur kontrollat hyrëse Numeric – Numri a dhe
Terminali selector
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
59
Numri b, si dhe kontrolli Horizontal Toggle Switch i cili lidhet me terminalin hyrës të Case Structurës me shenjën ?. Në dalje, në anën e djathtë të strukturës vendoset terminali Indikator – Rezultati.
Fig.3.2. Detyra me Case Structure për mbledhjen dhe zbritjen e dy numrave me kushtin Boolean
Në terminalin Selector të Case Structure, opcioni zyrtar është True, që shihet në pjesën e epërme të srukturës. Në këtë opcion, brenda Case strukturës vendosim operatorin e mbledhjes Add, dhe e lidhim në portet e tij hyrëse me kontrollat Numri a dhe Numri b, ndërsa në portin dalës me indikatorin Rezultati. Zgjedhim opcionin False nga terminali Selector. Në këtë opcion, brenda Case strukturës vendosim operatorin e zbritjes Subtract, dhe e lidhim në portet e tij hyrëse me kontrollat Numri a dhe Numri b, ndërsa në portin dalës me indikatorin Rezultati. E testojmë detyrën duke i dhënë vlera numerike kontrollave Numri a dhe Numeri b, dhe duke ndërruar opcionet e objektit Kushti.
Detyrë 3.2. Të krijohet detyra me Case Structure ku njëri opcion i shumëzon dy numra a*b, tjetri opcion i pjeston dy numra a/b, ndërsa opcioni i tretë llogarit a2 + b2 . Lloji i kushtëzimit të jetë Numeric.
Detyra është paraqitur në Fig.3.3. Në këtë detyrë në Front Panel janë krijuar objektet e njejta, përveq objektit Numeric me emrin Opcioni, që paraqet objektin ku zgjidhet njëri prej opcioneve, 0, 1, ose 2.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
60
a. Opcioni 0 - i shumëzimit
b. Opcioni 1- i pjestimit
c. Opcioni 2- i llogaritjes a2 + b2
Fig.3.3. Detyra me Case Structure për mbledhjen dhe zbritjen e dy numrave me kushtin Numeric Në Block Diagram krijohet Case Structure nga Paleta Functions->Structures->Case Structure. Në anën e majtë të strukturës janë vendosur kontrollat hyrëse Numeric – Numri a dhe Numri b, si dhe kontrolli Opcioni i cili lidhet me terminalin hyrës të Case Structurës me shenjën ?. Në dalje, në anën e djathtë të Case strukturës vendoset terminali Indikator – Rezultati. Në terminalin Selector të Case Structure , opcioni zyrtar është 0, Default. Duhet të kemi tri opcione, pasi do të kryejmë tri veprime algjebrike me numrat a dhe b. Mbi operatorin Selector klikojmë me miun e djathtë, dhe zgjedhim Add Case After. Do të krijohet opcioni me numër 2.
dhe a2+b2
dhe a2+b2
dhe a2+b2
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
61
Në opcionin me numër 0 krijohet operatori i shumëzimit Multiply dhe e lidhim në portet e tij hyrëse me kontrollat Numri a dhe Numri b, ndërsa në portin dalës me indikatorin Rezultati. (Fig.3.3.a) Në opcionin me numër 1 nga terminali Selector brenda Case strukturës vendosim operatorin e pjestimit Divide, dhe e lidhim në portet e tij hyrëse me kontrollat Numri a dhe Numri b, ndërsa në portin dalës me indikatorin Rezultati. (Fig.3.3.b) Në opcionin me numër 2 nga terminali Selector brenda Case strukturës krijojmë programin për llogaritjen e a2 + b2, dhe e lidhim në portet e tij hyrëse me kontrollat Numri a dhe Numri b, ndërsa në portin dalës me indikatorin Rezultati. (Fig.3.3.c)
Në kuadër të Case Structure, në operatorin terminal, opcioni Default mund të ndërrohet dhe ti deklarohet ndonjë opcioni tjetër. Detyrë 3.3. Të krijohet detyra me Case Structure ku njëri opcion i shumëzon dy numra, ndërsa tjetri opcion i pjeston dy numra. Lloji i kushtëzimit të jetë String.
Detyra është paraqitur në Fig.3.4. Në këtë detyrë është përdorur për herë të parë String kontrolla e quajtur Combo Box, që zgjedhet nga paleta Controls->String&Path->Combo Box me emrin Zgjidhe Opcionin. Në këtë kontrollë janë vendosur-shkruar dy opcionet e shumëzimit dhe pjestimit të cilat zgjedhen. Kjo kontrollë pastaj është lidhur në Case Structure.
Fig.3.4
Në objektin Combo Box, klikojmë me miun e djathtë, paraqitet menyja, nga e cila zgjedhim Edit Items. Paraqitet dritarja si në Fig.3.4.a. Në Items, me anë të klikim në Insert, mund të shtojmë opcionet e Combo Box që paraqiten në Case Structure. Në këtë rast shkruajëm Shumëzim dhe Pjestim. Në Terminalin e kontrollit të Case Structure janë shkruar opcionet Shumëzim dhe Pjestim, në të cilat krijohen programet përkatëse si në dy detyrat më lartë.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
62
Fig.3.4.a.
Detyrë 3.4. Me anë të Case Structures të paraqitet grafikisht funksioni F(x) që plotëson
kushtet, sipas vlerës së dhënë të x= -99…99. Grafiku të paraqitet veqmas për secilin nga dy opcionet. (Shiqo edhe detyrën 2.6)
2x-1 për x < 0 F(x) =
x2 + 1 për x ≥ 0
Detyra zgjidhet duke aplikuar unazën Foor Loop brenda Case Structure për të realizuar funksionin grafikisht (Fig.3.6). Në Front Panel (Fig.3.5) krijohet grafiku i funksionit, dhe kontrolla e quajtur Zgjedhe opcionin, me dy mundësi – 0 ose 1. Opcioni 0 paraqet grafikun e funksionit 2x-1, më i vogël se zero, ndërsa opcioni 1 paraqet grafikun e funksionit x2 +1, më i madh ose baraz me zero. Në fig.3.6 është paraqitur programi në Block Diagram, në të cilin në opcionin 0 është krijuar programi për paraqitjen e grafikut 2x-1, ndërsa në opcionin 1 është krijuar programi për paraqitjen e grafikut x2+1. Brenda Case Structure është krijuar unaza For Loop me programin për zgjidhjen e funksionit, pastaj me lidhjen dalëse Cluster të llojit Bundle dhe me terminalin e diagramit xy.
Fig.3.5
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
63
Fig.3.6
Detyrë 3.5. Me anë të Case Structures të llogaritet rrënja katrore e vlerës së dhënë x. Programi të llogarisë rrënjën katrore për vlera të x≥0, dhe të lajmërojë gabim nëse vlera e x<0.
a) b)
c) Fig.3.7. Programi për llogaritjen e rrënjës katrore
Në detyrë, në Front Panel madhësia hyrëse është kontrolla Vlera x ndërsa madhësia dalëse është indikatori Rezultati – rrenja katrore e x. Në Block Diagram është krijuar program për opcionin True dhe False. Në True të Case Structure është paraqitur opcioni i llogaritjes së rrënjës katrore me terminalin Sqare Root nga paleta Functions->Numeric dhe është lidhur me portin hyrës dhe dalës të Case Structure. Në opcionin False është krijuar për herë të parë, opcioni i deklarimit të paraqitjes së gabimit, duke zgjedhur terminalin Functions-> Dialog & User Interface->One Btn
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
64
Dialog. Në hyrje të këtij terminali krijohet një String konstantë, duke e zgjedhur nga Functions-> String->String Constant. Në këtë terminal e shkruajmë Gabim, numri negativ. Kjo do të thotë që nëse shkruajmë numrin negative në Vlera e x, do na paraqitet gabimi si në fig.3.7.b.
Fig. 3.8. Zgjedhja e terminaleve për deklarimin e gabimit
3.1. STRUKTURA SEKUENCIALE
Këto struktura përbëhen nga një apo më shumë nëndiagrame apo korniza që ekekutojnë në mënyrë sekuenciale. Me anë të klikimit në kufirin e strukturës me miun e djathtë dhe me zgjedhjen e Add Frame After, shtojmë sekuencat njëra pas tjetërs ose për të kaluar të dhënat nga një kornizë në tjetrën (Fig.3.9). Strukturat sekuenciale zgjedhen nga paleta Functions-> Structures->Stacked Sequence Structure. Këto sekuenca përdoren edhe për të ekzekutuar nëndiagramet njëri pas tjetrit.
Fig.3.9. Krijimi i strukturave sekuenciale
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
65
Detyrë 3.6. Me anë të Stacked Sequence Structure të paraqitet grafikisht funksioni F(x) që plotëson kushtet të treguara më poshtë. Grafiku të paraqitet veqmas për secilin nga tri opcionet. Detyra është treguar në Fig.3.10, Fig.3.11, Fig.3.12.
3x+1 për x < 0
F(x) = x2 - 1 për 0 ≤ x < 10
2x-3 për 10 ≤ x < 99
Detyra është realizuar duke paraqitur tre grafikët në Front Panel. Në Block Diagram është realizuar programi ku janë krijuar tri sekuenca me anë të Stacked Sequence Structure të numëruara me 0, 1, 2, për secilin funksion përkatësisht. Në secilën sekuencë është krijuar program me For Loop, me lidhjen dalëse të llojit Cluster dhe me terminalin e diagramit xy. Në sekuencën 0 është krijuar program për paraqitjen e grafikut 3x+1, për kushtin x < 0 dhe është lidhur me grafikun e parë në Front Panel. Në sekuencën 1 është krijuar program për paraqitjen e grafikut x2 - 1, për kushtin 0 ≤ x < 10 dhe është lidhur me grafikun e dytë në Front Panel. Në sekuencën 2 është krijuar program për paraqitjen e grafikut 2x-3, për kushtin 10 ≤ x < 99 dhe është lidhur me grafikun e tretë në Front Panel. Përparësia e Stacked Sequence Structure është se nuk ka nevojë të krijohet dhe të zgjedhet opcioni për ekzekutim. Në këtë rast ekzekutohen të tri diagramet përnjëherë.
Fig.3.10. Pamja e detyrës në Front Panel
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
66
Fig.3.11. Pamja e pjesë së Stacked Sequence me vlerë 0, për 3x+1, për kushtin x < 0
Fig.3.12. Pamja e pjesë së Stacked Sequence me vlerë 1, për x2 - 1, për kushtin 0 ≤ x < 10
Fig.3.13. Pamja e pjesë së Stacked Sequence me vlerë 2, 2x-3, për kushtin 10 ≤ x < 99
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime3
67
Detyrë 3.7. (Për ushtrime) Me anë të Stacked Sequence Structure të paraqitet grafikisht funksioni F(x) që plotëson kushtet të treguara më poshtë. Grafiku të paraqitet veqmas për secilin nga tri opcionet.
2x3-x+1 për x < 0
F(x) = 1-x2 për 0 ≤ x < 10
ln(x+1) për 10 ≤ x < 99
3.2. STRUKTURA E FORMULAVE – FORMULA NODE
Në kuadër të LabView ekziston edhe struktura që mund të bëjë evaluimin e formulave dhe shprehjeve të ngjashme me gjuhën programuese C në Block Diagram. Strukturat e formulave zgjedhen nga paleta Functions-> Structures->Formula Node. LabView përkrah shumë funksione që përdoren edhe në gjuhën C që mund të aplikohen në këtë strukturë: abs, acos, acosh, asin, asinh, atan, atan2, atanh, ceil, cos, cosh, cot, csc, exp, expm1, floor, getexp, getman, int, intrz, ln, lnp1, log, log2, max, min, mod, pow, rand, rem, sec, sign, sin, sinc, sinh, sizeOfDim, sqrt, tan, tanh. Këto funksione do ti përdorim edhe në detyra tjera të ardhshme.
Detyrë 3.8. Me anë të strukturës së formulave Formula Node të paraqitet programi për llogaritjen e shprehjes së funksionit F(x) të dhënë më poshtë. Detyra është treguar në Fig.3.14.
2x+1 për x ≥ 0
F(x) = x3 + 1 për x < 0
Fig.3.14. Programi për llogaritje me anë të Formula Node
Në detyrë, brenda Formula Node është krijuar programi nga gjuha programuese C për llogaritjen e funksionit në bazë të vlerës së x të krijuar si kontrollë në Front Panel. Rezultati është paraqitur në formë të madhësisë Indicator. Të dy këto objekte janë lidhur me Formula Node. Kontrolla Vlera e x është lidhur me hyrjen e Formula Node në portin x, ndërsa Indikatori Rezultati y është lidhur në portin y dalës të Formula Node.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime4
68
4. KRIJIMI I subVI
Sub Vi - që në përkthim i bie nënVi, apo nëngrup i Vi, paraqet një Vi në kuadër të një Vi tjetër. Një SubVi krijohet njejtë si një Vi, dhe mund të aplikohet në një apo më shumë Vi. Duhet paraprakisht të përcaktohet ikona e subVi si dhe madhësitë hyrëse dhe dalëse që pastaj do të lidhen në Vi.
Një SubVi i korrespondon një një nënrutine në gjuhët tjera programuese që zakonisht quhet subroutine. Përdorimi kryesor është të krijohet një sekuencë programuese që mund të përdoret disa herë në një Vi të çfarëdoshme, apo në disa Vi.
Pas krijimit të një Vi që destinohet për subVi, atëherë do të krijohet edhe ikona përkatëse, dhe madhësitë hyrëse dhe dalëse.
Detyrë.4.1. (Referuar në detyrën 2.8) Në detyrën 2.8, fq.49, është treguar detyra e paraqitjes së grafikut të funksionit y = 4·x3-1, për vlerat x= -30…+30. Në fig.4.1 është treguar Block Diagram i programit për grafikun e funksionit.
Fig. 4.1. Block Diagrami me unazën For Loop, për krijimin e funksionit y= 4·x3-1, në vlerat x=-30…+30
Hapim detyrën 2.8, dhe e ruajmë si detyrë e re 4-1-Funksioni-4x3-1-me subvi. Në Block Diagram të detyrës, në kuadër të unazës For Loop, janë përsëritur dy herë i njejti operacion matematikor për llogaritjen e funksionit y = 4·x3-1, njëri për llogaritjen në vlerat negative të x (lartë) dhe tjetri për llogaritjen në vlerat pozitive të x (poshtë), (të treguara brenda elipsës). Me qëllim që të mos përsëritet dy herë e njejta sekuencë në Block Diagram, do të krijojmë këtë grup të terminaleve dhe vijave në një subVi. E mbyllim këtë vi përkohësisht.
Hapi i ardhshëm - Krijojmë një vi të re, për Subvi, dhe në të vendosim vetëm terminalet e llogaritjes së funksionit y = 4·x3-1. Krijojmë në Front Panel një kontrollë – Vlera e x, si madhësi hyrëse, dhe një indikator- Rezultati y (Fig.4.2). Krijojmë apo kopjojmë sekuencën e terminaleve dhe vijave të llogaritjes së funksionit y = 4·x3-1 dhe e vendosim në Block Diagram. Lidhim kontrollën Vlera e x në hyrje të terminalit të fuqisë Poëer of x. Kontrollën Vlera e x, e bëjmë të dhënë integer, duke zgjedhur I32. Kjo për arsye se në vi të funksionit (Fig.4.1), terminal i
Dr.sc. Ilir D
iterimeve në dalje, n
Nëlidhjeve – dalëse nëzgjedhim
definuar –klikojmë nmiut klikovi. Klikojklikojmë Panel i lidrast kaltër
Nëklikojmë dritarja si
Pane
Doçi
i , si madhënga operator
F
ë pjesën e epConnection P
ë Vi. Klikojnjë konfigu
– një hyrësnë drejtkëndojmë në Frojmë në drejtnë Front Padhjeve do tër dhe protoka
ë pjesën djambi këtë bunë fig.4.4, e
eli i lidhjeve
ësi hyrëse mr i zbritjes Su
Fig. 4.2. Kriji
përme të FroPane (fig. 4.3jmë me miuuracion që
se dhe një ddëshin e majtont Panel kontkëndëshin e
anel indikatoë ndryshojë nalli).
Fig. 4
athtas të Pauton me mie quajtur Ico
Krijimi i ikonë
merr vetëm vubtract.
mi i subVi pë
ont Panel, në3). Ky panelun e djathtëi përshtatet
dalëse, prantë të Panelitntrollën Vlee djathtë (k
orin Rezultatngjyrën në v
4.3. Paneli i l
nelit të lidhjiun e djathtën Editor. Në
ës
Hyrje n
vlera të plota
ër llogaritjen e
ë këndin e dj ofron mundë në Panelimadhësive
ndaj zgjedhit të lidhjeve (ra e x. Me k
kursori prap ti y. Me këtëvarësi të lloj
lidhjeve – Con
hjeve është oë, zgjedhimë këtë editor
në Softverët in
a pozitive. L
e funksionit y
djathtë, paraqdësinë e krijin e lidhjevhyrëse në
im opcionin(kursori ndrykëtë veprim ndryshonë
ë veprim kriit të të dhën
nnection Pan
opcioni i krm nga menyj
janë shumë
xhinierik - LA
idhim indika
y = 4·x3-1
qitet elementimit të madh
ve, shkojmë vi. Kemi dy
n në kyshonë formkrijuam maformën) dheijuam madhënave që janë
e
rijimit të ikoa rënëse Edopcione gra
ABVIEW – Ush
atorin- Rezu
ti i quajtur Phësive hyrëste Patterns
y madhësi p
këtë panel. mën) dhe me adhësinë hyre me anë tëësinë dalëse definuar (n
onës për vi.dit Icon. parafike dhe tek
htrime4
69
ultati y
Paneli i se dhe s, dhe për të
Pastaj anë të
rëse të ë miut të vi.
në këtë
Nëse raqitet
kstuale
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime4
70
për krijimin e ikonës së subvi që e identifikon aty ku vendoset. Zgjedhim një simbol nga opcioni Glyphs (i treguar me shigjetë), që paraqitet në dritaren e ikonës në të djathtë.
Fig. 4.4. Dritarja e opcioneve për krijimin e ikonës së Subvi
Nëse dëshirojmë të ndryshojmë apo të vendosim tekst në ikonë, zgjedhim opcionin Icon Text dhe shkruajmë tekstin deri në 4 rreshta. Pas realizimit të të gjitha veprimeve, e ruajmë vi të krijuar dhe e emërojmë, p.sh. 4-1a-subvi.
Për të implementuar këtë vi të krijuar si subVi në një vi tjetër, e hapim edhe njëherë fajllin vi , detyrën 4.2, nga Fig.4.1, për paraqitjen e grafikut të funksionit y = 4·x3-1 me emrin 4-1-Funksioni-4x3-1-me subvi. Shlyejmë pjesën e terminaleve që llogarisin funksionin (nga fig.4.1, të rrethuara me elipsë). Në vend të tyre do të vendoset subvi e krijuar më lartë. (Fig.4.5).
Për të vendosur subvi të krijuar më lartë, në Block Diagram, në paletën Functions zgjedhim Select a Vi, dhe në dritaren e hapur për zgjedhjen e një fajlli, e zgjedhim 4-1a-subvi.vi. Në Block diagram del në formë të ikonës me një port hyrës dhe një port dalës (Fig.4.6). E vendosim brenda
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime4
71
unazës ForLoop, dhe e lidhim në portin hyrës me daljen e operatorit të numrave negativ (-x) dhe në dalje me Terminalin Cluster.
E bëjmë edhe njëherë të njejtin veprim duke zgjedhur edhe njëherë të njejtin SubVi me opcioni Select a Vi, dhe e vendosim në unazën For Loop. Këtë herë e lidhim me pjesën nga terminali i që paraqet numrat pozitiv të x dhe në dalje me Terminalin tjetër Cluster. Në pjesën tjetër të Block Diagramit nuk ndryshojmë asgjë.
Fig. 4.5. Front Panel dhe Block Diagrami për implementimin e SubVi
Fig. 4.6. Ikona e SubVi e krijuar paraprakisht, me një port hyrës dhe një port dalës
Pas ekzekutimit të detyrës – Fig.4.5, programi do të procesojë paraqitjen e diagramit, njejtë si në detyrën 2.8. Detyrë.4.2. Të krijohet një subvi, ngjashëm me detyrën 2-16, që lexon të dhënat e matjeve në milivolt (mV) të paraqitura në formë të objektit Array, ndërsa të dhënat dalëse duhet shndërruar dhe paraqitur në volt (V). Të dhënat hyrëse dhe dalëse të lidhen në Panelin e lidhjeve. Subvi e krijuar të ruhet dhe të emërohet.
Pas krijimit të subvi, të krijohet një vi, që do të përdorë subVi të krijuar për të simuluar instrumentin matës të temperaturës që shndërron të dhënat hyrëse në mV në të dhëna dalëse Temperaturë (ºC) të njësisë së caktuar.
SubVi e krijuar është paraqitur në Fig.4.7. Lartë në këndin e djathtë të Front Panel është treguar Paneli i lidhjeve dhe ikona e krijuar. Është emëruar 4-2a-Leximi i të dhenave ne volt-1.
Vi e krijuar për matjen e madhësisë dalëse, temperaturës në njësi ºFahrenheit apo ºCelcius, është paraqitur në Fig.4.9. Është emëruar 4-2-Konvertimi i volt ne temp.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime4
72
Fig.4.7. SubVi e krijuar dhe e emëruar 4-2a-Leximi i të dhenave ne volt-1
Fig.4.8. Ikona e krijuar për SubVi
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime4
73
VI me emrin 4-2-Konvertimi i volt ne temp merr vlerat e Volt (V) nga një SubVi, ato të dhena i konverton në temperature duke i shumëzuar me 10, dhe pastaj duke i paraqitur direkt në njesinë ºCelcius apo duke i konvertuar në ºFahrenheit, duke hapur Vi tjetër si SubVi. (Fig.4.9) Në madhësi hyrëse është paraqitur kontrolli Boolean i llojit Vertical Toggle Switch me emrin Shkalla e temp i cili në opcionin On jep rezultatin në ºC, ndërsa në opcionin Off jep rezultatin në ºFahrenheit. Opcionet janë rregulluar edhe me ngjyrë. Në dalje, në anën e djathtë të strukturës vendoset terminali Indikator – Thermometer i quajtur Temperatura që paraqet rezultatin e temperaturës.
Fig.4.9. Detyra e zgjedhur
Në këtë vi për herë të parë është përdorur Operatori Select, që jep si rezultat vlerën hyrëse t, ose f, në varësi nga vlera e s. Nëse s është TRUE, ky funksion jep vlerën e lidhur për t. Nëse është FALSE, ky funksion jep vlerën e lidhur për f. Ky operator-terminal mund të merret nga paleta Functions->Comparision->Select. (Fig.4.10)
Fig.4.10. Operatori Select
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
74
5. VEPRIMET ME FAJLLA NË LAB VIEW – FILE I/O
Operacionet me fajlla (skedarë) në LabView, të quajtura edhe si File input and output (I/O)
vendosin informatat apo shënimet, ruajnë dhe marrin informatat nga file apo skeda të formateve të
ndryshme në disk të kompjuterit, apo në ndonjë medium tjetër (Flash Disk, hard disk eksternal),
etj.
Lab View ka shumë funksione që merren me veprimet me fajlla, që njihen edhe me termën
File I/O. Të gjitha funksionet File I/O janë të vendosura në paletën Functions->File I/O. Këto
funksione ndërlidhem edhe me funksionet tjera në këtë paletë: Measurements I/O, Instrument I/O,
Signal Processing, etj. (Fig.5.1). Aplikim të rëndësishëm kanë në shkruarjen dhe ruajtjen e
informatave që merren me anë të matjeve nga pajisjet e ndryshme hardverike dhe sinjalet e
ndryshme.
Për të kuptuar më mirë File I/O procesin, do ta tregojmë me anë të shembujve me detyra.
Fig.5.1. Paleta File I/O me funksionet-terminalet
Detyrë.5.1. Të realizohet shkruarja e tekstit nga Front Panel dhe ai tekst të ruhet në një file
të ri të dhënave me titull Test1.dat.
Në Fig. 5.2. është treguar zgjedhja e detyrës. Në Front Panel është krijuar një kontrollë e
llojit String, nga paleta Controls->String&Path-> String Control me emrin Te dhenat (Fig.5.2.a).
Në këtë kontrollë do të vendoset teksti që do të shkruhet në një file.
Në Block Diagram është krijuar programi (Fig.5.2.b). Në program, nga e majta, është
krijuar terminali i parë Open/Create/Replace File nga paleta Functions->File I/O->
Open/Create/Replace File. Në portin hyrës të këtij terminali file path (use dialog) krijohet një
konstantë, që paraqet një string konstantë, në të cilën shkruhet vendndodhja e file dhe emri i fajll
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
75
që do të krijohet. Vendndodhja duhet të shkruhet bazuar në sistemin e file dhe folder të Sistemit
Operativ Windows, në formën, si p.sh:
G:\Shenime-Softveret inxhinierik1\LabView-ushtrime-detyra\Test1.dat
Vendndodhja e paraqitur tregon se fajlli që do të krijohet është fajll tekstual i llojit
test1.dat, dhe do të vendoset në një folder të diskut virtual G:
a)
b) Fig.5.2. Detyra e zgjidhur
Terminali Open/Create/Replace File paraqet terminalin kryesor për krijimin e një file,
hapjen apo zëvendësimin e një file duke përdorur edhe File dialog box – hapjen e dritares së
folderit ku vendoset apo ndodhet file.
Write to Text File – Paraqet terminalin tjetër të domosdoshëm që shkruan një të dhënë
tesktuale – String apo një vektor – Array me më shumë rreshta string në një file. Në këtë terminal,
në portin e tij hyrës – text lidhet porti dalës i indikatorit string – Te dhenat.
Simple Error Handler VI – Krijon informatat e gabimit – error dhe ato i paraqet në ekran,
nës rast se ka ndonjë gabim. Ky terminal është i lidhur në dy terminalet e programit, për të
informuar mbi gabimin në krijim të fajllit dhe në shkruarje të fajllit
Në Fig.5.3. është treguar file i krijuar tekstual me emrin Test1.dat. Ky file mund të hapet me anë
të programit Notepad. File tekstual mund të ruhet edhe në formatin txt, p.sh. test1.txt.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
76
Fig.5.3. Fajlli i krijuar – test1.dat dhe përmbajtja tekstuale e tij e krijuar në objektin string në LabView
Detyrë.5.2. Të realizohet shkruarja nga tri objekte nga Front Panel: një objekt String me
përmbajtje tekstuale dhe titullin Të dhënat, një vlerë numerike, dhe një një object String me
përmbajtje tekstuale dhe titullin Njësia matëse, që paraqesin të dhënat e përvetësuara nga
instrumenti matës i presionit. Teksti te ruhet në një file të ri tekstual me titull Test2.txt.
a)
b)
Fig.5.4. Detyra e krijuar
Në Fig. 5.4. është treguar zgjedhja e detyrës. Në Front Panel është krijuar një objekt i ri në
Controls->String&Path->File Path Control që paraqet objektin e definimit të vendndodhjes së
file që do krijohet (Fig.5.5). Objekti e ka emrin: Vendndodhja e fajllit qe krijohet dhe emri i fajllit.
Në këtë objekt shkruhet vendndodhja e folder dhe file që krijiohet.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
77
Janë krijuar edhe tri objekte tjera që paraqesin të dhënat që duhet shkruar në file të ri: një
kontrollë e llojit String, nga paleta Controls->String&Path-> String Control me emrin Te dhenat
(Fig.5.4.a), një objekt i llojit Numeric Control për të shkruar vlerën numerike të majtes, dhe një
tjetër object String nga Controls->String&Path-> String Control me emrin Njesia Matese.
Fig.5.5. Paraqitja e objektit string të llojit File Path Control në Front Panel
Në Block Diagram është krijuar programi (Fig.5.4.b). Në program, nga e majta, është
paraqitur terminali i parë File Path Control i krijuar në Front Panel i cili lidhet me portin hyrës të
terminalit Open/Create/Replace File nga paleta Functions->File I/O. Në tjetrin port hyrës të
terminalit Open/Create/Replace File në Operation definohet veprimi i shkruarjes në file, që në
këtë rast zgjedhet Create.
File Path Control lidhet dhe me terminalin Write to Text File nga paleta Functions->File
I/O. Në portin hyrës text të terminalit Write to Text File, lidhet terminali i ri Concatenate String që
ka për funksion mbledhjen e disa të dhënave hyrëse të llojit String në një grup të të dhënave
dalëse. Numri i porteve hyrëse të tij mund të shtohet sipas nevojës. Në portet hyrëse të këtij
terminali lidhen madhësitë hyrëse: Te dhenat, Vlera Numerike, Njesia Matese.
Në mes tyre është krijuar objekti , që paraqet Carriage Return Constant nga Paleta
Functions->String, që zakonisht përdoret për të shkruar të dhënat në rresht të ri.
Për shkak se terminali Concatenate String pranon vetëm madhësi tekstuale-string në hyrje,
atëherë madhësinë Vlera numerike që është madhësi numerike duhet shndërruar në teskt-string.
Kjo arrihet duke lidhur objektin Vlera numerike me objektin e ri Number to Decimal String që
merret nga Paleta Functions->String->Number/String Conversion, që bën konvertimin e vlerave
numerike në vlera tekstuale. Pastaj, portin dalës të Number to Decimal String e lidhim me portin
hyrës të Concatenate String.
Në dalje të objekteve Open/Create/Replace File dhe Write to Text File janë krijuar
terminalet e informimit mbi gabimin - Simple Error Handler VI .
Vendndodhja e paraqitur në detyrë tregon se fajlli që do të krijohet është fajll tekstual i
llojit test2.txt, dhe do të vendoset në një folder të diskut virtual G. File i krijuar është paraqitur në
Fig.5.6. Ky file mund të hapet me anë të programit Notepad.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
78
Fig.5.6. File i krijuar – test2.txt dhe përmbajtja tekstuale e tij e krijuar në detyrë
Detyrë.5.3. Leximi nga file. Të realizohet detyra që bën leximin e të dhënave nga file i krijuar nga
Detyra5.2, me titull Test2.txt.
a)
b)
Fig.5.7. Leximi i të dhënave nga file tekstual
Në Fig. 5.7 është treguar zgjedhja e detyrës. Në Front Panel është krijuar objekti File Path
Control nga Controls->String&Path që paraqet objektin e definimit të vendndodhjes së file që do
krijohet (Fig.5.7.a). Objekti e ka emrin: Vendndodhja e fajllit qe krijohet dhe emri i fajllit. Në këtë
objekt shkruhet vendndodhja e folder dhe file që krijiohet. Më poshtë, në Front Panel është krijuar
një drejtëz dekoruese, nga Controls->Decorations->Thick Line. Objekti tjetër poshtë me radhë
është një String Indicator nga Controls->String&Path me titull Të dhënat e lexuara nga file që do
të përaqesë përmbajtjen e file që lexohet, në këtë rast test2.txt.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
79
Në Block Diagram është krijuar programi (Fig.5.7.b). Në program, nga e majta, është
paraqitur terminali i parë File Path Control i krijuar në Front Panel i cili është lodhur me portin
hyrës të terminalit Open/Create/Replace File nga paleta Functions->File I/O. Në tjetrin port hyrës
të terminalit Open/Create/Replace File në Operation definohet veprimi i hapjes së file për lexim,
dhe në këtë rast zgjedhet Open.
Terminali File Path Control me emrin Vendndodhja e fajllit qe krijohet dhe emri i fajllit
lidhet edhe me terminalin e ri Read from Text File nga paleta Functions->File I/O. Në portin dalës
text të terminalit Read from Text File, lidhet terminali i objektit String Indicator që përdoret për të
paraqitur të dhënat nga file.
Në dalje të objekteve Open/Create/Replace File dhe Read from Text File janë krijuar
terminalet e informimit mbi gabimin - Simple Error Handler VI.
5.1. Krijimi i file tabelar të formatit .xls të programit Microsoft Excel
File tabelar janë të përshtatshëm për leximin dhe interpretimin e të dhënave nga
instrumentet matëse apo të dhëna tjera të mbledhura. LabView ofron mundësinë e shkruarjes në
file tabelar, veqanërisht në formatin e programit Microsoft Excel -.xls , .xlsx, apo në formatin
Comma Separated Values - .csv. Detyrë.5.4. Të krijohet file i formatit Excel (xls), dhe në këtë file të shkruhen të dhënat
numerike nga vektori i dhënë. Emri i file të quhet Test3.xls.
Në Fig. 5.8 është treguar zgjedhja e detyrës. Në Front Panel është krijuar objekti File Path
Control nga Controls->String&Path që paraqet definimin e vendndodhjes së file që do krijohet
(Fig.5.8.a). Objekti ka emrin: Vendndodhja e fajllit qe krijohet dhe emri i fajllit. Në këtë objekt
shkruhet vendndodhja e folder dhe file që krijiohet. Majtas, në Front Panel është krijuar objekti
vektor dydimensional, me 3 kolona dhe 7 rreshta, të cilat janë plotësuar me numra. Qëllimi i
detyrës është që këta numra të vektorit të dhënë të vendosen në një excel file.
Fig.5.8.a.
Në Block Diagram është krijuar programi (Fig.5.8.b). Në program, nga e majta, është
paraqitur terminali i parë File Path Control i krijuar në Front Panel i cili është lodhur me portin
hyrës të terminalit Open/Create/Replace File nga paleta Functions->File I/O. Në tjetrin port hyrës
të terminalit Open/Create/Replace File në Operation definohet veprimi i krijimit të file, dhe në
këtë rast zgjedhet create.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
80
Fig.5.8.b. Detyra e krijuar
Terminali File Path Control me emrin Vendndodhja e fajllit qe krijohet dhe emri i fajllit
lidhet edhe me terminalin e ri Write to Spreadsheet File.vi nga paleta Functions->File I/O. në
njërin port hyrës file path. Porti tjetër hyrës 2D data (Fig.5.9) lidhet me terminalin e vektorit të
krijuar në Front Panel – Vektori i dhënë. Në terminalin Write to Spreadsheet File.vi mund të
lidhet edhe vektori njëdimensional.
Në dalje të objektit Open/Create/Replace File është krijuar terminali i informimit mbi
gabimin - Simple Error Handler VI.
File i krijuar në formatin .xls është paraqitur në Fig.5.10.
Fig. 5.9. Sintaksa e terminalit Write to Spreadsheet File.vi
Në fig.5.9 është paraqitur terminali Write to Spreadsheet File.vi dhe sintaksa e tij. Është me
rëndësi të elaborohet elementi në krye të këtij terminali format (%.3f). Ky element paraqitet me
miu i djathtë->Create->Constant. Paraqet formatin e të dhënave që do të shkruehn në file të
krijuar. Ky element paraqitet edhe në terminale tjera që përdoren për shkruarje të të dhënave.
Formati i treguar në Fig.5.8.b në formën %#f do të thotë:
% - fillim i specifikimit të formatit
# - hiqen zero pas presjes dhjetore
f – paraqiten të dhëna të llojit Floating number me format decimal (p.sh. 11.4)
Përveq të dhënës f paraqiten edhe kode tjera të formateve:
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
81
x – Numër Hexadecimal (për shembull, B8).
o - Numër Octal (për shembull, 701).
b- Numër Binar (për shembull, 1011).
d - numër decimal i destinuar.
u - numër decimal i padestinuar.
e - Floating-point numër në format shkencor in scientific notation (për shembull, 1.14E1).
s – String (për shembull, Madhesi matese).
Sintaksa e formatit të shkruarjes së të dhënave është si vijon:
%[$][-][+][#][^][0][Width][.Precision || _SignificantDigits][{Unit}][<Embedded
information>]Conversion Code
Fig.5.10. File i krijuar në formatin tabelar – test3.xls dhe të dhënat e vektorit të krijuar në LabView të
shpërndara në tabelën e test3.xls
Detyrë.5.5. Të krijohet file i formatit Excel (.xls), dhe në këtë file të shkruhen të dhënat e
llogaritjes së shpehjes së funksionit F(x) = x+rand, në 5 rreshta dhe 10 shtylla. Funksioni rand
paraqet funksionin random që krijon numra të çfarëdoshëm në mes të 0 dhe 1. Emri i file të quhet
Test4.xls.
Fig.5.11.a
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
82
Në Fig. 5.11.a është treguar zgjedhja e detyës në Front Panel. Është krijuar objekti File
Path Control nga Controls->String&Path që paraqet definimin e vendndodhjes së file që do
krijohet (Fig.5.11.a). Objekti ka emrin: Vendndodhja e fajllit qe krijohet dhe emri i fajllit. Në këtë
objekt shkruhet vendndodhja e folder dhe file që krijiohet. Më poshtë, në Front Panel është krijuar
objekti Numeric Control, për të shkruar vlerën e x. Qëllimi i detyrës është që vlerat e funksionit të
shkruhen në file tabular të formatit .xls në 5 rreshta dhe 10 shtylla (në këtë rast 11, pasi paraqiten
edhe indekset e rreshtave).
b) Fig.5.11.b. Detyra e zgjidhur në Block Diagram
Në Block Diagram, në portin hyrës të terminalit Open/Create/Replace File në Operation definohet
veprimi i krijimit të file apo i mbishkruarjes së file, dhe në këtë rast zgjedhet replace or create.
Janë krijuar dy unaza For Loop njëra brenda tjetrës. Unaza e jashtme mundëson krijimin e
rreshtave-5, ndërsa unaza e brendshme krijimin e shtyllave -10 (Fig.5.11.b). Shtyllën e parë e
krijon terminali i unazës së jashtme – i. Shtyllën e dytë dhe të tretë e krijon terminali i paraqitjes së
dates dhe orës kur është krijuar file apo matjet.
Janë paraqitur edhe disa terminale për herë të parë:
Expression Node – është terminali i marrë nga paleta Functions->Numeric-> Expression Node, që
është e ngjashme me Formula Node nga kapitulli i strukturave, brenda unazës së brendshme. Në
këtë terminal shkruhet shprehja matematikore, që në këtë rast është x+rand. Në portin hyrës të
këtij terminali lidhet e dhëna hyrëse - variabla x, ndërsa në dalje lidhet me daljen e unazës së
brendshme.
Array To Spreadsheet String – nga Paleta Functions->String, konvertimi nga Array - vektor i
krijuar nga For Loop Unaza e brendshme në String-teksual për fajllin në excel. Ndodhet në unazën
e jashtme. Formati në këtë terminal në formën %3.3f për paraqitjen e të dhënave në Excel tabelë
do të thotë:
% - fillim i specifikimit të formatit
3.3 – numri paraqitet me më së shumti tri vlera para presjes dhjetore dhe tre numra pas presjes
dhjetore
f – paraqiten të dhëna të llojit Floating number me format decimal (p.sh. 11.4)
Number To Decimal String Function - nga Paleta Functions->String->Numer/String Conversion
Konvertimi nga vlera numerike ne String – tekst.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
83
Get Date/Time String Function - Konverton vlerën kohore në vlerë numerike të dates ose kohës,
ne zonën kohore të konfiguruar. Ky terminal është i vlefshëm për kohën, ne term te datës dhe orës,
dhe kalkulon vlerën ne sekonda. Ky terminal mundëson paraqitjen e datës dhe kohës së krijimit të
file.
- Operatori nga paleta Functions->String->Tab Constant që është i përshtatshëm për të shtyer-
kaluar të dhënat në kolonë tjetër. Në këtë detyrë është përdorur disa herë në terminalin
Concatenate Strings.
Të gjithë terminalet tjerë në detyrë janë të njohur paraprakisht. File i krijuar në formatin .xls me
titull test4.xls është paraqitur në Fig.5.12.
Fig.5.12. File i krijuar në formatin tabelar – test4.xls dhe të dhënat e funksionit f(x)=x+rand të paraqitura
në 5 rreshta dhe 10 (13) shtylla
5.2. SHKRUARJA E SINJALEVE TË SIMULUARA NË FILE
Detyrë.5.6. Të krijohet file i formatit Excel (.xls), dhe në këtë file të shkruhen të dhënat e
sinjalit të simuluar të llojit sinusoidë nga një instrument matës. Emri i file të quhet Test5.xlsx.
Detyra është e rëndësishme për kuptimin e sinjaleve me anë të LabView.
Në Fig. 5.13 është treguar zgjedhja e detyrës. Në Front Panel jane krijuar dy objekte nga
File Path Control nga Controls->String&Path që paraqesin definimin e vendndodhjes së file që
do krijohet (Fig.5.13.a). Objekti i parë ka emrin: Emri i fajllit. Në këtë objekt shkruhet emri i fajllit
që krijohet: Test5.xls. Objekti tjetër ka emrin: Vendndodhja e fajllit. Në këtë objekt shkruhet
vendndodhja e folder për file që krijohet.
Në Block Diagram, Fig.5.13.b është treguar programi i realizuar i detyrës. Programi ka një
unazë For…Loop me 10 iteracione. Në këtë detyrë për herë të parë janë përdorur tri terminale të
reja.
Terminali i parë, jashtë unazës, që përdoret si madhësi hyrëse është Build Path, që përdoret
për të krijuar vendndodhjen dhe emrin e file që krijohet. Gjendet në Functions->File I/O-> Build
Path. Terminali ka dy hyrje: Build Path – që krijon vendndodhjen e file në një folder, dhe Name or
relative path – emri i file që krijohet (Fig.5.14). Kjo është një procedurë tjetër, ndryshe nga detyra
më lartë e krijimit të një file dhe vendndodhjes së tij.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
84
a)
b) Fig.5.13
Fig.5.14. Sintaksa e terminalit Build Path
Terminal tjetër jashtë unazës, që përdoret si madhësi hyrëse është Simulate Signal, që
gjendet në Functions->Signal Processing->Waveform Generation->Simluate Sig (Fig.5.15). Ky
terminal ofron në mënyrë simulative gjenerimin e sinjaleve të ndryshme të instrumenteve dhe ato
sinjale i krijon në dalje në formë numerike (Fig.5.16). Objekti ofron disa lloje të sinjaleve (Signal
type): Sine-sinjal sinusoidë, square-sinjal katorë, triangle-sinjal trekëndësh, sawtooth-sinjal i
dhëmbëzuar, DC- Sinjal i rrymës së vazhduar. Gjithashtu mund të rregullohet frekuenca e sinjalit,
amplituda, faza, dhe offset-menjanimi nga pozita ndaj boshtit x, etj. Në rastin e detyrës sonë,
frekuenca e sinjalit është 11 Hz, amplituda e sinjalit λ = 2, faza φ = 0º, ndërsa offset =0. Samples
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
85
per second – paraqet numrin e vlerave të matura në second. Vlera zyrtare është 1000. Number of
samples – paraqet numrin e matjeve që paraqiten në file. Numri zyrar është 100.
Fig.5.15. Pozita e terminalit Simulate Sig
Fig.5.16. Vetitë e terminalit Simulate Sig dhe lloji i sinjalit Sine (Sinusoidë)
Fig.5.17. Sinjali sinusoidë me zhurmë uniforme (Uniform White Noise), që ka amplitudë 0.6
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
86
Element tjetër i rëndësishëm i sinjaleve në këtë terminal është zhurma e sinjalit (signal
noise) që paraqet madhësinë e parregullsive dhe jorrafshirave në sinjalin e gjeneruar (Fig.5.17). Në
këtë detyrë është zgjedhur zhurma e sinjalit Uniform White Noise, si njëri prej disa llojeve të
zhurmës, me amplitudë λ = 0.6.
Terminali tjetër brenda unazës është Write to Measurement File. Gjendet në Functions-
>File I/O->Write to Measurement File. Përdoret për të shkruar të dhënat nga matjet e sinjaleve në
një file. Nga Fig.5.13.a, dalja nga objekti Build Path lidhet me portin hyrës Filename, ndërsa dalja
nga objekti Simulate Sig lidhet me portin hyrës Signals. Nga porti dalës ErrorOut lidhet me
objektin e krijuar për paraqitje të gabimit - Simple Error Handler. Duhet pasur kujdes së ky
terminal në këtë version të LabView shkruan vetëm file excel të formatit .xlsx.
Pas ekzekutimit të detyrës do të paraqitet file si në fig.5.18, që paraqet të dhënat e
funksionit sinusoidë në vlera numerike.
Fig.5.18. File i krijuar test5.xlsx me vlerat numerike të funksionit sinusoidë
Detyrë.5.7. Të krijohet file i formatit Excel (.xls), dhe në këtë file të shkruhen të dhënat e sinjalit të
simuluar të llojit Sawtooth nga një instrument matës. Sinjali gjithashtu të paraqitet grafikisht.
Emri i file të quhet Test6.xlsx.
Në Fig. 5.19 është treguar zgjedhja e detyrës. Në Front Panel janë krijuar disa objekte:
File Path Control nga Controls->String&Path që paraqesin definimin e vendndodhjes së
file që do krijohet (Fig.5.19.a). Objekti i parë ka emrin: Emri i fajllit. Në këtë objekt shkruhet emri
i fajllit që krijohet: Test6.xlsx. Objekti tjetër ka emrin: Vendndodhja e fajllit. Në këtë objekt
shkruhet vendndodhja e folder për file që krijohet.
Dy objekte në të djathtë, janë krijuar për të definuar dy madhësi hyrëse. Objekti Knob me
emrin Frekuenca është krijuar për të dhënë madhësinë hyrëse të frekuencës së sinjalit, i ndarë në
10 shkallë. Objekti Knob është krijuar për të dhënë madhësinë hyrëse të amplitudës së sinjalit, i
ndarë në 10 shkallë.
Objekti tjetër është Waveform Graph, që paraqet sinjalin që gjenerohet me simulim. Në
rastin e detyrës sonë, është zgjedhur lloji i sinjalit Sawtooth (Shiqo Fig.5.16).
Në Block Diagram, Fig.5.19.b është treguar programi i detyrës. Programi ka një unazë
For…Loop me 5 iteracione. Programi është i ngjashëm me detyrën 5.6. Ndryshimi është se objekti
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime5
87
Frekuenca lidhet me portin hyrës Frequency të Simulate Signal. Ndërsa objekti Amplituda lidhet
me portin hyrës Amplitude të terminalit Simulate Signal. Kjo mundëson zgjedhjen e frekuencave
dhe amplitudave të dëshiruara dhe shiqimin e rezultateve të fituara në formë grafike dhe tabelare.
Në dalje të terminalit Simulate Signal dhe brenda unazës For Loop është krijuar terminali i
shkruarjes në file excel - Write to Measurement File dhe terminali i paraqitjes grafike Waveform
Graph.
a)
b)
Fig.5.19.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime6
88
6. REGJISTRIMI I TË DHËNAVE NGA PAJISJET
HARDVERIKE DHE KONTROLLI - DAQ
LabView është softver shumë i përshtatshëm për regjistrimin e të dhënave nga pajisjet
hardverike, makinat, llojet e ndryshme të instrumenteve, pajisjet matëse, etj dhe kontrollin e këtyre
pajisjeve me qëllim të aplikimit të skenareve të ndryshme të rregullimit të proceseve. Kjo jep
mundësinë e integrimit të pajisjeve hardverike që lidhen me kompjuter dhe krijimit të
aplikacioneve dhe procedurave programuese në LabView për të realizuar detyrat e nevojshme.
Procesi i regjistrimit të të dhënave nga pajisjet e jashtme hardverike quhet DAQ – Data
Acquisition. Ndërsa pajisjet hardverike nga të cilat regjistrohen të dhënat quhen DAQ device
(DAQ pajisje) apo DAQ board (DAQ pllakë).
Qëllimi kryesor i DAQ pajisjeve është matja e sinjaleve apo gjenerimi i sinjaleve reale nga
këto pajisje. Qëllimi është që këto sinjale të maten apo gjenerohen me anë të pajisjeve të lidhura
me kompjuter dhe të mund të menaxhohen me anë të softverit LabView.
Para se një sistem i bazuar në kompjuter të mund të masë një sinjal fizik, një sensor apo
transducer (konvertor) duhet të konvertojë sinjalin fizik në sinjalin elektrik siq është tensioni,
intensitetii rrymës apo rezistenca. Shpesh për këtë qëllim përdoret një pajisje konvertuese DAQ që
është e lidhur në kompjuter dhe komunikon me ndonjë port të caktuar. Këto pajisje bëjnë edhe
rregullimin e sinjalit. Pas realizimit të lidhjes hardverike në mes të pajisjes dhe kompjuterit,
softveri LabView kontrollon sistemin DAQ duke kërkuar, mbledhur të dhënat, analizon të dhënat
dhe prezenton rezultatet. Pas këtij procesi mund të realizohet edhe procesi i kundërt, në bazë të
dhënave mund të realizohen skenaret e kontrollit apo rregullimit duke përdorur DAQ pajisjet.
Kompjuteri dhe DAQ modulet komunikojnë me anë të porteve të ndryshme: porte paralele, USB,
ose PCMCIA. Këto lloje të sistemeve për komunikim janë praktike për mbledhjen e të dhënave
dhe krijimin e aplikacioneve.
Fig.6.1. Konfiguracioni i pajisjes për regjistrimin dhe gjenerimin e sinjaleve
Porti i lidhjes (COM,
USB, etj.)
Softveri
LabView
DAQ moduli i mbledhjes
të dhënave dhe kontrollit)
Pajisja që matet apo
kontrollohet
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
89
Për të kuptuar procedurat e DAQ për mbledhjen dhe gjenerimin e sinjaleve, do të përdorim
pajisjen apo modulin DAQ të llojit NI USB-6008 të krijuar nga kompania National Instruments, që
mundëson veprimet me sinjale nga pajisjet hardverike dhe krijimin e aplikacioneve në LabView
për mbledhjen e të dhënave, matjen e madhësive të ndryshme elektrike dhe krijimin e kontrollit.
Kjo pajisje është pjesë e kompanisë National Instruments (NI) që ka krijuar programin LabView
dhe komunikon me lehtësi me programin LabView. (Fig.6.2)
Fig.6.2. Pajisja NI USB 6008
Fig.6.3. Pjesët tjera përcjellëse të NI USB 6008
Pajisja NI USB 6008 vjen në kutinë së bashku me pjesët përcjellëse që janë: CD me driver
për instalim, dy blloqet terminale (majtas dhe djathtas), USB kabllo për lidhje me kompjuter dhe
manuali për instalim.
Për të funksionalizuar këtë pajisje duhet të instalohen së pari driver-ët në kompjuter që janë
kompatibil me sistemin Operativ Windows. Versioni i tyre në CD është NI-DAQmx 9.1.7. që
90
mundëson insalimin e driverëve që përkrahin pajisjet hardverike të prodhuesit National
Instruments.
Vërejtje: Çdo prodhues i pajisjeve, makinave dhe instrumenteve që ofron opcionin për ti
lidhur ato pajisje në kompjuter duhet të krijojë dhe ofrojë edhe driver-ët përkatës në varësi nga
sistemi operativ i kompjuterit.
Fig.6.4. Opcioni i instalimit të NI-DAQmx 14.5 (version i fundit)
Me qëllim të qasjes në versionin e azhuruar të NI-DAQmx, preferohet të shkarkohet dhe
instalohet version i fundit i këtyre driver-ëve në ëeb faqen e NI (Fig.6.4):
http://search.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/catnav:du,n8:3478.41.181
.5495,ssnav:ndr/
Pas instalimit, bëjmë lidhjen e pajisjes NI USB 6008 me kompjuter me anë USB kabllos.
Sistemi Operativ Windows i kompjuterit do ta detektojë këtë pajisje si pajisje e lidhur në njërin
prej USB porteve të kompjuterit. Për të verifikuar nëse pajisja është funksionale e bëjmë
verifikimin dhe testimin në modulin e programit LabView të quajtur NI MAX që është instaluar së
bashku me LabView. Pas hapjes së këtij moduli, shfaqet dritarja si në fig.6.5.
Shkojmë në Devices and Interfaces dhe e klikojmë, dhe na paraqiten pajisjet hardverike të
lidhura që detektohen nga sistemi NI MAX. Këtu është paraqitur pajisja NI USB-6008 me Emrin
“Dev 1”. Në anën e djathtë paaqiten shënimet e pajisjes si dhe opcionet për testim.
Në Self-Test ofrohet opcioni për testim të funksionalitetit të pajisjes. Nëse çdo gjë është në
rregull me pajsijen do të jep konfirmimin The self test completed successfully.
Në Test Panels paraqitet opcioni i testimit dhe analizës së detajuar të pajisjes së zgjedhur.
(Fig.6.6). Këtu mund të testohen:
- Analog Input (Hyrjet analoge) të pajisjes, Analog Output (Daljet Analoge), Digital I/O
(Hyrjet/Daljet digjitale), Counter I/O (Numrimi dhe dalja e sinjaleve të caktuara digjitale).
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
91
Fig.6.5. Moduli i verifikimit dhe testimit NI MAX
Fig.6.6. Test Panels- testimi dhe analiza e detajuar e pajisjes
Konfiguracioni i pajisjes NI USB 6008 është i përbërë nga porte analoge që mund të jenë
porte hyrëse dhe dalëse, porte digjitale, porte të tokëzimit, etj. Skema e tyre është treguar në
Fig.6.7.
Karakteristikat kryesore teknike të kësaj pajisje janë:
Inputet analoge
Kanalet single-ended 8
Kanalet diferenciale 4
Diapazoni maksimal i tensionit -10 V - 10 V
Toleranca e saktësisë 138 mV
Diapazoni minimal i tensionit -1 V - 1 V
Numri i rangjeve 8
92
On-Board Memoria 512 B
Outputet analoge
Numri i kanaleve 2
Diapazoni maksimal i tensionit 0 V - 5 V
Toleranca e Saktësisë 7 mV
Diapazoni minimal i tensionit 0 V - 5 V
Shkalla e azhurimit 150 S / s
Digital I / O
Kanalet dydrejtimëshe 12
Kanalet Input-Only 0
Kanalet Output-Only 0
Digital Input
Diapazoni maksimal i tensionit 0 V - 5 V
Digital Output
Diapazoni maksimal i tensionit 0 V - 5 V
Ekzistenca e OEM versioneve
Kompatibil me LabView,
LabWindows™/CVI, dhe Measurement
Studio for Visual Studio .NET
Fig. 6.7. Pamje e porteve të NI-USb 6008
Kjo pajisje në njërën anë ka portet analoge, në anën tjetër porte digjitale. Në Fig.6.7,
kuptimi i porteve është:
GND – tokëzim (Ground). Pika referuese për matjet e inputeve analoge, tensionin e outputeve
analoge, sinjalet digjitale, furnizimit +5 VDC, dhe +2.5 VDC në konektorin I/O.
AI <0..7> - Kanalet e inputeve analoge prej 0 deri 7. Për matje single-ended, secili sinjal është një
kanal i hyrjeve (inputeve) analoge të tensionit. Për matje diferenciale, AI0 dhe AI 4 janë inputet
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
93
positive dhe negative të kanalit për inputet diferenciale 0. Sinjali gjithashtu shkon në çift me
kanalet e hyrjeve diferenciale: AI<1, 5>, AI<2, 6>, and AI<3, 7>.
AO <0, 1> - Analog Output kanalet 0 and 1— Furnizojnë me tension dalës AO kanalin 0 dhe
AO kanalin 1.
P0.<0..7> - Port 0 Digital I/O kanalet 0 deri 7— mund të konfigurohet në mënyrë individuale
secili kanal si input ose output.
P1.<0..3> - Port 1 Digital I/O kanalet 0 to 3— mund të konfigurohet në mënyrë individuale
secili kanal si input ose output informatë.
PFI 0 GND Input PFI 0— Ky pin është i konfigurueshëm ose si digital trigger apo input i
numërimit të ngjarjeve (event counter). Triggering do të thotë mbledhja apo gjenerimi i sinjaleve
apo informatave në rast se është plotësuar kushti.
+2.5 V GND Output ose +2.5 V Referenca eksternale — përdoret si referencë për testim. NI
USB-6008/6009 krijon një tension refereues të pastër furnizues për ADC, duke përdorur
rregullorin e shumë gjendjeve (multi-state regulator), amplifikator, dhe filterin e qarqeve. Mund të
përdoret referuesi +2.5 V si sinjal për self-test (autotestim)
+5 V GND Output +5 V burim i rrymës— ofron rrymën +5 V, deri në 200 mA. NI USB-
6008/6009 furnizon me 5 V, 200 mA output. Ky burim i rrymës mund të përdoret për të furnizuar
komponentet eksternale.
Fig. 6.8. Pamja anësore e orteve të NI USB 6008
Detyrë 6.1. Të krijohet vi për realizimin e loopback testimit nga hyrja në dalje të pajisjes NI
USB 6008.
Detyra ka të bëjë me lidhjen enjë kablloje në NI USB nga porti në hyrje në portin dalës,
dhe matjen e vlerave të tensionit të rrymës në dalje bazuar në vlerat e dhëna të tensionit në hyrje.
Kemi të bëjmë me detyrë të matjes së të dhënave dalëse. Më poshtë është dhënë foto dhe vi e
detyrës.
Për të realizuar detyrën, së pari duhet lidhur pajisjen NI USB 6008 me kompjuter përmes
USB kabllos. Pastaj marrim një tel rryme të thjeshtë, dhe njërin skaj e lidhim me portin hyrës AI0
dhe tjetrin skaj me portin dalës AO0. Kjo do të mundësojë që të dhënat hyrëse që i japim në portin
hyrës të paraqiten në portin dalës. (Fig.6.9)
94
Fig.6.9. Lidhja loopback e pajisjes në mes të portit hyrës AI0 dhe portit dalës AO 0
Krijojmë një vi të ri në LabView. Në Front Panel krijojmë detyrën si në Fig.6.10. Krijojmë
një objekt Dial, me emrin Rregullator (Hyrje) dhe e ndajmë në shkallë në mes të 0 dhe 5, që
paraqesin vlerat e tensionit që mund të mat pajisja USB NI 6008 në dalje.
Pastaj krijojmë një objekt tjetër për matje Meter nga Controls->Numeric->Meter, dhe e
emërojmë Metri në dalje. Në Properties->Scale të këtij objekti e ndajmë në shkallë në mes të 0
dhe 5. Ky do të jetë objekti apo matësi që do të paraqesë të dhënat e madhësive të matura si
madhësi dalëse me anë të treguesit gjilpërë.
Fig.6.10. Detyra e realizuar në Front Panel
Krijojmë Programin në Block Diagram. Krijojmë një While Loop unazë, që nënkupton se
detyra do të ekzekutohet deri në ndalimin e saj nga përdoruesi. Në While Loop së pari krjojmë
objektin – butonin STOP, duke zgjedhur në terminalin e kushtëzimit të While Loop opcionin
Create Control.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
95
Më tutje objektin Rregullator (Hyrje) e vendosim brenda unazës (Fig.6.11). Krijojmë
terminalin për herë të parë DAQ Assistant. Këtë objekt e marrim nga Functions->Measurement
I/O->NI-DAQmx-> DAQ Assist. (Fig.6.12). Duhet pasur parasysh se kjo ikonë paraqitet vetëm
nëse është instaluar moduli NI-DAQmx.
Fig.6.11. Detyra e realizuar në Block Diagram
Fig.6.12. Zgjedhja e ikonës DAQ Assist
Pas zgjedhjes së ikonës, inicohen procedurat për krijimin e DAQ assistant. Paraqitet
dritarja si në fig. 6.13. Paraqiten dy opcione kryesore: Acquire Signals dhe Generate Signals. E
para ofron opcionin e mbledhjes së sinjaleve, ndërsa e dyta është opcioni i krijimit apo gjenerimit
të sinjaleve.
Zgjedhim opcionin Generate Signals, dhe pastaj Analog Output. Paraqiten dy madhësi
matëse, zgjedhim Voltage – do të thotë matje e tensionit në volt, dhe Current – matje e rrymës në
amper. Opcioni Current nuk është i aplikueshëm për pajisjen NI USB 6008. Më tutje paraqitet
96
zgjedhja e portit dalës nga njëri prej dy porteve ekzistuese. Zgjedhim portin ao0 në të cilin është
lidhur teli në NI USB 6008. (Fig.6.14)
Fig.6.13. Gjenerimi i sinjaleve të tenstionit të rrymës në volt
Fig.6.14. Zgjedhja e portit dalës
Pas zgjedhjes së portit dalës, paraqitet dritarja si në fig.6.15, ku ofrohet opcioni i testimit të
madhësisë dalëse, në këtë rast volt, si dhe konfigurimi. Në diapazonin e tensionit: Min 0, Max 5, të
njësisë volt, nuk bëhet asnjë ndryshim pasi ky është diapazoni i pajisjes, dhe jashtë këtyre vlerave
pajisja nuk matë.
Është me rëndësi të zgjedhet mënyra e matjes RSE, që paraet matjen duke marrë parasysh
edhe tokëzimin.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
97
Në Generation Mode zgjedhim 1 Sample (On Demand) – që nënkupton që detyra gjeneron
një mostër të rezultatit për një veprim.
Nga menyja e Generation Mode paraqiten edhe këto opcione tjera:
- 1 Sample (HW Timed) – specifikon se detyrado të kërkojë apo gjenerojë një mostër në kufirin e
orës së hardverit.
- N Samples – specifikon se detyra kërkon apo gjeneron një numër të fundëm të mostrave të
rezultatit, të specifikuar nga opcioni në të djathtë Samples To Read/Write
- Continuous – Specifikon se se detyra kërkon apo gjeneron sinjale deri sa të ndalet.
Fig.6.15. Opcionet e testimit të matjes dhe konfigurimit të madhësisë dalëse
Pas zgjedhjes së konfiguracionit të nevojshëm, klikohet në OK, dhe paraqitet terminali si
në fig.6.11. E lidhim objektin Rregullator (Hyrje) me portin hyrës data të terminalit DAQ
Assistant. Mos të harrojmë se ky terminal ka funksionin e mbledhjes së sinjaleve si madhësi
hyrëse nga objekti Rregullator (Hyrje).
Vazhdojmë ngjashëm me krijimin e terminalit DAQ Assistant2 si terminal për paraqitjen e
madhësive të matura më herët në objektin Metri në dalje (fig.6.11). Fillojmë prap procesin e
krijimit të DAQ Assistant. E marrim nga Functions->Measurement I/O->NI-DAQmx-> DAQ
Assist. (Fig.6.12). Paraqitet dritarja, Fig.6.16. Zgjedhim Acquire Signals, që do të thotë kërkimi i
sinjaleve apo paraqitja e sinjaleve. Pastaj zgjedhim Analog Input, dhe Voltage.
Në Acquire Signals, janë disa nënopcione – Analog Input, Counter Input, Digital Input,
TEDS. E zgjedhim Analog Input, pasi në detyrën tonë kemi mbledhjen e sinjaleve nga porti analog
AI0.
98
Fig.6.16. Dritarja e krijimit të DAQassistant të ri.
a) b)
Fig.6.17. Vazhdim i krijimit të DAQ Assistant
Pas zgjedhjes së Analog Input, paraqitet opcioni si në fig.6.17.a, zgjedhja e madhësisë që
matet. Mund të zgjedhim njërën prej madhësive të paraqitura:
- Voltage – tensioni i rrymës,
- Temperature – matja e temperaturës me eksitimin e termistorit të rrymës. Termistori është
një gjysëmpërques i krijuar nga oksidet e metalit, i presuar në ndonjë disk të vogël, apo të ndonjë
forme tjetër në temperaturë të lartë, dhe i veshur me ndonjë material ngjitës apo qelq. Nërastin e
kalimit të rrymës nëpër termistor, mund të lexohet tension në volt në termistro dhe tëpërcaktohet
temperature e tij. Termistorët kanë rezistencë të lartë –diku nëmes të 2000 deri 10000 Ω dhe
sensitivitet të lartë ~200 Ω/°C.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
99
Ka edhe madhësi tjera për matje të cilat nuk do ti elaborojmë këtu.
Në detyrë do të zgjedhim Voltage, që do të thotë se do të masim tensionin e rrymës në volt.
Pas zgjedhjes së Voltage, paraqitet dritarja Fig.6.17.b, që kërkon zgjedhjen e portit hyrës nga i cili
matet madhësia hyrëse. Zgjedhim aio. Në fund klikojmë Finish. Paraqitet dritarja si në fig.6.15.
Këtu kemi opcionet e testimit të matjes dhe konfigurimit. Nëse klikojmë Run, mund të paraqitet
test i vlerës që matet.
Më poshtë në Fig.6.18 paraqiten opcionet e konfigurimit të diapzaonit të madhësisë matëse
(Max, Min), Njësitë e shkallëzuara (Scaled Units), Mënyra e konfigurimit të terminalit
(Differential, RSE, etj), Shkallëzimi sipas zgjedhjes (Custom Scaling), mënyra e kërkimit të matjes
(Acquistion Mode), etj.
Fig. 6.18. Opcionet e testimit të matjes dhe konfigurimit të madhësisë hyrëse
Pas zgjedhjes së konfiguracionit të nevojshëm, klikohet në OK, dhe paraqitet terminali si
në fig.6.11. E lidhim terminalin DAQ Assistant2 me portin e tij dalës data me objektin Metri ne
dalje. Mos të harrojmë se ky terminal ka funksionin e mbledhjes së sinjaleve si madhësi hyrëse.
E testojmë detyrën duke ndërruar vlerat në objektin Rregullator (Hyrje) dhe pastaj duke i
shiquar ato vlera se si po ndryshojnë në treguesin e objektit Metri ne dalje. Vlerat paraqesin
tensionin në volt që gjenerohet nga porti hyrës i pajisjes në portin dalës të saj.
DAQ Assistant është një vi e krijuar automatikisht nga ana e LAbView. Për të parë se si
doket DAQ Assistant2, është paraqitur në fig.6.19.
100
Fig.6.19. vi e krijuar automatikisht në Lab View për DAQAssistant2. Pamja në Front Panel dhe Block
Diagram
Detyrë 6.2. Të krijohet vi për aplikimin dhe funksionimin e ndërpresësit të rrymës me
ndihmën e pajisjes NI USB 6008.
Në detyrë do të implementohet ndërprerësi, dhe do të testohet funksionimi i tij me lidhjen
me pajisjen NI USB 6008, dhe me krijimin e një vi.
Ndërprerësi dhe lidhja e tij me NI USB 6008 është paraqitur në fig.6.20. Ndërprerësi është
i llojit analog, dhe ka tri porte. Ndërprerësi ka të lidhura tri tela të tij me portet e pajisjes: njëri në
portin hyrës a01 (teli i kaltër), tjetri në portin e furnizimit +5 V (teli i zi), dhe i treti për tokëzimin
GND (teli i verdhë). Madhësia që do të matet është tensioni i rrymës në volt. Ndërprerësi do të
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
101
tregojë rrymë me tension 5V kur është i lëshuar (numri 1) ose nuk do të tregojë tension të rrymës
kur është i ndalur (numri 0)
Fig.6.20. Lidhja e ndërprerësit me pajisjen NI USB 6008
Fig. 6.21. Detyra e zgjidhur në Front Panel dhe Block Diagram
Në 6.21 është paraqitur detyra në Front Panel dhe Block Diagram. Në Front Panel janë
krijuar tri objekte për paraqitjen e të dhënave: një Waveform Chart për paraqitjen e lakores së
tensionit të rrymës, një vlerë Numeric për paraqitjen e vlerës numerike të tensionit, dhe një matës
Meter për paraqitjen e tensionit në formë të treguesit gjilpërë.
102
Në Block Diagram është krijuar unaza While Loop, dhe butoni stop, që bën ndalimin e
ekzekutimit të detyrës. Terminalet e objekteve nga Waveform Chart, Numeric, Meter janë
vendosur brenda unazës. Është krijuar pastaj terminali DAQ Assistant, si në fig.6.17, apo tani në
fig.6.22, duke zgjedhur Acquire Signals->Analog Input->ai0, dhe duke vazhduar procedurën deri
te krijimi i DAQ Assistant të krijuar si në detyrën e kaluar.
Pas krijimit të DAQ Assistant, e vendosim brenda unzës While Loop. E lidhim portin e tij
dalës data me objektet e krijuara Waveform Chart, Numeric, Meter i(Fig.6.21).
a) b)
Fig.6.22. Krijimit të DAQ Assistant për Analog Input
Pas realizimit të detyrës në Block Diagram, e testojmë detyrën. E lëshojmë në shigjetën
Run, dhe në ndërkohë e aktivizojmë ndërprerësin duke e ndalur (0) dhe duke e lëshuar (1) dhe
shiqojmë në Objektet në Front Panel se si po ndryshon tensioni në volt.
Detyrë 6.3. Të krijohet vi për aplikimin dhe funksionimin e potenciometrit të rrymës me
ndihmën e pajisjes NI USB 6008.
Në detyrë do të implementohet potenciometri, dhe do të testohet funksionimi i tij me
lidhjen me pajisjen NI USB 6008, dhe me krijimin e një vi.
Potenciometri dhe lidhja e tij me NI USB 6008 është paraqitur në fig.6.23. Potenciometri
është i llojit analog, dhe ka tri porte. Potenciometri ka të lidhura tri tela të tij me portet e pajisjes:
njëri në portin hyrës a01 (teli i kaltër), tjetri në portin e furnizimit +5 V (teli i zi), dhe i treti për
tokëzimin GND (teli i verdhë), njejtë si në detyrën e kaluar në rastin e lidhjes së ndërprerësit.
Madhësia që do të matet është tensioni i rrymës në volt. Ai do të tregojë rrymë me tension prej 0 V
deri 5V gjatë lëvizjes së tij djathtas apo majtas.
Pamja e detyrës së zgjedhur është e njejtë me detyrën 6.2., dhe është treguar në fig.6.23.
Procedurat e realizimit të detyrës po ashtu janë të njejta si në detyrën e kaluar, prandaj nuk do ti
elaborojmë prap.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
103
Fig.6.23. Lidhja e potenciometrit me pajisjen NI USB 6008
Fig. 6.24. Detyra e zgjidhur në Front Panel dhe Block Diagram me aplikim të potenciometrit
Pas realizimit të detyrës në Block Diagram, e testojmë detyrën (Fig.6.24). E lëshojmë në
shigjetën Run, dhe në ndërkohë e lëvizim potenciometrin majtas - djathtas, dhe shiqojmë në
objektet në Front Panel se si po ndryshon tensioni në volt, prej 0V deri në 5V.
104
Detyrë 6.4. Të krijohet vi me aplikimin e potenciometrit të rrymës dhe me ndihmën e pajisjes
NI USB 6008 për matjen e rezistencës së rrymës
Detyra realizohet njejtë si detyra në Fig.6.3. Ndryshon vetëm madhësia që do të matet.
Madhësia që do të matet është rezistenca e rrymës që matet me madhësinë Ohm (Ω). Ai do të
tregojë rezistencën e potenciometrit gjatë lëvizjes së tij djathtas apo majtas.
Krijimi i DAQ Assitant në këtë rast konsiston në zgjedhjen e madhësisë së matjes
Resistance nga Acquire Signals->Analog Input dhe pastaj zgjedhim portin analog ai0. (Fig.6.25)
Fig.6.25. Krijimit të DAQ Assistant për Analog Input për matjen e rezistencës
Pamja e detyrës së zgjedhur është i ngjashëm me detyrën 6.3., dhe është treguar në
fig.6.26. Dallimi është në shkallëzimin e Objekteve në Front Panel, për matjen e rezistencës.
Potenciometri dhe pajisja kanë kufijtë e tyre të rezistencës që varirojnë në mes -1500 Ω dhe 3500
Ω, që duhet aplikuar në shkallëzimin e objekteve.
Fig. 6.24. Detyra e zgjidhur në Front Panel dhe Block Diagram me aplikim të potenciometrit për matjen e
rezistencës elektrike
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
105
Detyrë 6.5. Të krijohet vi për aplikimin dhe funksionimin e pajisjes së rrymës me ndihmën e
pajisjes NI USB 6008 për leximin e të dhënave dhe eksportimin e tyre ne file të llojit Excel
(.xls)
Pamja e detyrës së zgjedhur është e ngjashme me detyrën 6.3, dhe është treguar në fig.6.25.
Në këtë rast kemi matjet e lëvizjes së potenciometrit dhe regjistrimin e tyre në një file. Madhësia
që matet dhe regjistrohet është tensioni i rrymës në volt (V).
a)
b) Fig. 6.25. Detyra e zgjidhur në Front Panel dhe Block Diagram me aplikim të potenciometrit për matjen e
tensionit të rrymës dhe regjistrimi në një file
Në Front Panel janë paraqitur 5 objekte për paraqitjen e të dhënave:
Objekti i parë ka emrin Vendndodhja e fajllit. Nga File Path Control nga Controls-
>String&Path që paraqesin definimin e vendndodhjes së file që do krijohet (Fig.6.25). Objekti
tjetër ka emrin: Emri i fajllit. Në këtë objekt shkruhet emri i fajllit që krijohet p.sh.: Test5-7.xls.
106
Më tutje janë krijuar një Waveform Chart për paraqitjen e lakores së tensionit të rrymës,
një matës Meter për paraqitjen e tensionit në formë të treguesit gjilpërë. Është paraqitur edhe një
buton stop për ndalimin e unazës.
Në Block Diagram, Fig.6.25.b është treguar programi i realizuar i detyrës. Programi ka një
unazë While Loop që mundëson regjistrimin e të dhënave derisa të shtypet butoni Stop, apo derisa
të ndalet detyra në menynë e programit.
Terminali i parë, jashtë unazës, që përdoret si madhësi hyrëse është Build Path, që përdoret
për të krijuar vendndodhjen dhe emrin e file që krijohet dhe lidhet me objektet Vendndodhja e
fajllit dhe Emri i fajllit.
Brenda unzës janë krijuar dy terminale: DAQ Assistant për marrjen e të dhënave nga
pajisja hardverike, dhe Write to Measurement File për shkruarje në file. Në fig.6.26 është treguar
konfigurimi i Write to Measurement File ku duhet veqanërisht të zgjidhen opcionet One Header
Only dhe One Column per channel për të pasur të dhënat të grupuara njëra pas tjetrës, si në file në
fig. 6.27.
Fig.6.26. Konfigurimi i terminalit Write to Measurement File
Në fig. 6.27. është paraqitur file i formatit excel pas regjistrimit të të dhënave. Në file
është paraqitur data dhe koha e matjes. Dy kolonat kryesore paraqesin:
- Kolona e parë paraqet kohën në sekonda nga fillimi i matjes,
- Kolona e dytë paraqet njësin e matjes së tensionit të rrymës në volt. Vlera e paraqitur 2.336.215
do të thotë 2.336 Volt.
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Ushtrime1
107
Fig.6.27. Pamja e vlerave të matura nga potenciometri të vendosura në file të llojit Excel
Dr.sc. Ilir Doçi Hyrje në Softverët inxhinierik - LABVIEW – Literatura
108
LITERATURA
1. Dr. sc. Ilir Doçi, prof.asoc., Hyrje në softverët inxhinierik, dispensë, Prishtinë, 2015
2. LabVIEW Basics I Course Manual 6.0, National Instruments Corporation, 2000.
3. LabVIEW Basics II Course Manual 6.0, National Instruments Corporation, 2000.
4. LabVIEW Excercises, Tempus IV Project, Development of Regional Interdisciplinary
Mechatronic Studies – DRIMS, 2012.
5. Ronald W. Larsen, LabVIEW for Engineers, Prentice Hall, 2011.
6. Yik Yang, LabVIEW Graphical Programming Cookbook, Packt Publishing, 2014.
7. LabVIEW Tutorial Manual, 1996, National Instruments Corporation.
8. http://en.wikipedia.org/wiki/LabVIEW
9. http://en.wikipedia.org/wiki/Visual_programming_language