Professional Documents
Culture Documents
/ 89
Agenda
Quanto più possiamo mostrarvi in una mattinata
• Cos’è LabVIEW
• Come usare LabVIEW
• Lezione 1 – Esploriamo LabVIEW
• Lezione 2 – Pannello Frontale
• Lezione 3 – Diagramma a Blocchi
• Lezione 4 – Principi di programmazione
• Lezione 5 – Documentazione e debug
• Lezione 6 – Interfacciamento all’Hardware
• Risorse
2 / 89
COS’È LabVIEW
3 / 89
CHE COS’E’ LabVIEW
LabVIEW è un ambiente di programmazione grafica
creato specificatamente per progettisti e tecnici allo scopo
di farli diventare più produttivi e garantendo la presenza di
tutti quegli strumenti per prototipare, progettare e
realizzare le loro applicazioni.
/ 89
Linguaggio di Librerie di
programmazione Supporto analisi e calcolo
Hardware tecnico-
G scientifico
Interfaccia Astrazione
Modelli di
grafica e della
calcolo
reportistica tecnologia
/ 89
Linguaggio di Librerie di
programmazione Supporto analisi e calcolo
Hardware tecnico-
G scientifico
Interfaccia Astrazione
Modelli di
grafica e della
calcolo
reportistica tecnologia
/ 89
Linguaggio di
Analysis and
programmazione Hardware
Technical Code
Support
G Libraries
UI Components
Technology Models of
and Reporting
Abstraction Computation
Tools
/ 89
Linguaggio di programmazione G
Cos’è LabVIEW
• Modello di programmazione intuitivo, simile a un diagramma
di flusso
Permette di concentrarsi sui dati e le operazioni
Astrae molte delle complessità amministrative delle
programmazione
• Curva di apprendimento più stretta rispetto alla tradizionale
programmazione testuale
• Rappresenta in maniera naturale le applicazioni regolate dai
dati attraverso temporizzazione e parallelismo
8 / 89
G Supporto
Analysis and
Technical Code
Programming Hardware
Language
Libraries
UI Components
Technology Models of
and Reporting
Abstraction Computation
Tools
/ 89
Supporto Hardware
Cos’è LabVIEW
• Supporto per migliaia di dispositivi,
tra cui:
Strumentazione scientifica
Dispositivi di acquisizione dati
Sensori
Videocamere
Motori e attuatori
10 / 89
Supporto Hardware
Cos’è LabVIEW
• Supporto per migliaia di dispositivi, INIZIALIZZA
tra cui:
Strumentazione scientifica
Dispositivi di acquisizione dati
CONFIGURA
Sensori
Videocamere
Motori e attuatori
• Modello di programmazione comune LEGGI/SCRIVI
tra tutti i dispositivi Hardware
CHIUDI
11 / 89
Supporto Hardware
Cos’è LabVIEW
• Supporto per migliaia di dispositivi, INIZIALIZZA
Macintosh Windows
tra cui:
Linux
Strumentazione scientifica
Dispositivi di acquisizione dati
CONFIGURA
Sensori Desktop Platform
Videocamere
Motori e attuatori
• Modello di programmazione Real-Time LEGGI/SCRIVI
comune tra tutti i dispositivi FPGA MPU
Hardware
• Codice versatile che supporta
numerosi target CHIUDI
Embedded Platform
12 / 89
G Hardware Librerie di analisi
e calcolo tecnico-
Programming Support scientifico
Language
UI Components
Technology Models of
and Reporting
Abstraction Computation
Tools
/ 89
Librerie di analisi e di calcolo tecnico-scientifico
Cos’è LabVIEW
• National Instruments sviluppa
LabVIEW attraverso un processo
accreditato ISO-9001
• Librerie di:
analisi matematica
14 / 89
Librerie di analisi e di calcolo tecnico-scientifico
Cos’è LabVIEW
• National Instruments sviluppa
LabVIEW attraverso un processo
accreditato ISO-9001
• Librerie di:
analisi matematica
signal processing
15 / 89
Librerie di analisi e di calcolo tecnico-scientifico
Cos’è LabVIEW
• National Instruments sviluppa
LabVIEW attraverso un processo
accreditato ISO-9001
• Librerie di:
analisi matematica
signal processing
algoritmi di controllo
16 / 89
Librerie di analisi e di calcolo tecnico-scientifico
Cos’è LabVIEW
• National Instruments sviluppa
LabVIEW attraverso un processo
accreditato ISO-9001
• Librerie di:
analisi matematica
signal processing
algoritmi di controllo
• Librerie di:
communicazione
file I/O
Connettività
17 / 89
Librerie di analisi e di calcolo tecnico-scientifico
Cos’è LabVIEW
• National Instruments sviluppa
LabVIEW attraverso un processo
accreditato ISO-9001
• Librerie di:
analisi matematica
signal processing
algoritmi di controllo
• Librerie di:
communicazione
file I/O
connettività
• Librerie di funzioni che gestiscono
dati nello stesso formato riportato
dai driver hardware
18 / 89
G Hardware
Analysis and
Technical Code
Programming Support
Language
Libraries
Interfaccia
Technology Models of
grafica e
reportistica Abstraction Computation
/ 89
Interfaccia grafica e reportistica
Cos’è LabVIEW
• Controlli interattivi come grafici, strumenti di misura, e
tabelle per visualizzare i dati acquisiti
20 / 89
Interfaccia grafica e reportistica
Cos’è LabVIEW
• Controlli interattivi come grafici, strumenti di misura, e
tabelle per visualizzare i dati acquisiti
• Strumenti per salvare i dati in file o database, o per
generare report in maniera automatica
21 / 89
G Hardware
Analysis and
Technical Code
Programming Support
Language
Libraries
UI Components Astrazione
Models of
and Reporting della
Computation
Tools tecnologica
/ 89
Astrazione della tecnologia
Cos’è LabVIEW
• Poter sfruttare le tecnologie emergenti come chip FPGA, CPU
multicore e macchine virtuali, senza imparare nuovi linguaggi e
affrontare ulteriori sforzi di sviluppo
• Utilizzare i più comuni protocolli e piattaforme senza perdersi nei
dettagli
NI Real-Time Hypervisor
23 / 89
G Hardware
Analysis and
Technical Code
Programming Support
Language
Libraries
UI Components
Technology Modelli di
and Reporting
Abstraction calcolo
Tools
/ 89
Modelli di calcolo
Cos’è LabVIEW
• Sintassi per la simulazione, matematica testuale, statechart,
nodi component-level IP (CLIP), DLL e altri modelli sono
disponibili nei casi in cui G non è la rappresentazione più
naturale della soluzione.
Flusso di dati Codice C Simulazione Matematica testuale Diagramma di stato
LabVIEW
Programmazione Grafica
25 / 89
Evoluzione dell’astrazione Software
Benefici di LabVIEW
Piattaforma grafica di
sviluppo di sistemi
Livello di astrazione
C#
C++
Linguaggio
assembly
Codice
macchina
26 / 89
COME USARE LabVIEW
27 / 89
Applicazioni con LabVIEW
Come usare LabVIEW
Acquisizione e controllo a
Condition monitoring Monitoraggio strutturale
bordo macchina
28 / 89
Sistema di Monitoraggio in Acciaieria basato su
LabVIEW e CompactRIO
DANIELI AUTOMATION
29 / 89
• LA SOLUZIONE HiSpike è il
nome dell’applicativo che è stato
sviluppato in LabVIEW di
National Instruments integrato ad
un sistema CompactRIO.
L’accesso alla rete direttamente
dall’applicativo consente analisi e
controlli in realtime sul
funzionamento di un
trasformatore sul quale si potrà
programmare interventi di
manutenzione preventiva per
ridurre i tempi di blocco
dell’impianto a causa di rotture
impreviste .
30 / 89
Noise & Vibration Analyzer
Come usare LabVIEW
• LA SFIDA
Uno strumento trasportabile ideale per le esigenze di
acquisizione ed elaborazione dei segnali di rumore e
vibrazione in grado di garantire la realizzazione di
campagne di misura per la caratterizzazione di macchine
rotanti, per l'analisi strutturale, per l'analisi acustica in
generale.
• LA SOLUZIONE
Uno strumento particolarmente compatto, grande quanto il
palmo di una mano, che può essere collegato ad un
notebook: compattezza e versatilità non vanno però a
scapito delle prestazioni tecniche. Infatti il sistema di
acquisizione, dotato delle più moderne tecnologie, adotta
convertitori AD a 24 bit di tipo Delta-Sigma a
campionamento simultaneo fra canali.
31 / 89
Come posso utilizzare LabVIEW?
Come usare LabVIEW
Acquisizione dati ed
• Acquisizione
elaborazione dei dati ed
segnali • Misura di ogni sensore su
elaborazione dei segnali ogni bus
Controllo Strumenti • Analisi ed elaborazione del
• Controllo Strumenti
segnale avanzate
• Automazione
Automazione dei dei sistemi
sistemi di di • Visualizzazione dei dati su
test e di validazione
test e di validazione interfacce utente
•
Misura e controllo
Misura e controllo industriale personalizzate
industriale
• Registrazione dei dati e
• Progettazione
Progettazione di sistemi
di sistemi generazione di report
embedded
embedded
• Didattica
Didattica e ricerca
e ricerca
32 / 89
Come posso utilizzare LabVIEW?
Come usare LabVIEW
Acquisizione dati ed
• Acquisizione
elaborazione dei dati ed
segnali • Automazione dei dati
elaborazione dei segnali raccolti
Controllo Strumenti • Controllo di strumenti
• Controllo Strumenti
multipli
• Automazione
Automazione dei dei sistemi
sistemi di di • Analisi e visualizzazione
test e di validazione
test e di validazione dei segnali
Misura e controllo
• Misura e controllo industriale
industriale
• Progettazione
Progettazione di sistemi
di sistemi
embedded
embedded
• Didattica
Didattica e ricerca
e ricerca
33 / 89
Come posso utilizzare LabVIEW?
Come usare LabVIEW
Acquisizione dati ed
• Acquisizione
elaborazione dei dati ed
segnali • Automazione dei processi
elaborazione dei segnali di test e validazione della
Controllo Strumenti produzione
• Controllo Strumenti
• Controllo di strumenti
• Automazione
Automazione dei dei sistemi
sistemi di di multipli
test e di validazione
test e di validazione • Analisi e visualizzazione
•
Misura e controllo
Misura e controllo industriale dei risultati di test con
industriale
interfacce utente
• Progettazione
Progettazione di sistemi
di sistemi personalizzate
embedded
embedded
• Didattica
Didattica e ricerca
e ricerca
34 / 89
Come posso utilizzare LabVIEW?
Come usare LabVIEW
Acquisizione dati ed • Acquisizione di misure ad alta
• Acquisizione
elaborazione dei dati ed
segnali
velocità
elaborazione dei segnali • Semplice implementazione di
Controllo Strumenti
• Controllo Strumenti controlli PID e avanzati
• Compatibilità con ogni sistema o
• Automazione
Automazione dei dei sistemi
sistemi di di PAC
test e di validazione
test e di validazione • Implementazione di
Misura e controllo meccatronica e progettazione
• Misura e controllo industriale
industriale macchine con strumenti
• Progettazione
Progettazione di sistemi
di sistemi
applicativi specifici
embedded
embedded
• Didattica
Didattica e ricerca
e ricerca
35 / 89
Come posso utilizzare LabVIEW?
Come usare LabVIEW
Acquisizione dati ed
• Acquisizione
elaborazione dei dati ed
segnali • Riutilizzo del codice ANSI
elaborazione dei segnali C e HDL
Controllo Strumenti • Integrazione di hardware
• Controllo Strumenti
off-the-shelf
• Automazione
Automazione dei dei sistemi
sistemi di di • Prototipazione con la
test e di validazione
test e di validazione tecnologia FPGA
Misura e controllo
• Misura e controllo industriale
industriale • Accesso a strumenti
specializzati per diversi
• Progettazione
Progettazione di sistemi
di sistemi settori come la robotica e il
embedded
embedded
settore medico
• Didattica
Didattica e ricerca
e ricerca
36 / 89
Come posso utilizzare LabVIEW?
Come usare LabVIEW
Acquisizione dati ed
• Acquisizione
elaborazione dei dati ed
segnali • Ambiente didattico
elaborazione dei segnali interattivo e pratico
Controllo Strumenti • Progettazione di algoritmi
• Controllo Strumenti
con i dati reali
• Automazione
Automazione dei dei sistemi
sistemi di di • Migliori prestazioni delle
test e di validazione
test e di validazione applicazioni grazie
•
Misura e controllo
Misura e controllo industriale all'elaborazione multicore
industriale
• Progettazione
Progettazione di sistemi
di sistemi
embedded
embedded
• Didattica
Didattica e ricerca
e ricerca
37 / 89
Lezione 1
ESPLORIAMO LabVIEW
38 / 89
39 / 89
Strumento virtuale (VI)
40 / 89
Parti di un VI – Pannello frontale
41 / 89
Parti di un VI – Diagramma a blocchi
42 / 89
Parti di un VI – Icona/Pannello delle
connessioni
Icona Rappresentazione grafica di un VI
43 / 89
Progetto
44 / 89
Avviamo LabVIEW
DEMO
Risorse nella finestra
del Getting Started e
come iniziare un VI
partendo dalla finestra
New..
45 / 89
Lezione 2
PANNELLO FRONTALE
46 / 89
Interfaccia grafica utente
Pannello frontale
47 / 89
Temi personalizzati
Pannello frontale
48 / 89
Lezione 3
DIAGRAMMA A BLOCCHI
49 / 89
Diagramma a blocchi
Il diagramma a blocchi
contiene i seguenti
elementi:
Terminali
SubVI
Funzioni
Costanti
Strutture
Fili
50 / 89
Terminali
Diagramma a blocchi
• I terminali sono:
La rappresentazione nel diagramma a blocchi di controlli e
indicatori del pannello frontale
Porte di ingresso/uscita per lo scambio di informazioni tra pannello
frontale e diagramma a blocchi
L’analogo di parametri e costanti nei linguaggi di programmazione
testuale
• Rappresentazione come ICONA o come TERMINALE
51 / 89
Nodi
Diagramma a blocchi
• Elementi del diagramma a blocchi che hanno ingressi e/o
uscite ed eseguono operazioni quando il VI è in esecuzione
• Analoghi a dichiarazioni, operatori, funzioni e subroutin nei
linguaggi di programmazione testuale
• I nodi possono essere funzioni, subVI, o strutture
Nodi
Nodos
52 / 89
Nodo Funzioni
Diagramma a blocchi
• Operatori fondamentali in LabVIEW
• Non hanno pannello frontale o diagramma a blocchi ma
hanno il terminale delle connessioni
• Un doppio click sulle funzioni seleziona soltanto la funzione
– non la apre come per i VI
• Hanno una icona con sfondo giallo pallido
53 / 89
Nodo SubVI
Diagramma a blocchi
• SubVI: VI realizzati per essere usati internamente ad un
altro VI
• Qualunque VI può essere usato come subVI
• Un doppioclick sul subVI apre il pannello frontale e il
diagramma a blocchi del subVI
L’angolo in alto a destra del pannello frontale e del diagramma a
blocchi visualizza l’icona del VI corrente
E’ la stessa icona che compare quando inserisci il VI nel
diagramma a blocchi come subVI
54 / 89
Nodo SubVI Express
Diagramma a blocchi
• Gli Express VI sono un tipo speciale di subVI
Richiedono collegamenti minimi perchè configurabili attraverso
finestre di dialogo
La configurazione è salvata come subVI
• Le icone degli Express VI appaiono nel diagramma a
blocchi contornate da sfondo blu
55 / 89
Fili
Diagramma a blocchi
• Trasportano i dati tra gli oggetti del diagramma a blocchi
• Il tipo di dato è rappresentato con fili di colore, stile e
spessore diversi
• Un filo rotto appare come una linea
nera e tratteggiata con una X rossa
nel mezzo
56 / 89
Trucco – allineamento dei nodi
Diagramma a blocchi
Il pulsante Clean Up Diagram riarrangia fili e oggetti per
aumentare la leggibilità del codice
1. Seleziona una sezione del diagramma a blocchi
2. Clicka il pulsante Clean Up Diagram nella barra degli strumenti
57 / 89
Lezione 4
PRINCIPI DI PROGRAMMAZIONE
58 / 89
Tanto complesso quanto necessiti
Principi di programmazione
Facilità di utilizzo Applicazione a
Efficienza nello funzionalità
sviluppo fissa
Express API
produttive
(astratte)
API di
basso C/C++
livello VHDL
Rendimento
Flessibilità
59 / 89
Express VI Express
Principi di programmazione
• Veloce ed intuitivo, ma con limitazioni
• Simile ad altri strumenti dalla funzionalità prefissata,
configurabili ma non programmabili
60 / 89
Creazione di un semplice VI – “Express VI”
DEMO
61 / 89
API produttive (astratte) API
produttive
Principi di programmazione (astratte)
62 / 89
API di basso livello API di
basso
Principi di programmazione livello
63 / 89
Creazione di un semplice VI – “API”
DEMO
64 / 89
Lezione 4
DOCUMENTAZIONE E DEBUG
65 / 89
Documentazione
Documentazione e debug
66 / 89
Debug semantico real time
Documentazione e debug
67 / 89
Assistenza di programmazione
Documentazione e debug
Traccia di esecuzione
Allineamento del
diagramma a blocchi
Help contestuale
68 / 89
Tecniche di debugging
Documentazione e debug
• Lo strumento SONDA permette di osservare i valori dei dati intermedi
e di verificare I valori di uscitadi VI e funzioni, soprattutto su
operazioni di I/O
• Il pulsante MANTIENI L?ULTIMO VALORE DEL FILO mantiene i
valori dei fili, utile per poterli “sondare”al termine dell’esecuzione del
VI
69 / 89
Getting Started - Debug
DEMO
70 / 89
Lezione 5
INTERFACCIAMENTO
ALL’HARDWARE
71 / 89
Controllo strumenti
DEMO
ARGOMENTI
• Driver per controllo
strumentazione
• Finding Instrument
Drivers
• Trasferimento di dati
a Microsoft Excel
72 / 89
Riproduzione di codice su target remoti
DEMO
/ 89
Perchè provare LabVIEW
Programmazione più veloce
con blocchi di funzione grafici
drag-and-drop
Programmazione multicore
con parallelismo intrinseco
e multithreading
74 / 89
Perchè provare labVIEW
Interfaccia utente professionale
con controlli integrati, grafici e
strumenti di visualizzazione 3D
Approcci multipli di
presentazione
per includere simulazioni,
diagrammi di
stato e file .m custom
Formazione e servizi
Risorse tecniche e supporto
Community online con oltre
110,000 utenti LabVIEW
75 / 89
RISORSE
76 / 89
Cos’è LabVIEW
Risorse
77 / 89
Come posso utilizzare LabVIEW
Risorse
78 / 89
Novità di LabVIEW2010
Risorse
79 / 89
LabVIEW – oltre al software
Risorse
80 / 89
Percorsi formativi su LabVIEW
Formazione
Obiettivi:
Accelerare l’apprendimento
Ridurre i tempi di sviluppo e mantenimento delle applicazioni
Applicazioni performanti, scalabili e mantenibili
Validare le competenze e standardizzare i metodi di sviluppo
81 / 89
Formati di fruizione
Formazione
Good Better Best
Autoapprendimento Corsi On-line Corsi in Aula Corsi On-Site
• Manuali e CD kit • Formazione con istruttore live • Formazione con istruttore in aula • Istruttore presso la vostra sede
• Formazione secondo i propri • 4 ore al giorno • 8 ore al giorno • Formazione rivolta a team in
ritmi • Azzeramento delle spese di • Tempi brevi d’apprendimento azienda
• Scadenze non imminenti trasferta • Utilizzo di postazioni attrezzate • Piani formativi personalizzati
• Utilizzo di postazioni remote • Lontano dalle distrazioni • Date e durata concordate
attrezzate quotidiane • Azzeramento delle spese di
• Possibilità di rivedere la trasferta
registrazione del corso • Attrezzature didattiche fornite da
NI
• Test di valutazione
82 / 89
Dove trovare le informazioni
Formazione
ni.com/training/i
• Calendario corsi e sedi di formazione
• Agende dettagliate dei corsi
• Soluzioni formative convenienti
• Quiz per valutare le proprie competenze
• Informazioni sul programma di certificazione
Contattati:
83 / 89
NIDAYS
Forum Tecnologico sulla Progettazione Grafica di Sistemi
• 23 febbraio 2011
NH Milanofiori
Strada 2a, Milanofiori
Loc. Assago. 20090 Milano
• 1000 mq di area espositiva con oltre 25
espositori
• Energy Summit 2011
• Sessioni tecniche parallele
• Best Application 2010
• Certificazione CLAD ad un prezzo speciale
• Special VP Guest dalla corporate di NI
84 / 89
Sfruttare il Network
Risorse
+300 add-on di terze parti
+70.000 utenti online
+400 Solution partner
+100 user group registrati
+35 corsi di formazione
+500.000 bambini tramite LEGO
Community Collaboration
Connectivity
+9000 instrument drivers
+1000 sensori intelligenti
+1000 dispositivi PAC di terze parti
85 / 89
Codice ed esempi
Risorse
ni.com/code
86 / 89
Risorse
• 14 realizzate in LabVIEW 2010
• 1276 idee – 14,158 voti
VI Snippet Version Included inProjects Receive Individual
Image Section
Simplified Connector Pane View Cluster Constant as
Editing Icon
Boolean Constant Redesign Adding Labels to Wires
to Save Space Merge Error Node Grows to
Include Radix for String Fit Inputs
Constant Replace Object with Quick
Close All VIs in a Project Drop
Local Variable Redesign to Configurable Hot Keys for ni.com/ideas
Save Space Quick Drop
87 / 89
Network dei LabVIEW tools
89 / 89