curs_8+9+10_monitorizare_2016

123
CURS 8+9 M.I.S.S. NOTIUNI DE BAZA LABVIEW

Upload: silveanu-octavian

Post on 09-Jul-2016

216 views

Category:

Documents


1 download

DESCRIPTION

MISS

TRANSCRIPT

Page 1: Curs_8+9+10_Monitorizare_2016

CURS 8+9M.I.S.S.

NOTIUNI DE BAZA LABVIEW

Page 2: Curs_8+9+10_Monitorizare_2016

INTRODUCERE

Page 3: Curs_8+9+10_Monitorizare_2016

LABVIEW -PROGRAMUL STANDARD PENTRU INSTRUMENTATIA VIRTUALA

Programare Grafica pentru Instrumentatia Virtuala

Panoul frontal – interfata grafica cu utilizatorul

Diagrama bloc grafica – codul sursa

Compilatorul – pentru executia optimizata

Programe executabile stand-alone pentru usurinta distribuirii

NATIONAL INSTRUMENTS

Page 4: Curs_8+9+10_Monitorizare_2016

Elemente importante ale instrumentatiei virtuale

Achizitie

controllers

Plug-in data

acquisition boards

VXI controllers

Software for

RS-232 instruments

IEEE 488.2

Analiza

Signal generation

Digital filters

Statistics

DSP hardware

Prezentare

GUI

Strip charts

Graphs

Hardcopy

File I/O

LabVIEW, LabWindows/CVI si ComponentWorks

HiQ (Post analysis and report generation)

Achizitia PrezentareaAnaliza

Conditionarea

semnalelor

INSTRUMENT

DAQ Boards

IEEE488 (GPIB)

VXI

RS-232

Trigger Control

Formatare

Calcul

User Interface

Hard Copy

File I/O

Interprocess Communication

Networking

Page 5: Curs_8+9+10_Monitorizare_2016

Program C++

#include<stdio.h>

main()

{

int a, b, c;

printf("Se introduc doua numere/n");

scanf("%d%d",&a,&b);

c = a + b;

printf("Suma numerelor este = %d/n",c);

return 0;

}

Program LabVIEW

Interfata / Output

Se introduc doua numere

4

5

Suma numerelor este = 9

Interfata / Output

Page 6: Curs_8+9+10_Monitorizare_2016

furnizează instrumente familiare şi uşor de utilizat atât de începători, cât şi de programatori avansaţi, precum: structuri de programare, structuri de date, funcţii aritmetice, logice, biblioteci de diverse funcţii, exemple, tutoriale, etc.

permite folosirea regulilor avansate ale ingineriei programării, prin: modularitate, specificaţii integrate, încapsulare, biblioteci de programare, programare orientată pe obiect, etc.

aplicaţiile pot fi construite pentru mediul LabVIEW, şi pot deveni rulabile sub formǎ de executabil pe calculatorul utilizatorului, fǎrǎ a necesita licenţǎ National Instruments.

LabVIEW

Page 7: Curs_8+9+10_Monitorizare_2016

poate folosi resursele hard şi soft ale calculatoarelor (porturi universale şi speciale, reţele, baze de date, sisteme distribuite, etc.), fiind prevăzut cu facilităţi speciale de interacţiune cu sistemele de achiziţie şi control, precum: plăci de sunet ale PC-urilor, instrumente inteligente de laborator, sisteme evoluate de prelucrare a imaginilor, sau de prelucrare digitală a semnalelor şi chiar sisteme complexe robotice.

suportǎ conectare sau mijloace de interacţiune cu alte medii de dezvoltare /programare, precum: The MathWorks – Inc. MATLAB , C, Maplesoft Maple, Wolfram Mathematica, ITTIDL, MathSoft MathCad, Electronic Workbench - MultiSim, Texas Instruments - Code Composer Studio, etc.

LabVIEW

Page 8: Curs_8+9+10_Monitorizare_2016

Pintre modulele şi librăriile adiţionale LabVIEW este utilă amintirea următoarelor:

Digital Filter Design,

Biomedical,

Signal Processing,

Spectral Measurements,

Adaptiv Filters,

Time Frequency Analaysis,

Vision,

Simulation,

Datalogging and Supervisory Control,

Report Generation,

FPGA, etc.

Page 9: Curs_8+9+10_Monitorizare_2016

LANSARE LABVIEW

LV Basics I 9

Page 10: Curs_8+9+10_Monitorizare_2016

3D Image ReconstructorView DICOMDIR, IMGDIR, and multi-frame DICOM files

File Format ConverterConvert Plexon data filesChange conversion properties, such as sampling rate, when exporting to other file formats

Biosignal Logger and PlayerLog with improved long-term stabilityPlay back biosignals from saved comment positions

Bessel design methodUse the new Bessel design method to create virtual channels in the Biosignal Logger and Player and the Biosignal ViewerBiosignal File Manager

Preview supported biosignal files and manage biosignal files in virtual libraries. The Biosignal File Manager supports more than 20 file types, including TDMS, Physiobank, and EDF.

Biosignal CalibratorCalibrate third-party biosignal sensors for use with the Biomedical Workbench and the Biomedical Toolkit VIs in LabVIEW 2013.

Module Biomedicale ale mediului LabVIEW

Biosignal ViewerDisplay large biosignal filesAdd, search, edit, and delete comments/annotations for existing filesUse virtual channel options, including filtering, math, integral, and differentiation

ECG Feature ExtractorExtract ST segmentsManually modify the automatic extraction parametersExtract features with improved efficiency and accuracy

Page 11: Curs_8+9+10_Monitorizare_2016
Page 12: Curs_8+9+10_Monitorizare_2016
Page 13: Curs_8+9+10_Monitorizare_2016
Page 14: Curs_8+9+10_Monitorizare_2016
Page 15: Curs_8+9+10_Monitorizare_2016
Page 16: Curs_8+9+10_Monitorizare_2016

BIOSIGNAL LOGGER AND PLAYER

Page 17: Curs_8+9+10_Monitorizare_2016
Page 18: Curs_8+9+10_Monitorizare_2016
Page 19: Curs_8+9+10_Monitorizare_2016
Page 20: Curs_8+9+10_Monitorizare_2016

REMOVING WIDEBAND NOISE

Page 21: Curs_8+9+10_Monitorizare_2016
Page 22: Curs_8+9+10_Monitorizare_2016

EX.

Page 23: Curs_8+9+10_Monitorizare_2016

NOTIUNI DE PROGRAMARE LABVIEW

Page 24: Curs_8+9+10_Monitorizare_2016

LIMBAJ DE PROGRAMARE GRAFICA

Numele programelor realizate în mediul LabVIEW este

Instrument Virtual (eng. Virtual Instruments – VIs). Dacă

în limbajele de programare bazate pe text, cum este spre exemplu

C, Pascal - limbaje de generaţia a 3-a, pentru a se realiza un

program trebuiesc scrise linii de instrucţiuni, în mediul LabVIEW se

utilizează limbajul grafic G, de generaţia a 5-a, prin care se

asamblează vizual elementele componente sub formă de diagramă,

în locul editării prin linii de text de cod într-o sintaxă strictă.

Page 25: Curs_8+9+10_Monitorizare_2016

Programele LabVIEW sunt denumite instrumentevirtuale - IV (în limba engleză „virtual instruments”,prescurtat VIs).

Instrumentele virtuale au trei părţi principale: ➢ panoul frontal ➢ diagrama bloc ➢ pictograma / conectorul.

Sunt analoage cu programele si functiile limbajelor clasice: C, Pascal, Fortran,…

Page 26: Curs_8+9+10_Monitorizare_2016

Panoul frontal este mediul prin intermediul căruiautilizatorul setează mărimile de intrare şi vizualizeazăieşirile din diagrama bloc a instrumentului virtual.

Deoarece panoul frontal este analog unui panou frontal alunui instrument real, intrările sunt denumite comenzi iarieşirile sunt denumite indicatoare .

Se pot utiliza o mare varietate de comenzi şi indicatoarecum ar fi de exemplu: butoane rotative, întrerupătoare,comutatoare, diagrame, grafice ş.a.m.d. pentru a face capanoul frontal să fie uşor identificabil şi de înţeles.

Fereastra Panou Frontal Controale Indicatoare Reprezentare grafică

Page 27: Curs_8+9+10_Monitorizare_2016

Fiecare panou frontal are o diagramă bloc care îlînsoţeşte, care este de fapt programul instrumentului virtual.

Diagrama bloc se construieşte utilizând limbajul deprogramare grafic, G. Diagrama bloc poate fi privită ca şicodul sursă al aplicaţiei.

Componentele diagramei bloc reprezintă nodurileprogramului.

Page 28: Curs_8+9+10_Monitorizare_2016

FEREASTRA LABVIEW “FRONT PANEL”

Componente de baza• Controls = Inputs• Indicators = Outputs

Defineşte interfaţa grafică cu utilizatorul, adicǎ componenta pe care o vede

utilizator pe ecranul calculatorului. Altfel spus, la execuţia instrumentului virtual

(adică a programului), pe monitorul calculatorului se vede panoul frontal.

Page 29: Curs_8+9+10_Monitorizare_2016

FEREASTRA LABVIEW “FRONT PANEL”

Interfata utilizator

Poate fi costumizata

Page 30: Curs_8+9+10_Monitorizare_2016

FEREASTRA LABVIEW “BLOCK DIAGRAM”

Program actual

Poate deveni invisibila utilizatorului final

Parcurgere stanga->dreapta

Page 31: Curs_8+9+10_Monitorizare_2016

TERMINALE

La plasarea unui element de control (sau a unuiindicator) in fereastra

FRONT PANEL

LabVIEW in mod automat creaza un corespondent

control (sau indicator) ca terminal in ferastra

BLOCK DIAGRAM

Page 32: Curs_8+9+10_Monitorizare_2016

CONTROL? SAU INDICATOR?

Controls = Inputs from the user = Source Terminals

Indicators = Outputs to the user = Destinations

Page 33: Curs_8+9+10_Monitorizare_2016

INTRODUCERE ÎN LabVIEW

Page 34: Curs_8+9+10_Monitorizare_2016

VI FRONT PANEL

Front Panel Toolbar

GraphLegend

BooleanControl

WaveformGraph

Icon

PlotLegend

ScaleLegend

Page 35: Curs_8+9+10_Monitorizare_2016

VI BLOCK DIAGRAM

Wire Data

GraphTerminal

SubVI

While LoopStructure

Block Diagram Toolbar Divide

Function

Numeric Constant

Timing Function

Boolean Control Terminal

Page 36: Curs_8+9+10_Monitorizare_2016

CONVENTII LABVIEW

Front Panel controale si indicatori

Block Diagram Structura programului (loops, case structures, math, etc.)

Controls vs. Indicators Conexiunile atasate in dreapta elementelor de control

furnizeaza valorile Conexiunile atasate in stanga elementelor indicator

primesc valori

Wiring colors Conexiunile indica prin culoare tipul de date

Page 37: Curs_8+9+10_Monitorizare_2016
Page 38: Curs_8+9+10_Monitorizare_2016

Diagrama bloc

Diagrama bloc este compusă din noduri, terminale şi legături.Nodurile sunt elementele de execuţie ale programului. Nodurile sunt analoage cudeclaraţiile, funcţiile şi subrutinele din limbajele de programare clasice. Există patrutipuri principale de noduri:

funcţiile; subIV-urile; structurile; nodurile de interfaţă cod (Code Interface Nodes CINs).

Funcţiile sunt noduri prefabricate pentru executarea operaţiilor elementare, cum ar fide exemplu adunarea numerelor, operaţii cu fişiere de intrare / ieşire sau formatareaşirurilor de caractere. SubIV-urile sunt de fapt IV-uri proiectate şi create anterior şi apelate din diagramaaltui IV. Structurile ca de exemplu buclele For, While controlează executarea programului. Nodurile de interfaţă cod sunt interfeţe între diagrama bloc şi codul în C scris deutilizator. Terminalele sunt porturile prin care datele trec între diagrama bloc şi panoul frontalpe de-o parte, şi între nodurile diagramei bloc pe de altă parte. Terminalele suntanaloage cu parametrii şi constantele din programarea în limbaj clasic.

Page 39: Curs_8+9+10_Monitorizare_2016
Page 40: Curs_8+9+10_Monitorizare_2016

Funcţia Tip strip uşurează identificarea funcţiilor şi terminalelor nodurilor pentruinterconectare. Când se poziţionează cursorul în zona unui terminal, apare o micăfereastră galbenă în care se furnizează informaţii asupra nodului respectiv.

Vizualizarea terminalelor. Pentru u urarea execut rii conexiunilor, se pot vizualiza terminalele cu

op iunea Visible Items > > Terminals. Revenirea se face cu Visible Items > > Icon.

Page 41: Curs_8+9+10_Monitorizare_2016

Selectarea conexiunilor între obiecte de face cu mouse-ul, executând un clic pe legătură, înfelul următor:

1 clic: se selectează segmentul dintre două puncte de întoarcere; 2 clicuri: se selectează o ramură; 3 clicuri: se selectează întreaga conexiune.

Page 42: Curs_8+9+10_Monitorizare_2016

Conexiuni eronate

Page 43: Curs_8+9+10_Monitorizare_2016

CONEXIUNI

Conexiunile transporta datele (fluxul informational) in interiorului programului din fereastra “Block Diagram”

Culoarea conexiunilor indica tipul de date

O conexiune marcata rosu prin “X” semnifica eroare

Page 44: Curs_8+9+10_Monitorizare_2016

CONECTORI (FIRE) FOLOSITE IN

CONSTRUIREA DIAGRAMELOR BLOC SI

TIPOLOGIA ACESTORA

Scalar 1D array 2D array Color

Floating-point number orange

Integer number blue

Boolean green

String pink

Page 45: Curs_8+9+10_Monitorizare_2016

CONEXIUNI INTRERUPTE

La connectarea mai multor elemente de

tip sursa sau cand nu exista surse

LabVIEW Semnaleaza prin linie

intrerupta

Page 46: Curs_8+9+10_Monitorizare_2016

SCHEME SI CONEXIUNI INCALCITE VS. SCHEME CLARE

Page 47: Curs_8+9+10_Monitorizare_2016

MANIPULAREA ELEMENTELOR CONTROL SI INDICATOR

Click-dreapta pe indicator pentru a

il schimba in control

ii schimba formatul sau reprezentarea

Click-dreapta pe control pentru a

il schimba in indicator

ii schimba actiunea

Page 48: Curs_8+9+10_Monitorizare_2016

Run Button

Continuous Run Button

Abort Execution

Pause/Continue Button

Text Settings

Align Objects

Distribute Objects

Reorder

Resize front panel objects

Execution Highlighting Button

Step Into Button

Step Over Button

Step Out Button

Additional Buttons on the Diagram Toolbar

TOOLBAR

Reorder objects

RunContinuous run

PauseStop Font ringAlignment ring

Distribution ring

Debugging features more on this later…

Page 49: Curs_8+9+10_Monitorizare_2016

Butonul de EXECUŢIE (RUN). Prin apăsarea acestui buton se lansează în execuţie instrumentul

virtual.

dacă instrumentul virtual este programul principal

dacă IV-ul este o subrutină

Când un IV este în execuţie, apare butonul de STOP . Prin apăsarea acestui buton, se opreşte

imediat execuţia instrumentului virtual curent.Notă: Este de dorit evitarea utilizării butonului de STOP pentru oprirea execuţiei unei aplicaţii şise preferă prevederea în aplicaţie a unor condiţii care să controleze oprirea acesteia. Dacă seprocedează la oprirea controlată a aplicaţiei, se va şti în orice moment care e starea aplicaţiei. Deexemplu se poate programa oprirea aplicaţiei prin plasarea unui buton de STOP pe panoul frontalal acesteia.

Butonul de EXECUŢIE cu eroare. Acest buton înlocuieşte butonul de EXECUŢIE şi indică faptul

că instrumentul virtual nu poate fi compilat deoarece conţine erori. Pentru a se cunoaşte erorile, seapasă pe acest buton şi va apare o fereastră cu acestea.

Butonul de EXECUŢIE continuu . Prin apăsarea acestui buton, se comandă execuţia continuă a

instrumentului respectiv. În timpul execuţiei, butonul se înlocuieşte cu acesta: Prin apăsarea

acestui buton, se revine la starea iniţială.

Butonul de Pauză / continuare: Acest buton stopează pt. moment execuţia aplicaţiei. Prin

apăsarea sa încă o dată, se continuă execuţia.

Page 50: Curs_8+9+10_Monitorizare_2016

STARI ALE BUTONULUI RUN

Inainte de rularea programului, stare pasiva

In timpul rularii programului

Situatia cand programului nu poate fi compilat

Page 51: Curs_8+9+10_Monitorizare_2016

Butonul de execuţie cu evidenţiere. Prin apăsarea acestui buton se acti-vează execuţia cu evidenţiere. În

acest mod, butonul se schimbă în acesta: şi execuţia este încetinită cu vizualizarea întregului transfer de

date între noduri.

Butonul de salt peste: Prin apăsarea acestui buton se activează modul de execuţie pas-cu-pas care

execută IV-ul nod cu nod. El este afişat interminet la întâlnirea fiecărui nod, ceea ce denotă care nod urmeazăsă fie executat. Prin apăsarea încă o dată a acestui buton, se sare peste o buclă sau un subIV. Prin salt pestenodul respectiv, se execută acel nod, fără a se trece cu execuţia prin acel nod care poate conţine alteelemente (exemplu Temperature.iv).

Butonul de salt în: Asemănător cu cel precedent. Prin apăsarea aces-tuia însă, se intră în respectivul

nod şi se execută buclele sau subIV-urile pas-cu-pas.

Butonul de salt afară: Asemănător, cu deosebirea că acesta sare în afara nodului respectiv. Prin

apăsarea acestuia, se termină rapid (nu pas-cu-pas) execuţia nodului respectiv şi se sare în afara acestuia,trecându-se la nodul următor.

Indicatorul de atenţionare: Acesta există când apare o problemă care însă nu face ca IV-ul să nu fie

executabil. Acesta poate fi activat sau dezactivat din meniul Edit.

Page 52: Curs_8+9+10_Monitorizare_2016

Tehnici de depanare• Gasirea erorilor

• Executia cu evidentiere

• Sonde

Clic pe butonul de RUN.Apare fereastra cu erori.

Click pe butonul de executie cu evidentiere; fluxul de date este animat folosind buline. Valorile sunt afisate.

Clic dreapta pe fir pentru a afisa sonda care afiseaza datele care circula prin legatura respectiva.

Se poate selecta de asemenea sonda din paleta de unelte.

Page 53: Curs_8+9+10_Monitorizare_2016

2.3 Tehnici de depanare

Găsirea erorilor

În cazul în care butonul de execuţie (Run) arată astfel: înseamnă că instrumentul virtual nu poate fi executat din cauza existenţei unor

erori. Prin apăsarea acestui buton va apare o listă a erorilor care vor trebui înlăturate.

Executarea programului cu evidenţiere

O tehnică de depanare a programelor în LabVIEW este execuţia cu evidenţiere (Execution Highlight ). Aceasta permite o execuţie multîncetinită a instrumentului, cu evidenţierea valorilor care circulă între două obiecte.

Executarea cu evidenţiere se face apăsând butonul din meniul diagramei bloc, acesta preschimbându-se în ceea ce semnifică faptul

că a fost activată executarea cu evidenţiere. Prin apăsarea încă o dată pe acest buton, se revine la modul de executare normal.

Executarea pas-cu-pas a unui IV

În scopul executării pas cu pas a unui instrument virtual, există trei comenzi distincte: Salt în (Step Into) salt peste (Step Over)

şi salt afară (Step Out) . Pentru a porni execuţia în mod pas-cu-pas se apasă unul din butoanele Salt în sau Salt peste. Primul

obiect care va fi executat va fi astfel marcat. Prin apăsarea încă o dată a unuia din cele două butoane se va executa obiectul respectiv, iarurmătorul obiect va fi marcat ş.a.m.d. Dacă la un moment dat obiectul marcat este un subinstrument virtual, prin apăsarea butonului Salt înse va intra în interiorul acestuia, şi subIV-ul respectiv va fi executat tot pas-cu-pas. Dacă se apasă Salt peste se va executa normal subIV-ulrespectiv şi se va continua execuţia pas-cu-pas în programul principal.

Probe

Opţiunea Probe este utilizată pentru a vedea o anumită valoarea care circulă între două obiecte, fără a fi necesară plasarea unui indicator

pe panoul frontal. Plasarea unei probe se face pe conexiunea dintre două obiecte cu unealta cores-punzătoare din paleta de unelte.

Puncte de oprire

Ca şi în cazul celorlalte limbaje de programare, şi în LabVIEW se pot preciza puncte de oprire ( Breakpoints). Instrumentul va fi executatnormal până la întâlnirea unui punct de oprire. De aici încolo se poate continua execuţia în mod pas-cu-pas. Marcarea punctelor de oprire

se va face cu unealta corespunzătoare din paleta ce unelte .

Page 54: Curs_8+9+10_Monitorizare_2016

Executia unei diagrame bloc

– Depinde de circulatia datelor

– Diagrama bloc nu este executata de la

dreapta la stanga

• Nodurile sunt executate atunci cand datele

sunt disponibile la TOATE terminalele de

intrare

• Nodurile furnizeaza datele la toate

terminalele de iesire dupa ce a fost

executat

Programarea bazata pe fluxul de date

Page 55: Curs_8+9+10_Monitorizare_2016

• Recomandat: Selectie automata

• Unelte pentru modificarea obiectelor de pe panoul frontal si

diagrama bloc

Operating Tool

Positioning/Resizing Tool

Labeling Tool

Wiring Tool

Paleta de unelte (Tools Palette)

Automatic Selection Tool

Se selecteaza automat dintre urmatoarele unelte:

Page 56: Curs_8+9+10_Monitorizare_2016

Shortcut Menu Tool

Scrolling Tool

Breakpoint Tool

Probe Tool

Color Copy Tool

Coloring Tool

Alte elemente existente in Paleta de unelte (Tools Palette)

Add/edit text

Wire features together to

control flow of data

Select a feature toedit or move

Operate a control

Probe Data(troubleshoot)

Page 57: Curs_8+9+10_Monitorizare_2016

Unealta de operare – utilizată pentru manipularea comenzilor şi indicatoarelor pe panoul frontal.

Unealta de poziţionare – utilizată pentru selectarea, deplasarea sau redimensionarea obiectelor.

Unealta de etichetare – utilizată pentru introducere text şi etichetare.

Unealta pt. executarea de conexiuni – utilizată pentru a conecta obiectele din diagrama bloc.

Unealta de afişare a meniului aparent – utilizată pentru afişarea meniului specific utilizând butonul din

stânga al mouse-ului. În general acelaşi rezultat se obţine cu butonul din dreapta al mouse-ului.

Unealta de deplasare – utilizată pentru deplasarea în cadrul ferestrei curente fără a utiliza bara de

defilare.

Unealta de marcare a punctelor de oprire – marchează punctele de oprire pentru depanare.

Unealta de testare – Plasează un instrument de test pe panoul frontal. Utilizat în special la depanare.

Unealta de copiere a culorilor – copiază culoarea pentru a o folosi în executarea desenelor.

Unealta de colorare – colorează fundalul sau textul cu culorile curente.

Page 58: Curs_8+9+10_Monitorizare_2016

LIBRARII CU ELEMENTE DE CONTROL SI

FUNCTII

Controls Palette(Front Panel Window)

Functions Palette(Block Diagram Window)

Page 59: Curs_8+9+10_Monitorizare_2016

Insert a digital indicator or control

Insert a boolean control (button or switch)

Page 60: Curs_8+9+10_Monitorizare_2016

Add a structure such as for, while, and case statements

Add a numericoperator (+,-,…)

File I/O

Add a booleanoperator (and, or…)

Data Acquisition

Signal analysis

Comparison

Mathematical Functions

Timing/dialog

Page 61: Curs_8+9+10_Monitorizare_2016
Page 62: Curs_8+9+10_Monitorizare_2016

RUNNING LABVIEW PROGRAMS

ALMOST ALWAYS put your program in some sort of loop that can be stopped with a control

AVOID using the red “x” to stop your program

Page 63: Curs_8+9+10_Monitorizare_2016

DESCHIDEREA SI RULAREA UNUI INSTRUMENT

VIRTUAL EXISTENT IN MENIUL HELP

Page 64: Curs_8+9+10_Monitorizare_2016

CREAREA UNUI VI – BLOCK DIAGRAM

Page 65: Curs_8+9+10_Monitorizare_2016

CREAREA UNUI VI – BLOCK DIAGRAM

Page 66: Curs_8+9+10_Monitorizare_2016

TRASAREA CONEXIUNILOR – BLOCK DIAGRAM

Wiring “Hot Spot”

Clean Up Wiring

Use Automatic Wire Routing

Click To Select Wires

Page 67: Curs_8+9+10_Monitorizare_2016

ControlTerminals

Block Diagram Window

Front Panel Window

Indicator Terminals

CREAREA VI

Page 68: Curs_8+9+10_Monitorizare_2016

OPTIUNEA HELP

Context Help• Online help

• Lock help

• Simple/Complex Diagram help

• Ctrl + H

Online reference• All menus online

• Pop up on functions in diagram to access online info directly

Page 69: Curs_8+9+10_Monitorizare_2016

Salvarea unui IVSalvarea unui instrument virtual se face din meniul acestuia, având la dispoziţiepatru comenzi: Save, Save As, Save All şi Save with Options.

Prin utilizarea comenzii Save, instrumentul virtual este salvat sub acelaşi numeşi în acelaşi loc unde el există deja. Dacă se utilizează comanda Save la primasalvare a instrumentului, LabVIEW va deschide o fereastră de dialog pentruprecizarea numelui fişierului şi a locului unde va fi salvat.

Prin utilizarea comenzii Save As, se deschide automat fereastra de dialog,indiferent dacă fişierul a mai fost salvat sau nu.

Comanda Save All (identică cu comanda Save) va salva toate instrumentelevirtuale deschise în acel moment.

Comanda Save with Options permite specificarea unor opţiuni suplimentare desalvare, de nivel mai avansat, cum ar fi de exemplu salvarea unui instrumentvirtual pentru a putea fi utilizat sub o versiune anterioară de LabVIEW (5.0)

Din acelaşi meniu se poate crea o nouă bibliotecă, cu comanda New VILibrary.

Page 70: Curs_8+9+10_Monitorizare_2016

Fereastra de salvare cu opţiuni Save with Options

Page 71: Curs_8+9+10_Monitorizare_2016

SUBVISub VIs

Page 72: Curs_8+9+10_Monitorizare_2016

Elemente utile

<Ctrl-H> – Activate/Deactivate Context Help Window

<Ctrl-B> – Remove Broken Wires From Block Diagram

<Ctrl-E> – Toggle Between Front Panel and Block Diagram

<Ctrl-Z> – Undo (Also in Edit Menu)

Tools » Options… – Set Preferences in LabVIEW

VI Properties – Configure VI Appearance, Documentation, etc.

Page 73: Curs_8+9+10_Monitorizare_2016

M.I.S.S.

Curs 10

Page 74: Curs_8+9+10_Monitorizare_2016

BUCLE

• Bucla While– terminalul numara iteratiile

– Intotdeauna bucla esteexecutata cel putin o data

– Bucla este executata pana candeste indeplinita conditia de stop

•Bucla For– terminalul numara iteratiile

– Bucla ruleaza pana la epuizarea iteratiilor

Bucla While

Bucla For

Page 75: Curs_8+9+10_Monitorizare_2016

Bucle şi d iagram e

1 Bucla w hile

Bucla While repetă codul din interiorul ei până când valoarea booleanătransmisă terminalului condiţional ia valoarea FALS.

IV-ul verifică starea mărimii de intrare în terminalul condiţional la fiecareterminare a executării unui ciclu complet al buclei.

Astfel, bucla While va fi executată cel puţin o dată, chiar dacă valoareatransmisă terminalului condiţional are valoarea FALS chiar de la început.

Terminalul iterativ reprezintă o mărime care furnizează numărul iteraţieicurente.

Valoarea iniţială a terminalului iterativ este zero (în timpul executării primeiiteraţii, terminalul iterativ are valoarea zero).

Page 76: Curs_8+9+10_Monitorizare_2016

ExecutăExecută diagrama din interiorul buclei

Atât timp cât condiţia este adevărată

Exemplu de buclă While

Page 77: Curs_8+9+10_Monitorizare_2016

Bucle şi d iagram e

2 Bucla FOR

For i=0 to N-1Executa diagrama din interiorul buclei

Page 78: Curs_8+9+10_Monitorizare_2016

Regiştrii de deplasare sunt disponibili atât pentru buclele Whilecât şi pentru buclele For.

Regiştrii de deplasare se utilizează pentru transferul datelor de lao iteraţie către iteraţia următoare.

Regiştri de deplasare

Page 79: Curs_8+9+10_Monitorizare_2016

Iniţializarea regiştrilor de deplasare

Page 80: Curs_8+9+10_Monitorizare_2016

Acţiunea mecanică a comutatoarelor booleene

Com u tă la a păsa re

Com u tă la e lib e ra re

Com u tă până când e e libe ra t

Bloche az ă la apăsa re

Bloch ea ză la e lib era re

Bloch ea ză până la e lib era re

Page 81: Curs_8+9+10_Monitorizare_2016

Conversia numerică

Page 82: Curs_8+9+10_Monitorizare_2016
Page 83: Curs_8+9+10_Monitorizare_2016

MATRICEO matrice este o colecţie de date care sunt toate de acelaşi tip.

O matrice poate avea una sau mai multe dimensiuni, până la 231 elemente pefiecare dimensiune, valoare care este dată de dimensiunea memoriei.

Matricele în LabVIEW pot fi de orice tip. Totuşi, nu poate exista o matrice dematrice, de diagrame sau de grafice.

0 1 2 3 4 5 6 7 8 9

0.6 1.3 5.2 8.3 6.2 4.2 7.3 9.4 1.8 7.6

Page 84: Curs_8+9+10_Monitorizare_2016
Page 85: Curs_8+9+10_Monitorizare_2016

Polimorfisme

Page 86: Curs_8+9+10_Monitorizare_2016

GRUPURI

Elemente generale. Crearea grupurilor

Un grup (cluster) este o structură de date care combină unul sau mai multe tipuri de date într-un nou tip.

Componentele care formează un grup pot avea tipuri diferite, de exemplu se pot combina în acelaşi grup omărime de tip boolean, cu o mărime de tip şir de caractere şi cu o mărime de tip întreg. Rezultatul va fi un nou tipde date care va putea fi manipulat în continuare ca un tot unitar.

Un grup în LabVIEW este asemănător cu datele de tip înregistrare ( record) din Pascal sau cu structurile din C.

Page 87: Curs_8+9+10_Monitorizare_2016
Page 88: Curs_8+9+10_Monitorizare_2016

Ordinea elementelor într-un grup

Componentele unui grup au o anumită ordine logică, ordine care nu depinde de poziţia acestora în cadrul grupului. Prima componentă plasată în cadru poartă indicele 0 (zero), următoarea componentă adăugată va avea indicele 1, ... ş.a.m.d.

În cazul în care se şterge o componentă dintr-un grup, numerotarea acestora se adaptează automat. Schimbarea ordinii componentelor într-un grup se face selectând din meniul aparent al acestuia opţiunea Reorder Controls In Cluster

În acest moment meniul ferestrei curent se va schimba

iar pe panoul frontal al grupului va fi afişată ordinea componentelorPe fond alb este afişată poziţia curentă a componentei în cadrul grupului iar pe fond negru este afişată noua poziţie, după efectuarea reordonării

Page 89: Curs_8+9+10_Monitorizare_2016

Utilizarea grupurilor pentru transferul datelor între două subIV-uri

Un conector poate avea maxim 28 de terminale. Când se utilizează un conector cu un numărmare de terminale, datorită dimensiunii mici a acestora există riscul efectuării unor conexiunieronate.

De asemenea în unele cazuri este necesar un număr mai mare de terminale.

Toate aceste aspecte se pot rezolva utilizând grupurile. Se pot grupa astfel mai multecomponente, iar un grup va utiliza doar un singur terminal.

Astfel, printr-un singur terminal pot fi transmise mai multe tipuri de date

Page 90: Curs_8+9+10_Monitorizare_2016

Funcţii referitoare la grupuri

Realizarea grupurilorFuncţia de grupare a componentelor (Bundle) ) se găseşte în subpaleta Cluster

Page 91: Curs_8+9+10_Monitorizare_2016

Funcţia Bundle by Name

se foloseşte doar pentru înlocuirea unor componente ale unui grup existent.

Exemplu de înlocuire a unui obiect dintr-un grup folosind funcţia Bundle By Name

Page 92: Curs_8+9+10_Monitorizare_2016

Descompunerea grupurilor

Pentru descompunerea grupurilor în componente se folosesc două funcţii: Unbundle şi Unbundle by Name.

Funcţia Unbundle

descompune grupul ţinând cont de ordinea componentelor în cadrul acestuia.

Exemplu de extragere a trei obiecte dintr-un grup folosind funcţia Unbundle

Funcţia Unbundle by Name

realizează descompunerea unui grup ţinând cont de etichetele componentelor. La fel ca şi la funcţia pereche Bundle by Name, numărul de terminale de ieşire nu trebuie să fie identic cu numărul componentelor grupului. Pot fi extrase doar acele componente care sunt necesare.

Exemplu de extragere a două obiecte dintr-un grup folosind funcţia Unbundle By Name

Page 93: Curs_8+9+10_Monitorizare_2016

DIAGRAME ALE FORMELOR DE UNDĂ

ŞI GRAFICE

Graficele şi diagramele diferă între ele prin modul în careafişează şi reactua-lizează datele.

Graficele colectează de obicei toate valorile într-o matrice,pe care apoi o reprezintă grafic. Acest lucru esteasemănător unui tabel de valori, care întâi stochează toatevalorile, pe care apoi le reprezintă grafic.

Diagramele în schimb trasează graficul în timp real. Pemăsură ce noi puncte sunt calculate, ele sunt adăugate lagraficul deja existent. Deci în acest caz, trasarea graficuluipoate începe deja de la primul punct calculat.

Page 94: Curs_8+9+10_Monitorizare_2016

Pictograma Denumirea Explicaţii

Waveform ChartDiagramă care reprezintă valorile cu o rată

constantă

Waveform GraphGrafic care reprezintă valorile cu o rată

constantă

XY GraphGrafic care reprezintă valorile cu o rată care

nu este constantă

Intensity ChartDiagramă 3D pe un sistem 2D, pentru cea de-

a treia dimensiune utilizând culorile

Intensity GraphGrafic 3D pe un sistem 2D, pentru cea de-a

treia dimensiune utilizând culorile

Digital WaveformGraph

Reprezintă valorile în pulsuri

3D Surface Graph Grafic 3D tip suprafaţă

3D Parametric Graph Grafic 3D parametric

3D Curve Graph Grafic 3D tip curbă

Page 95: Curs_8+9+10_Monitorizare_2016

Figura 7.2.Elementele unui

grafic

1. Legenda (Plot legend)2. Cursorul ( Cursor) – doar pt. grafic3. Marcarea grilei ( Grid Mark)4. Marcarea sub-grilei ( Mini-grid mark)5. Paleta de comenzi a graficului ( Graph palette)6. Mişcarea cursorului (Cursor mover)

7. Legenda cursorului (Cursor legend)– doar pt. grafic

8. Legenda axelor (Scale legend)9. Axa X (X-scale)

10. Axa Y (Y-scale)11. Et icheta ( Label )

Page 96: Curs_8+9+10_Monitorizare_2016

Diagrame ale formelor de undă

a b c Moduri de actualizare a diagramei:

a. strip chart; b. scope chart; c. sweep chart

Page 97: Curs_8+9+10_Monitorizare_2016

Realizarea unei diagrame cu un singur grafic

Realizarea unei diagrame cu mai multe grafice

Reprezentarea a trei grafice pe aceeaşi diagramă, utilizând comanda Stack Plots

Page 98: Curs_8+9+10_Monitorizare_2016

Grafice 2D

Page 99: Curs_8+9+10_Monitorizare_2016

Grafice cu o singură înregistrarePentru graficele de bază cu o singură înregistrare, matricea care conţine valorileordonatei Y este conectată direct la intrarea funcţiei grafic în diagrama bloc.Această metodă presupune că valoarea iniţială a abscisei X este 0 şi că valoareapasului pe abscisă X este 1. Pictograma graficului de tip formă de undă apare înacest caz, în diagrama bloc, ca şi un indicator al unei matrice

Page 100: Curs_8+9+10_Monitorizare_2016

Funcţia Bundle (fascicul), din subpaleta Array asamblează componentele graficuluiîntr-un singur grup. Pentru graficul tip formă de undă, componentele includ valoareainiţială a abscisei X, valoarea pasului pe abscisă X şi matricea de pe ordonată, Y.

Grafice cu mai multe înregistrări

Page 101: Curs_8+9+10_Monitorizare_2016

Grafice de tip XYGrafice numerice

Page 102: Curs_8+9+10_Monitorizare_2016

STRUCTURI DE TIP CAZ ŞI SECVENŢĂ

Page 103: Curs_8+9+10_Monitorizare_2016

a b cStructuri de tip caz: a. numeric; b. boolean; c. şir de caractere

Page 104: Curs_8+9+10_Monitorizare_2016

Structura de tip secvenţă

Page 105: Curs_8+9+10_Monitorizare_2016

SIRURI Un şir este o succesiune de caractere care pot

fi afişabile sau neafişabile

Comenzile şi indicatoarele se găsesc în subpaletaString&Table a paletei Controls.

Meniul comenzii tip şir de caractere

Page 106: Curs_8+9+10_Monitorizare_2016

SIRURI

Afişarea în mod cod: panoul frontal şi diagrama bloc

Codul Interpretarea LabVIEW

\ b Backspace (ASCII BS, echivalent cu \08)

\ s Space (ASCII SP, echivalent cu \20)

\ r Return (ASCII CR, echivalent cu \0D)

\ n Newline (ASCII LF, echivalent cu \0A)

\ t Tab (ASCII HT, echivalent cu \09)

Page 107: Curs_8+9+10_Monitorizare_2016

SIRURISe prezintă utilizarea interfeţei Edit Format String pentru a creaun şir în virgulă mobilă, cu o precizie de două cifre, cu o lungimetotală de 6 caractere, cu completare cu zerouri.

Page 108: Curs_8+9+10_Monitorizare_2016

SIRURI

Stabilirea formatului numeric

Conversia unui număr într-un şir formatat în virgulă mobilă

Conversia unui şir într-un număr în virgulă mobilă

Page 109: Curs_8+9+10_Monitorizare_2016

Formula de calcul (Formula Node)

Page 110: Curs_8+9+10_Monitorizare_2016
Page 111: Curs_8+9+10_Monitorizare_2016

102

12

my

xxm

Page 112: Curs_8+9+10_Monitorizare_2016
Page 113: Curs_8+9+10_Monitorizare_2016

FIŞIERE DE INTRARE / IEŞIRE. TABELE

Page 114: Curs_8+9+10_Monitorizare_2016

Funcţia Format Into String converteşte mai întâi numărul iteraţiei şi numărul aleator generat într-un şir de caractere. De asemenea funcţia include un tab şi un end of line înainte de scriereaacestora în fişier.

Page 115: Curs_8+9+10_Monitorizare_2016
Page 116: Curs_8+9+10_Monitorizare_2016

IV-uri referitoare la fişiere binare

IV-urile referitoare la fişiere binare sunt IV-uri de nivel înalt care citesc din şiscriu în fişiere în format binar. Datele pot fi de tip întreg ([I16])sau în virgulămobilă ( [SGL] ). Salvarea datelor în format binar poate fi benefică dacă vitezade acces şi compactarea sunt necesare.

Page 117: Curs_8+9+10_Monitorizare_2016

VARIABILE LOCALE ŞI GLOBALE

Dacă obiectul de pe panoul frontal a fost deja creat, variabila locală sepoate crea prin utilizarea meniului aparent al acestuia şi selectareacomenzii Create » Local Variable

Prin selectarea blocului Local Variable din paleta Structures

Page 118: Curs_8+9+10_Monitorizare_2016

VARIABILE LOCALE ŞI GLOBALE

Selectarea unei variabile locale: a-panoul frontal; b-utilitând meniul aparent; c-utilizând unealta de operare

a b c

Page 119: Curs_8+9+10_Monitorizare_2016

VARIABILE LOCALE ŞI GLOBALE

Schimbarea tipului unei variabile locale

Variabile locale de tip read local (a) şi write local (b)

a b

Page 120: Curs_8+9+10_Monitorizare_2016

VARIABILE LOCALE ŞI GLOBALE

Crearea şi utilizarea variabilelor globale

1. Din subpaleta Structures a paletei de funcţii se selectează opţiuneaGlobal Variable

Page 121: Curs_8+9+10_Monitorizare_2016

VARIABILE LOCALE ŞI GLOBALE

2. Se deschide panoul frontal al variabilei globale, prin executarea unuidublu clic pe pictograma plasată în diagrama bloc.

3. Se adaugă pe panoul frontal al variabilei globale comenzi şiindicatoare, în mod identic cum se procedează în cazul unui IVobişnuit. Trebuie atenţie ca fiecare comandă sau indicator adăugat săaibă ataşată o etichetă, deoarece prin aceasta se va referi în continuare

4. Se salvează variabila globală sub un nume oarecare şi se revine ladiagrama bloc a IV-ului iniţial.5. Se selectează apoi obiectul din variabila globală care se doreşte a fiaccesat. Pentru selectarea obiectului, se poate proceda în două moduri,la fel ca şi în cazul variabilelor locale:a. Din meniul aparent al variabilei globale se alege meniul

Select Item şi se selectează obiectul care se doreşte a fi accesat

b. Utilizând unealta de operare, se execută un clic pe pictogramavariabilei globale şi se selectează apoi obiectul dorit

Page 122: Curs_8+9+10_Monitorizare_2016

EX. - LABVIEW FRONT PANEL

Page 123: Curs_8+9+10_Monitorizare_2016

EX. - LABVIEW FRONT PANEL