Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

32
Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999

Transcript of Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Page 1: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Introduzioneal

LABVIEW

Note a cura di Francesco Arnonea.a. 1998-1999

Page 2: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Il labview è un linguaggio totalmente visuale basato su icone, la programmazione avviene in due finestre che

prendono il nome di panel e di diagram, riconoscibili anche perché di colore diverso la prima grigia la seconda

bianca. Oltre a queste due finestre per la programmazione in labview vengono utilizzate anche la finestra

controls, la finestra functions e la finestra tools. Nella finestra controls sono contenuti tutti gli oggetti che

servono per costruire un programma, ad esempio, oggetti che assumono valori numerici oppure accettino delle

stringhe o dei booleani, gli oggetti sono divisi per classi. La finestra functions invece, contiene le funzioni che

servono all’elaborazione degli oggetti contenuti nella finestra controls, ad esempio la somma per quanto riguarda

gli oggetti numerici oppure la funzione che restituisce la lunghezza di una stringa e così via, anche le funzioni

sono divise per classi. La finestra tools, infine, contiene tutti gli strumenti che servono per programmare, ad

esempio contiene lo strumento rocchetto che permette di collegare gli oggetti con le funzioni e viceversa. Un

ruolo molto importante, in labview, è assunto dal menù dell’oggetto. Ogni oggetto infatti ha un proprio menù

utilizzando il quale si possono effettuare diverse operazioni sull’oggetto, ad esempio il cambio del tipo. In un

programma labview non esistono linee di codice. Vediamo ora più in dettaglio le varie finestre.

Page 3: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Finestre di LABVIEW

Panel Diagram

Manda in esecuzione il programma

Arresta l’esecuzione di un programma

Sospende l’esecuzione di un programma

Attiva il debug

Icona rappresentativa del programma

Page 4: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Finestra controls

Portare il mouse sulla finestra panel e fare click con il tasto destro per far comparire la finestra controls

Page 5: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Finestra functions

Portare il mouse sulla finestra diagrame fare click con il tasto destro per far comparire la finestra functions

Page 6: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

La finestra toolsConsente di assegnare valori all’oggetto

Seleziona l’oggetto

Inserisce etichette

Muove un oggetto

Realizza i collegamenti

N.B.Per fare comparire la finestra tools andare nel menù windows e selezionare la voce show tools palette

Modifica il coloredi un oggetto

Page 7: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Esempio di programma LABVIEW

( somma di due numeri )

Page 8: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Menù di un oggetto

N. B.Per far comparire questo menù portare il puntatore del mouse sull’oggetto e premere il tasto destro.

Page 9: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Come costruire un programma

• la prima fase si svolge sul PANEL

• la seconda fase si svolge sul DIAGRAM

Page 10: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Passi da svolgere sul panel

1 - far comparire la finestra controls2 - selezionare l’oggetto desiderato e posizionarlo all’interno del panel 3 - quindi dare un nome all’oggetto e stabilire se deve essere un control o un indicator, utilizzando il menù

dell’oggetto4 - ripetere i passi 2 e 3 per tutti gli oggetti utili alla realizzazione del programma5 - quindi passare al diagram per inserire le funzioni e realizzare i collegamenti

N.B.Un oggetto è di tipo control se deve fornire un valore, mentre è di tipo indicator se deve ricevere un valore, ad esempio nel programma della somma di due numeri, visto in precedenza, gli oggetti A e B sono dei control, in quanto forniscono, alla funzione somma, i valori da sommare, mentre l’oggetto C è un indicator poiché viene utilizzato per ricevere il risultato della somma. Per trasformare un oggetto in control o i indicator selezionare dal menù dell’oggetto:• change to control (trasforma l’oggetto in un control)• change to indicator (trasforma l’oggetto in un indicator)

Page 11: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Importante Per far si che un control conservi il valore inserito e che questo sia a disposizione ogni volta che utilizzo il programma, allora portare il mouse sul control e far apparire il menù dell’oggetto, quindi selezionare make current value default dalla voce data operation

Questa operazione farà si che il control conservi il suo valore anche dopo la chiusura del programma.

Page 12: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Come cambiare tipo ad un oggetto numerico

Selezionare la voce representation dal menù dell’oggetto e quindi scegliere il tipo tra quelli a disposizione nel

sottomenù :

Numeri con la virgola

Numeri interi consegno

Numeri interi senza

segno

Numeri complessi

Page 13: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Come definire il range di unoggetto numerico

Dopo aver selezionato la voce data range dal menù dell’oggetto apparirà la finestra :

In cui :minimum : definisce il valore più piccolo che l’oggetto può assumeremaximum : definisce il valore più grande che l’oggetto può assumereincrement : definisce l’incremento automatico dell’oggettodefault : definisce il valore di default dell’oggetto

Page 14: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Come stabilire il numero di cifre decimalidi un oggetto numerico

Selezionata la voce format & precision dal menù dell’oggetto inserire il numero di cifre decimali nella casella digits of precision .

Page 15: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Come definire un vettorePer definire un vettore bisogna prima cosa inserire, prelevandolo dal meù array & cluster di controls, un oggetto vettore sul panel che dopo avergli dato il nome apparirà così :

Dopodiché bisogna stabilire di che tipo deve essere il mio vettore e cioè tabilire se deve essere un vettore di numeri, di booleani o altro quindi scegliere il relativo oggetto ed inserirlo all’interno del quadrato nel modo seguente :

In questo caso stiamo definendo un vettore di numeri con virgola e che si chiama v. Alla fine di queste operazioni il risultato è il seguente :

Indice del vettore

Componente del vettore

Page 16: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Per definire una matrice

Per definire una matrice in labview si seguono gli stessi passi visti per la definizione di un vettore, in più si deve solo aumentare le dimensioni e portarle da uno a due. Per aumentare le dimensioni portare il mouse sul indice del vettore e selezionare add dimension dal menù dell’oggetto, oppure cliccare e tenere premuto sullo spigolo dell’indice del vettore e tirare verso giù, utilizzando lo strumento freccia, per cui si otterà :

Indice di colonna

Indice di riga

In questo caso la matrice è una matrice di booleani.

N.B.per visualizza contemporaneamente più componenti del vettore o della matrice portare il mouse sullo spigolo della componente quindi cliccare, tenere premuto e trascinare.

Page 17: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

I graficiIn labview vi sono cinque tipi di grafico :• waveform chart• waveform graph• xy graph• intensity chart• intensity graphquesti grafici sono selezionabili dal menù graph sul panel, l’aspetto assunto una volta sul panel è uguale per tutti i grafici, mentre ciò che viene visualizzato è diverso da grafico a grafico. Al grafico possono essere collegati solo oggetti numerici. Ogni grafico ha un oggetto ben preciso che deve essere collegato al suo ingresso.• numeri semplici waveform chart • vettori o matrici di numeri waveform graph• cluster di numeri xy graph• matrici di numeri intensity chart• matrici di numeri intensity graphVediamo ora cosa visualizzano questi grafici :waveform chart :visualizza i valori dell’ingresso man mano che questi arrivano e li memorizza in un buffer intero dimensionabilewaveform graph :visualizza tutti i valori dell’ingresso contemporaneamente. xy graph :visualizza le coppie (x,y). Nel cluster d’ingresso il primo valore deve essere x, mentre il secondo deve essere y. Intensity chart :funziona come waveform chart, in più al punto inserito viene associato un colore che dipende dal suo valore numericointensity graph :funziona come waveform graph, in più al punto inserito viene associato un colore che dipende dal suo valore numerico

Page 18: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Aspetto di un graficoPremere il tasto destro per visualizzare il menù dell’oggetto e scegliere il colore il tipo di linea etc. del singolo plot

Portare il mouse sullo spigolo cliccare e trascinare per aumentare il numero di plot

Attiva o disattiva l’auto scala su x o y

Modifica il formato ed il numero di cifre decimali di x o di y

Finestre di zoom

Muove il grafico

Clicca con il tasto destroper far comparire il menùdell’oggetto.

Nome dell’oggetto grafico

Page 19: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Passi da svolgere sul diagram

1 - far comparire la finestra functions2 - selezionare la funzione e posizionarla 3 - collegare oggetti e funzioni con il rocchetto4 - ripetere i passi 2 e 3 per tutte le funzioni che servono

vediamo come effettuare i collegamenti :• scegliere il rocchetto tra i tools • posizionarsi sull’oggetto da collegare e fare click con il tasto sinistro• quindi spostare il rocchetto sulla funzione da collegare e fare click non appena lampeggia il morsetto desiderato.

Page 20: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Colori degli oggetti e dei collegamenti

• arancione con la virgola• blu intero• verde buleano• viola stringa• marrone cluster ( record )

N.B.vettore e matrice assumono il colore dell’oggetto contenuto

Collegamento errato

Collegamento corretto di un oggetto semplice

Collegamento corretto di un vettore

Collegamento corretto di una matrice

Tipi di collegamento :

Page 21: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Structures case for

while

formula

sequence

Page 22: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Il blocco sequence

Il blocco sequence si utilizza nel momento in cui vi è la necessità di eseguire alcune operazioni in sequenza dato che il labview lavora in pseudo-parallelo, cioè le operazioni all’interno del diagram, vengono svolte senza alcun ordine apparente.

Es. :

Blocco sequence, del quale si sta visualizzando la prima delle tre parti dette frame. Per aggiungere un nuovo frame selezionare la voce add frame . . . dal menù dell’oggetto.

Premere qui per visualizzare i singoli frame

Page 23: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Se il valore all’ingresso del blocco è false allora verrà eseguita la parte false altrimenti verrà eseguita quella true. Inserire all’interno del blocco tutto ciò che deve essere eseguito. Per passare dalla parte false a quella true cliccare con il tasto sinistro del mouse sopra una delle frecce. Il ? Rappresenta l’ingresso del blocco.

Il ciclo for ripete tutto ciò che è al suo interno per N-1. Il blocchetto i è un contatore automatico che parte da zero e si incrementa di una unità ad ogni iterazione. Per collegare un oggetto al for , prima collegare l’oggetto poi portare il mouse sul blocchetto nero e premere il tasto destro, quindi scegliere disable indexing, fare lo stesso quando si desidera portare fuori dal for qualsiasi valore.

Il ciclo while ripete tutto ciò che è al suo interno fintantoché non arriva il valore flase al blocco **. Il blocco i ha la steesa funzione del ciclo for. Per accumulare valori durante l’esecuzione del while ed averli a disposizione al termine collegare l’oggetto d’accumulare al bordo del while portare il mose sul blocco nero e premere il tasto destro quindi attivare la funzione enable indexing.

**

Blocchi case, for e while

Page 24: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Il blocco formula

Il blocco formula ci consente di definire al suo interno un formula matematica qualsiasi utilizzando le funzioni a disposizione, la formula deve essere terminata dal ;. Per inserire un ingresso o un’uscita portare il mouse sul bordo del blocco e premere il tasto destro quindi scegliere add input per inserire un nuovo ingresso, oppure add output per inserire una nuova uscita e quindi dargli il nome, lo stesso nome dovrà poi essere usato all’interno del blocco. Per scrivere la formula all’interno del blocco utilizzare lo strumento di scrittura.

Es.

Esempio di blocco formula con due ingressi e tre uscite. All’interno del blocco vengono valutate le tre funzioni utilizzando i valori di a e di x e quindi i risultati vengono messi a disposizione nei rispettivi blocchi d’uscita.

N.B. Le funzioni a disposizione sono le seguenti:

Page 25: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Alcune funzioni sulle stringhe

Restituisce la lunghezza della stringa in ingresso

Costruisce una nuova stringa unendo le stringhe in ingresso al blocco. Per ottenere più ingressi portare il mouse sul lato destro del blocco e pre mere il tasto destro quindi scegliere add input

Trova un valore all’interno della stringa e restituisce la sottostringa prima del valore e la sottostringa dopo il valore.

trasforma tutta la stringa in ingresso al blocco in maiuscolo

trasforma tutta la stringa in gresso in minuscolo

Effettua l’inversione della stringa all’ingresso

Page 26: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Funzioni su vettori e matrici

Restituisce il numero di elementi del vettore in ingresso. Se in ingresso vi è una matrice restituisce un vettore di due componenti che sono rispettivamente il numero di righe ed il numero di colonne della matrice.

Restituisce l’elemento del vettore in posizione index. Se in ingresso vi è una matrice occorre aumentare il numero di index, quindi portare il mouse all’ingresso quindi premere il tasto destro e scegliere add dimension

Sostituisce un elemento del vettore in posizione index con l’elemento in ingresso al blocco. Se in gresso vi è una matrice aumentare il numero di index come specificato per la funzione precedente.

Restituisce un vettore di N componenti tutte uguali all’elemento in ingresso. Se deve restituire una matrice aumentare le dimensioni del blocco

Restituisce un vettore dato dall’unione degli elementi in ingresso. Per aumentare il numero di ingressi selezionare add element input dal menù dell’oggetto.

Cerca un elemento in un vettore, se l’elemento esiste restituisce la posizione altrimenti restituisce -1. Se in ingresso vi è una matrice aumentare le dimensioni dal menù dell’oggetto.

Page 27: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Funzioni su vettori e matrici

Restituisce il vettore ordinato in senso crescente. Può essere applicato solo a vettori

Fa il trasposto della matrice in ingresso

Restituisce il minimo ed il massimo e le loro rispettive posizioni all’interno del vettore in ingresso

Page 28: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Funzioni sui cluster

Restituisce le singole componenti del cluster in ingresso specificandone solo il tipo

Costruisce un cluster accoppiando i valori all’ingresso specificandone il tipo. Se accorrono più ingressi dal menù dell’oggetto selezionare add input.

Restituisce le singole componenti del cluster in ingresso specificandone il nome

Costruisce un cluster accoppiando i valori all’ingresso specificandone il nome. Se accorrono più ingressi dal menù dell’oggetto selezionare add input.

Page 29: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Le variabili locali

Le variabili locali sono molto utili durante la creazione di un programma. Cos’è una variabile locale e come si costruisce ?Andiamo in ordine vediamo prima cos’è. La variabile locale non è altro che una copia di un oggetto già definito sul panel, aver a disposizione una copia di un oggetto ritorna utile per due motivi :• perché se mi serve il valore di un oggetto, in un particolare punto del diagram, anziché portare in quel punto il valore tramite un collegamento, e quindi appesantire graficamente il diagram, mi creo una variabile locale riferita a quell’oggetto la posiziono in quel punto e la collego.• tramite una variabile locale posso modificare il valore dell’oggetto, sia esso control o indicator, anche durante l’esecuzione del programma

Vediamo ora come creare una variabile locale. Per creare una variabile locale esistono due modi : • direttamente dall’oggetto• nel diagram

Per crearla direttamente dall’oggetto selezionare dal menù dell’oggetto la voce :

Quindi passare nel diagram e utilizzare la variabile appena creata.

Page 30: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Invece per crearla ne secondo modo, cioè dal diagram, portarsi nel diagram e selezionare da structures l’oggetto local, apparirà quindi un oggetto identificato da un ? , a questo punto selezionare dal menù dell’oggetto select item

quindi vi apparirà l’elenco di tutti gli oggetti definiti sul panel, dopodiché selezionare il nome dell’oggetto a cui si vuole associare la variabile locale. Come gli oggetti, anche le variabili locali si differenziano se forniscono o ricevono un valore, così possono essere distinte in variabili da cui si legge e variabili in cui si scrive, per fare questa distinzione selezionare dal menù dell’oggetto :•read local (restituisce il valore dell’oggetto associato)•write local (permette di scrivere nell’oggetto associato)

Page 31: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Subvi in labview

Come in tutti i linguaggi anche in labview esiste la possibilità di costruire delle funzioni, in labview le funzioni vengono definite subvi che prendono. Data la natura del labview la funzione sara un nuovo blocco che avrà tanti ingressi quanti sono gli oggetti sui cui deve lavorare e tante uscite quanti sono gli oggetti che la funzione deve restituire, gli oggetti sia in ingresso che in uscita possono essere di qualsiasi tipo. Vediamo ora come costruire una subvi.

La prima fase per la costruzione di una subvi in labview è realizzare un nuovo programma, quindi un nuovo panel e diagram. Aquesto punto costruiamo il nostro programma come se dovesse lavorare da solo, di conseguenza il nostro programma avrà degli oggetti control e degli altri indicator. Per provare se il programma funziona correttamente diamo dei valori agli oggetti control, che in seguito saranno gli ingressi della subvi, e controlliamo se ad esecuizione terminata le variabili indicator, che poi saranno le uscite della subvi, sono correte. Se il tutto funziona correttamente allora passiamo alla seconda fase, altrimenti scopriamo cosa non funziona.

Nella seconda fase dobbiamo realizzare l’associazione dei control con i morsetti d’ingresso e degli indicator con i morsetti d’uscita della subvi. Vediamo ora come realizzare queste associazioni. Per prima cosa portiamo il mouse sull’angolo destro del panel sul disegno dell’icona a questo punto premiamo il tasto destro del mouse comparirà il seguente menù :

Permette di regolare i settaggi della subvi

Permette di disegnare l’icona della subvi

Mostra i morsetti d’ingresso e d’uscita della subvi

Page 32: Introduzione al LABVIEW Note a cura di Francesco Arnone a.a. 1998-1999.

Quindi selezioniamo show connector, dopo tale scelta al posto del disegno dell’icona appariranno i morsetti della subvi. Automaticamente il labview dispone il numero di morsetti almeno uno per ogni oggetto utilizzato nel panel. In genere darà tanti morsetti sulla sinistra quanti sono i control e tanti sulla destra quanti sono gli indicator. A questo punto notiamo che il puntatore del mouse ha cambiato la sua forma nel rocchetto, per cui per effettuare l’associazione basta semplicemente cliccare sull’oggetto da associare e quindi cliccare sul morsetto al quale deve essere associato, se il collegamento è andato bene allora il morsetto diventerà nero, procedere nello stesso modo per tutti gli oggetti utili. Se il numero di morsetti è troppo elevato o se si sbaglia qualche collegamento riportare il mouse sull’angolo destro e far comparire il menù :

Permette di scegliere altre configurazioni di morsetti

Permette di disconnettere tutti i morsetti Permette di disconnettere

il morsetto selezionato

Una volta terminate queste fasi registrare il programma. Per poter richiamare la subvi all’interno di un altro programma basta semplicemente andare nel diagram, e scegliere dalla finetra functions, l’icona select a vi …, quindi scegliere la subvi desiderata, se la subvi non è nella cartella indicata allora spostarsi nella cartella giusta e selezionare. Una volta selezionata la subvi sarà disponibile nel diagram e sarà identificata dall’icona che avevo disegnato in precedenza.