Sei sulla pagina 1di 84

INTRODUZIONE

AL LABVIEW
LABVIEW

LabView è un software specificatamente pensato per


sviluppare sistemi di acquisizione, analisi e
trattamento dati

Programmazione con interfaccia grafica

I programmi in LabView sono definiti VI,


cioè “Virtual Instruments”, in quanto simulano il
comportamento di strumenti fisici reali.
LABVIEW

Ogni VI è composto da due parti:

Pannello frontale
( Front Panel )

Diagramma a blocchi
( Block Diagram )
PANNELLO FRONTALE

È l’INTERFACCIA che il VI presenta all’utente finale

Deve contenere tutti i controlli necessari


per interagire con il VI

Ogni dato da visualizzare all’utente


deve essere riportato qui
DIAGRAMMA A BLOCCHI

È il CODICE SORGENTE in formato grafico

Contiene le controparti di tutti gli elementi presenti


nel pannello frontale.

Deve contenere i connettori e gli operatori necessari a


definire il flusso di dati
FRONT PANEL TRASMISSIONE IDROSTATICA
DIAGRAMMA A BLOCCHI CORRISPONDENTE
APERTURA NUOVO PROGRAMMA
APERTURA NUOVO PROGRAMMA
ELEMENTI PRINCIPALI

CONTROLLORI, cioè oggetti attraverso


cui l’utente può fornire dati

INDICATORI, cioè oggetti da cui l’utente


può ottenere dati
INSERIMENTO CONTROLLORI/INDICATORI
INSERIMENTO CONTROLLORI/INDICATORI
INSERIMENTO CONTROLLORI/INDICATORI

CONTROLLORI

INDICATORI
INSERIMENTO CONTROLLORI/INDICATORI
INSERIMENTO CONTROLLORI/INDICATORI
INSERIMENTO CONTROLLORI/INDICATORI
INSERIMENTO CONTROLLORI/INDICATORI
PANNELLO FRONTALE DIAGRAMMA A BLOCCHI
DA CONTROLLORE A INDICATORE
LOCAL VARIABLE
Le variabili locali consentono di richiamare
controllori e indicatori più volte nel programma
TIPI DI CONTROLLORI/INDICATORI
PANNELLO FRONTALE DIAGRAMMA A BLOCCHI
FUNCTION PALETTE
Le icone dei CONTROLLORI e degli INDICATORI
devono essere interconnesse con funzioni
Per accedere alle varie funzioni :
ESEMPIO: SOMMA DI 2 NUMERI

Programma che esegua a + b = c

Cosa serve:
Due controllori: a , b
Un indicatore: c
L’operatore somma
SOMMA DI 2 NUMERI: FRONT PANEL
SOMMA DI 2 NUMERI:BLOCK DIAGRAM
SOMMA DI 2 NUMERI:BLOCK DIAGRAM
SOMMA DI 2 NUMERI:BLOCK DIAGRAM
ESEMPIO: SOMMA DI 2 NUMERI
ESEMPIO: SOMMA DI 2 NUMERI
ESEMPIO: SOMMA DI 2 NUMERI
ESEMPIO: SOMMA DI 2 NUMERI
ESEMPIO: SOMMA DI 2 NUMERI
ESEMPIO: SOMMA DI 2 NUMERI
ESEMPIO: SOMMA DI 2 NUMERI
ESECUZIONE DEI PROGRAMMI
ESECUZIONE DEI PROGRAMMI
TOOLS PALETTE
STRUTTURE FONDAMENTALI
Le strutture principali sono le medesime dei linguaggi di
programmazione usuali:WHILE, FOR e CASE
Si trovano nella function pallette alla voce Structures
POSIZIONAMENTO STRUTTURE
POSIZIONAMENTO STRUTTURE
CICLO WHILE
Esegue le operazioni all’interno del ciclo fino a quando
non si da lo stop dal Front Panel (condizione stop if true)

QUI SI INSERISCE IL CODICE


DA ITERARE
CICLO WHILE
In alternativa al pulsante, si può inserire una costante
CICLO WHILE
Costante False: esegue il ciclo ininterrottamente
CICLO WHILE
Costante True: esegue il ciclo 1 volta
ESEMPIO CICLO WHILE
Programma che genera numeri compresi fra 0 e 1 e li
diagramma fino a che non si da lo stop
ESEMPIO CICLO WHILE
Programma che genera numeri compresi fra 0 e 1 e li
diagramma fino a che non si da lo stop
CICLO WHILE
Si può utilizzare anche la condizione “continue if true”
CICLO FOR LOOP
Esegue le istruzioni per un numero fissato di volte (N)
N deve essere connesso ad una costante o controllore

QUI SI INSERISCE IL CODICE


DA ITERARE

i indica l’iterazione corrente: i=0,1,2,….N-1


FORMULA NODE
Consente di introdurre e risolvere formule complesse
FORMULA NODE
Per inserire le variabili
Per inserire la formula
ESEMPIO FOR LOOP CON FORMULA NODE
Programma che diagramma l’equazione y = x³ - x² + 5
per x = 0,1,2,3….10
SHIFT REGISTER
Consente di registrare il valore di una variabile da una
iterazione alla successiva

Es. Programma che somma i primi N termini della


serie (1+x²) per x=0,1,2,3,……,N-1
SHIFT REGISTER
Inserimento
EsSTRUTTURA CASE (IF THEN ELSE)
Esegue una determinata operazione a seconda del
valore TRUE o FALSE del controllore che la comanda
STRUTTURA SEQUENCE
Consiste di uno o più sottodiagrammi (FRAMES) che
vengono eseguiti in sequenza

ORDINE SEQUENZA
SUB VI

Sono le subroutine di LABVIEW

Sono dei VI richiamati dal VI principale

Nel diagramma a blocchi sono delle icone con degli


ingressi e delle uscite
Esempio SUB VI: PID
ACQUISIZIONE DATI CON LABVIEW
SCHEMA ACQUISIZIONE DATI

SCHEDA DI ACQUISIZIONE
P(bar) Trasduttore Volt
di pressione

Canali di ingresso
T(k) Volt Input
Termocoppia
digitali

RPM
Encoder
SISTEMA
MECCANICO x(mm) PC
LVDT Volt

F(N) Volt
Cella di carico

Output
di uscita
Canali
Tensione
digitali
PWM
SCHEMA ACQUISIZIONE DATI
Fra trasduttori e scheda ci può essere un sistema
per il condizionamento dei segnali:
Es. Linearizzatore termocoppia o amplificatore
In caso di correnti assorbite dal sistema da
controllare > 5 mA , fra uscita della scheda e sistema
deve essere interposto un driver
Es: Comando di un solenoide di elettrovalvola
24V

Diodo
Solenoide
Rb
5V

Dalla scheda Transistor


SCHEDA DI ACQUISIZIONE

CARATTERISTICHE
PRINCIPALI

Frequenza di Campionamento (massima)

Numero Canali Input

Numero Canali Output

Risoluzione Convertitore ADC ( numero di bit)

Range di Input ( Voltaggio minimo e massimo)


SCHEDA DI ACQUISIZIONE
Un classico esempio: scheda NI 6052E
16 canali ADC 16 bits
Range di ingresso -10V , +10V
300 KS/s
2 canali DAC 16 bit
8 I/O digitali
CANALI SCHEDA DI ACQUISIZIONE
COLLEGAMENTI TRASDUTTORI
Trasduttore di pressione

Filo rosso = + alimentazione


Filo nero = - alimentazione

Filo giallo = segnale, da collegare alla morsettiera della scheda


Il – dell’alimentatore va collegato al ground della scheda
CAMPIONAMENTO DEI SEGNALI
conversione del segnale in una sequenza di dati
discreti (ti ,Vi)

V (ti , Vi) i=1,...... N

t
CAMPIONAMENTO DEI SEGNALI
Pertanto in un segnale campionato sia la grandezza V
che il tempo t sono espressi in forma discreta
Frequenza di campionamento: fC = 1 / ∆tC

∆ tC

t
CAMPIONAMENTO DEI SEGNALI
A che frequenza occorre campionare un segnale per
rappresentarlo correttamente?
V

t
CAMPIONAMENTO DEI SEGNALI
Il problema è legato alla relazione tra frequenza del segnale fS
e frequenza di campionamento fC : se fC < 2 fS ⇒ “aliasing”

fC > 2 fS

fC = 2 fS

fC < 2 fS
SUB VI PER L’ACQUISIZIONE DATI
Dove si trovano
SUB VI PER L’ACQUISIZIONE DATI
SubVI per acquisizione dati da 1 canale analogic0

In uscita fornisce il segnale campionato dal


corrispondente canale analogico
SUB VI PER L’ACQUISIZIONE DATI
SubVI per acquisizione dati da canali analogici

In uscita fornisce una matrice:


Ogni colonna della matrice è il segnale campionato dal
corrispondente canale analogico
CODICE PER L’ACQUISIZIONE DATI
1) Si inserisce un controllore che indica la scheda di
acquisizione

Nel caso in cui ci sono due schede, si assegna il valore


1 alla prima scheda e 2 alla seconda
CODICE PER L’ACQUISIZIONE DATI
2) Si inserisce un controllore per selezionare i canali di
acquisizione

Nel controllore channels: 1 indica analog channel 1


2 indica analog channel 2
CODICE PER L’ACQUISIZIONE DATI
3) Si inseriscono i controllori per fissare il numero di
campioni da prelevare a canale e la frequenza di
acquisizione
CODICE PER L’ACQUISIZIONE DATI
4) L’ uscita è una matrice:
prima colonna = canale 1 ; seconda colonna = canale 2
CODICE PER L’ACQUISIZIONE DATI
I segnali campionati devono essere opportunamente
rielaborati per risalire ai valori delle grandezze misurate

Quando l’ampiezza del segnale è proporzionale alla


grandezza di misura ( ES. trasduttori di pressione,
termocoppie, celle di carico)
occorre mediare il segnale campionato:

SUB VI PER LA MEDIA


ESEMPIO VI PER ACQUISIZIONE DATI
ESEMPIO VI PER ACQUISIZIONE DATI
CODICE PER L’ACQUISIZIONE DATI
Per encoder, pick up e misuratori di portata a turbina
occorre determinare la frequenza esatta del segnale per
risalire alla misura

SUB VI per estrapolare la


frequenza
da un segnale sinusoidale o
da onda quadra
ESEMPIO VI PER ACQUISIZIONE DATI
ESEMPIO VI PER ACQUISIZIONE DATI
SUB VI PER CANALI USCITA

SUB VI per canale di uscita SUB VI per canale di uscita


digitale analogico

Es. Es.
accensione-spegnimento variazione frequenza
inverter inverter
VI PER AZIONAMENTO ELETTROVALVOLA
VI PER AZIONAMENTO ELETTROVALVOLA
VI PER AZIONAMENTO ELETTROVALVOLA

Potrebbero piacerti anche