2. 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.
3. Sezione I
•Terminologia dell'ambiente LabVIEW.
•Componenti di un'applicazione LabVIEW.
•Strumenti di sviluppo dell'ambiente
LabVIEW.
•Prima applicazione in LabVIEW.
4. 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)
5. Pannello Frontale del VI
Pulsanti del
Front Panel Icona
del VI
Controllo
Booleano Legenda
del grafico
Grafico
Waveform
Legenda
della scala
Legenda
delle tracce
6. Block Diagram del VI
Pulsanti
del Block
Diagram Divisione
(funzione)
Icone
di SubVI
Terminale
del Grafico
Filo di dati
Struttura Costante Temporizzatore Terminale del
While Numerica (funzione) Controllo Booleano
7. 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
8. Paletta dei Controlli e delle Funzioni
Paletta dei controlli
(Controls Palette)
Legata al pannello frontale
Paletta delle Funzioni
(Functions Palette)
Legata al Block Diagram
9. 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 Sonda/Probe
Rocchetto per collegamenti
Copia Colore
(filo/wire)
Modifica Colore
Menu Rapido
10. Barra di controllo esecuzione/oggetti
Pulsante di Avvio
Esecuzione Ciclica Pulsanti addizionali
(solo per Block Diagram)
Interruzione Forzata
Pausa esecuzione Visualizzazione Esecuzione
Formattazione testo Entra nella Funzione
Allineamento oggetti
Salta la Funzione
Posizionamento
oggetti Esci dalla Funzione
Raggruppa oggetti
Ridimensiona oggetti
14. Realizzare i collegamenti (BD)
Rocchetto/Filo Selezione dei Collegamenti
(Realizza i Collegamenti)
Disposizione automatica Sbroglio/pulizia Collegamenti
Collegamento
15. 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.
16. 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)
18. 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.
19. Sezione II – SubVIs
• Cosa è un subVI?
• Creare un'icona ed
un connettore per il
subVI
• Usare un VI come
subVI
20. Nodi del Block Diagram
Nodo visualizzato Nodo Espanso
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).
21. 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.
22. Icona e Connettore
• L'icona identifica il VI, in
particolare quando viene
Icon utilizzato come subVI.
Terminals
• Il connettore identifica i
terminali dei dati in ingresso
Connector ed in uscita.
24. 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.
25. Creare l'icona
• Doppio Click sull'icona nell'angolo in alto a destra.
• Click DX sull'icona e selezionare Edit Icon...
26. Creare il Connettore
Nel Pannello Frontale fare click dx sull'icona in alto a
destra e selezionare ”Show Connector”.
28. 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.
29. 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.
30. 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.
31. Sezione III – Acquisizione Dati
• Basi dell'acquisizione dati(DAQ) Scheda DAQ
• Connettere segnali.
• Semplice applicazione DAQ.
Computer
Sensori
Cavo
Terminal Block
33. 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.
35. Esercizio 2 - Semplice Acquisizione Dati
Completa “Converti C to F.vi” e crea “Thermometer.vi”.
36. Sezione IV – Cicli e Grafici
• Ciclo For
• Ciclo While
• Grafici (Charts)
• Grafici Multiplots
37. 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)
38. Cicli (continua)
1. Seleziona il ciclo 2. Racchiudi il codice da ripetere
3. Aggiungi ulteriore codice
39. Grafici (Charts)
Waveform chart – indicatore
grafico che visualizza una
successione di valori.
Controls >> Graph Indicators
>> Waveform Chart
40. Collegare dati ai grafici Charts
Grafici Charts a più
Grafici Charts ad una
tracce
traccia
41. Esercizio 3 – Utilizzare i cicli.
Creare un VI con un ciclo.
(Loop.vi)
42. 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).
43. 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.
47. 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
48. 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.
50. 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)
51. 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