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!!