Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
programmazione LabVIEW
Ing. Gianfranco Miele (g.miele@unicas.it)
www.docente.unicas.it/gianfranco_miele
November 3, 2010
3 novembre 2010
LabView
Ambiente di sviluppo grafico
Codice
Interfaccia utente
Modulare
Compilatore 32 bit
Elevato numero di funzioni
Librerie per la gestione della strumentazione
Librerie per l'acquisizione dati
Possibilit di includere routine in altro linguaggio
Corso di Laurea Magistrale in Ingegneria Meccanica
Strumentazione e Misure per lAutomazione
Universit degli
Studi di Cassino
3 novembre 2010
Libreria di funzioni
Universit degli
Studi di Cassino
3 novembre 2010
Universit degli
Studi di Cassino
3 novembre 2010
Front Panel
E linterfaccia utente dellapplicazione
Contiene:
- Controlli
(input)
- Indicatori
(output)
Universit degli
Studi di Cassino
Front Panel
3 novembre 2010
Icona/Connettore
Toolbar
Controllo
Knob
Controllo
numerico
Legenda
Etichetta
Indicatore
Chart
Corso di Laurea Magistrale in Ingegneria Meccanica
Strumentazione e Misure per lAutomazione
Universit degli
Studi di Cassino
3 novembre 2010
Block Diagram
- E il codice sorgente dellapplicazione (in Linguaggio G)
- Controlli e indicatori del pannello appaiono come Terminali
- Nodi o funzioni: ricevono dati dai connettori di ingresso e forniscono
dati su quelli in uscita
Universit degli
Studi di Cassino
3 novembre 2010
Dataflow programming
Universit degli
Studi di Cassino
3 novembre 2010
Dataflow programming
Un filo collega ununica sorgente di dati con uno o pi nodi
Il colore e lo spessore del filo individuano il tipo di dato
Scalar
Array 1D
Array 2D
Arancione (floating point)
Numeri
Blu (interi)
Booleani
Verde
Stringhe
Viola
Universit degli
Studi di Cassino
3 novembre 2010
(Diagramma)
(Pannello)
Universit degli
Studi di Cassino
3 novembre 2010
Debugging
Stop
Continuous Run
Run
Corso di Laurea Magistrale in Ingegneria Meccanica
Strumentazione e Misure per lAutomazione
Universit degli
Studi di Cassino
3 novembre 2010
Universit degli
Studi di Cassino
3 novembre 2010
Tecniche di debug
Click sulla freccia spezzata: Info sullerrore
Highlighting button: Esecuzione animata
Probe: Mostra il valore dei dati
mentre scorrono lungo i fili
Universit degli
Studi di Cassino
3 novembre 2010
SubVI
Un VI pu essere usato nel Block Diagram di un altro VI di
livello pi alto
Nel VI chiamante, un SubVI rappresentato con la sua icona
Universit degli
Studi di Cassino
3 novembre 2010
Realizzazione di un SubVI
Disegno dellicona
Associazione di controlli
e indicatori alle caselle
del connettore
Salvataggio su disco
Universit degli
Studi di Cassino
3 novembre 2010
Realizzazione di un SubVI
Functions >> Select a VI
Trascinare licona sul diagramma
chiamante
Universit degli
Studi di Cassino
3 novembre 2010
Ciclo While
Qui va il codice da
iterare
Iteration
terminal
Ripetere?
Conditional
terminal
Universit degli
Studi di Cassino
3 novembre 2010
Ciclo While
Universit degli
Studi di Cassino
3 novembre 2010
Waveform Chart
Label
Legenda
Aggiornamento:
Strip chart
Scope chart
Sweep chart
Palette
Corso di Laurea Magistrale in Ingegneria Meccanica
Strumentazione e Misure per lAutomazione
Universit degli
Studi di Cassino
3 novembre 2010
Universit degli
Studi di Cassino
3 novembre 2010
DBL
DBL
Universit degli
Studi di Cassino
3 novembre 2010
Universit degli
Studi di Cassino
3 novembre 2010
Esecuzione di azioni
ad intervalli prestabiliti
Impegno limitato di
risorse
Adeguamento ai tempi
di risposta dell'utente
Universit degli
Studi di Cassino
3 novembre 2010
Grafici multiple-plot
Universit degli
Studi di Cassino
3 novembre 2010
Shift register
Trasferiscono dati da una iterazione alla successiva
Si inseriscono con un right-click sul bordo del loop
Il terminale destro conserva il dato alla fine della
iterazione
Il terminale sinistro fornisce il dato alla iterazione
successiva
Da
passo
precedente
Per il
prossimo
passo
Inizializzazione
Universit degli
Studi di Cassino
3 novembre 2010
Shift register
Universit degli
Studi di Cassino
3 novembre 2010
Shift register
Universit degli
Studi di Cassino
3 novembre 2010
Shift register
Universit degli
Studi di Cassino
3 novembre 2010
Ciclo for
Numero di iterazioni
da eseguire
Numero corrente di
iterazioni
Esegue il codice al suo interno un numero
prestabilito di volte
Corso di Laurea Magistrale in Ingegneria Meccanica
Strumentazione e Misure per lAutomazione
Universit degli
Studi di Cassino
3 novembre 2010
Array
Collezioni di elementi (dati) dello stesso tipo
Una o pi dimensioni, fino a 231 elementi per dimensione
Si accede agli elementi con un indice per dimensione
Il primo elemento ha sempre indice 0
Indice
array di 10 elementi
1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7
Array 0
bidimensionale 1
2
3
4
Corso di Laurea Magistrale in Ingegneria Meccanica
Strumentazione e Misure per lAutomazione
Universit degli
Studi di Cassino
3 novembre 2010
Selezionare
Add
Dimension
per 2D
Procedura analoga per le
arrays
costanti array
Universit degli
Studi di Cassino
3 novembre 2010
Autoindexing
Il loop accumula l'array al suo margine
Auto-Indexing
abilitato
(Default nel For)
1D arr ay
Auto-Indexing
disabilitato
(Default nel While)
Scalare risultato
dell'ultima iterazione
Universit degli
Studi di Cassino
3 novembre 2010
Creazione array 2D
1D array
0 1 2 3 4 5
# righe
# colonne
0
1
2
3
2D array
Universit degli
Studi di Cassino
3 novembre 2010
Universit degli
Studi di Cassino
3 novembre 2010
Array
element
Number of
Elements
initialized
array
dimension
size
Initialize Array
10
10
10
10
10
Universit degli
Studi di Cassino
3 novembre 2010
1D Array
1D Array
1D Array
1D Array
5
3
7
4
Nuovo array
3
1
2
4
5
2
2D Array
5
3 2
1 4
1D Array
Universit degli
Studi di Cassino
3 novembre 2010
subarray
Array Subset
Array
Index
Length
8
2
element
Index Array
Array Subset
Array
array
index
Index
Element
5
2D Array
3
1
2
4
5
2
Row Index 0
Column Index 2
Corso di Laurea Magistrale in Ingegneria Meccanica
Strumentazione e Misure per lAutomazione
Element
5
Universit degli
Studi di Cassino
3 novembre 2010
0
0
Add dimension
"
Disable input
Corso di Laurea Magistrale in Ingegneria Meccanica
Strumentazione e Misure per lAutomazione
Universit degli
Studi di Cassino
3 novembre 2010
Polimorfismo
Ingressi delle funzioni di tipo diverso
Comportamento dipendente dal tipo degli ingressi
Tutte le funzioni aritmetiche sono polimorfiche
Combinazione
Risultato
5
Scalare + Scalare
Scalare
Array + Scalare
Array
Array
Array + Array
Array + Array
3
Array
Universit degli
Studi di Cassino
3 novembre 2010
Waveform graph
Tracciano un array di valori numerici rispetto all'indice
Legenda
Palette
Universit degli
Studi di Cassino
3 novembre 2010
1D Array
1D Array
"
"
Universit degli
Studi di Cassino
3 novembre 2010
1D Arrays
clusters
2D array
cluste
r array
Terminale del
Waveform Graph ( un
Array 2D)
Universit degli
Studi di Cassino
3 novembre 2010
XY graph
Single-plot XY Graph
Multi-plot XY Graph
Universit degli
Studi di Cassino
3 novembre 2010
Cluster
Combinano pi strutture dati in un nuovo tipo dati
Possono contenere elementi di tipo diverso
Si possono definire costanti, controlli e indicatori di tipo Cluster
L'ordine degli elementi importante
Unbundle
Universit degli
Studi di Cassino
3 novembre 2010
Universit degli
Studi di Cassino
3 novembre 2010
Case
Solo un sottodiagramma viene eseguito
Il valore passato al selettore determina il codice da eseguire
Il selettore pu essere booleano, numerico o stringa
Selettore booleano:
if...then...else
Universit degli
Studi di Cassino
3 novembre 2010
Case
Con selettori di tipo numerico o stringa si possono gestire scelte
multiple
Add Case dal menu di contesto per aggiungere nuove scelte
Un Case deve essere quello di default
Universit degli
Studi di Cassino
3 novembre 2010
Tunnel di
uscita
Universit degli
Studi di Cassino
3 novembre 2010
Sequence
I sottodiagrammi vengono eseguiti uno dopo l'altro
Universit degli
Studi di Cassino
3 novembre 2010
Sequence locals
Passano dati da un frame al solo frame successivo
Si definiscono sul bordo della Sequence
Dati non
disponibili
Sequence local
in uscita dal
Frame 1
Dati
disponibili
Universit degli
Studi di Cassino
3 novembre 2010
Formula node
- Implementazione di equazioni complicate
- Variabili create sul bordo
- I nomi delle variabili sono case sensitive
- Ogni istruzione deve terminare con un punto e virgola (;)
- <Ctrl-H> per l'elenco delle funzioni disponibili
Universit degli
Studi di Cassino
3 novembre 2010
Conditional Operator
False Condition
Universit degli
Studi di Cassino
3 novembre 2010
Universit degli
Studi di Cassino