Strumentazione Virtuale con LabVIEW

Strumentazione Virtuale con
LabVIEW
Obbiettivi del corso
•Conoscere i componenti di uno Strumento
Virtuale (VI).
•Introdurre l'ambiente di programmazione
LabVIEW e le sue principali funzioni.
•Creare una semplice applicazione di
acquisizione dati.
•Creare una subroutine in LabVIEW.
Sezione I
•Terminologia dell'ambiente LabVIEW.
•Componenti di un'applicazione LabVIEW.
•Strumenti di sviluppo dell'ambiente
LabVIEW.
•Prima applicazione in LabVIEW.
I programmi di LabVIEW vengono chiamati
Virtual Instruments - VIs (Strumenti Virtuali)
Front Panel
(Pannello Frontale)
• Controlli = INPUT
• Indicatori = OUTPUT
Block Diagram
(Diagramma a Blocchi)
• Codice che accompagna il
Front Panel.
• I componenti sono
collegati tramite fili(wires)
Pannello Frontale del VI
Pulsanti del
Front Panel
Controllo
Booleano
Icona
del VI
Legenda
del grafico
Grafico
Waveform
Legenda
della scala
Legenda
delle tracce
Block Diagram del VI
Pulsanti
del Block
Diagram
Divisione
(funzione)
Icone
di SubVI
Terminale
del Grafico
Filo di dati
Struttura
While
Costante
Numerica
Temporizzatore
(funzione)
Terminale del
Controllo Booleano
VI, VI Express e Funzioni.
• VI Standard: VI generici modificabili tramite il relativo codice.
• VI Express: VI interattivi modificabili tramite interfaccia grafica.
• Functions: elementi fondamentali del linguaggio che
permettono la modifica e la manipolazione dei dati
Function
VI Express
VI Standard
Paletta dei Controlli e delle Funzioni
Paletta dei controlli
(Controls Palette)
Legata al pannello frontale
Paletta delle Funzioni
(Functions Palette)
Legata al Block Diagram
Paletta degli Strumenti (Tools Palette)
• Liberamente posizionabile.
• Utilizzata per modificare sia gli oggetti del
Pannello Frontale che quelli del Block
Diagram.
Indicatore Selezione Automatica
Controllo Oggetti
Trascinamento Oggetti
Posizione e Dimensione
Interruzione/Breakpoint
Etichettatura
Rocchetto per collegamenti
(filo/wire)
Sonda/Probe
Menu Rapido
Copia Colore
Modifica Colore
Barra di controllo esecuzione/oggetti
Pulsante di Avvio
Esecuzione Ciclica
Interruzione Forzata
Pulsanti addizionali
(solo per Block Diagram)
Pausa esecuzione
Visualizzazione Esecuzione
Formattazione testo
Entra nella Funzione
Allineamento oggetti
Posizionamento
oggetti
Raggruppa oggetti
Ridimensiona oggetti
Salta la Funzione
Esci dalla Funzione
Aprire ed Eseguire Strumenti Virtuali
Ricerca di Esempi
Creare un VI
Pannello frontale (finestra)
Terminali
Indicatori
Block Diagram (finestra)
Terminali dei
controlli
Terminali
Indicatori
Creare un VI >>> Block Diagram
Realizzare i collegamenti (BD)
Rocchetto/Filo
(Realizza i Collegamenti)
Disposizione automatica
Collegamento
Selezione dei Collegamenti
Sbroglio/pulizia Collegamenti
Programmazione Dataflow
• Il codice del Block
Diagram viene eseguito
seguendo il flusso di dati.
NON da sinistra a destra!
• I nodi vengono eseguiti
quando TUTTI gli ingressi
possiedono dati validi.
• Le uscite vengono
assegnate al termine
dell'esecuzione della
funzione/VI.
Finestra d'Aiuto (Help)
Aiuto Contestuale
•
•
•
•
Ulteriore Aiuto
Blocca Finestra Aiuto
Aiuto Semplice/Completo
N.B. Richiamabile con “Ctrl+H”
Collegamento Aiuto OnLine
• Menù consultabili nell'Aiuto OnLine
• Accessibile dal menù a tendina delle funzioni (click tasto dx)
Esercizio 1 - Convertire °C to °F
Tecniche di Debug (ricerca errori)
• Ricerca Errori
Cliccando sulla freccia rotta compare
la lista degli errori presenti nel codice.
• Visualizzazione Esecuzione
Cliccando sul tasto di Visualizzazione Esecuzione
il passaggio dei dati nei collegamenti viene
evidenziato.
I valori dei dati nei collegamenti sono consultabili.
●
Sonda
Il click desto del mouse sul collegamento
mostra la finestra di Sonda ed illustra il dato
che passa nel attualmente nel collegamento.
E' possibile selezionare la Sonda anche dalla
Paletta Strumenti del Block Diagram.
Sezione II – SubVIs
• Cosa è un subVI?
• Creare un'icona ed
un connettore per il
subVI
• Usare un VI come
subVI
Nodi del Block Diagram
Nodo visualizzato
come icona
•
•
•
•
Nodo ridimensionabile
E' il VI “Generatore di Funzioni”.
E' lo stesso VI visto in tre modi.
I terminali arancioni sono standard.
I terminali azzurri appartengono ai
dati dinamici (Express VIs).
Nodo Espanso
SubVIs
• Un SubVI è un VI che può essere utilizzato
all'interno di un'altro VI.
• Simile ad una subroutine.
• Vantaggi
– Modularità
– Correzione facilitata.
– Riutilizzo del codice.
– Richiede meno memoria durante l'esecuzione.
Icona e Connettore
Icon
• L'icona identifica il VI, in
particolare quando viene
utilizzato come subVI.
Terminals
• Il connettore identifica i
terminali dei dati in ingresso
Connector ed in uscita.
SubVIs
Sub VIs
Passi per creare un SubVI
•Creare l'icona.
•Creare il connettore.
•Assegnare i terminali dei dati.
•Salvare il VI.
•Utilizzare il VI all'interno di un'altro VI.
Creare l'icona
• Doppio Click sull'icona nell'angolo in alto a destra.
• Click DX sull'icona e selezionare Edit Icon...
Creare il Connettore
Nel Pannello Frontale fare click dx sull'icona in alto a
destra e selezionare ”Show Connector”.
Assegnare i Terminali
1° Click
2° Click
Salvare il VI
• Scegliere una cartella facilmente raggiungibile.
• Organizzare i VI per funzionalità (salva i VI con
funzionalità simili nella medesima cartella: es. Cartella
“Funzioni Matematiche”).
• Organizzare i VI per appartenenza (salva tutti i VI
appartenenti ad una stessa applicazione in una singola
cartella: es. Laboratorio Segnali).
• N.B. I file di libreria .llb raggruppano più VI in un
singolo “pacchetto” che può essere facilmente
trasportato tra vari computer.
Inserire il SubVI nel VI principale
Recuperare subVIs salvati:
Functions >>All Functions >> Select a VI
Oppure
Trascina l'icona nel Block Diagram
se il VI è ancora aperto.
Suggerimenti utili:
• Scorciatoie:
– <Ctrl-H> – Attiva/Disattiva finestra di Aiuto OnLine.
– <Ctrl-B> – Rimuove collegamenti errati nel Block Diagram
– <Ctrl-E> – Cambia visualizzazione tra Pannello Frontale e
Block Diagram.
– <Ctrl-Z> – Annulla operazione precedente.
• Tools » Options – Imposta preferenze in LabVIEW
• VI Properties – Imposta proprietà del VI.
Sezione III – Acquisizione Dati
• Basi dell'acquisizione dati(DAQ)
• Connettere segnali.
• Semplice applicazione DAQ.
Scheda DAQ
Computer
Sensori
Cavo
Terminal Block
DAQ (Data AcQuisition)
Acquisizione di Temperatura utilizzando DAQ Assistant
Terminologia dell'Acquisizione Dati
•Risoluzione – Determina qual'è il
cambiamento minimo nel voltaggio che può
essere rilevato dal sistema.
– Maggiore risoluzione = Maggiore precisione di
rappresentazione del segnale.
•Range – Differenza tra voltaggio Massimo e
Minimo acquisibili.
– Range ridotto = Migliore rappresentazione del segnale.
•Guadagno – Adatta il segnale al range
amplificandolo o riducendolo.
Connessioni Hardware
BNC-2120
SC-2075
NI-ELVIS
SCB-68
Esercizio 2 - Semplice Acquisizione Dati
Completa “Converti C to F.vi” e crea “Thermometer.vi”.
Sezione IV – Cicli e Grafici
• Ciclo For
• Ciclo While
• Grafici (Charts)
• Grafici Multiplots
Cicli
• Ciclo While
– Esegue almeno una volta
– L'esecuzione è condizionata
dal valore di un controllo di
STOP.
– Ha terminale d'iterazione
corrente (i)
•Ciclo For
• Esegue un numero definito
di volte determinato dal
terminale N
• Ha terminale d'iterazione
corrente (i)
Cicli (continua)
1. Seleziona il ciclo
2. Racchiudi il codice da ripetere
3. Aggiungi ulteriore codice
Grafici (Charts)
Waveform chart – indicatore
grafico che visualizza una
successione di valori.
Controls >> Graph Indicators
>> Waveform Chart
Collegare dati ai grafici Charts
Grafici Charts ad una
traccia
Grafici Charts a più
tracce
Esercizio 3 – Utilizzare i cicli.
Creare un VI con un ciclo.
(Loop.vi)
Sezione V – Arrays & File I/O
• Creare array manualmente.
• Creare array automaticamente con le funzioni di
LabVIEW.
• Scrivere dati in un foglio elettronico (spreadsheet).
• Leggere dati da un foglio elettronico(spreadsheet).
Aggiungere un array al Front Panel
Dalla paletta Controls >> All Controls >> Array
and Cluster selezionare Array
1.
2.
Posizionare l'oggetto Array sul
Pannello Frontale.
Aggiungere un'Array (continua)
Inserisci un tipo di dato nell'Array
(es. Controllo Numerico)
Creare un'Array con un ciclo
• I cicli possono creare array ai propri bordi
accumulando dati iterazione dopo iterazione.
Creare Array a due dimensioni (2D)
File I/O
File I/O – inserire e recuperare dati da file.
- I file possono essere di testo, binari o fogli elettronici.
- Funzioni di Scrittura/Lettura dati di LabVIEW in formato
LabVIEW Measurement(*.lvm).
Scrittura in un file LVM
Lettura da un file LVM
Scrivere file LabVIEW Measurement
• Express VI che include le funzioni di
apertura/scrittura e gestione errore.
• Gestisce la scrittura di dati delimitati da tabulatore o
spazio.
• La funzione Merge Signals viene utilzzata per
convertire i dati in dati dinamici.
Esercizio 4
Analizzare e fare il Log di dati acquisiti.
Creare il VI Temperature Logger.vi
Approfondimenti?
•Programmi d'esempio (Help» Find
Examples…)
•LabVIEW Student Edition
(www.ni.com/labviewse)
•Risorse Web (ni.com)
–NI Developer Zone (zone.ni.com)
–Application Notes
–Italian LabVIEW User Group (www.ilvg.it)
–Instrument Driver Library (www.ni.com/idnet)
Traduzione di:
“LabVIEW Introduction-ThreeHour.ppt”
a cura di:
Massimo Lorenzi
- ILVG.it STAFF-
Il documento originale in inglese è liberamente scaricabile dal sito www.ni.com