Alessandro PLANTAMURA Technical Marketing Engineer - NI Italy

/ 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 programmazione

G
Interfaccia grafica e reportistica

Supporto Hardware
Astrazione della tecnologia

Librerie di analisi e calcolo tecnicoscientifico

Modelli di calcolo
/ 89

Linguaggio di programmazione

G
Interfaccia grafica e reportistica

Supporto Hardware
Astrazione della tecnologia

Librerie di analisi e calcolo tecnicoscientifico

Modelli di calcolo
/ 89

Linguaggio di programmazione

G
UI Components and Reporting Tools

Hardware Support

Analysis and Technical Code Libraries

Technology Abstraction

Models of Computation
/ 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
Programming Language

Supporto Hardware

Analysis and Technical Code Libraries

UI Components and Reporting Tools

Technology Abstraction

Models of Computation
/ 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 Sensori Videocamere Motori e attuatori

CONFIGURA

• Modello di programmazione comune

tra tutti i dispositivi Hardware

LEGGI/SCRIVI

CHIUDI

11 / 89

Supporto Hardware
Cos’è LabVIEW
• Supporto per migliaia di dispositivi,
INIZIALIZZA
Linux Macintosh Windows

tra cui:
   

Strumentazione scientifica Dispositivi di acquisizione dati Sensori Videocamere Motori e attuatori
Real-Time

Desktop Platform

CONFIGURA

• Modello di programmazione

comune tra tutti i dispositivi Hardware • Codice versatile che supporta numerosi target

LEGGI/SCRIVI FPGA

MPU

CHIUDI Embedded Platform

12 / 89

G
Programming Language

Hardware Support

Librerie di analisi e calcolo tecnicoscientifico

UI Components and Reporting Tools

Technology Abstraction

Models of Computation
/ 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 communicazione file I/O Connettività

• Librerie di:
 

17 / 89

Librerie di analisi e di calcolo tecnico-scientifico
Cos’è LabVIEW
• National Instruments sviluppa

LabVIEW attraverso un processo accreditato ISO-9001 • Librerie di:
  

• Librerie di:
  

analisi matematica signal processing algoritmi di controllo communicazione file I/O connettività

• Librerie di funzioni che gestiscono

dati nello stesso formato riportato dai driver hardware

18 / 89

G
Programming Language
Interfaccia grafica e reportistica

Hardware Support

Analysis and Technical Code Libraries

Technology Abstraction

Models of 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
Programming Language

Hardware Support
Astrazione della tecnologica

Analysis and Technical Code Libraries

UI Components and Reporting Tools

Models of Computation
/ 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
Windows XP LabVIEW Real-Time

NI Real-Time Hypervisor

I/O

RAM

CPUs

23 / 89

G
Programming Language

Hardware Support

Analysis and Technical Code Libraries

UI Components and Reporting Tools

Technology Abstraction

Modelli di calcolo
/ 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++ C Linguaggio assembly Codice macchina

Complessità del sistema
26 / 89

COME USARE LabVIEW

27 / 89

Applicazioni con LabVIEW
Come usare LabVIEW

Energia verde

Macchine medicali

Applicazioni nella fisica

Condition monitoring

Acquisizione e controllo a bordo macchina

Monitoraggio strutturale

28 / 89

Sistema di Monitoraggio in Acciaieria basato su LabVIEW e CompactRIO
DANIELI AUTOMATION

• La sfida: Realizzare un sistema di monitoraggio a basso costo, flessibile e facilmente riconfigurabile in grado di valutare le prestazioni di un forno ad arco elettrico dislocato in un’acciaieria nella Confederazione Russa.

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


• • • • •

elaborazione dei segnali Controllo Strumenti Controllo Strumenti Automazione dei dei sistemi di Automazione sistemi di test e di validazione test e di validazione Misura e controllo Misura e industriale controllo industriale Progettazione di sistemi Progettazione di sistemi embedded embedded Didattica e ricerca Didattica e ricerca

Acquisizione dati ed Acquisizione segnali elaborazione dei dati ed

• Misura di ogni sensore su ogni bus • Analisi ed elaborazione del segnale avanzate • Visualizzazione dei dati su interfacce utente personalizzate • Registrazione dei dati e generazione di report

32 / 89

Come posso utilizzare LabVIEW?
Come usare LabVIEW


• • • • •

elaborazione dei segnali Controllo Strumenti Controllo Strumenti Automazione dei dei sistemi di Automazione sistemi di test e di validazione test e di validazione Misura e controllo Misura e industriale controllo industriale Progettazione di sistemi Progettazione di sistemi embedded embedded Didattica e ricerca Didattica e ricerca

Acquisizione dati ed Acquisizione segnali elaborazione dei dati ed

• Automazione dei dati raccolti • Controllo di strumenti multipli • Analisi e visualizzazione dei segnali

33 / 89

Come posso utilizzare LabVIEW?
Come usare LabVIEW


• • • • •

elaborazione dei segnali Controllo Strumenti Controllo Strumenti Automazione dei dei sistemi di Automazione sistemi di test e di validazione test e di validazione Misura e controllo Misura e industriale controllo industriale Progettazione di sistemi Progettazione di sistemi embedded embedded Didattica e ricerca Didattica e ricerca

Acquisizione dati ed Acquisizione segnali elaborazione dei dati ed

• Automazione dei processi di test e validazione della produzione • Controllo di strumenti multipli • Analisi e visualizzazione dei risultati di test con interfacce utente personalizzate

34 / 89

Come posso utilizzare LabVIEW?
Come usare LabVIEW


• • • • •

elaborazione dei segnali Controllo Strumenti Controllo Strumenti Automazione dei dei sistemi di Automazione sistemi di test e di validazione test e di validazione Misura e controllo Misura e industriale controllo industriale Progettazione di sistemi Progettazione di sistemi embedded embedded Didattica e ricerca Didattica e ricerca

Acquisizione dati ed Acquisizione segnali elaborazione dei dati ed

• Acquisizione di misure ad alta velocità • Semplice implementazione di controlli PID e avanzati • Compatibilità con ogni sistema o PAC • Implementazione di meccatronica e progettazione macchine con strumenti applicativi specifici

35 / 89

Come posso utilizzare LabVIEW?
Come usare LabVIEW


• • • • •

elaborazione dei segnali Controllo Strumenti Controllo Strumenti Automazione dei dei sistemi di Automazione sistemi di test e di validazione test e di validazione Misura e controllo Misura e industriale controllo industriale Progettazione di sistemi Progettazione di sistemi embedded embedded Didattica e ricerca Didattica e ricerca

Acquisizione dati ed Acquisizione segnali elaborazione dei dati ed

• Riutilizzo del codice ANSI C e HDL • Integrazione di hardware off-the-shelf • Prototipazione con la tecnologia FPGA • Accesso a strumenti specializzati per diversi settori come la robotica e il settore medico

36 / 89

Come posso utilizzare LabVIEW?
Come usare LabVIEW


• • • • •

elaborazione dei segnali Controllo Strumenti Controllo Strumenti Automazione dei dei sistemi di Automazione sistemi di test e di validazione test e di validazione Misura e controllo Misura e industriale controllo industriale Progettazione di sistemi Progettazione di sistemi embedded embedded Didattica e ricerca Didattica e ricerca

Acquisizione dati ed Acquisizione segnali elaborazione dei dati ed

• Ambiente didattico interattivo e pratico • Progettazione di algoritmi con i dati reali • Migliori prestazioni delle applicazioni grazie all'elaborazione multicore

37 / 89

Lezione 1

ESPLORIAMO LabVIEW

38 / 89

39 / 89

Strumento virtuale (VI)

Virtual Instrument (VI)

Un codice LabVIEW

L’aspetto e le funzionalità dei VI imitano gli strumenti reali come oscilloscopi e multimetri digitali.

40 / 89

Parti di un VI – Pannello frontale

Pannello frontale
Il pannello frontale viene realizzato con controlli (ingressi) e indicatori (uscite)

Interfaccia utente del VI

41 / 89

Parti di un VI – Diagramma a blocchi

Diagramma a blocchi
Gli elementi del pannello frontale compaiono come terminali nel diagramma a blocchi

Contiene il codice grafico sorgente

42 / 89

Parti di un VI – Icona/Pannello delle connessioni
Icona Pannello delle connessioni
Rappresentazione grafica di un VI

Mappa degli ingressi e uscite di un VI

Icone e pannello delle connessioni sono necessarie per usare un VI come subVI
• Il subVI è un VI dentro un VI • Analogo a una funzione in un linguaggio di programmazione testuale
43 / 89

Progetto
Il progetto LabVIEW è usato per:
 

Raggruppare I file LabVIEW e non-LabVIEW Creare eseguibili e distribuzioni Replicare e eseguire applicazioni su target molteplici

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
Numerico DBL Scalare 1D Array 2D Array Numerico Intero Stringa

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. 2. Seleziona una sezione del diagramma a blocchi 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 Efficienza nello sviluppo Applicazione a funzionalità fissa

Express

API produttive (astratte) API di basso livello

C/C++ VHDL
Rendimento Flessibilità
59 / 89

Express VI
Principi di programmazione
• Veloce ed intuitivo, ma con limitazioni • Simile ad altri strumenti dalla funzionalità prefissata, configurabili ma non programmabili

Express

60 / 89

Creazione di un semplice VI – “Express VI”
DEMO

61 / 89

API produttive (astratte)
Principi di programmazione

API produttive (astratte)

• Alto livello di personalizzazione • Richiedono un certo livello di esperienza ma astraggono molte complessità della programmazione

62 / 89

API di basso livello
Principi di programmazione

API di basso livello

• Potenti, ma richiedono esperienza di programmazione e

nell’utilizzo dell’applicazione, nonchè tempo di sviluppo • Simili a C e agli altri linguaggi di programmazione

63 / 89

Creazione di un semplice VI – “API”
DEMO

64 / 89

Lezione 4

DOCUMENTAZIONE E DEBUG

65 / 89

Documentazione
Documentazione e debug

• • • • • •

Oggetti con etichetta Commenti in linea Icone distinte Descrizione e suggerimenti HTML Print-Out Copertura dei requisiti

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

Graphical System Design Platform

Desktop

Real-Time

FPGA

Microprocessor/DSP

Vision

Mobile

Touchpanel

WSN

Differenti moduli di accesso all‘hardware Hardware

/ 89

Perchè provare LabVIEW
Programmazione più veloce con blocchi di funzione grafici drag-and-drop Target multipli inclusi chip FPGA e sistemi operativi real-time Connettività con ogni tipo di hardware grazie alle librerie Integrate, agli instrument driver e ai più diffusi protocolli di comunicazione Programmazione multicore con parallelismo intrinseco e multithreading

74 / 89

Perchè provare labVIEW
Interfaccia utente professionale con controlli integrati, grafici e strumenti di visualizzazione 3D Analisi avanzate con migliaia di funzioni specifiche
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
Autoapprendimento

Better
Corsi On-line Corsi in Aula

Best
Corsi On-Site

• Manuali e CD kit • Formazione secondo i propri ritmi • Scadenze non imminenti

• Formazione con istruttore live • 4 ore al giorno • Azzeramento delle spese di trasferta • Utilizzo di postazioni remote attrezzate • Possibilità di rivedere la registrazione del corso

• • • • •

Formazione con istruttore in aula 8 ore al giorno Tempi brevi d’apprendimento Utilizzo di postazioni attrezzate Lontano dalle distrazioni quotidiane

• Istruttore presso la vostra sede • Formazione rivolta a team in azienda • Piani formativi personalizzati • Date e durata concordate • Azzeramento delle spese di trasferta • 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:

Telefono: E-mail:

+39 02 41309217 italy.service@ni.com

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
+70.000 utenti online +100 user group registrati +500.000 bambini tramite LEGO Community +300 add-on di terze parti +400 Solution partner +35 corsi di formazione Collaboration

Connectivity +9000 instrument drivers +1000 sensori intelligenti +1000 dispositivi PAC di terze parti
85 / 89

Codice ed esempi
Risorse

Un solo indirizzo per trovare tutto il codice ni.com
• • • • •

EPD Example Programs Aggiornamenti dei driver Esempi della community Esempi per IP FPGA Esempi di codice testuale

ni.com/code
86 / 89

Risorse

• 14 realizzate in LabVIEW 2010 • 1276 idee – 14,158 voti
VI Snippet Version Included inProjects Receive Individual Image Section  Simplified Connector Pane Editing  View Cluster Constant as 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
 Local Variable Redesign to Save Space

Drop
 Configurable Hot Keys for Quick Drop

ni.com/ideas
87 / 89

Network dei LabVIEW tools

• • • •

+50 Add-On Librerie per riusare il codice Strumenti per software engineering Controlli per UI

• Architetture di codice • Connettori a SW di terze parti • IP FPGA

ni.com/labviewtools
88 / 89

alessandro.plantamura@ni.com

GRAZIE PER L’ATTENZIONE

89 / 89

Sign up to vote on this title
UsefulNot useful