Programmare con Labview

Transcript

Programmare con Labview
U. MIDOSSI –Sez. I.T.I.S.
Programmare con Labview
Guida al linguaggio di programmazione Labview
Parte prima
Introduzione a LabView
Block Diagram e Control Panel
Muovete i primi passi in Labview
Esercizio n.1: conversione temperatura
Creiamo insieme il primo programma che ci permetterà di convertire una
temperatura
SubVIS
Costruiamo un SubVIs
Tecnica per rendere il vostro linguaggio leggibile, riutilizzabile e modulare
Esercizio n.2: costruzione di un SubVI
Riprendendo l'esercizio n.1 costruiamo ed utilizziamo un SubVI
Programmare con Labview - Block Diagram e Control Panel
Introduzione
LabView è un linguaggio grafico che nasce venendo incontro alle necessità di
coloro che non sono programmatori ma che hanno bisogno di programmare
(direi che gli elettronici sono l'auditorium più popoloso). Questo tutorial si
propone di avviare utenti completamente nuovi al linguaggio dando le
informazioni necessarie per creare i primi programmini.
Control Panel e Block Diagram Aprendo un nuovo VI (VI sta per virtual
instrument ed è il nome dei programmi scritti in LabView), compaiono
immediatamente due finestre:
Control Panel (Pannello di Controllo)
E' una pagina grigia con quadretti. In questo foglio dovete creare l'interfaccia
grafica dove l'utente può inserire valori, cambiare lo stato delle variabili,
leggere il risultato delle operazioni svolte dal programma, analizzare grafici, …
(il limite è la fantasia) A tal proposito mi riferirò ad indicatori del front panel
indicando oggetti che visualizzano il risultato di un operazione (grafici,
indicatori numerici o di stringa) mentre ai controlli indicando oggetti utilizzati
nel block diagram come input di eventuali porzioni di codice. Cliccando con il
tasto destro del mouse sul pannello di controllo si accede alle control palette
dove potete trovare tutti i controlli e gli indicatori da predisporre nella vostra
interfaccia grafica.
Block Diagram (Diagramma a blocchi)
In questo spazio inserirete invece il codice del programma (icone e
connessioni… niente di scritto) che utilizzerà gli elementi del front panel per
eventualmente elaborarli e produrre dei risultati. Cliccando con il tasto destro
del mouse comparirà la functions palette dalla quale potete scegliere la
funzione o la struttura da utilizzare all'interno del vostro codice.
Programmare con Labview - Esercizio n.1: conversione temperatura
(Prima di iniziare un link rapido ad un'utility per la conversione di unità di
misura)
Il primo programmino
Conversione di una temperatura inserita dall'utente da gradi centigradi
a gradi fahrenheit
Il programma che andiamo a proporre legge un valore numerico inserito
dall'utente rappresentante una temperatura in gradi centigradi e ne restituisce
il valore in gradi fahrenheit. Attenzione: la versione di LabView utilizzata è la
7.0 e potrebbero esserci pertanto variazioni dalle precedenti. A questo punto
aprite un nuovo VI e disponetevi sul front panel. Create un controllo numerico
facendo click col tasto destro sul front panel e seguendo questo percorso nelle
control palette: all controls>>numeric>>numeric control
Trascinate il controllo in un punto qualsiasi del pannello frontale. Adesso create
nello stesso modo un indicatore numerico seguendo il percorso seguente: all
controls>>numeric>>numeric indicator. Disponete l'indicatore sul pannello
frontale. Potete a questo punto rinominare i due elementi facendo doppio click
sull'etichetta e inserendo due nomi che cosa rappresenta la variabile ad
esempio centigradi (per il controllo) e fahrenheit (per l'indicatore)
Se vi spostate nel block diagram troverete due icone con lo stesso nome del
controllo e dell'indicatore creati, che vi permetteranno rispettivamente di
leggere la temperatura inserita in gradi centigradi e di visualizzare il risultato
della conversione in gradi fahrenheit.
Il colore arancione delle variabili indica che rappresentano numeri reali in
doppia precisione. Il controllo si presenta con un contorno più spesso e con
una freccia verso destra (ad indicare che i dati sono uscenti) mentre
l'indicatore ha un contorno più sottile e ha una freccia verso sinistra (ad
indicare che i dati sono entranti).
Prendiamo adesso le funzioni che ci permettono di sommare e moltiplicare due
numeri facendo click con il tasto destro nel block diagram e scegliendo le due
icone rispettivamente da questi due percorsi: all
functions>>numeric>>multiply e all functions>>numeric>>add
e disponiamole sul diagramma a blocchi come indicato di seguito
dobbiamo a questo punto inserire le due costanti per cui dobbiamo prima
moltiplicare e poi sommare prendendole seguendo questo percorso all'interno
delle function palette: all functions>>numeric>>numeric constant Disponetele
nel block diagram e inserite i due valori 1,8 e 32 come indicato di seguito:
Come potete notare, il numero 32 compare in azzurro ad indicare che è un
intero. Bisogna a questo punto collegare tra di loro controlli, indicatori, costanti
e funzioni. Per fare ciò portatevi sulla freccia che compare alla destra del
controllo "Centigradi": il puntatore del mouse cambia forma assumendo quella
del rocchetto Effettuate adesso i collegamenti tra i vari "blocchetti" come
indicato di seguito:
A questo punto il programma è bello che finito… la freccia in alto a sinistra
diventa bianca e intera (al contrario di prima che era grigia e spezzata).
Provate ad aprire il control panel e inserite un numero all'interno del controllo
"Centigradi" facendovi doppio click all'interno. Premete la freccetta bianca in
alto a sinistra e vedete apparire un numerino all'interno dell'indicatore
fahrenheit indicante la conversione della vostra temperatura!!!
Adesso avete le basi per iniziare… sfogate la vostra fantasia!!! Ultimo consiglio:
usate l'help in linea (CTRL+H), faciliterà molto l'utilizzo dell'ambiente.
Programmare con Labview - SubVIs in Labview
Introduzione
In questa lezione impareremo a creare e utilizzare un SubVI, cioè una porzione
di codice di altri programmatori o creata da noi, più o meno come in C si fa con
le "funzioni". Il punto d'inizio potrebbe proprio essere il VI che abbiamo creato
nella lezione precedente
Creazione di un icona associata al SubVI
Apritelo quindi (il mio si chiama SubVI-CtoF.vi e lo potete scaricare qui) e
disponetevi nel pannello di controllo. Cliccate con il tasto destro sull'icona che
compare in alto a destra e scegliete dal menù a tendina la voce Edit Icon.
Comparirà la seguente finestra di dialogo
Scegliete, sulla sinistra, lo strumento che permette di selezionare porzioni di
immagine
Selezionate tutto il disegno dell'icona e premete il tasto Canc per eliminarne il
contenuto
Selezionate adesso lo strumento che permette di editare del testo
Scrivete qualcosa all'interno dell'icona che sia descrittivo del compito che il
SubVI deve svolgere e premete il pulsante OK.
Osservate come l'icona del vostro VI sia cambiata!!!
Associazione dei connettori all'icona
A questo punto dobbiamo associare controlli ed indicatori del nostro VI all'icona
che poi lo rappresenterà. Sempre dal pannello di controllo, cliccate con il tasto
destro del mouse sull'icona del VI e scegliete la voce Show Connector dal menù
a tendina: vedrete modificarsi il riquadro in questo modo:
Lo spazio che prima era occupato dall'icona adesso è bianco ed è diviso in due
rettangoli. Possiamo associare ad ognuno di questi rettangoli un controllo o un
indicatore. Per convenzione si sceglie di collegare a sinistra i controlli e a
destra gli indicatori. Cliccate adesso con il tasto sinistro del mouse sul
rettangolo di sinistra che diventerà nero e cliccate poi sul controllo presente nel
VI (quindi quello della temperatura in gradi centigradi). Abbiamo in questo
modo assegnato quel controllo a quel connettore (vedete infatti che c'è
corrispondenza tra il colore arancio del rettangolo nell'icona e il tipo di variabile
del controllo).
Ripetiamo l'operazione per l'indicatore: clicchiamo quindi sul rettangolo destro
e poi sull'indicatore Fahrenheit. Nuovamente si crea corrispondenza tra colore
e tipo di variabile associata.
Salvate e chiudete il VI… ora è anche un SubVI!!!
Programmare con Labview - Eserecizio n.2: costruzione di un SubVI
Vedremo ora come sia possibile utilizzare SubVI per rendere il nostro codice
più leggibile, ordinato e riutilizzabile. Il nostro obiettivo sarà quello di simulare
la lettura di una temperatura (tramite la generazione di un numero casuale tra
24 e 26 gradi) e scegliere la scala con cui visualizzarla (Centigrada o
Fahrenheit) Aprite un VI vuoto: il primo obiettivo è la generazione della
temperatura! Prendete la funzione che genera numeri casuali tra 0 e 1 che si
trova in All Functions>Numeric>Random Number all'interno della function
palette
costruite questo diagramma:
abbiamo appena creato un numero casuale tra 22 e 26. Inseriamo nel pannello
di controllo un controllo booleano che ci permetterà di selezionare la scala con
cui visualizzare la temperatura. Inseriamo anche due scritte, C ed F, che
individuino le due scale
Torniamo al diagramma a blocchi e inseriamo la funzione da scelta
condizionata da un valore booleano che si trova in All
Functions>Comparison>Select
Collegate come segue
Cosa si dovrà inserire nell'altro terminale della funzione select? Naturalmente il
valore in gradi Fahrenheit della temperatura che sarà convertito dal SubVI
creato poco sopra! Per fare questo posizionatevi nel diagramma a blocchi e
scegliete nella functions palette la voce select a VI
Si aprirà una finestra di dialogo in cui dovrete selezionare il SubVI di cui sopra.
L'icona che lo individua comparirà nel diagramma a blocchi e sarà utilizzabile
come una qualsiasi delle altre funzioni di LabView. Collegatela quindi come in
figura dopo aver creato però un indicatore numerico nel pannello di controllo:
Il blocco select decide in base al valore della variabile Scala se portare in uscita
il valore di temperatura generato così com'è o se farlo processare dal blocco di
conversione della temperatura! Il giochetto è semplice e molto intuitivo… ma di
grande effetto e subito molto chiaro anche per programmatori non esperti!!