45
Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento ) IL LABVIEW LEZ_2 Luigi Ferrigno [email protected] Gruppo Misure Elettriche ed Elettroniche Facoltà di Ingegneria, DAEIMI. Università degli Studi di Cassino

lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

  • Upload
    others

  • View
    8

  • Download
    1

Embed Size (px)

Citation preview

Page 1: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Corso di

Misure per la Automazione e la Qualità(Studenti Ingegneria Elettrica III anno Nuovo Ordinamento )

IL LABVIEW LEZ_2

Luigi [email protected]

Gruppo Misure Elettriche ed Elettroniche

Facoltà di Ingegneria, DAEIMI.

Università degli Studi di Cassino

Page 2: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

LabViewParte 2

" Strutture di controllo" Grafici" Array e cluster" Formula node

Page 3: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Il ciclo while

Iterationterminal

Conditionalterminal

Qui va il codice da iterare

Ripetere?

" Il ciclo termina quando si fornisce FALSE al conditional terminal" Il codice è eseguito almeno una volta" L'iteration terminal dà il numero di iterazioni raggiunto

Da Functions >> Structures

Page 4: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Ciclo while: esempio

Page 5: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Waveform chart

Legenda

Palette

Label

Aggiornamento:" Strip chart" Scope chart" Sweep chart

Page 6: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Visualizzazione con waveform chart

• Ad ogni iterazione il waveform chart riceve uno scalare

Page 7: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Tipi numerici e conversioni

Coercion dot

I 16

DBL

DBL

" Interi con segno: I8, I16, I32" Interi senza segno: U8, U16, U32" In virgola mobile: SGL (32), DBL (64), EXT" Complessi

Page 8: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Comportamento dei controlli booleani

Switch - Commuta per pressione e rilascioLatch – Ritorna nello stato di default quando viene letto dal diagramma

" When pressed" When released" Until released

Page 9: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Temporizzazione

Esempio: in un loop while si aggiorna un waveform chart:

" 50000 cicli / s senza synchronous display

" 100 cicli / s con synchronous display

Sono valori effettivi?

Page 10: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Ciclo while temporizzato

Esecuzione di azioni ad intervalli prestabilitiImpegno limitato di risorseAdeguamento ai tempi di risposta dell'utente

Page 11: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

• Bundle (nella palette Functions >> Cluster): assembla i suoi ingressi in un unico cluster• Un cluster è una struttura che raccoglie più elementi in un nuovo tipo di dato

Grafici multiple – plot

Page 12: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Proprietà di controlli e indicatori

Representation (tipo numerico)

Numero di cifre e notazione

Range ( o autorange )

Label e caption

Description

Display sincrono

Per i waveform chart:

History length

Update mode

Opzioni grafiche (colori, griglia, ...)

Page 13: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Shift Registers• 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

Dapasso

precedente

Per ilprossimopasso

Inizializzazione

Page 14: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Shift Registers: esempio

Page 15: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Shift Registers

L'ultimo valoreva passato qui

Si possono aggiungere altri shift register per ottenere valori di iterazioni precedenti

1 loop prima2 loop prima3 loop prima

Page 16: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Esempio: Running average

Page 17: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Il ciclo forNumero di iterazioni

da eseguire

Numero corrente di iterazioni

Esegue il codice al suo interno un numero prestabilito di volte

Page 18: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Arrays

Indicearray di 10 elementi 1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7

0 1 2 3 4 5 6 7 8 9

Arraybidimensionale

0 1 2 3 4 5 60 1 2 34

" 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

Page 19: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Controlli e indicatoriper gli array

Add Dimension per 2D arrays

1.

2.

Selezionare Array dalla palette dei controlli

Inserire un controllo del tipo desideratonella Array Shell

Procedura analoga per lecostanti array

Page 20: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Autoindexing•Il loop accumula l'array al suo margine

0 1 2 3 4 5

1D arr ay

Auto-Indexing abilitato

(Default nel For)

Scalare risultatodell'ultima iterazione

Auto-Indexing disabilitato

(Default nel While)

Page 21: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Creazione di array 2D

•Il loop interno crea gli elementi di ogni riga

•Il loop esterno sovrappone le righe

0 1 2 3 4 5

1D array

0123

2D array# colonne

# righe

Page 22: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Autoindexing e lettura di array

Non deve essere impostatodirettamente

Il ciclo viene eseguito per un numero di volte pari al numero di elementi dell'array collegato

Page 23: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Funzioni per gli array (1)

4

1010 10 10 10

initializedarray

elementdimensionsize

Initialize Array

Number of3 2 57 4Array Elements

Page 24: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Funzioni per gli array (2)

3 2 57 1 4 23 2 57

1 4 2Array

ArrayElemento Nuovo array

3 2 5

1 4 21D Array

1D Array3 2 51 4 2 2D Array

arrayElemento

Array con il nuovo elemento accodato

Build Array

3 2 5

1 4 21D Array

1D Array1D Array1 4 23 2 5

Dal menu di contesto: “change to element”“change to array”

La funzione Build Array₩ resizable

Page 25: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

52

7 1 4 23 2 5Array

Index

Element

0Row Index

2D Array

1 4 23 52

2Column Index

5Element

arrayindex(0)

lengthsubarray

Array Subset

arrayindex

element

1 3 2 57 82

Index4

3 2 572

LengthArray Subset

Array

Index Array

Funzioni per gli array (3)

Page 26: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Estrae una riga

0

0

0

Funzioni per gli array (4)

Estrae una colonnaIndex array

Dal menu di contesto della Index Array:

" Add dimension

" Disable input

Page 27: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Polimorfismo• Ingressi delle funzioni di tipo diverso" Comportamento dipendente dal tipo degli ingressi• Tutte le funzioni aritmetiche sono polimorfiche

Scalare + Scalare

Array + Scalare

Combinazione RisultatoScalare

Array

Array

1 4 2

2

4 6 7

5

27

Array + Array 3 2 5

1 4 2

Array + Array 1 4 2

3 2 5 7

Array3 6 4

4 6 7

Page 28: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Waveform GraphTracciano un array di valori numerici rispetto all'indice

Palette

Legenda

Page 29: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Single-Plot Waveform Graph

1D Array

1D ArrayTerminale del WaveformGraph (è un Array 1D)

Terminale del WaveformGraph (è un Cluster)

" X0 è il valore iniziale per le ascisse" deltaX è la distanza orizzontale tra i punti del grafico

Page 30: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Multiple-Plot Waveform Graph

clusterscluster array

1D Arrays 2D array

Build Array

Terminale del Waveform Graph (è un Array 2D)

Terminale del Waveform Graph (è un Array di Cluster)

Page 31: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

XY Graph Traccia un array rispetto ad un altro

Multi-plot XY Graph

Single-plot XY Graph

Page 32: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

I 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

Page 33: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Modifica di un elementodi un Cluster:

Altre funzioni per i Cluster

Page 34: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

La struttura Case

Selettore booleano:if...then...else

" Solo un sottodiagramma viene eseguito" Il valore passato al selettore determina il codice da eseguire" Il selettore può essere booleano, numerico o stringa

Page 35: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

La struttura 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

Page 36: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Menu di scelta" I controlli “List & Ring” associano un intero ad una voce selezionabile

Page 37: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Ingressi ed uscite del case (tunnel)

Tunnel di uscita

" In TUTTI i case devono essere collegati TUTTI i tunnel

Page 38: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

La struttura Sequence

" I sottodiagrammi vengono eseguiti uno dopo l'altro" Consente di fissare l'ordine di esecuzione di VI non dipendenti

Page 39: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Sequence Locals• Passano dati da un frame al solo frame successivo• Si definiscono sul bordo della Sequence

Sequence localin uscita dal

Frame 1

Dati nondisponibili

Datidisponibili

Page 40: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

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

Page 41: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Formula Node: Conditional Branching

if (x >= 0) theny = sqrt(x)

elsey = -99999.0

end if

Condition

Conditional Operator

True Condition

False Condition

Page 42: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

Formula Node: Variabili temporanee

" Si definiscono come uscite, ma non vengono collegate

Page 43: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

La generazione dei segnali

Page 44: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

generazione dei segnali:esempio

Page 45: lezione 5 Il LabView Lez 2 - unicas.itwebuser.unicas.it/misure/MAQ_270/LEZIONI/lezione_5 Il... · 2010-11-11 · Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria

ure sui segnali:esempio