Académique Documents
Professionnel Documents
Culture Documents
Agenda
Realizzare interfacce utente avanzate
embedded
Risorse
Obiettivo - Apprendere come personalizzare il pannello frontale e creare componenti riutilizzabili dell'interfaccia utente che siano conformi ai temi standard del SO. Vedere esempi di rappresentazione dei dati altamente interattivi, finestre di configurazione e modi per aggiungere sfondi allinterfaccia utente.
Agenda
Pratici consigli
Interfaccia Desktop
Interfaccia di monitoraggio
Non cambiare il comportamento di oggetti che si assomigliano Fai pulizia, ordine e restile, non reinventare
2. Pi con meno
Troppi elementi tutti assieme distraggono Permetti allutente di focalizzarsi sullessenziale
Agenda
Pratici consigli
Interfaccia Desktop
Interfaccia di monitoraggio
Aggiungere didascalie ai pulsanti Suggerimenti dinamici Personalizzazione del menu di esecuzione Utilizzo dei pannelli
Applicare le regole
Applicazione Desktop
Non fare loriginale
Usa controlli di sistema Aggiungi icone familiari ai pulsanti che effettuano azioni Usa la X per chiudere lapplicazione Permetti allutente di nascondere i display meno importanti Nascondi la barra degli strumenti di LabVIEW Usa dialoghi temporanei Personalizza il men di esecuzione
Pi con meno
Crea una barra di stato e usa il cursore di occupato per aggiornare lutente Usa suggerimenti per spiegare le funzionalit Permetti allutente di cancellare operazioni lunghe Usa i pannelli per permettere di nascondere parti
Suggerimenti dinamici
Barra di stato
Scomparsa di pannelli
Pratici consigli
Interfaccia Desktop
Interfaccia di Monitoraggio
Panel Background
Applicare le regole
Console Display informativa
Non fare loriginale
Ispirati prendendo esempi dalla TV, dai siti web o applicazioni simili
Mostra unicamente le informazioni importanti in Pi con modo che siano riconoscibili allistante
meno
Risorse
UI Interest Group
http://decibel.ni.com/content/groups/ui
Objective - uno dei grandi vantaggi nellusare LabVIEW che le complessit del proprio sistema pc sono astratte, permettendo allutente di concentrarsi sui dati. Tuttavia a volte vogliamo avere un controllo pi diretto sulle performance del nostro codice ed qui che entrano in gioco alcune delle tecniche di ottimizzazione che vedremo oggi.
Dove ottimizzare
Ottimizzazione di esecuzione
Strumenti di Windows (Task Manager, perfmon) VI Profiler Desktop Execution Trace Toolkit
Livello LabVIEW
VI Profiler, VI di Benchmark
Livello VI
LabVIEW Desktop Execution Trace Toolkit
Strumenti di sistema
Windows Task Manager
Da unidea di massima se il collo di bottiglia a livello di memoria o di CPU Pu aiutare nellidentificare memory leaks ViewSelect Columns permette di aggiungere dettagli Permette di monitorare Processori Disk I/O Network Tx/Rx Memoria/Paging
Perform
Sessioni multiple
VI
VI Profiler
Statistiche su tempo e memoria per i VI
ToolsProfilePerformance and Memory
Utilizzare la in place element structure Nascondere i punti Shift register Creazione di array
Componenti di un VI
Pannello Diagramma Dati
Valori di controlli/indicatori Dati di default Dati costante del diagramma a blocchi
Cosa c in un VI Pannello frontale
esclusivamente
Dati
Codice
Diagramma compilato in codice macchina
le parti di cui
Codice abbiamo
bisogno
Operate Buffer
Transfer Buffer
Execution Buffer
Questo VI usa circa 8 KB di dati se aperto il pannello frontale, e circa 4 KB in caso contrario
Ogni filo un buffer Tipicamente nelle ramificazioni si creano copie Algoritmo In placement di ottimizzazione
Shift Register
Lingresso sulla sinistra sempre in place con luscita sulla destra
Always In Place
Bad
Rialloca memoria per il vettore ad ogni loop Nessuna ottimizzazione nella compilazione Memoria riservata in fase di load Valori aggiornati in place
Better
Best
Memoria preallocata
Lindicizzazione del tunnel elimina il bisogno di copie
Agenda
Dove ottimizzare Strumenti per il profiling Ottimizzazione della memoria Ottimizzazione di esecuzione
Operate Buffer
Transfer Buffer
Execution Buffer
Questo VI usa circa 8 KB di dati se aperto il pannello frontale, e circa 4 KB in caso contrario
Thread
Exec
Exec
Gestione dell IU
Risorse
In LabVIEW
LabVIEW Help
Sul Web ni.com/multicore ni.com/devzone
Simulazione
Macchina a stati
PC/Mac/Linux
PXI
CompactRIO
FlexRIO
Custom
Agenda
Nodo MathScript
NI LabVIEW
MapleSoft MapleSim
ITI SimulationX
C / C++
Esterel SCADE
LMS AmeSim
NI MATRIXx SystemBuild
Statechart Module
NI Motion Control
LabVIEW Microprocessor
Targets
PXI
cRIO, sbRIO
32-bit mp
Universit di Michigan
Corso di mecatronica (U)
Segway Human Transporter Prof. Shorya Awtar, ME LabVIEW Real-Time & FPGA LabVIEW Control Design and Simulation Module CompactRIO hardware
Teoria
Progetto
Prototipo
Sviluppo
4 Settimane
8 Settimane
1 Settimana
Software - LabVIEW
Control Design and Simulation Real Time FPGA
Agenda
Nodo MathScript
Measurement Studio (Visual Basic, Visual C++) LabWindows/CVI (C) LabVIEW MathScript Signal Processing & Analysis
Signal Synthesis / Generation Signal Operations / Conditioning Windows Digital Filters Spectral Analysis Wavelets Joint-Time Frequency Analysis Correlation / Convolution Scaling, Mapping Modulation Transforms Point-by-Point
Mathematics
BLAS/LAPAC-based Linear Algebra Polynomial Operations Calculus, Numerics Ordinary Differential Equations Curve Fitting Optimization Interpolation / Extrapolation Probability and Statistics 1D & 2D Evaluation Zeros
LabVIEW MathScript RT
Programmazione testuale avanzata per la progettazione di controllo, elaborazione di segnali, e matematica
Centinaia di funzioni native Riutilizzo di codice .m custom Creazione di funzioni definite dallutente
Obiettivo - La soluzione NI per il mondo embedded larchitettura RIO, che offre elevata flessibilit e prestazioni ed programmabile usando lo stesso software di progettazione grafica LabVIEW. Vedremo alcuni aspetti da tenere in considerazione programmando questi particolari sistemi di calcolo, prima di realizzare un sistema di monitoraggio e controllo.
Architettura
Benchmarking
FPGA
LabVIEW
LabVIEW Real-Time LabVIEW FPGA
I/O
Processor
FPGA
I/O
Custom I/O
Value
Valore Resistenza Performance Alte Performance
Interfaccia utente
Processore Real-Time
FPGA Riconfigurabi le
LabVIEW FPGA
Moduli di I/O
LabVIEW
LabVIEW RT
Driver I/O
GPRS/GPS
COMUNICAZIONE
Windows Real-Time FPGA
ACQ
LOG
Communicazione nello stesso PC o Target Communicazione tra processi o cicli paralleli Priorit di elaborazione configurabili per i cicli Salvataggio dati offload o elaborazione demandata a unaltra CPU/Core/Thread allinteno dello stesso VI/eseguibile Comunicazione sincrona e asincrona
High
Med
Low
Code Eseguono trasferimento continuo di dati tra cicli su target non deterministici
Eventi dinamici Registrano eventi dinamici per eseguire parti di codice Variabili funzionali globali (FGV) Basate su un subVI non rientrante per proteggere dati critici RT FIFO Trasferiscono dati continui tra loop time critical allinterno del singolo target RT
LabVIEW Real-Time
LabVIEW Real-Time
NI Scan Engine
I/O memory table
I/O Variables
Timing
LabVIEW FPGA VI
FPGA API Interface / DMA Accesso diretto alla memoria attraverso differenti componenti di un sistema
Architettura
Benchmarking
FPGA
Riutilizzare pattern di programmazione comuni Fare benchmark per determinare larchitettura ottimale
c)
Limitare luso delle varriabili condivise Ridurre il carico di task (quando possibile)
Usare lFPGA per lacquisizione dati e algoritmi di controlllo Usare il PC Host per il salvataggio dati, il monitoraggio, e lhosting delle variabili condivise
d)
Monitoraggio 3,000
Monitoraggio 3,000
Salvataggio
16,000
30,000
Salvataggio
16,000
80,000
Ulteriori considerazioni
Installa il set minimo di software
Per aumentare la RAM disponibile Minimizzare interrupt relative ai driver
Architettura
Benchmarking
FPGA
Cycle-Accurate Simulation
Simulazione
Compilazione
Tipi di simulazione
Ambiente
(I/O reali
Host Interface
Codice FPGA
Codice FPGA
Simulatore supportato:
Mentor Graphics ModelSim LabVIEW 2010
Environment
(I/O reali)
Interfaccia Host
Codice FPGA
Codice FPGA
RISORSE
Codice ed esempi
Risorse
ni.com/code
Obiettivi:
Accelerare lapprendimento Ridurre i tempi di sviluppo e mantenimento delle applicazioni Applicazioni performanti, scalabili e mantenibili Validare le competenze e standardizzare i metodi di sviluppo
90
Formati di fruizione
Formazione
Good
Autoapprendiment o
Better
Corsi On-line Corsi in Aula
Best
Corsi On-Site
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 dapprendimento 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
91
NI Training Credits
Ogni servizio Customer Education usufruibile/convertibile tramite NI Training Credits:
1 NI Training Credit = giornata di formazione x persona Corsi in tutti i formati (presso NI, on-line, onsite) Esami di certificazione NI Training & Certification Membership .. Validi 1 anno dalla data di nostra fatturazione Flessibilit di utilizzo dopo lacquisto Soluzione per formare singoli o team di tecnici Metodo per allocare budget in modo produttivo
I benefici:
ni.com/training/i
Calendario corsi e sedi di formazione Agende dettagliate dei corsi Soluzioni formative convenienti
Contattati:
Telefono: E-mail:
93
Per ricevere offerta formale selezionare sul questionario Offerta Training Credits o scrivere a italy.service@ni.com E necessaria conferma dordine con 10 giorni danticipo
2.
3.
1.388 2.474
555 990
500 891
Roma 29 Febbraio 2012 Ergife Palace Hotel 900 mq di area espositiva con oltre 25 espositori Robotics Summit 2012 4 Sessioni tecniche parallele Best Application 2011 Special VP Guest dalla corporate di NI
96
alessandro.plantamura@ni.com