PEE2 Predavanja Za II Parcijalni

Embed Size (px)

Text of PEE2 Predavanja Za II Parcijalni

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    1/13

    PREDAVANJE 8 - LabVIEW(Proizvod kompanije National Instruments)

    Sutinska razlika u odnosu na ostale programske pakete je da se u LV programi predstavljaju u vidu

    ikona umjesto programiranja pisanjem komandi u vidu tekstualnog koda.

    Osnovna prednost LV u odnosu na druga razvojna okruenja je obimna podrka za komunikaciju sa

    ureajima(instrumentacioni hardver).Omoguava analizu i formiranje sloenih inenjerskih sistema, dok se istovremeno moe koristiti i za

    ozbiljna nauna istraivanja.

    Najee primjene su: dizajn, testiranje i implementaciju sloenih sistema, sa procjenjenim

    smanjenjem vremena razvoja a poveanja produktivnosti.

    LV programi se zovu virtualni instrumenti jer svojim izgledom podsjeaju na fizike intrumente. Stoga

    je ekstenzija programa pisanih u LV *.vi (virtual instruments).

    Zbog prvenstvene primjene (komunikacija sa ureajima), LV sadri bogate biblioteke gotovihfunkcija

    za kontrolu mjernih instrumenata, kako za prikupljanje tako i za analizu, prezentaciju i skladitenje

    podataka.

    Svaki visastoji se iz dva dijela:front paneli block diagram. Ako se planira koritenje datog vii kao

    potprograma, LV program dobija trei sastavni dio: ikone i konektori. Potprogram u LV se zove sub vi.

    LV programi su:

    hijerarhijski(mogu se koristiti samostalno, ali i kao potprogrami ili potprogrami unutar

    potprograma)

    modularni (koncept rjeavanja se zasniva na podjeli aplikacije na niz zadataka koji se zatim

    ponovo dijele sve dok se itav proces ne svede na niz jednostavnih problema).

    Zbog prethodnog, otkrivanje eventualnih greaka je olakano, obzirom da se potprogrami mogu

    izvravati nezavisno od programa koji ih poziva.

    Kod programa je dijagram koji se sastoji od vorova i ica.

    Podaci putuju preko ica.

    Proces izvravanja programa kontrolie protok podataka (preko ica), a ne koda.

    Pozicija na dijagramu nije bitna

    Novi nain razmiljanja: dataflow,a ne codeflow

    Vodei principdataflowprogramiranja: vor ne izvrava svoju funkciju sve dok podaci,preko ica,

    ne stignu do svih ulaza u isti, tj. vor se izvrava onda kad su mu dostupni svi ulazni podaci. Kad taj

    vor izvri svoju funkciju, podaci na njegovom izlazusnadbijevaju ulaze sljedeeg vora.

    Kod programskih jezika koji se baziraju na codeflow principu (C,C++,Java,...) izvrenje programa

    kontrolisano je sekvencijalnim redoslijedom izvravanja dijelova programa.

    Prednosti:

    -jednostavan za uenje i primjenu

    -nema sintakse, prilagodljiv

    -programski kod u vidu sheme

    -jednostavan i brz razvoj programa

    -gotovi kontroleri za mnoge ureaje

    -jednostavno i brzo ispravljanje

    greaka

    -ne zahtijeva preveliku brigu o

    memoriji

    -zabavan

    Mane:

    -cijena (relativno visoka)

    -moe biti teak za savlaivanje

    naprednih tehnika

    -kod programa moe biti

    nepregledan i nejasan ukoliko

    programer ne vodi rauna na to

    -kreiranje vrlo sloenih korisnikih

    aplikacija moe biti vremenski

    zahtjevno

    -navika

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    2/13

    Startovanjem New viotvaraju se dva prozora, pri emu je:

    1.front panel(sivi)-predstavlja korisniki interfejs vi programa

    2. blok dijagram(bijeli)-predstavlja grafiki prikaz tijela programa

    Front panel predstavlja korisniki interfejs vi programa.

    Ovaj dio korisnik kreiranpr. svojim izgledom front panel moe simulirati panel fizikog instrumentaili itavog mjernog sistema.

    Front panel sadri:

    -kontrolere(preklopnici, tasteri...)predstavljaju ulazne terminale

    -indikatore(grafici, LED, skale...)predstavljaju izlazne terminale

    Kontroleri simuliraju ulazne dijelove ureaja i obezbjeuju podatke za blok dijagram.

    Indikatori simuliraju izlazne dijelove ureaja i slue za prikaz rezultata iz blok dijagrama.

    Svaki element front panela ima odgovarajui terminal u blok dijagramu.

    Kontroleri i indikatori dostupni su u okviru controls palette front panela.

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    3/13

    Controls palettefront panel:

    Blok dijagramje grafiki prikaz tijela programa i sadri terminale kontrolera i indikatora iz front

    panela, kao i ostale strukture (funkcije, strukture, petlje...).

    Za razliku od front panela koji je namijenjen korisniku, blok dijagram je namijenjen programeru. Blok

    dijagram se kontruie u programskom jeziku G.

    Programiranje u blok dijagramu vri se povezivanjem terminala i koritenjem glavnog menija blok

    dijagramaFunctions palette.

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    4/13

    Svi objekti na front panelu i blok dijagramu, kao i sam prazni dio front panela i blok dijagrama mogu

    se podeavati mijenjati im se izgled i nain funkcioniranja. To se postie koritenjem short-cut

    menija objekata, koji je dostupan desnim klikom na eljeni objekat.

    Context Helpprozor prikazuje osnovne informaccije o objektu na koji se pozicioniramo na front

    panelu ili blok dijagramu.

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    5/13

    Terminali za kontrolere i indikatore su isti samo to kontroleri imaju deblji okvir terminala.

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    6/13

    Funkcije:

    Niskog nivoa (aritmetike, Bulove, funkcije poreenja)

    Srednjeg nivoa (funkcije za manipulaciju nizovima, funkcije za manipulaciju stringovima,

    vremenske funkcije)

    Visokog nivoa (File I/O, funkcije za komunikaciju s ureajima i mreom, funkcije za analizu i

    obradu signala, funkcije za zvuk i grafiku, funkcije kontrole programa, advanced funkcije)

    Application Builderje softver koji se primjenjuje na gotov LabVIEW program.

    Ugraenje u instalaciju LV.

    Formira izvrnu aplikaciju (.exe) koja se moe pokrenuti i na raunarima na kojima nije

    instaliran LabVIEW.

    Omoguava koritenje LV programa samo kao izvrne aplikacije bez mogunosti uvida u blok

    dijagram i bez mogunosti izmjena i dorada gotovog programa.

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    7/13

    PREDAVANJE 9LabVIEW(drugi dio)

    Main vi & Sub vi

    Kad se neki LV program, tj. viunese u blok dijagram postojeeg viprograma (u Function paletti

    biranjem 'Select VI'), LV ga tretira kao potprogram tj. Sub vi. Postojei vi u tom sluaju postaje Main

    vi.

    Svaki vise moekoristiti i kao Main vii kao Sub vi. Razlika je u tome to ako ga namjeravamo koristiti

    kao potprogram, onda osimfront panelai blok dijagrama, vi dobija i svoj trei dio: ikonui konektore.

    Zato je potrebno da postoje potprogrami:

    blok dijagram nije pregledan

    teak za razumijevanje

    vei dio koda Main vije izmjeten u Sub vi-blok dijagrampregledniji

    mnogo jasniji za razumijevanje

    Da bi se neki vikoristio kao Sub vi, potrebno je da mu se postave konektori i kreira ikona.

    Konektori slue da se u potprogram mogu unijeti ulazni podaci kao i da se iz potprograma mogu

    koristiti izlazni podaci. Postoje ulazni i izlazni konektori.

    Konektori se kreiraju desnim klikom na ikonu u gornjem desnom uglu vi programa

    i biranjem opcijeShow connector.Zatim se biraju razliiti paterni u zavisnosti koliko ima

    ulaza/izlaza konkretan vi.

    Da bi se eljenim kontrolerima i indikatorima sa front panela potprograma dodijelili konektori, koristi

    se Wire tool

    Koristei Wire tool, klikne se na eljeni konektor, a zatim i na eljeni kontroler/indikator na front

    panelu i time je dodjeljivanje izvreno.

    Ikona se koristi kao vizuelni identifikator potprograma na blok dijagramu. Do ikone se dolazi desnim

    klikom na ikonu u gornjem desnom uglu i biranjem opcijeEdit icon.

    Petlje i strukturesu dostupne u Functions pallete (podmeni Structures) u blok dijagramu.

    -For loop

    -While loop

    -Sekvenca

    -Case struktura

    -Formula node

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    8/13

    For petljaizvrava dio programa u okviru nje n puta, gdje je n vrijednost upisana u terminal .

    Terminal je broja iteracija i pokazuje koja je trenutna iteracija koja se vri (uzima vrijednosti od

    0 do N-1)

    While petljaizvrava dio programa sadranog u okviru nje sve dok se ne ispuni unaprijed zadati uslov.

    Taj uslov realizuje programer i on se dovodi na ulaz uslovnog terminala .

    Uslov zaustavljanja je ustvari Boolova promjenljiva, a samo pravilo zaustavljanja moe da se mijenja:

    Stop if True or Continue if True.

    I For i While petlja mogu koristiti tzv. Shift registre koji im omoguavaju pamenje i prolazak

    izabranih vrijednosti iz jedne iteracije u drugu. Do Shift registra se dolazi desnim klikom u okvir petlje

    i biranjem opcijeAdd Shift Register. Za pamenje vie rezultata prethodnih iteracija broj elija shift

    registra se moe poveavati - resize na samu eliju shift registra.

    Autoindeksiranjepodrazumijeva indeksiranje svega to izlazi iz petlje to ima za posljedicu

    pamenje rezultata svih iteracija petlje i smjetanje istih u niz. Kae se da petlja ima osobinu

    autoindeksiranja ako prthodni postupak indeksiranja radi po definiciji tj. onako kako je izvueno iz

    Functions pallete (bez naknadnih podeavanja).

    U LabVIEW osobinu autoindeksiranja po definiciji ima For petlja!

    For petlja moe postati petlja bez autoindeksiranja dodatnim podeavanjem. To se realizuje desnim

    klikom na tunel i biranjemDisable Indexing.

    While petlja po definiciji nema osobinu autoindeksiranja. Ona moe pstati petlja sa

    autoindeksiranjem desnim klikom na tunel i biranjemEnable Indexing.

    Case strukturase sastoji od nekoliko sluajeva(poddijagrama u okviru rama Case strukture) od kojih

    se izvrava samo jedan. Koji e se sluaj izvriti, zavisi od toga ta je na ulazu tzv. uslovnog terminala

    (selektora). Selektor moe biti Bulova promjenljiva, integer, string.

    Sequence strukturaomoguava da se definira eljeni redoslijed izvravanja dijelova programa.

    Izgledom podsjea na filmsku traku kako bi se ukazalo da se dijelovi programa po ramovima

    izvravaju sekvencijalno.

    Formula Nodestruktura je struktura u LV koja se koristi radi poveanja preglednosti programa. Koristi

    se kad je potrebno izraunati neku vrijednost primjenom formula, a da bi se izbjeglo ubacivanje

    veeg broja sabiraa, mnoaa... Formula se samo otkuca u strukturi Formula Node.

    Nizovi se u LV unose u dva koraka:

    1.unos kontrolera/indikatora niza tzv.Array shell(specificirate niz)

    2.unos kontrolera/indikatora tipa podataka u nizu (specificirate tip podataka u nizu)

    Nizovi se u LV indeksiraju od nule!

    Kontroleri/indikatori niza sastoje se iz dva dijela:-index display: pokazuje indeks elementa

    -element display: pokazuje vrijednost elementa

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    9/13

    Bitne funkcije s nizovima:

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    10/13

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    11/13

    Stringovitakoer imaju svoje kontrolere i indikatore. Oni sudostupni u okviru Controls pallete, grupa

    String & Path. U okviru blok dijagrama, funkcije za manipulaciju stringovima dostupne su u Functions

    pallete, grupaString.

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    12/13

    Bitnije funkcije sa stringovima:

  • 7/25/2019 PEE2 Predavanja Za II Parcijalni

    13/13