Sei sulla pagina 1di 51

10

E 5,00

MAGGIO

2009

L A P R I M A R I V I S TA I TA L I A N A P E R L A CO M U N I T L A BV I E W

8.6 MOBILE MODULE

LE NOVIT NEL LABVIEW

MODELLI E METODI DI CURVE FITTING IN LABVIEW UNA CREATURA

UMANO-ELETTRONICA

SCENARIO
10

IN TEMPI DI CRISI BISOGNA INNOVARE


e, in passato, migliorare i processi produttivi e commerciali della propria azienda poteva essere una semplice opzione (si investiva quando il fatturato lo rendeva possibile), nel mercato globale questo diventato una necessit. E, nella situazione economica attuale, la capacit di innovare e inventare cose nuove un elemento di distinzione: le risorse finanziarie sono pi scarne e se si sbaglia una valutazione tecnica o economica, l'effetto pu essere quello di una rapida uscita dal mercato. Come fare, allora, per fronteggiare la situazione? Una strada viene offerta da un adattamento del Lean Manufacturing, che qualche anno fa ha rivoluzionato la fabbrica. Grazie a concetti come il Just-in-time e il Kanban, il Lean Manufacturing ci ha insegnato a produrre tempestivamente solo ci che serve, per ridurre al massimo il Time-to-market e minimizzare le giacenze a magazzino. Oggi, il Lean Manufacturing si sta estendendo anche negli uffici di progettazione, investendo tutte le fasi del processo di sviluppo dei nuovi prodotti (NPD New Product Development). Cos, il Lean Manufacturing si trasformato in Lean Innovation, portando tutti i suoi vantaggi anche nel ciclo compreso fra la concezione di un nuovo prodotto ed il suo lancio sul mercato. La Lean Innovation quindi un programma completo che riguarda sia la parte di ricerca dell'NPD ("Che cosa dobbiamo sviluppare per avere successo?), sia la parte di sviluppo ("Come possiamo svilupparlo pi efficientemente?). Il concetto di Lean Innovation, o innovazione snella, si riferisce quindi alla capacit di risposta e reazione in tempi di difficolt con idee nuove in tempi rapidi, per ridurre i tempi di progettazione ed il Time-to-market. Di conseguenza, per definizione, la Lean Innovation ha bisogno di strumenti di sviluppo rapido. Strumenti che permettano di fare di pi con meno risorse. Ancora una volta, la risposta di National Instruments a queste esigenze si chiama LabVIEW. LabVIEW infatti lo strumento di sviluppo rapido per eccellenza, grazie anche allo stretto legame tra programmazione grafica di sistema e applicazioni embedded. In particolare, l'uso di piattaforme hardware FPGA permette la diretta accessibilit ai progetti hardware custom agli esperti dei singoli settori, senza la necessit di progettisti hardware dedicati. L'iterazione dei prototipi diventa quindi pi veloce ed i nuovi prodotti possono raggiungere il mercato pi rapidamente. In particolare, gli utenti avevano bisogno di un modo per interfacciare situazioni di timing e triggering custom, e LabVIEW FPGA ha offerto loro il modo per farlo, senza richiedere linguaggi di descrizione hardware a basso livello o progettazione a livello di scheda. Nello stesso tempo, LabVIEW FPGA salvaguarda la propriet intellettuale, permettendo di riadattare attrezzature esistenti, mentre le tecnologie parallele su cui LabVIEW si basa massimizzano la capacit e lutilizzo del software. Nello stesso tempo, si consolida l'uso delle piattaforme hardware di prototipazione veloce come i PAC (Programmable Automation Controller) CompactRIO e Single-Board RIO di National Instruments. Il PAC permette di recuperare gran parte del lavoro di progettazione gi fatto e di adattarlo semplicemente personalizzando la parte hardware (attraverso il software che la definisce) o di software puro, come il software real-time o di supervisione e gestione della macchina, senza dovere rifare il progetto e 'inventare' ogni volta un dispositivo diverso. Quella della portabilit da una piattaforma all'altra, senza dovere riscrivere il codice, riprogettare l'hardware, riprogettare gli algoritmi, ecc. sempre stata una delle caratteristiche di LabVIEW fin dalla sua nascita. Oggi, diventato portabile anche l'hardware. Proprio come richiesto dalla Lean Innovation.

SOMMARIO
10

TEMPI DI CRISI 01 IN BISOGNA INNOVARE


Nasce la Lean Innovation

COMUNI 26 TECNICHE DI PROGETTAZIONE


La lezione discute due differenti categorie di architetture di programmazione: a cicli singoli e multipli

OTTO REGOLE 03 LE DELLA PROTOTIPAZIONE


Inter vista a John Hanks, vice presidente del marketing di prodotto per acquisizione dati e controllo industriale presso National Instruments

DEL SISTEMA 32 PIANIFICAZIONE (III PARTE)


Standard di stile e codifica per un ambiente di sviluppo in team

SI FATTO 05 NIDAYS IN QUATTROANZI NO, IN SEI!


NIDays torna on the road, sei le tappe dellevento itinerante di National Instruments

SEI!

36 DALLA CARTA AL WEB

Link ad ar ticoli di approfondimento e altri documenti disponibili sul web

38 LA VOCE DEGLI UTENTI

06

ALTRE NUOVE FUNZIONALIT IN LABVIEW 8.6


Ecco le caratteristiche che accelerano la programmazione e migliorano lusabilit

Alcuni spunti di discussione apparsi di recente sul Forum di ILVG.it

HARDWARE NI: 40 SERVIZI SEMPRE PI INDISPENSABILI


I Ser vizi Hardware di National Instruments proteggono gli investimenti

NOVIT NEL LABVIEW 8.6 08 LE MOBILE MODULE


Una panoramica sulle numerose nuove funzionalit disponibili

42 CRISI 0 NIDAYS 1 44 APPUNTAMENTI

E METODI DI CURVE 12 MODELLI FITTING IN LABVIEW


I modelli e metodi di cur ve fitting e i VI LabVIEW utilizzabili per eseguire il cur ve fitting

Affluenza record a NIDays 09, nonostante i tempi di crisi

Oltre ad organizzare propri corsi e seminari, National Instruments sar presente a numerosi eventi

NEI LABORATORI 23 AUTOMAZIONE UL EUROPEI


Ecco il nuovo sistema di misura SC-LAB (LABoratorio Sicur Control)

46 LABVIEW E LAVORO

Proposte concrete per coloro che sanno utilizzare LabVIEW

AAA

A TU PER TU

LE OTTO REGOLE DELLA

PROTOTIPAZIONE
Valerio Alessandroni

I prototipi sono molto importanti per convincere un potenziale cliente o un finanziatore circa la bont delle proprie idee. Ecco alcune semplici regole per non sbagliare

ome tecnico o ricercatore, forse qualche volta avete sognato l'idea di un prodotto che pensate possa avere un grande valore di mercato. Per sviluppare pienamente la vostra idea, forse dovrete tuttavia fare i conti con la vostra mancanza di competenza o esperienza. Non preoccupatevi, esiste una strada che porta al successo. Ne abbiamo discusso con John Hanks, vice presidente del marketing di prodotto per acquisizione dati e controllo industriale presso National Instruments.

D: Ci spieghi in sintesi la prima regola R: Le idee sono economiche Dato il mondo connesso e

orientato a Internet nel quale viviamo, le idee sono diventate economiche e probabilmente lo diventeranno ancora di pi con il passare del tempo. I costi riguardano la prova e la verifica di ci che ha un valore economico. Un buon prototipo spesso il modo migliore per iniziare un dialogo con i potenziali clienti e provare il valore della vostra idea.

prototipo nelle mani del cliente ed ottenere un feedback reale sul valore della vostra innovazione, la probabilit di successo commerciale aumenta notevolmente. Se volete trasformarvi in imprenditori e fare uscire dalla vostra testa l'idea che avete avuto, conviene sviluppare il vostro prototipo seguendo otto regole.

D: Qual il modo migliore per trasformare un'idea D: Passiamo alla seconda regola innovativa in un prodotto commerciale? R: Iniziate da un progetto su carta Potreste essere R: Se riuscite a dimostrare o, ancora meglio, a mettere un ansiosi di iniziare a scrivere codice o a progettare

l'elettronica troppo rapidamente. Combattete la fretta. Scrivere del codice senza una reale considerazione di diversi fattori di progettazione porta a mal di cuore e a molto lavoro da rifare. Iniziate da un semplice progetto su carta. Per il prototipo di un'interfaccia utente o un software Web, un progetto su carta efficiente ed efficace per prendere rapidamente in esame tutte le funzionalit. Potete chiedere ai colleghi, ed eventualmente ai clienti, di fornirvi un feedback sulla posizione di immagini, testo, pulsanti, grafici, menu o selezioni a tendina. I progetti su carta sono economici e pi utili delle parole.

D: E quando si ha un progetto su carta? R: Fate la giusta quantit di lavoro Identificate i vostri

Fig. 1 - Afferma John Hanks, vice presidente del marketing di prodotto per acquisizione dati e controllo industriale presso National Instruments: "Con un prototipo, la probabilit di successo commerciale di un'idea innovativa aumenta notevolmente"

obiettivi e perseguiteli. La prototipazione conviene per due buone ragioni: la prima quella di testare la fattibilit di un'architettura hardware o software, la seconda quella di creare una dimostrazione ed ottenere feedback dai clienti, in modo che possiate assegnare un prezzo e dare un valore alla vostra innovazione. Tenete presenti questi obiettivi e state attenti a non innamorarvi del processo. La prototipazione divertente e gli innovatori amano sperimentare, ma dovete cercare di investire solo il tempo e il lavoro sufficienti per raggiungere gli obiettivi.

A TU PER TU

10

senza dimenticare la modularit. I grandi prototipi sono spesso modulari, il che significa che potete adattarli rapidamente in modo da soddisfare esigenze impreviste dei clienti. Alla fine, sono i clienti che decidono come usare il vostro prodotto, non voi. Inserite nel progetto opzioni di espansione, prestazioni, packaging e minor costo.

D: Siamo alla quarta regola R: Prevedete pi opzioni Progettate il vostro prototipo

meno di 60 secondi. Nelle presentazioni, che siano rivolte a un nuovo dipendente o a un finanziatore, arrivate alla dimostrazione il pi velocemente possibile. Se la dimostrazione divertente, tutto il resto andr a posto.

zione ideale quella di progettare un prototipo che potete produrre e distribuire in elevati volumi. Non molti tool di prototipazione possono mantenere questa promessa. Tipicamente, si rinuncia alle prestazioni per la flessibilit del progetto. Cercate tool di prototipazione che vi permettano di scalare il vostro prototipo dal laboratorio al mercato.

D: E a questo punto? D: National Instruments offre dei tool che R: Progettate la riutilizzabilit del prodotto finale La situa- possono favorire il processo di prototipazione?

R: Certamente. La piatta-

getti hardware, un potenziale motivo di perdite di tempo e insoddisfazioni farsi catturare in infinite analisi di ottimizzazione dei costi nelle prime fasi della progettazione del prototipo. I costi sono sempre importanti, ma l'obiettivo del vostro prototipo rimanere alla portata di un progetto redditizio. Inizialmente, concentratevi sulla dimostrazione del valore della vostra innovazione ed eseguite il progetto all'insegna della modularit. Bench ci sia frustrante, il vostro progetto potrebbe seguire molti percorsi, che non portano necessariamente al valore. Puntate ad assicurarvi il vostro primo gruppo di clienti, poi lavorate sull'ottimizzazione dei costi. Il prototipo deve ispirarsi a valori medi o mettere in risalto le caratteristiche innovative dell'idea iniziale? Bisogna evitare la 'ricaduta nella media' Nella prototipazione, la tendenza quella di sviluppare qualcosa di semplice, anzich qualcosa che abbia un fattore sorprendente. Tenendo fede alla vostra visione, dovete fare in modo che il vostro prototipo catturi il concetto originale della vostra innovazione.

D: Finora non abbiamo parlato di costi R: Evitate di concentrarvi troppo presto sui costi Per i pro-

forma per la progettazione grafica di sistemi di National Instruments, che include LabVIEW e hardware flessibile commerciale, mette a disposizione di tecnici, ricercatori o docenti una delle vie pi rapide per ottenere un prototipo funzionante. Considerate quindi l'uso dei tool di prototipazione rapida di National Instruments per trasformare la vostra idea in realt. Pi rapidamente sviluppate il vostro prototipo, meglio . E' inoltre possibile scaricare un e-kit di prototipazione National Instruments visitando ni.com/info ed inserendo il codice nsi8402.

Fig. 2 - "I costi sono sempre impor tanti, ma l'obiettivo del vostro prototipo rimanere alla por tata di un progetto redditizio"

Pu citare qualche esempio di utilizzo di questi tool? La flessibilit e la produttivit dei tool National Instruments si sono dimostrate utili nel portare rapidamente un prototipo a funzionare dalle apparecchiature medicali ai macchinari industriali, ai sistemi di test automatizzati. Vediamo due esempi di clienti National Instruments che hanno utilizzato il software LabVIEW ed il sistema hardware embedded CompactRIO per prototipare le loro idee. Iniziamo da Sanarus Medical, che ha sviluppato il prototipo di un'apparecchiatura medicale utilizzata per il trattamento di pazienti con tumori al seno, secondo una procedura meno invasiva e quasi indolore. Con i tool National Instruments, un prototipo pienamente funzionante stato realizzato rapidamente da un ingegnere meccanico con scarsa esperienza in campo embedded. Gli ingegneri di Boston Engineering hanno invece realizzato il prototipo di un chiosco fotografico che stampa istantaneamente immagini digitali. Per lo sviluppo dei prototipi, in precedenza era utilizzato hardware custom. Con la tecnologia LabVIEW FPGA e i tool hardware commerciali di National Instruments, stato possibile sviluppare pi rapidamente i prototipi.

D: R:

D: R:

vostro prototipo dovrebbe essere facile da dimostrare. Con i clienti, i finanziatori e i potenziali dipendenti, dovete partire con forza e presentare subito le capacit pi interessanti. Non procedete secondo un crescendo. L'intervallo di attenzione della maggior parte delle persone limitato a

readerser vice.it n. 1001

D: E infine? R: Accertatevi di poter dimostrare il vostro prototipo Il

EVENTI

NIDAYS SI E' FATTO QUATTRO... ANZI NO, IN SEI!


Un tour itinerante ha toccato quattro citt italiane
d un anno dall'esordio della versione itinerante del Forum tecnologico sulla Progettazione Grafica di Sistemi, National Instruments ha riproposto per il 2009 la formula del road show che accorcia le distanze tra lazienda e i propri clienti presenti in realt ed aree geografiche diverse. Dopo la kermesse milanese del 25 febbraio che ha registrato 512 partecipanti, la versione itinerante Tour NIDays 09 rinnova lappuntamento in sei citt agli addetti ai lavori contro le quattro della scorsa edizione. I temi del Tour Il tema delledizione del 2009, sensibilizzato dalla situazione economica globale, ha introdotto il concetto di lean innovation, ovvero la capacit di risposta e reazione in tempi di difficolt con idee nuove in tempi rapidi per ridurre i tempi di progettazione ed il time-to-market, con una panoramica sullo stato dellarte e sulle ultime tendenze tecnologiche della
Nadia Albarello

Progettazione Grafica di Sistemi. Tra le novit di prodotto illustrate segnaliamo gli approfondimenti sulle nuove tecnologie software di National Instruments, tra cui LabVIEW 8.6 e LabWindows/CVI 9.0, sui nuovi dispostivi embedded NI Single-Board RIO, sui nuovi analizzatori e generatori di segnale vettoriale PXI Express a 6,6 GHz, sulla nuova gamma di prodotti NI FlexRIO per incrementare le prestazioni degli I/O basati su FPGA per i sistemi di test PXI e sulla nuova piattaforma Ethernet deterministica.
readerser vice.it n. 1064

Tutte le presentazioni di Tour NIDay 09 sono disponibili alla pagina web ni.com/italy/eventi.

Note sull autore


Nadia Albarello, laureata in Lingue Moderne e Comunicazione alla Karl Franzens Universitt di Graz, Austria, lavora in qualit di Marketing Communications Manager presso National Instruments Italy.

COMSOFT
Specialisti nel PROFIBUS
Soluzioni National Instruments disponibili con tecnologia PROFIBUS cRIO PB
Modulo Master/Slave PROFIBUS DP per sistemi cRIO della National Instruments

Driver per modulo FNL in ambiente LabVIEW


Il Gateway Ethernet/PROFIBUS DP della COMSOFT ora disponibile con il Driver LabVIEW Rapida lintegrazione mediante interfaccia Ethernet TCP/IP

readerservice.it n.233 Produttore: COMSOFT GmbH | Wachhausstr. 5a | 76227 Karlsruhe | Germania Tel.: +49- (0) 721 - 9497 - 291 | Fax: +49- (0) 721 - 9497 - 299

Contatto commerciale: SOLINTEC AUTOMAZIONE SNC | Via 8 Marzo 1/B | 2040 Cavena B.za (MI) | Italia | Tel.: 02 - 95336189 | Fax: 02 - 953354

W H AT ' S N E W

10

ALTRE

NUOVE FUNZIONALIT IN LABVIEW 8.6


LabVIEW stato progettato per semplificare a tecnici e ricercatori la creazione di applicazioni di misura e controllo. LabVIEW 8.6 aggiunge molte nuove funzionalit che potenziano l'esperienza dell'utente, tra cui caratteristiche che accelerano la programmazione e migliorano lusabilit
A cura di Matteo Foini

EDITARE LE PROPRIET DI OGGETTI MULTIPLI


Con LabVIEW 8.6 potete editare simultaneamente le propriet di pi oggetti del pannello frontale, risparmiando tempo durante lo sviluppo delle applicazioni. Per editare le propriet comuni selezionate quelle che desiderate cambiare, quindi cliccate il tasto destro e selezionate Properties.
Fig. 2 - Finestra di dialogo Proper ties con i tab di propriet comuni

Per maggiori informazioni, consultate LabVIEW Help: Edit Multiple Properties. Breakpoint Manager Il debugging dei programmi diventato pi facile in LabVIEW 8.6 grazie all'aggiunta del Breakpoint Manager. Invece di gestire separatamente ciascun breakpoint, potete usare il Breakpoint Manager per controllare simultaneamente pi breakpoint per uno o pi VI. Potete anche usare il manager per abilitare, disabilitare e cancellare breakpoint da questo stesso punto di controllo.

Ogni cambiamento di propriet si riflette sugli oggetti selezionati del pannello. La mancanza di propriet comuni agli oggetti indicata dal messaggio illustrato nella figura 3.

Fig. 1 - Selezionate pi oggetti del pannello frontale, cliccate con il tasto destro e selezionate Proper ties

Fig. 4 - Breakpoint Manager

Quando appare la finestra di dialogo Properties, notate che il numero di oggetti che state modificando viene visualizzato sulla barra del titolo e che le propriet condivise vengono raggruppate usando i tab.

Fig. 3 - Quando non vi sono propriet comuni disponibili, viene visualizzato questo messaggio

Vi sono due metodi per aprire il manager: selezionare View>>Breakpoint Manager o cliccare con il tasto destro su qualsiasi oggetto dello schema a blocchi e selezionare Breakpoint>>Breakpoint Manager.

W H AT ' S N E W

La Palette API consiste di due VI: Read Palette.vi e Write Palette.vi. Il Read Palette.vi restituisce i dati sulle propriet di una palette, come nome, colore dell'icona e formato di visualizzazione. Il Write Palette.vi applica delle modifiche alla vostra palette. Usate linvoke node Refresh Palettes per effettuare programmaticamente un refresh della vostra palette dei controlli e delle funzioni dopo avere effettuato dei cambiamenti.

Fig. 5 - Aper tura del Breakpoint Manager dal Menu View

Per maggiori informazioni sul breakpoint manager, consultate LabVIEW Help: Breakpoint Manager.

Tunnel>>Find. Cancellate i tunnel collegati cliccando con il tasto destro su un tunnel collegato e selezionando Linked Input Tunnel>>Clear.

Fig. 7 - Funzioni e invoke node per lediting delle palette

TUNNEL DI COLLEGAMENTO NELLE STRUTTURE CASE


LabVIEW 8.6, grazie a una nuova procedura automatica, semplifica il collegamento dei tunnel d'ingresso e d'uscita non cablati nelle strutture case. Potete usare questa funzionalit prima o dopo avere creato i vostri case. Cliccate con il tasto destro sul tunnel d'uscita di una struttura case e selezionate Linked Input Tunnel. Prima della creazione dei case, usate l'opzione Create per collegare gli ingressi e le uscite per futuri case. Durante e dopo la creazione dei case, usate l'opzione Create and Wire Unwired Cases per collegare le uscite e gli ingressi dei case esistenti. Questa opzione collega anche i tunnel nei futuri case.

Fig. 8 - Trovare e cancellare tunnel gi collegati

Per maggiori informazioni su questo argomento, consultate LabVIEW Help: Tunnel Linking. Palette API Con le nuove funzioni Palette API in LabVIEW 8.6, potete strutturare e integrare programmaticamente le vostre palette custom. Usate questa funzionalit per aggiungere i vostri VI e le Fig. 6 - Creazione di collegamenti tra ingressi e uscite vostre palette alla struttura di palette Per trovare i tunnel collegati, usate il LabVIEW e customizzare le palette esiFind cliccando con il tasto destro su un stenti per adattarle alle vostre preferentunnel e selezionando Linked Input ze di programmazione.

Nota: l'uso di questa funzionalit modifica i file sorgente e non potete invertire automaticamente tali modifiche. Se desiderate semplicemente editare l'aspetto di una palette di LabVIEW e non volete cambiare il codice sorgente della palette, considerate l'uso di Tools>>Advanced>>Edit Palette Set. Per vedere un esempio pronto sull'uso di Palette API, aprite il LabVIEW Example Finder in Help>>Find Examples e cercate palette.

Note sullautore
Laureato in ingegneria nucleare al Politecnico di Milano, Matteo Foini lavora in qualit di Technical Marketing Engineer presso National Instruments Italy

readerser vice.it n. 1002

W H AT ' S N E W

10

LE NOVIT NEL

LABVIEW 8.6 MOBILE MODULE


L'articolo offre una panoramica sulle numerose nuove funzionalit incluse nel LabVIEW 8.6 Mobile Module
Struttura In Place Element Il LabVIEW Mobile Module supporta ora la Struttura In Place Element. Tale Struttura controlla come il compilatore LabVIEW esegue certe operazioni e, in alcuni casi, incrementa l'efficienza della memoria e dei VI. Potete utilizzare la struttura In Place Element quando lavorate su un elemento di un array, cluster, variant o forma d'onda senza che il compilatore di LabVIEW debba copiare i valori dei dati e mantenere tali valori in memoria. Potete inoltre usare questa struttura per lavorare su qualsiasi tipo di dato che vogliate mantenere nello stesso spazio dati in memoria. Vediamo in dettaglio alcune delle nuove caratteristiche disponibili nel LabVIEW 8.6 Mobile Module (gi LabVIEW PDA). Per un elenco completo potete consultare il LabVIEW Mobile Help e il LabVIEW 8.6 Mobile Module readme. Navigazione con i tasti di uno smartphone Con LabVIEW Mobile 8.6 potete utilizzare i tasti freccia di uno smartphone per navigare i controlli e gli indicatori nel VI Mobile. La Key Navigation abilitata impostando l'ordine delle tabulazioni di tutti i controlli e indicatori sul pannello frontale. Nella Figura 1, il VI Mobile in modalit di editazione dell'ordine delle tabulazioni. Quando questo VI viene rilasciato su un target Windows Mobile, l'utente ha la possibilit di navigare i controlli nell'ordine definito.
A cura di Matteo Foini

NUOVI VI E FUNZIONI
Questo paragrafo descrive i nuovi VI che sono stati introdotti nella palette del LabVIEW 8.6 Mobile Module. Supporto delle funzioni di sincronizzazione Il Mobile Module supporta ora le seguenti funzioni di sincronizzazione: Funzioni Advanced Notifier Waiting utilizzate per evitare perdite di dati e altri problemi quando si usano ripetutamente le funzioni con differenti notificatori. La palette include le funzioni Wait on Notification with Notifier History e Wait on Notification from Multiple with Notifier History. Funzione Lossy Enqueue Element aggiunge un elemento a una coda, usata per comunicare dati fra parti di uno schema a blocchi o da un altro VI. A differenza della funzione Enqueue Element, questa funzione non attende che diventi disponibile spazio nella coda. Se nella coda non c' spazio disponibile, rimuove un elemento dalla testa della coda e lo scarta per fare spazio.

Fig. 3 - Usate la Struttura In Place Element Structure per incrementare l'efficienza della memoria e dei VI

Fig. 1 - Abilitazione della navigazione da tastiera impostando l'ordine di tabulazione sul vostro VI Mobile

Fig. 2 - Palette Advanced Notifier Waiting

W H AT ' S N E W

Fig. 5 - Abilita l'inlining per eliminare l'overhead e incrementare l'ottimizzazione del codice

Nuove opzioni di generazione del codice a livello di progetto Potete ora allocare costanti per array, cluster, stringhe, variant e forme d'onda nell'area di dialogo Build Specification Properties. Il LabVIEW Mobile Module 8.6 offre opzioni di build che vi permettono di allocare memoria per le costanti la prima volta che vengono utilizzate, fuori del loop contenente, quando il VI che contiene le costanti viene richiamato o quando inizia l'esecuzione di un'applicazione compilata su un target. La memoria per le costanti pu essere deallocata quando le costanti non sono pi in uso, quando finisce l'esecuzione del VI contenente le costanti o quando finisce l'esecuzione dell'applicazione compilata sul target. Task dinamici per l'acquisizione dati Con il rilascio del DAQmx Base 3.2, l'acquisizione dati per dispositivi Mobile pu essere eseguita utilizzando task dinamici. I task dinamici vengono creati al runtime delle applicazioni usando l'API NI-DAQmx Base. A differenza dei task statici, i task dinamici eliminano la dipendenza dall'utility di configurazione dei task, garantiscono codice sorgente autodocumentante e riducono il tempo di sviluppo. Poich i task sono configurati dinamicamente, un singolo eseguibile pu funzionare su molti tipi diversi di dispositivi e configurazioni.

Fig. 4 - Controllo Multicolumn Listbox

Fig. 6 - Usate le Build Specifications Proper ties per configurare l' allocazione e la deallocazione di costanti

Fig. 7 - Acquisizione dati con DAQmx Base usando un task dinamico

Nuovi controlli sul pannello frontale Sui target Windows Mobile ora supportata la listbox multicolonna. La listbox pu essere utilizzata per fornire agli utenti un elenco di elementi dai quali selezionare. Con la listbox multicolonna, potete visualizzare pi informazioni per ciascun elemento, come le dimensioni dell'elemento e la data della sua creazione.

Nuove opzioni specifiche di generazione del codice Potete ora eseguire l'inlining di subVI nei chiamanti per eliminare l'overhead e incrementare l'ottimizzazione del codice. L'inlining dei subVI utile soprattutto per i piccoli subVI, i VI con molte chiamate in un loop o i subVI con un solo punto di chiamata. Impostate le opzioni di generazione del codice per il vostro VI Mobile nell'area di dialogo VI Properties.

readerser vice.it n. 1003

TIPS & TECHNIQUES

10

MODELLI E METODI DI
S am Shearman

CURVE FITTING IN LABVIEW


Il curve fitting valuta la relazione fra le variabili in un set di dati, oltre ad elaborare set di dati contenenti rumore, irregolarit, errori dovuti a dispositivi di test e misura imprecisi, ecc.

on il crescente uso degli strumenti di misura digitali nei processi di test e misura, l'acquisizione di grandi quantit di dati diventa sempre pi semplice. Tuttavia, i metodi di elaborazione ed estrazione di informazioni utili dai dati acquisiti diventano un problema. Durante il processo di test e misura si nota spesso una relazione matematica fra i valori osservati e le variabili indipendenti, come la relazione fra una misura di temperatura, un valore osservabile, e l'errore di misura, una variabile indipendente che deriva da un dispositivo di misura impreciso. Un modo per trovare la relazione matematica esistente il curve fitting, dove si richiede una curva approssimante che avvicini il pi possibile i punti dati. Si pu utilizzare il curve fitting per eseguire le operazioni seguenti: Ridurre il rumore e addolcire landamento dei dati Trovare la relazione matematica fra le variabili e utilizzare tale funzione per eseguire ulteriori elaborazioni dei dati, come la compensazione degli errori, il calcolo di velocit e accelerazione, e cos via Stimare il valore di una variabile fra campioni di dati Stimate il valore di una variabile esternamente al campo dei campioni di dati Questo articolo descrive i diversi modelli e metodi di curve fitting e i VI LabVIEW che si possono utilizzare per eseguire il curve fitting.

VI di Fit Esponenziale (Exponential Fit) VI di Fit di Potenza (Power Fit) VI di Fit di Picco Gaussiano (Gaussian Peak Fit) VI di Fit Logaritmico (Logarithm Fit) Questi VI creano diversi tipi di modelli di curve fitting per il set di dati. Consultate il LabVIEW Help per informazioni sull'uso di questi VI. I grafici riportati nella figura 1 mostrano i diversi tipi di modelli di fitting che si possono creare con LabVIEW.

CHE COS' IL CURVE FITTING?


Lo scopo del curve fitting trovare una funzione f(x) in una classe di funzioni per i dati (xi, yi) dove i=0, 1, 2,, n1. La funzione f(x) minimizza lo scarto con peso W. Lo scarto la distanza fra i campioni e f(x). Uno scarto pi piccolo significa un fit migliore. In geometria, il curve fitting una curva y=f(x) che fitta i dati (xi, yi) dove i=0, 1, 2,, n1. In LabVIEW, si possono utilizzare i seguenti VI per calcolare la funzione di curve fitting. VI di Fit Lineare (Linear Fit)

Figura 1 - Modelli di cur ve fitting in LabVIEW

Prima di fittare il set di dati, necessario decidere quale modello di fitting usare. Una scelta impropria, per esempio l'uso di un modello lineare per fittare dati logaritmici, porta ad un risultato di fitting non corretto o ad un risultato che determina in modo impreciso le caratteristiche del set di dati. Pertanto, dovete scegliere prima di tutto un modello di fitting appropriato sulla base della forma di distribuzione dei dati e giudicare quindi se il modello adatto in funzione del risultato.

TIPS & TECHNIQUES

Ogni VI dei modelli di fitting in LabVIEW ha un ingresso Weight. Per default, l'ingresso Weight 1, stando a significare che tutti i campioni di dati hanno la stessa influenza sul risultato del fitting. In alcuni casi, nel set di dati esistono dei punti isolati a causa di fattori esterni come il rumore. Se si assegna ai punti isolati lo stesso peso dei campioni di dati, si rischia un effetto negativo sul risultato del fitting. Pertanto, si pu regolare il peso dei punti isolati, anche impostando a 0 il loro peso, per eliminare l'influenza negativa. Per sviluppare un'applicazione di curve fitting si pu anche usare il Curve Fitting Express VI presente in LabVIEW.

METODI DI CURVE FITTING


I dati d'ingresso possono essere valutati con diversi metodi di fitting per trovare i parametri del modello di curve fitting. Ogni metodo ha i propri criteri per valutare lo scarto del fitting nella ricerca della curva fittata. Comprendendo i criteri di ciascun metodo, possibile scegliere il metodo pi appropriato da applicare al set di dati e fittare la curva. In LabVIEW, possibile applicare diversi metodi di fitting come i minimi quadrati (Least Square - LS), il minimo scarto assoluto (Least Absolute Residual - LAR) o il metodo biquadratico ai VI di fit lineare, esponenziale, di potenza, di picco gaussiano o logaritmico per trovare la funzione f(x). Il metodo LS trova f(x) minimizzando lo scarto secondo la formula seguente:

base al set di dati. Per esempio, i metodi di fitting LAR e biquadratico sono metodi di fitting robusti. Utilizzate questi metodi se nel set di dati esistono punti isolati. I paragrafi seguenti descrivono i metodi di calcolo LS, LAR e biquadratico in dettaglio.

Figura 2 - Schema di flusso del Metodo Biquadratico

METODO LS
Il metodo dei minimi quadrati inizia con una soluzione di equazioni lineari. Ax = b A una matrice e x e b sono vettori. Axb rappresenta l'errore delle equazioni. L'equazione seguente rappresenta il quadrato dell'errore della precedente equazione. E(x) = (Ax-b)T(Ax-b) = xTATAx-2bTAx+bTb Per minimizzare l'errore quadratico E(x), calcolate la derivata della precedente funzione ed impostate il risultato a zero: E(x) = 0 2ATAx-2ATb = 0 ATAx = ATb x = (ATA)-1ATb Dal flusso dell'algoritmo si pu notare l'efficienza del processo di calcolo, dato che il processo non iterativo. Le applicazioni che richiedono efficienza possono usare questo metodo di calcolo. Il metodo LS calcola x minimizzando l'errore quadratico ed elaborando i dati che hanno rumore distribuito in modo gaussiano. Se il rumore non distribuito in modo gaussiano, per esempio se i dati contengono punti isolati, il metodo LS non adatto. Per elaborare dati contenenti rumore non distribuito in modo gaussiano si pu utilizzare un altro metodo, come il metodo LAR o biquadratico.

dove n il numero di campioni wi l'i-esimo elemento dell'array di pesi per i campioni f(xi) l'i-esimo elemento dell'array di valori y del modello fittato yi l'i-esimo elemento del set di dati (xi, yi) Il metodo LAR trova f(x) minimizzando lo scarto secondo la formula seguente:

METODO LAR
Il metodo LAR minimizza lo scarto secondo la formula seguente: Il metodo biquadratico trova f(x) usando un processo iterativo, come illustrato nel diagramma di flusso in figura 2 e calcola lo scarto usando la stessa formula del metodo LS. Il metodo biquadratico calcola i dati partendo dall'iterazione k. Poich i metodi LS, LAR e biquadratico calcolano f(x) in modo differente, si pu scegliere il metodo di curve fitting in

Dalla formula, si pu vedere che il metodo LAR un meto-

TIPS & TECHNIQUES

10

do LS con pesi variabili. Se il campione distante da f(x), viene impostato un peso relativamente pi basso dopo ogni iterazione, in modo che tale campione abbia una minore influenza negativa sul risultato del fitting. Pertanto, il metodo LAR adatto per serie di dati con punti isolati.

MODELLI DI CURVE FITTING IN LABVIEW


Oltre ai VI Linear Fit, Exponential Fit, Gaussian Peak Fit, Logarithm Fit e Power Fit, per calcolare la funzione di curve fitting possibile utilizzare anche i seguenti VI. General Polynomial Fit General LS Linear Fit Cubic Spline Fit Nonlinear Curve Fit

METODO BIQUADRATICO
Analogamente al metodo LAR, anche il metodo biquadratico utilizza l'iterazione per modificare i pesi dei campioni. Nella maggior parte dei casi, il metodo biquadratico meno sensibile ai punti isolati rispetto al metodo LAR.

GENERAL POLYNOMIAL FIT


Il VI General Polynomial Fit fitta il set di dati su una funzione polinomiale di forma generale: f(x) = a + bx + cx2 + La figura 4 illustra un fit su curva polinomiale generale utilizzando una polinomiale del terzo ordine per trovare gli zeri reali di un set di dati. Si pu vedere che gli zeri si manifestano approssimativamente in (0.3, 0), (1, 0) e (1.5, 0).

CONFRONTO DEI METODI DI CURVE FITTING


Se si confrontano i tre metodi di curve fitting, i metodi LAR e biquadratico diminuiscono l'influenza dei punti isolati regolando il peso di ogni campione tramite un processo iterativo. Purtroppo, regolare il peso di ogni campione diminuisce l'efficienza dei metodi LAR e biquadratico. Per confrontare meglio i tre metodi, esaminiamo il seguente esperimento. Usiamo i tre metodi per fittare lo stesso set di dati: un modello lineare contenente 50 campioni di dati con punti isolati e con rumore. La tabella 1 riporta i tempi di calcolo per ciascun metodo. Metodo di fitting Tempo (s) LS 3,5 LAR 30 Biquadratico 60

Come si pu vedere dalla precedente tabella, il metodo LS ha l'efficienza pi elevata. La figura 3 illustra l'influenza dei punti isolati sui tre metodi.

Figura 4 - Modello polinomiale generale

Questo VI calcola l'errore quadratico medio (MSE) usando l'equazione seguente:

Figura 3 - Confronto di tre metodi di fitting

I campioni lontani dalle curve fittate sono punti isolati. Nella figura precedente, si possono considerate i campioni (2, 17), (20, 29) e (21, 31) come punti isolati. I risultati indicano che i punti isolati hanno una maggiore influenza sul metodo LS. Nella scelta del metodo di fitting pi appropriato necessario tenere conto sia della qualit dei dati sia dell'efficienza di calcolo.

Quando si utilizza il VI General Polynomial Fit, necessario impostare prima di tutto l'ingresso Polynomial Order. Un elevato Polynomial Order non garantisce necessariamente un risultato di fitting migliore e pu provocare oscillazioni. Una polinomiale del decimo ordine o inferiore pu soddisfare la maggior parte delle applicazioni. Il Polynomial Order di default 2. Questo VI ha un ingresso Coefficient Constraint. Si pu impostare tale ingresso se si conoscono i valori esatti dei coefficienti polinomiali. Impostando questo ingresso, il VI calcola un risultato pi vicino al vero valore.

TIPS & TECHNIQUES

GENERAL LS LINEAR FIT


Il VI General LS Linear Fit fitta il set di dati secondo l'equazione seguente: y = a0 + a1f1(x) + a2f2(x) + +ak-1fk-1(x) dove y una combinazione lineare dei coefficienti a0, a1, a2, , ak-1 e k il numero di coefficienti. Le equazioni seguenti illustrano come si pu estendere il concetto di combinazione lineare di coefficienti in modo che il moltiplicatore per a1 sia una funzione di x. y = a0 + a1sin(x) y = a0 + a1x2 y = a0 + a1cos(x2) dove la frequenza angolare. In ciascuna delle precedenti equazioni, y una combinazione lineare dei coefficienti a0 e a1. Per il VI General LS Linear Fit, y pu anche essere una combinazione lineare di pi coefficienti. Ciascun coefficiente ha un moltiplicatore di qualche funzione di x. Pertanto, si pu utilizzare il VI General LS Linear Fit per calcolare e rappresentare i coefficienti del modello funzionale come combinazioni lineari dei coefficienti. y = a0 + a1 sin(x) y = a0 + a1x2 + a2 cos(x2) y = a0 + a1(3sin(x)) + a2x3 + (a3/x) + In ciascuna delle precedenti equazioni, y pu essere una funzione lineare dei coefficienti a0, a1, a2,, e una funzione non lineare di x. dove p il parametro di bilanciamento wi l'i-esimo elemento dell'array di pesi per il set di dati yi l'i-esimo elemento del set di dati (xi, yi) xi l'i-esimo elemento del set di dati (xi, yi) f"(x) la derivata seconda della funzione spline cubica, f(x) (x) la funzione costante a tratti: dove i li-esimo elemento dell'ingresso Smoothness del VI. Se l'ingresso Balance Parameter, p, 0, il modello cubic spline equivale ad un modello lineare. Se l'ingresso 1, il metodo di fitting equivale ad un'interpolazione mediante spline cubica. p deve essere compreso nel campo [0, 1] per rendere la curva fittata vicina alle osservazioni e con andamento smooth. Pi p si avvicina a 0, pi la curva fittata smooth. Pi p si navvicina a 1, pi la curva fittata si avvicina alle osservazioni. La figura 5 illustra i risultati di fitting per diversi valori di p.

Se il set di dati contiene n punti e k coefficienti per i coefficienti a0, a1, , ak-1, allora H una matrice di osservazione n k. Pertanto, il numero di righe in H uguale al numero di punti, n. Il numero di colonne in H uguale al numero di coefficienti, k. Per ottenere i coefficienti, a0, a1, , ak-1, il VI General LS Linear Fit risolve la seguente equazione lineare: Ha=y dove a = [a0 a1 ak 1]T e y = [y0 y1 yn 1]T.

CUBIC SPLINE FIT


Una spline una funzione costituita da un insieme di polinomi raccordati tra loro, il cui scopo interpolare in un intervallo un insieme di punti (detti nodi della spline), in modo da essere continua (almeno fino ad un dato ordine di derivate) in ogni punto dell'intervallo. Il VI Cubic Spline Fit fitta il set di dati (xi, yi) minimizzando la seguente funzione:

COSTRUZIONE DELLA MATRICE DI OSSERVAZIONE


Quando si utilizza il VI General LS Linear Fit, necessario costruire la matrice di osservazione H. Per esempio, l'equazione seguente definisce un modello usando i dati da un trasduttore. y = a0 + a1 sin(x) + a2 cos(x) + a3 x2 La tabella 2 indica i moltiplicatori per i coefficienti, aj, nella precedente equazione. Per costruire la matrice di osservazioa0 1 ne H, il valore di a1 sin(x) ogni colonna in H a2 cos(x) deve essere uguale 2 alla funzione india3 x pendente, o moltiplicatore, valutata per ogni valore di x, xi. L'equazione seguente definisce la matrice di osservazione H per un set di dati contenente 100 valori x usando la precedente equazione. Coefficiente Moltiplicatore

Figura 5 - Modello a spline cubica

TIPS & TECHNIQUES

10

Dalla figura 5 si pu vedere che quando p uguale a 1.0, la vicinanza della curva fittata ai dati di osservazione massima. Quando p uguale a 0.0, la curva fittata ha la massima smoothness, ma la curva non intercetta alcun dato.

figura 7 illustra un set di dati prima e dopo l'applicazione del VI Remove Outliers.

NONLINEAR CURVE FIT


Il VI Nonlinear Curve Fit fitta i dati utilizzando il metodo non lineare di Levenberg-Marquardt secondo l'equazione seguente: y = f(x; a0, a1, a2, , ak) dove a0, a1, a2, , ak sono i coefficienti e k il numero di coefficienti. Il metodo non lineare di Levenberg-Marquardt il metodo di curve fitting pi generale e non richiede che y abbia una relazione lineare con a0, a1, a2, , ak. Potete usare il metodo non lineare di Levenberg-Marquardt per fittare curve lineari o non lineari. Tuttavia, l'applicazione pi comune del metodo fittare una curva non lineare, perch per i curve fitting lineari preferibile il metodo generale di fitting lineare. LabVIEW offre anche il VI Constrained Nonlinear Curve Fit per fittare una curva non lineare con vincoli. Potete impostare i limiti superiore e inferiore di ogni parametro di fitting in base a una conoscenza a priori del set di dati per ottenere un risultato di fitting migliore. La figura 6 illustra l'uso del VI Nonlinear Curve Fit su un set di dati. La natura non lineare del set di dati appropriata per l'applicazione del metodo di Levenberg-Marquardt.
Figura 7 - Remove Outliers VI

Nella figura 7, il grafico a sinistra mostra il set di dati originale con l'esistenza di punti isolati. Il grafico a destra mostra invece i dati pre-elaborati dopo la rimozione dei punti isolati. Potete anche rimuovere i punti isolati che rientrano fra gli indici dell'array che specificate. Alcuni set di dati richiedono un grado di pre-elaborazione pi elevato. Un tool di pre-elaborazione a filtro mediano utile per rimuovere i punti isolati e smussare i dati.

POST-ELABORAZIONE
LabVIEW offre VI per valutare i risultati dei dati dopo avere eseguito un curve fitting. Tali VI possono determinare la precisione dei risultati del curve fitting e calcolare gli intervalli di confidenza e predizione in una serie di misure.

BONT DEL FIT


Il VI Goodness of Fit valuta il risultato del fitting e calcola: somma degli errori quadratici (SSE), errore R-quadro (R2) ed errore quadratico medio (RMSE) sulla base del risultato del fitting. Questi tre parametri statistici descrivono la bont con la quale il modello fittato corrisponde al set di dati originale. L'equazione seguente descrive rispettivamente SSE e RMSE.

dove DOF il grado di libert. SSE e RMSE riflettono l'influenza di fattori casuali e mostrano la differenza fra il set di dati e il modello fittato. L'equazione seguente descrive l'R-quadro:

Figura 6 - Modello a cur va non lineare

PRE-ELABORAZIONE
Il VI Remove Outliers pre-elabora il set di dati rimuovendo i punti che si trovano al di fuori di un certo range. Il VI elimina l'influenza dei punti isolati sulla funzione obiettivo. La

TIPS & TECHNIQUES

dove SST la somma totale dei quadrati secondo l'equazione seguente:

R-quadro una rappresentazione quantitativa del livello di fitting. Un valore elevato di R-quadro significa una corrispondenza migliore fra il modello di fitting e il set di dati. Poich R-quadro una rappresentazione frazionale di SSE e SST, il valore deve essere compreso fra 0 e 1. 0 R-quadro 1 Quando i campioni si adattano esattamente alla curva fittata, SSE uguale a 0 e R-quadro uguale a 1. Quando alcuni dei campioni di dati sono esterni alla curva fittata, SSE maggiore di 0 e R-quadro minore di 1. Poich R-quadro normalizzato, pi R-quadro vicino a 1, maggiore il livello di fitting e meno la curva dolce. La figura seguente mostra le curve fittate di un set di dati con differenti risultati di R-quadro.

correla fra tutti gli esperimenti, si pu utilizzare l'intervallo di confidenza per stimare l'incertezza dei parametri di fitting. Potete anche utilizzare l'intervallo di predizione per stimare l'incertezza dei valori dipendenti del set di dati. Supponiamo, per esempio, di avere il set di campioni (x0, y0), (x1, y1), , (xn-1, yn-1) per la funzione di fit lineare y = a0x + a1. Per ogni campione di dati, (x1, y1), la varianza dell'errore di misura, , specificata dal peso,

Si pu utilizzare la funzione in forma x = (ATA)-1ATb del metodo LS per fittare i dati secondo l'equazione seguente.

dove

a = [a0 a1]T

y = [y0 y1 yn-1]T Potete riscrivere la matrice di covarianza dei parametri, a0 e a1, come l'equazione seguente.

dove J la matrice Jacobiana


Figura 8 - Risultati di fitting con valori differenti di R-quadro

Dalla figura precedente si pu vedere che la curva fittata con R-quadro uguale a 0,99 fitta il set di dati pi da vicino ma meno dolce della curva fittata con R-quadro uguale a 0,97.

m il numero di parametri n il numero di campioni Nella precedente equazione, il numero di parametri, m, uguale a 2. L'i-esimo elemento diagonale di C, Cii, la varianza del parametro ai, . L'intervallo di confidenza stima l'incertezza dei parametri di fitting ad un certo livello di confidenza . Per esempio, un intervallo di confidenza del 95% significa che il vero

INTERVALLO DI CONFIDENZA E INTERVALLO DI PREDIZIONE


Nel processo reale di test e misura, poich i campioni di dati da ciascun esperimento in una serie di esperimenti differiscono a causa dell'errore di misura, anche i risultati del fitting differiscono. Per esempio, se l'errore di misura non si

TIPS & TECHNIQUES

10

valore del parametro di fitting ha una probabilit del 95% di rientrare nell'intervallo di confidenza. L'intervallo di confidenza dell'i-esimo parametro di fitting :

modelli di curve fitting comuni, come i modelli di fit lineare, fit esponenziale, fit su picchi gaussiani, fit logaritmico e fit di potenza. Tali VI calcolano i limiti superiore ed inferiore dell'intervallo di confidenza o dell'intervallo di predizione secondo il livello di confidenza che impostate. La figura 9 mostra esempi del grafico dell'Intervallo di confidenza e del grafico dell'Intervallo di predizione, rispettivamente, per lo stesso set di dati. Dal grafico dell'Intervallo di confidenza, si pu vedere che l'intervallo di confidenza stretto. Un piccolo intervallo di confidenza indica una curva fittata vicina alla curva reale. Dal grafico dell'Intervallo di predizione, si pu concludere che ogni campione di dati nel successivo esperimento di misura avr una probabilit del 95% di rientrare nell'intervallo di predizione.

dove la funzione di distribuzione cumulativa inversa t di Student con nm gradi di libert alla probabilit e la dviazione standard del parametro ai uguale a . Potete anche stimare l'intervallo di confidenza di ciascun campione di dati ad un certo livello di confidenza . Per esempio, un intervallo di confidenza del 95% di un campione significa che il vero valore del campione ha una probabilit del 95% di rientrare nell'intervallo di confidenza. L'intervallo di confidenza dell'i-esimo campione di dati :

ESEMPI APPLICATIVI
dove diagi(A) denota l'i-esimo elemento diagonale della matrice A. Nella precedente formula, la matrice (JCJ)T rappresenta la matrice A. L'intervallo di predizione stima l'incertezza dei campioni nel successivo esperimento di misura ad un certo livello di confidenza . Per esempio, un intervallo di predizione del 95% significa che il campione di dati ha una probabilit del 95% di rientrare nell'intervallo di predizione nel successivo esperimento di misura. Poich l'intervallo di predizione riflette non solo l'incertezza del vero valore, ma anche l'incertezza della misura successiva, l'intervallo di predizione pi ampio dell'intervallo di confidenza. L'intervallo di predizione dell'i-esimo campione :

Compensazione dell'errore
Mano a mano che l'et degli strumenti di misura ed acquisizione dati aumenta, aumentano anche gli errori di misura che influiscono sulla precisione dei dati. Per assicurare risultati di misura accurati, potete utilizzare il metodo di curve fitting per trovare la funzione di errore per compensare gli errori dei dati. Per esempio, esaminiamo un esperimento in cui un termometro misura la temperatura fra 50C e 90C. Supponiamo che T1 sia la temperatura misurata, T2 sia la temperatura ambiente e Te sia l'errore di misura, dove Te T1 meno T2. Misurando diverse temperature entro il campo misurabile da 50C a 90C, si ottiene la tabella di dati nella pagina seguente. Si pu utilizzare il VI General Polynomial Fit per creare lo schema a blocchi illustrato nella figura 10 per trovare l'errore di misura compensato.

LabVIEW mette a disposizione dei VI per calcolare l'intervallo di confidenza e l'intervallo di predizione dei

Figura 9 - Inter vallo di confidenza e inter vallo di predizione

TIPS & TECHNIQUES

Temperatura ambiente -43.1377 -39.3466 -34.2368 -29.0969 -24.1398 -19.2454 -14.0779 -9.10834 -4.08784

Temperatura misurata -42.9375 -39.25 -34.125 -29.0625 -24.125 -19.3125 -14.1875 -9.25 -4.25

Temperatura ambiente 0.769446 5.831063 10.84934 15.79473 20.79082 25.70361 30.74484 35.60317 40.57861

Temperatura misurata 0.5625 5.625 10.625 15.5625 20.5625 25.5 30.5625 35.4375 40.4375

Temperatura ambiente 45.68797 50.56738 55.58933 60.51409 65.35461 70.54241 75.40949 80.41012 85.26303

Temperatura misurata 45.5625 50.5 55.5625 60.5625 65.4375 70.6875 75.625 80.75 85.6875

Figura 10 - Schema a blocchi di un Error Function VI usando il General Polynomial Fit VI

zioni della baseline potete utilizzare il curve fitting per ottenere ed estrarre il trend del segnale dal segnale originale. Come si vede nella figura 12, si pu trovare la fluttuazione della baseline in un segnale ECG che misura la respirazione umana. Si pu ottenere il trend del segnale usando il VI General Polynomial Fit e quindi eseguire il detrend del segnale trovando e rimuovendo la fluttuazione della baseline dal segnale originale.

Il panello frontale nella figura 11 mostra i risultati dell'esperimento quando si usa il VI della figura 10.

Figura 11 - Uso del General Polynomial Fit VI per fittare la cur va di errore

La figura precedente mostra il set di dati con l'errore di misura originale, la curva fittata al set di dati e l'errore di misura compensato. Dopo avere definito innanzitutto la curva fittata al set di dati, il VI usa la curva fittata ai dati dell'errore di misura per compensare l'errore di misura originale. Si pu vedere dal grafico dell'errore compensato che usando il curve fitting si migliorano i risultati dello strumento di misura diminuendo l'errore di misura a circa un decimo del valore dell'errore originale.

RIMOZIONE DELLE FLUTTUAZIONI DELLA BASELINE


Durante l'acquisizione di segnali, un segnale si mischia qualche volta con rumore a bassa frequenza, con una conseguente fluttuazione della baseline. La fluttuazione della baseline influenza la qualit del segnale, con le relative conseguenze sui processi successivi. Per rimuovere le fluttua-

Figura 12 - Uso del General Polynomial Fit VI per rimuovere la fluttuazione della baseline

TIPS & TECHNIQUES

10

Dai grafici precedenti si pu vedere che utilizzando il General Polynomial Fit si sopprime la fluttuazione della baseline. In questo esempio, l'uso del metodo di curve fitting per rimuovere la fluttuazione della baseline pi veloce e semplice dell'uso di altri metodi, come l'analisi wavelet.

estrae il bordo iniziale del bordo di un oggetto e utilizza il VI Nonlinear Curve Fit per fittare il bordo iniziale al bordo effettivo dell'oggetto.

ESTRAZIONE DEI BORDI


Nell'elaborazione di un'immagine digitale, spesso necessario determinare la forma di un oggetto e quindi rilevare ed estrarre i bordi della forma stessa. Questo processo chiamato estrazione dei bordi. Condizioni al contorno, quali scarsa illuminazione e sovraesposizione, possono tradursi in un bordo incompleto o sfocato. Se il bordo di un oggetto una curva regolare, il metodo del curve fitting utile per l'elaborazione del bordo iniziale. Per estrarre il bordo di un oggetto necessario utilizzare innanzitutto l'algoritmo watershed. Tale algoritmo separa l'immagine dell'oggetto dall'immagine dello sfondo. Si pu quindi utilizzare l'algoritmo morfologico per aggiungere i pixel mancanti e filtrare i pixel di rumore. Dopo avere ottenuto la forma dell'oggetto, usate la Laplaciana, o l'operatore di Laplace, per ottenere il bordo iniziale. La figura 13 mostra il processo di estrazione dei bordi su un'immagine di un oggetto ellittico con un'ostruzione fisica su parte dell'oggetto.

Figura 14 - Uso del Nonlinear Cur ve Fit VI per fittare un bordo ellittico

Il grafico nella precedente figura mostra i risultati iterativi per calcolare il bordo fittato. Dopo diverse iterazioni, il VI estrae un bordo che vicino al bordo effettivo dell'oggetto.

SCOMPOSIZIONE DI PIXEL MISTI USANDO IL CURVE FITTING


Lo standard di misura per rilevare oggetti a terra nelle immagini riprese da remoto normelmente in unit pixel. A causa delle limitazioni di risoluzione spaziale, un pixel spesso copre centinaia di metri quadrati. Il pixel un pixel misto se contiene oggetti a terra di varia composizione. I pixel misti sono complessi e difficili da elaborare. Un metodo di elaborazione dei pixel misti ottenere le percentuali esatte degli oggetti d'interesse, come acqua o piante. L'immagine nella figura 15 mostra un'immagine Landsat a falsi colori ripresa dal Landsat 7 ETM+ il 14 Luglio 2000. L'immagine visualizza un'area di Shanghai allo scopo di avere dati sperimentali.
Figura 13 - Processo di estrazione dei bordi

Come si pu vedere dalla figura precedente, il bordo estratto non n regolare n completo a causa delle condizioni di illuminazione e di un'ostruzione da parte di un altro oggetto. Poich la forma del bordo ellittica, si pu migliorare la qualit del bordo usando le coordinate del bordo iniziale per fittare una funzione ellittica. Usando un processo iterativo, potete aggiornare il peso dei pixel del bordo al fine di minimizzare l'influenza dei pixel imprecisi nel bordo iniziale. La figura 14 mostra il pannello frontale di un VI che

Nella precedente immagine, si possono osservare le cinque bande dell'immagine multispettrale Landsat, con la banda 3 visualizzata come blu, la banda 4 come verde e la banda 5 come rosso. L'area dell'immagiFigura 15 - Immagine a falsi colori ne include tre tipi di tipici oggetti al suolo: acqua, piante e suolo. Gli oggetti che corrispondono al suolo includono componenti di architettura artificiale come edifici e ponti.

TIPS & TECHNIQUES

Figura 16 - Uso del General LS Linear Fit VI per scomporre un'immagine con pixel misti (a) Piante (b) Suolo e costruzioni ar tificiali (c) Acqua

rappresenta la funzione di errore in LabVIEW. Si pu riscrivere la funzione gaussiana modificata esponenzialmente originale come l'equazione seguente.

Si pu utilizzare il VI General LS Linear Fit per creare un VI di scomposizione dei pixel misti. La figura 16 mostra i risultati della scomposizione usando il VI General LS Linear Fit. Nelle immagini precedenti, le aree in nero indicano lo 0% di un certo oggetto d'interesse e le aree bianche indicano il 100% di un certo oggetto d'interesse. Per esempio, nell'immagine che rappresenta oggetti piante, le aree bianche indicano la presenza di oggetti piante. Nell'immagine che rappresenta oggetti acqua, la regione bianca a forma d'onda indica la the presenza di un fiume. Si pu confrontare la rappresentazione dell'acqua nella precedente figura con la figura 15. Dai risultati ottenuti, si pu vedere che il VI General LS Linear Fit scompone correttamente l'immagine multispettrale Landsat in tre oggetti al suolo. LabVIEW pu fittare questa equazione usando il VI Nonlinear Curve Fit. La figura 17 mostra un modello di gaussiana modificata esponenzialmente per dati cromatografici. Questo modello utilizza il VI Nonlinear Curve Fit VI e il VI Error Function per calcolare la curva di fit per un set di dati per cui si ottiene un fit ottimale con la funzione gaussiana modificata esponenzialmente.

FIT GAUSSIANO MODIFICATO ESPONENZIALMENTE


Il modello che si vuole fittare contiene a volte una funzione che LabVIEW non include. Per esempio, l'equazione seguente descrive una funzione gaussiana modificata esponenzialmente.
Figura 17 - Modello gaussiano modificato esponenzialmente

dove

Utilizzando i VI appropriati, possibile creare un nuovo VI per fittare una curva su un set di dati la cui funzione non disponibile in LabVIEW.

CONCLUSIONE
y0 l'offset dall'asse y A l'ampiezza del set di dati xc il centro del set di dati w la laghezza della funzione t0 il fattore di modifica I VI di curve fitting in LabVIEW non possono fittare questa funzione direttamente, perch LabVIEW non riesce a calcolare direttamente integrali generalizzati. Tuttavia, l'integrale nella precedente equazione un normale integrale di probabilit, che una funzione di errore pu rappresentare secondo l'equazione seguente. Il curve fitting non solo valuta la relazione fra le variabili in un set di dati, ma elabora anche set di dati contenenti rumore, irregolarit, errori dovuti a dispositivi di test e misura imprecisi e cos via. LabVIEW mette a disposizione VI di curve fitting base e avanzati che utilizzano metodi di fitting differenti, come i metodi LS, LAR e biquadratico, per trovare la curva di fitting. Il modello e il metodo di fitting che si utilizzano dipendono dal set di dati che si desidera fittare. LabVIEW offre anche VI di pre-elaborazione per rimuovere i punti isolati da un set di dati, valutare laccuratezza del risultato di fitting e misurare l'intervallo di confidenza e l'intervallo di predizione dei dati fittati.

Note sullautore
Sam Shearman il product manager del software di analisi e signal processing in National Instruments

Readerser vice.it n. 1016

Sei sicuro di quello che vedi?


Noi lo siamo sempre, grazie al nostro consolidato know-how nella distribuzione di componenti e sistemi per la visione articiale.

Da 10 anni aiutiamo con successo produttori ed integratori di sistemi con un unico scopo: supportarli a sviluppare efcacemente il loro business proponendo le migliori tecnologie presenti sul mercato, coadiuvate da servizi altamente specializzat Da 10 anni siamo il partner ideale per chi opera nel mondo della visione industriale e dellimaging scientico in generale.

MACHINE VISION EXPERTS

ADVANCED TECHNOLOGIES S.p.A. Via Carducci, 35 | 20090 Trezzano S/N | Milano | Italy T +39 02 4455154 | F +39 02 4453103 www.adv-tech.it

readerservice.it n.21

D A L L A T E O R I A A L L A P R AT I C A

AUTOMAZIONE NEI LABORATORI UL EUROPEI


Dario Rivoltella

Il nuovo sistema di misura SC-LAB (LABboratorio Sicur Control) ormai diventato un punto di forza in Europa dal punto di vista della qualit dei risultati di prova, dei rappor ti di prova generati automaticamente e della facilit ed economicit di calibrazione

ellambito delle prove per laccertamento della sicurezza elettrica ai fini della certificazione internazionale, nel Laboratorio UL Italia era necessario creare un sistema di strumenti virtuali personalizzati interconnessi via Ethernet e accessibili via web come alternativa e miglioramento agli strumenti tradizionali attualmente in commercio. La sfida era adottare come standard questo nuovo approccio alle misure, oltre che in Europa, anche nei laboratori UL nel resto del mondo. Il sistema di condizionamento dei segnali sviluppato nel Laboratorio UL Italia 15 anni fa e migliorato nel corso degli

anni, unitamente a schede di acquisizione, DMM e switch basate su bus PXI, ha consentito lacquisizione e la misura di molteplici grandezze elettriche, meccaniche, termiche ed ottiche. La successiva analisi, elaborazione e visualizzazione tipica di LabVIEW ne ha definito uno standard (sia dal punto di vista grafico che di interfaccia con lutente) per i diversi strumenti di misura.

IL SISTEMA SC-LAB
Il nuovo sistema di misura, denominato SC-LAB (LABboratorio Sicur Control, ora divisione di UL), nato 15

D A L L A T E O R I A A L L A P R AT I C A

10

Figura 1

anni fa con lo scopo di migliorare lefficienza del Laboratorio, ormai diventato un punto di forza in Europa dal punto di vista della qualit dei risultati di prova, dei rapporti di prova generati automaticamente e della facilit ed economicit di calibrazione. Un sintetico elenco delle applicazioni pu essere il seguente: Three phase Wattmeter & Energy counter (range da 100mA a 50A, da 3Va 1kV) Temperatur Data Logger (96 canali) Hot Coil Resistance Meter (8 canali 20A) Programmable Timer Three phase Harmonics Analyzer Profile detector (microscopio con 1m di risoluzione) Tracking and Glow Wire Analyzer (con misura altezza fiamma) Oltre agli strumenti, fanno parte del sistema SC-LAB numerosi driver per strumenti campione, Report Editor, programmi e utility di vario genere. Il tutto contenuto in un armadio denominato Rack (figura 1). Tra le pi significative applicazioni che di seguito verranno descritte, le pi importanti dal punto di vista dei vantaggi ottenuti rispetto agli strumenti tradizionali sono il Three Phase Wattmeter & Energy Counter ad il Temperature Data Logger. Tra le prove di sicurezza elettrica, la misura della potenza (e/o della corrente) assorbita e delle temperature interne di un prodotto rappresentano le pi comuni e frequenti verifiche di laboratorio applicabili a praticamente tutte le categorie di prodotti elettrici. Per questo motivo, tali due strumenti sono stati i primi ad essere ideati e realizzati e quindi perfettamente adattati per limpiego in laboratori di certificazione.

va ed apparente) sulle singole fasi e sul sistema multifase, la frequenza, il fattore di potenza e lenergia consumata. Rispetto agli strumenti tradizionali i vantaggi sono molteplici. Primo fra tutti la semplicit duso: indipendentemente dal tipo di alimentazione dellapparecchio, monofase, bifase, trifase, con o senza neutro, la misura viene condotta semplicemente inserendo la spina nel modulo di potenza senza preoccuparsi di realizzare nessun ulteriore collegamento esterno. La schermata principale, che visualizza sia i dati numerici delle misure che le forme donda delle tensioni e delle correnti, fornisce una chiara situazione elettrica generale del prodotto in prova. La possibilit di salvare su file ogni misura e forma donda consente di registrare landamento nel tempo delle varie grandezze misurate. Le applicazioni sono innumerevoli: dalla misura della potenza e corrente assorbita da apparecchi frigoriferi, alla monitorizzazione di tensioni e frequenze in protezioni di interfaccia per il collegamento degli inverter alla rete di distribuzione pubblica dellenergia. Lo strumento include molteplici altre funzioni sicuramente non presenti in strumenti tradizionali quali: un sistema di controllo delle tensioni (trifase) che, mediante variac motorizzati, consente di impostare e mantenere in modo indipendente le tre tensioni di alimentazione la possibilit di acquisire ed analizzare, oltre alle tensioni e correnti, ulteriori 8 segnali analogici provenienti da trasduttori di vario tipo la misura e visualizzazione vettoriale della terna trifase delle tensioni e delle correnti, con la misura delle fasi di ciascun vettore ed il calcolo della corrente di neutro nei sistemi multifase sbilanciati

THREE PHASE WATTMETER & ENERGY COUNTER


Il Three Phase Wattmeter & Energy Counter (figura 2) uno strumento virtuale composto da una scheda di acquisizione dati, tre moduli di condizionamento dei segnali di tensione (3-30300-1000V) e corrente (0,1-110-50A) ed un modulo di potenza per la connessione diretta allapparecchio in prova. Sulla base delle 6 forme donda acquisite, lo strumento calcola poi i valori di tensione e corrente efficaci, le potenze (attiva, reatti-

Figura 2

D A L L A T E O R I A A L L A P R AT I C A

la verifica della qualit della sorgente di alimentazione (tensione, frequenza e distorsione armonica totale) prevista dalla norma EN17025 la possibilit di interagire direttamente con i trasduttori interni di tensione e corrente per eseguire in modo semiautomatico una calibrazione contemporanea dei tre wattmetri

TEMPERATURE DATA LOGGER


Il Temperature Data Logger basato su un DMM a 18 bit che misura la tensione ai capi delle termocoppie multiplexate in 96 canali. Lisolamento tra i canali e verso massa di 300V. Lo strumento molto semplice, ma sicuramente quello che offre il pi alto grado di automazione dal punto di vista del risultato finale: il test report. Pensare di eseguire misure di temperatura in 96 punti interni di un apparecchio di cottura (cosa assai frequente) e in 10 modalit di funzionamento diverse con un tradizionale registratore a carta ormai impensabile. Pur utilizzando strumenti in grado di salvare i dati su file, rimane comunque il problema di riportare i valori massimi misurati nei test report. Il Temperature Data Logger permette sia di selezionare manualmente, come gli strumenti tradizionali, i diversi canali di misura, oppure, interfacciandosi con Word, di importare tutto il set up della misura, cio una tabella contenente i canali di misura e la descrizione del posizionamento dei vari punti di misura. Le ulteriori tre colonne, in bianco nel set up, vengono compilate dal programma al termine della misura con la massima temperatura misurata, la massima sovratemperatura misurata ed il risultato del confronto con il limite (OK o NOK). La tabella cos compilata viene in seguito inserita con un semplice copia ed incolla nel test report. Landamento delle temperature dei vari canali viene registrato su file e successivamente analizzato, stampato su carta o convertito in jpg. Sono in fase di ultimazione due nuove funzionalit da integrare nello strumento: la possibilit di utilizzare i 96 canali in diversi strumenti in esecuzione contemporanea in grado di testare pi prodotti nello stesso tempo un Hot Line Coil Meter multicanale (8 canali da 40A) in grado di misurare la temperatura degli avvolgimenti (motori, trasformatori, bobine, ecc) sotto tensione. Il metodo di misura, linterfaccia utente ed il report generato saranno trasparenti rispetto al metodo di misura utilizzato: termocoppie o variazione di resistenza. Al di l delle caratteristiche dei singoli strumenti di misura, ulteriori vantaggi scaturiscono dallinterconnettivit tra i diversi strumenti: tutte le misure degli strumenti in esecuzione sulla stessa macchina ed, in generale in esecuzione su tutte le macchine connesse in rete, possono essere condivise e scambiate.

Figura 3

proprio su questa funzionalit che si basano molti test particolari per i quali necessaria la misura e lelaborazione di grandezze di varia natura (ad esempio elettriche e termiche) che difficilmente si trovano inserite in un unico strumento tradizionale. Una tipica applicazione la misura del consumo energetico di un forno domestico per il mercato Canadese. Sulla base dellandamento della temperatura di un cilindro di prova in alluminio posto allinterno del forno e dellandamento dellenergia consumata dal forno, la norma definisce un algoritmo di calcolo per la determinazione del consumo medio annuo del forno. La combinazione delle funzionalit del Three Phase Wattmeter & Energy Counter e del Temperature Data Logger permette di costruire un grafico dellandamento della temperatura del cilindro di alluminio in funzione dellenergia consumata. Non ultima, ma sicuramente importante per laboratori distribuiti (figura 3) in tutti i continenti, la possibilit di connessione remota con visione e controllo a distanza della misura in corso.

CONCLUSIONE
Nato per passione personale, aggiornato e migliorato grazie al contributo di tutti gli ingegneri che lhanno utilizzato, modificato nel tempo in accordo allevoluzione delle normative (sia di prodotto che di qualit), ma soprattutto tecnologicamente sempre al passo con i tempi grazie al supporto e consiglio di National Instruments, contiamo sulla fattiva ed usuale collaborazione da parte di tutti per le future sfide che SC-LAB dovr ancora affrontare.

Note sullautore
Dario Rivoltella, Sicur Control (Divisione di UL Italia)

Readerser vice.it n. 1020

SCUOLA DI LABVIEW

10

Training per principianti

TECNICHE COMUNI DI PROGETTAZIONE


Potete sviluppare programmi migliori in LabVIEW e in altri linguaggi di programmazione se seguite tecniche e architetture di programmazione consistenti

Questa lezione discute due differenti categorie di architetture di programmazione: a cicli singoli e multipli. Queste architetture sono note globalmente come schemi di progettazione. Le architetture a ciclo singolo includono schemi di progettazione di VI semplici, generali e di macchine a stati. Le architetture a cicli multipli includono schemi di progettazione di VI a cicli paralleli, Master/Slave e Producer/Consumer. La comprensione di quale sia lo schema di progettazione migliore la chiave per la realizzazione di VI efficienti in LabVIEW. Gli argomenti della lezione saranno descritti secondo la seguente sequenza: A. Architetture a ciclo singolo B. Parallelismo C. Architetture a pi cicli D. Temporizzazione di uno schema di progettazione

A cura di Matteo Foini

lutente decide di uscire dal programma o il programma si arresta per altri motivi come il completamento di un I/O. Chiusura - Questa sezione di solito si occupa di chiudere i file, di scrivere le informazioni di configurazione su disco o di ripristinare lI/O sullo stato di default. La figura 1 mostra questa architettura generale di VI.

A. ARCHITETTURE A CICLO SINGOLO


Schemi di progettazione di VI semplici Quando svolgete calcoli o effettuate misure veloci in laboratorio, non avete bisogno di unarchitettura complicata. Il vostro programma consiste di un unico VI che effettua misurazioni, svolge calcoli, visualizza i risultati o li registra su disco. Lo schema di progettazione di VI semplici non richiede di solito unazione specifica di start o di stop da parte dellutente. Lutente clicca semplicemente sul pulsante Run. Utilizzate questa architettura per semplici applicazioni o per componenti funzionali nellambito di applicazioni pi grandi. Potete convertire questi VI semplici in subVI che utilizzate come blocchi componenti di applicazioni pi grandi. Schemi di progettazione generali di VI Uno schema di progettazione generale di VI possiede tre fasi principali. Ogni fase pu contenere codice che segue un altro tipo di schema di progettazione. Le tre fasi sono le seguenti: Inizializzazione - Questa sezione viene utilizzata per inizializzare lhardware, leggere le informazioni di configurazione dai file o per richiedere allutente la posizione dei file. Applicazione principale - Questa sezione in generale consiste di almeno un ciclo che viene ripetuto fino a quando

Fig. 1 - Schema di progettazione generale di un VI

Nella figura 1 il collegamento del cluster di errore controlla lordine di esecuzione delle tre sezioni. Il While Loop non viene eseguito finch il VI Start Up non ha finito lesecuzione e restituisce il cluster di errore. Di conseguenza, il VI Shut Down non pu essere eseguito finch il programma principale nel While Loop non ha finito e i dati del cluster di errore non lasciano il ciclo. La maggior parte dei cicli richiede una funzione Wait, specialmente se quel ciclo monitora gli ingressi dellutente sul pannello frontale. Senza la funzione Wait, il ciclo potrebbe rimanere in esecuzione continuativamente e utilizzare tutte le risorse di sistema del computer. La funzione Wait forza il ciclo ad essere eseguito in modalit asincrona anche se specificate 0 millisecondi come tempo di attesa. Se le operazioni allinterno del ciclo reagiscono agli ingressi dellutente, potreste incrementare il tempo di attesa ad un livello accettabile per i tempi di reazione. Unattesa di 100 - 200 ms usualmente buona perch la maggior parte degli utenti non pu rilevare quellentit di ritardo tra il click su un pulsante del pannello frontale e la conseguente esecuzione dellevento. Per applicazioni semplici, il ciclo dellapplicazione princi-

SCUOLA DI LABVIEW

pale pu essere abbastanza semplice e contenere codice che segue lo schema di progettazione di VI semplici. Quando avete interfacce utente complicate o eventi multipli, come ad esempio azioni dellutente, trigger sullI/O e cos via, questa sezione pu diventare pi complicata. Schema di progettazione a macchine a stati Lo schema di progettazione a macchine a stati una modifica di uno schema pi generale. Di solito ha una fase di startup ed una di shut down. Tuttavia la fase dellapplicazione principale consiste di una struttura Case inserita in un ciclo. Questa architettura vi consente di avviare codice differente ogni volta che il ciclo viene eseguito sulla base di alcune condizioni. Ogni condizione definisce uno stato della macchina, da cui il nome, macchina a stati. Utilizzate questo modello di progettazione per VI che sono facilmente divisibili in compiti pi semplici, come i VI che agiscono come interfaccia utente. Una macchina a stati in LabVIEW consiste di un While Loop, una struttura Case e un registro a scorrimento. Ogni stato della macchina a stati una condizione nella struttura Case. Inserite i VI e altro codice che volete eseguire nella condizione corretta. Un registro a scorrimento memorizza lo stato da eseguire fino alliterazione successiva del ciclo. Lo schema a blocchi di un VI a macchina a cinque stati mostrato nella figura 2. La figura 3 mostra i casi nascosti, o condizioni, della macchina a stati.

In questa architettura, progettate lelenco dei possibili eventi, o stati, e quindi mappateli ognuno su una condizione. Per il VI dello schema a blocchi in figura 2, gli stati possibili sono Startup, Idle, Event 1, Event 2 e Shutdown. Questi stati sono memorizzati in una costante di tipo enumerated. Ogni stato ha la sua condizione nella struttura Case. Mentre una condizione in esecuzione, lo stato successivo viene determinato sulla base del risultato corrente. Lo stato successivo viene memorizzato nel registro a scorrimento. In caso di errore in uno degli stati, viene richiamata la condizione shutdown. Il vantaggio dellarchitettura con macchine a stati che lo schema a blocchi pu diventare molto pi piccolo, rendendone pi facile la lettura e la correzione. Un altro vantaggio dellarchitettura con macchine a stati che ogni condizione determina lo stato successivo, diversamente dalle strutture Sequence che non possono saltare un frame. Uno svantaggio dellarchitettura con macchine a stati che con questo approccio potete perdere degli eventi. Se due eventi si presentano nello stesso istante, questo modello gestisce il primo e perde il secondo. Ci pu condurre ad errori che sono difficili da correggere perch possono presentarsi solo occasionalmente. Versioni pi complesse dei VI con architettura con macchine a stati contengono codice aggiuntivo che realizza una coda di eventi con lo scopo di non perderli.

B. PARALLELISMO
Il parallelismo un modo di eseguire compiti in parallelo nello stesso istante. Per discutere il parallelismo, considerate lesempio della creazione e visualizzazione di due sinusoidi a differenti frequenze. Inserite una sinusoide in un ciclo e la seconda in un ciclo differente. Una sfida nella programmazione di compiti in parallelo quella di passare dati tra pi cicli senza creare una dipendenza tra i dati. Per esempio, se passate i dati utilizzando un collegamento, i cicli non sono pi in parallelo. Nellesempio di pi sinusoidi, potete voler condividere un singolo pulsante di stop tra i

Fig. 2 - Macchina a stati con stato di Star tup

Fig.come 4 - Pannello frontale dei cicli in cicli, mostrato nella figura 4.parallelo

Fig. 3 - Stati Idle (Default), Event 1, Event 2 e Shutdown

Esaminate che cosa accade quando provate a condividere dati tra cicli in parallelo con un collegamento.

SCUOLA DI LABVIEW

10

Metodo 1 (sbagliato) Inserite il terminale Loop Control al di fuori di entrambi i cicli e collegatelo a ciascun terminale condizionale, come mostrato in figura 5. Lo stato del controllo booleano un dato in ingresso per entrambi i cicli, quindi il terminale Loop Control viene letto solo una volta, prima dellesecuzione dei While Loop. Se viene passato TRUE ai cicli, i While Loop rimarranno in esecuzione indefinitamente. Disattivando il selettore non si arresta il VI perch il selettore non viene letto durante literazione di ciascun ciclo.

Soluzione Se potete leggere il pulsante di stop da un file, non avrete pi bisogno di avere una dipendenza di flusso dei dati tra i cicli, dato che ogni ciclo pu accedere al file indipendentemente. Tuttavia, la lettura e scrittura di file pu richiedere tempo, parlando sempre rispetto ai tempi propri del processore. Un altro modo di svolgere questo compito di trovare il punto in memoria in cui il pulsante di stop memorizzato e leggere quella locazione di memoria direttamente.

C. ARCHITETTURE A PI CICLI
Modello di progettazione a cicli paralleli Alcune applicazioni richiedono che il programma risponda ed avvii diversi compiti contemporaneamente. Un modo di progettare la sezione principale di questa applicazione di assegnare un ciclo differente per ogni compito. Per esempio, potreste avere un ciclo differente per ogni pulsante sul pannello frontale e per ogni altro genere di compito, come una selezione di menu, sincronizzazione di I/O e cos via. La figura 7 mostra questo modello di progettazione a cicli paralleli.
Fig. 5 - Esempio del Metodo 1 con cicli in parallelo

Metodo 2 (sbagliato) Spostate il terminale Loop Control allinterno del Loop 1 affinch venga letto ad ogni iterazione del Loop 1, come mostrato nello schema a blocchi di figura 6. Sebbene il Loop 1 termini correttamente, il Loop 2 non va in esecuzione finch non riceve tutti i suoi dati dingresso. Il Loop 1 non passa dati al di fuori del ciclo fino a quando si arresta, quindi il Loop 2 deve aspettare il valore finale di Loop Control, disponibile solo quando Loop 1 termina. Quindi i cicli non vengono eseguiti in parallelo. Inoltre, il Loop 2 viene eseguito solo per uniterazione perch il suo terminale condizionale riceve un valore False dal selettore Loop Control nel Loop 1.

Fig. 7 - Modello di progettazione a cicli paralleli

Fig. 6 - Esempio del Metodo 2 con cicli in parallelo

Questa struttura semplice e adatta per VI a menu semplici, in cui vi aspettate che un utente scelga tra uno di diversi pulsanti che svolgono azioni differenti. Il modello di progettazione a cicli paralleli vi consente di gestire pi compiti, indipendenti e contemporanei. In questo modello di progettazione, la risposta ad unazione non impedisce al VI di rispondere ad unaltra azione. Per esempio, se un utente clicca su un pulsante che visualizza una finestra di dialogo, i cicli paralleli possono continuare a rispondere a compiti di I/O. Tuttavia, con il modello di progettazione a cicli paralleli dovete coordinare e far comunicare cicli differenti. Il pulsante di Stop per il secondo ciclo di figura 7 una variabile locale. Non potete utilizzare collegamenti per passare dati tra i cicli perch cos facendo si impedisce ai cicli

SCUOLA DI LABVIEW

lesecuzione in parallelo. Invece dovete utilizzare tecniche specifiche per passare informazioni tra i processi. Modello di progettazione Master/Slave Il modello di progettazione Master/Slave consiste di pi cicli in parallelo. Ogni ciclo pu eseguire compiti a differenti velocit. Un ciclo agisce come master e gli altri cicli come slave. Il ciclo master controlla tutti i cicli slave e comunica con loro utilizzando tecniche di trasferimento dati, come mostrato in figura 8.

Fig. 8 - Modello di progettazione Master/Slave

Utilizzate il modello di progettazione Master/Slave quando avete bisogno che un VI risponda ai controlli dellinterfaccia utente mentre contemporaneamente raccoglie dati. Per esempio, volete costruire un VI che misuri e memorizzi una tensione variabile lentamente una volta ogni cinque secondi. Il VI acquisisce una forma donda da una linea di trasmissione e la visualizza su un grafico ogni 100 ms. Il VI fornisce anche uninterfaccia utente che consente allutente di cambiare i parametri per ogni acquisizione. Il modello di progettazione Master/Slave si adatta bene a questa applicazione di acquisizione. Il ciclo master contiene linterfaccia utente; lacquisizione di tensione avviene in un ciclo slave e la gestione della parte grafica avviene in un altro ciclo slave. Utilizzando un approccio Master/Slave per questo VI, dovreste mettere i processi di acquisizione in due While Loop separati, entrambi guidati da un ciclo master che riceve gli ingressi dai controlli dellinterfaccia utente. Questo garantisce che i processi di acquisizione separati non si influenzino lun laltro e che ogni ritardo causato dallinterfaccia utente, come la visualizzazione di una finestra di dialogo, non ritardi una qualsiasi iterazione dei processi di acquisizione. Anche i VI che includono un controllo beneficiano delluso di modelli di progettazione Master/Slave. Considerate un VI in cui un utente controlla un braccio robotizzato a moto libero uilizzando i pulsanti su un pannello frontale. Questo tipo di VI richiede un controllo efficiente, accura-

to e reattivo a causa dei danni fisici che possono essere causati al braccio o allambiente circostante in caso di controllo gestito male. Per esempio, se lutente istruisce il braccio affinch si arresti nel suo moto verso il basso, ma il programma occupato con il controllo del perno del braccio, il braccio robotizzato pu collidere con la piattaforma del supporto. Applicate il modello di progettazione Master/Slave allapplicazione per evitare questi problemi. In questo caso il ciclo master gestisce linterfaccia utente e ogni sezione controllabile del braccio robotizzato ha il proprio ciclo slave. Siccome ogni sezione controllabile del braccio ha il proprio ciclo e la sua parte di tempo di elaborazione, linterfaccia utente ha un controllo pi reattivo del braccio robotizzato. Con un modello di progettazione Master/Slave, importante che i due While Loop non scrivano sugli stessi dati condivisi. Assicuratevi che non pi di un While Loop possa scrivere su una data porzione di dati condivisi. Lo slave non deve impiegare troppo nel rispondere al master. Se lo slave sta elaborando un segnale proveniente dal master e il master invia pi di un messaggio allo slave, lo slave riceve solo lultimo messaggio. Questo uso dellarchitettura Master/Slave potrebbe portare ad una perdita di dati. Utilizzate unarchitettura Master/Slave solo se siete certi che ogni task dello slave impieghi meno tempo del ciclo del master. Modello di progettazione Producer/Consumer Il modello di progettazione Producer/Consumer si basa sul modello Master/Slave e migliora lo scambio dati tra pi cicli in esecuzione a differenti velocit. Simile al modello Master/Slave, il modello di progettazione Producer/Consumer separa compiti che producono e usano i dati a differenti velocit. I cicli in parallelo nel modello di progettazione Producer/Consumer sono separati in due categorie: quelli che producono i dati e quelli che usano i dati prodotti. Le code di dati comunicano i dati tra i cicli. Le code di dati bufferizzano anche i dati tra il ciclo Producer e quello Consumer. Suggerimento Un buffer un dispositivo della memoria che memorizza dati temporanei tra i due dispositivi, o in questo caso, tra pi cicli. Utilizzate il modello di progettazione Producer/Consumer quando dovete acquisire pi insiemi di dati che devono

SCUOLA DI LABVIEW

10

essere processati in ordine. Supponete di voler realizzare un VI che accetta dati mentre sta processando gli insiemi di dati nellordine in cui sono stati ricevuti. Il modello di progettazione Producer/Consumer ideale per questo tipo di VI perch la formazione delle code di dati avviene molto pi rapidamente di quanto i dati possano essere processati (usati). Potreste mettere il Producer e il Consumer nello stesso ciclo per questa applicazione, ma la coda di elaborazione potrebbe non aggiungere ulteriori dati fino a quando la prima parte dei dati non stata completamente elaborata. Lapproccio Producer/Consumer per questo VI mette in coda i dati nel ciclo Producer e processa i dati nel ciclo Consumer come mostrato in figura 9.

D. TEMPORIZZAZIONE DI UN MODELLO DI PROGETTAZIONE


Questa sessione discute due forme di temporizzazione: la temporizzazione dellesecuzione e la temporizzazione a controllo software. La temporizzazione dellesecuzione utilizza funzioni di temporizzazione per fornire al processore tempo per completare altri compiti. La temporizzazione a controllo software riguarda la temporizzazione di unoperazione reale da svolgere entro un periodo di tempo prefissato. Temporizzazione dellesecuzione Potete temporizzare un modello di progettazione esplicitamente o sulla base di eventi che accadono nel VI. La temporizzazione esplicita fornisce al modello di progettazione una funzione che fornisce specificatamente al processore il tempo di completare altri task, come la funzione Wait Until Next ms Multiple. Quando la temporizzazione basata sugli eventi, il modello di progettazione rimane in attesa di azioni che devono avvenire prima di continuare e consente al processore di completare altri compiti mentre in attesa. Utilizzate la temporizzazione esplicita per modelli di progettazione come Master/Slave, Producer/Consumer e macchine a stati. Questi modelli di progettazione effettuano una forma di polling mentre sono in esecuzione. Suggerimento Il polling il processo che effettua continue richieste di dati ad un altro dispositivo. In LabVIEW, questo significa generalmente che lo schema a blocchi richiede continuamente se ci sono dati disponibili, di solito dallinterfaccia utente. Per esempio, il modello di progettazione Master/Slave mostrato in figura 10 utilizza un While Loop e una struttura Case per implementare il ciclo master. Il master sempre in esecuzione e rimane in attesa di un evento di qualsiasi tipo, come la pressione di un pulsante da parte dellutente. Nel caso si presenti un evento, il master invia un messaggio allo slave. Avete bisogno di temporizzare il master affinch non prenda il controllo sullesecuzione del processore. In questo caso, utilizzate tipicamente la funzione Wait (ms) per regolare quanto frequentemente il master deve effettuare il polling. Utilizzate sempre una funzione di temporizzazione come la funzione Wait (ms) o Wait Until Next ms Multiple in ogni modello di progettazione sempre in esecuzione con necessit di regolazione. Se non usate una funzione di temporizzazione in una struttura sempre in esecuzione, LabVIEW utilizza tutto il tempo del processore e i processi in background non possono essere eseguiti.

Fig. 9 - Modello di progettazione Producer/Consumer

Questo modello di progettazione consente al ciclo Consumer di processare i dati alla sua andatura, mentre il ciclo Producer continua a mettere in coda dati aggiuntivi. Potete anche utilizzare questo modello di progettazione per creare un VI che analizza la comunicazione di rete. Questo tipo di VI richiede due processi che funzionano contemporaneamente a differenti velocit. Il primo processo interroga costantemente la linea della rete e recupera pacchetti. Il secondo processo analizza i pacchetti recuperati dal primo processo. In questo esempio, il primo processo agisce come Producer perch fornisce dati al secondo processo, che agisce come Consumer. Il modello di progettazione Producer/Consumer unarchitettura efficiente per questo VI. I cicli paralleli Producer e Consumer gestiscono il recupero e lanalisi dei dati off line e la comunicazione in coda tra i cicli consente la bufferizzazione di pacchetti di rete recuperati. La bufferizzazione pu diventare importante quando la comunicazione con la rete occupata. Con la bufferizzazione i pacchetti possono essere recuperati e comunicati pi velocemente di quanto possano essere analizzati.

SCUOLA DI LABVIEW

In figura 11 trovate un esempio di temporizzazione a controllo software per monitorare lo scorrere del tempo fino allacquisizione del gruppo successivo di dati da parte del VI. Osservate luso del VI Express Elapsed Time per mantenere traccia del clock.

Fig. 11 - Utilizzo del VI Elapsed Time Express

Fig. 10 - Modello di progettazione Master/Slave

Osservate che il ciclo slave non contiene alcuna forma di temporizzazione. Luso delle funzioni di sincronizzazione, come Queues e Notifiers, per passare messaggi fornisce una forma intrinseca di temporizzazione nel ciclo slave. Il ciclo slave attende che la funzione Notifier riceva un messaggio. Dopo che Notifier ha ricevuto il messaggio, lo slave esegue le operazioni sul messaggio. Ci crea uno schema a blocchi efficiente che non spreca cicli di processore nel polling di messaggi. Questo un esempio di temporizzazione mediante lattesa di un evento. Quando implementate modelli di progettazione in cui la temporizzazione basata sul verificarsi di eventi, non dovete determinare la corretta frequenza di temporizzazione perch lesecuzione del modello di progettazione avviene solo in caso di evento. In altre parole, il modello di progettazione entra in esecuzione solo quando riceve un evento. Temporizzazione a controllo software Molte applicazioni che create devono eseguire unoperazione per un determinato intervallo di tempo. Considerate limplementazione di un modello di progettazione con macchine a stati per un sistema di acquisizione della temperatura. Se le specifiche richiedono che il sistema acquisisca temperature per 5 minuti, potreste rimanere nello stato di acquisizione fino a quando sono passati i 5 minuti. Tuttavia, durante quel tempo non potete processare una qualsiasi azione dellinterfaccia utente, come larresto del VI. Per processare queste azioni dellinterfaccia utente, dovete implementare la temporizzazione affinch il VI continui lesecuzione per il tempo specificato. Limplementazione di questa temporizzazione include il mantenimento dellesecuzione dellapplicazione mentre monitora un clock in tempo reale.

Se utilizzate la funzione Wait (ms) o Wait Until next ms Multiple per effettuare la temporizzazione software, la funzione di attesa deve finire prima che la funzione che state temporizzando possa essere eseguita. Queste funzioni non sono il metodo preferito per limplementazione della temporizzazione a controllo software, specialmente per VI in cui il sistema deve continuamente stare in esecuzione. Un buon modello da utilizzare per la temporizzazione di far ciclare il tempo corrente attraverso il VI, come mostrato in figura 12.

Fig. 12 - Temporizzazione software che utilizza la funzione Get Date/Time In Seconds

La funzione Get Date/Time In Seconds, collegata al terminale sinistro del registro a scorrimento, inizializza il registro a scorrimento con il tempo corrente del sistema. Ogni stato utilizza unaltra funzione Get Date/Time In Seconds e confronta il tempo corrente con quello iniziale. Se la differenza tra questi due tempi superiore o uguale al tempo di attesa, lo stato completa lesecuzione e il resto dellapplicazione viene eseguita. Utilizzate sempre la funzione Get Date/Time In Seconds invece della funzione Tick Count per questo tipo di confronto perch il valore della funzione Tick Count pu ritornare a 0 durante lesecuzione.

Readerser vice.it n. 1024

SCUOLA DI LABVIEW

10

Training per esperti


DEL SISTEMA (PARTE III)

PIANIFICAZIONE
A cura di Matteo Foini

C. STANDARD DI STILE E CODIFICA PER UN AMBIENTE DI SVILUPPO IN TEAM


Quando pi sviluppatori lavorano su un progetto, gli approcci incoerenti allo sviluppo ed alla creazione di interfacce utente possono essere un problema. Ogni sviluppatore ha infatti propri stili di sviluppo, preferenze di colori, tecniche di visualizzazione, abitudini di documentazione e metodologie di schemi a blocchi. Per esempio, quando si creano variabili globali, uno sviluppatore potrebbe creare pi variabili globali, ciascuna con un solo oggetto sul pannello frontale, mentre un altro potrebbe preferire una variabile globale con pi oggetti sul pannello frontale. Le tecniche di stile incoerenti creano software che non ha un aspetto professionale. Se i VI hanno comportamenti differenti per lo stesso pulsante, gli utenti possono essere confusi e trovare l'interfaccia utente dei VI difficile da usare. Per esempio, se un VI richiede che l'utente clicchi un pulsante quando porta a termine un task e un altro VI richiede che l'utente usi un tasto funzione della tastiera per segnalare il completamento del task, l'utente pu essere confuso sul da farsi. Uno stile incoerente rende anche difficile da manutenere il software. Per esempio, se uno sviluppatore non ama utilizzare i subVI e decide di sviluppare tutte le caratteristiche con un singolo grosso VI, sar difficile modificare quel VI. Stabilite un set iniziale di linee guida per il vostro team di sviluppo ed aggiungete regole addizionali mano a mano che il progetto progredisce. Potete utilizzare queste linee guida di stile anche nei progetti futuri. L'argomento LabVIEW Style Checklist del LabVIEW Help fornisce alcune raccomandazioni di stile, da utilizzare quando si lavora su progetti LabVIEW. Utilizzate tali suggerimenti come base per sviluppare il vostro stile personale. Per creare uno stile customizzato che si adatti alle specifiche del vostro progetto, aggiungete, rimuovete o modificate le linee guida fornite. Creare un singolo standard per lo stile di sviluppo in qualsiasi linguaggio di programmazione molto difficile, perch ogni sviluppatore ha il proprio stile di sviluppo. Selezionate quindi un set di linee guida che vada bene per voi e il vostro team di sviluppo e fate in modo che tutti

seguano tali linee guida. Qui sotto descriviamo alcune raccomandazioni che potete utilizzare per creare le vostre linee guida di stile. Convenzioni sui nomi Quando sviluppate dei VI, dovete fare attenzione a come denominate tali VI. Per esempio, se utilizzate nomi come Parser.vi, Analyze Waveform.vi, Handle Errors.vi o Get Data.vi, quasi certo che un nome come questo corrisponder a quello di un VI in dotazione con LabVIEW. Pertanto, importante utilizzare nomi di VI che siano descrittivi e unici. Un metodo comune quello di aggiungere un prefisso unico all'inizio del nome di ogni VI. Una raccomandazione quella di creare un acronimo per il progetto ed utilizzare l'acronimo come prefisso per i vostri VI. Per esempio: VI di livello superiore: un acronimo di 2 o 3 lettere, tutte maiuscole, pi uno spazio, quindi il nome del VI. Per esempio, SML Main.vi, SVT Main.vi, OAT Main.vi. SubVI: un acronimo di 2 o 3 lettere, tutte minuscole, pi una sottolineatura, quindi il nome del subVI. Per esempio, sml_test.vi, svt_process.vi, oat_frequency_calculate.vi. Organizzazione dei file Organizzate i VI nel file system in modo da riflettere la natura gerarchica del software. Rendete direttamente accessibili i VI di livello superiore. Mettete i subVI in subdirectory e raggruppateli in modo da riflettere eventuali componenti modulari che avete progettato, come driver per strumentazione, utility di configurazione e driver di I/O. Limitate il numero e i livelli di directory che utilizzate in un progetto. Per ogni particolare VI, LabVIEW salva ciascun subVI come percorso relativo dal VI principale. Quando aprite un VI, LabVIEW utilizza prima di tutto questi percorsi relativi per localizzare i subVI. Se i VI non sono nella posizione prevista, LabVIEW cerca i VI nelle posizioni elencate nell'impostazione VI Search Paths. Per configurare i percorsi di ricerca dei VI, selezionate ToolsOptions e selezionate Paths nell'elenco Category. Se LabVIEW non in grado di trovare il VI nella posizione prevista o in uno dei percorsi di ricerca, avverte l'utente di

SCUOLA DI LABVIEW

localizzare il VI stesso. Se i VI non sono stati trovati nei percorsi di ricerca previsti, LabVIEW vi notifica i cambiamenti rilevati mettendo un asterico vicino al nome del VI nella barra titolo della finestra.

LabVIEW vi notifica se i VI non ono stati trovati nei percorsi elativi previsti Se il VI punta alla posizione bagliata, potete sostituire manualmente i VI con il VI Hierarchy window
Fig 1

Selezionate ViewFull VI Path in Label

Fig 2

Se salvate il VI, vengono salvati anche i percorsi dei file relativi. Ogni volta che salvate un VI, vengono salvati anche i percorsi relativi. Se aprite un VI e utilizzate FileSave As per salvare una copia in una nuova directory, sono salvati anche i percorsi agli stessi subVI relativi alla nuova posizione. Ricordate che, dopo avere utilizzato FileSave As, la versione del VI che state visualizzando in LabVIEW la nuova copia che avete appena creato. LabVIEW salva gli eventuali cambiamenti successivi nella nuova copia. Se in seguito doveste aprire ancora la copia, verrebbero cercati i percorsi relativi prima di cercare i subVI nella sua directory. E' per questo che i VI qualche volta puntano a copie dei subVI nel posto sbagliato. Potete creare una copia di un'applicazione indipendente dalle altre versioni nei modi seguenti. Nel Project Explorer, cliccate con il tasto destro su Build Specifications e selezionate NewSource Distribution per creare una distribuzione di sviluppo in una nuova posizione. Usate un'utility di trasferimento file come Windows Explorer, File Manager o il Library Manager di LabVIEW per copiare i file senza aprirli in LabVIEW. Se avete gi una versione della vostra applicazione che punta alla posizione sbagliata, potete sostituire manualmente i VI

maldiretti con le copie che desiderate. Selezionate ViewVI Hierarchy, quindi selezionate ViewFull VI Path in Label per sostituire manualmente i VI. Se l'errore di direzione frequente, potete scegliere di correggere il problema spostando l'intera copia dell'applicazione in una nuova posizione utilizzando un'utility di trasferimento file come Windows Explorer. In questo modo, i percorsi relativi non puntano pi ai VI nella vecchia directory e LabVIEW cerca i subVI nella stessa directory del VI che avete aperto. Ricordate che dovete salvare nuovamente il VI per mantenere i cambiamenti. Percorsi simbolici Un percorso simbolico funziona come una variabile che si espande in un nome di percorso completo. Usate un percorso simbolico per un percorso che potrebbe cambiare, per esempio, a causa del luogo di installazione di LabVIEW. I percorsi simbolici sono chiamati anche percorsi relativi. Potete specificare un percorso simbolico nelle sezioni Default Data Directory e VI Search Path della pagina Paths dellarea di dialogo Options o nel campo Help Paths sulla pagina Documentation Properties. LabVIEW converte un percorso simbolico in un percorso assoluto in fase di runtime. Il seguente elenco definisce ogni percorso simbolico. <osdatadir> - Fa riferimento al percorso alla directory di default sul sistema operativo. Utilizzate questo percorso simbolico quando impostate il VI Search Path sulla pagina Documentation Properties. <topvi> - Fa riferimento alla directory che contiene il VI di livello superiore che LabVIEW sta aprendo. Questo percorso simbolico disponibile solo quando impostate il VI Search Path sulla pagina Paths. <foundvi> - Fa riferimento ad un elenco di tutte le directory dove avete in precedenza situato un subVI. Durante una ricerca, LabVIEW aggiunge a tale elenco tutte le directory nelle quali LabVIEW trova un subVI. <foundvi> vi aiuta a localizzare una directory di VI che stata spostata o rinominata. Quando aprite un VI che chiama un altro VI che stato spostato, dovete trovare quella directory una sola volta, quindi LabVIEW aggiunge questo percorso all'elenco delle directory. Questo percorso simbolico disponibile solo quando si imposta il VI Search Path sulla pagina Paths. <vilib> - Fa riferimento alla directory vi.lib nella directory <labview>. Utilizzate questo percorso simbolico quando impostate il VI Search Path sulla pagina Paths. <userlib> - Fa riferimento alla directory user.lib nella directory <labview>. Utilizzate questo percorso simbolico quando

SCUOLA DI LABVIEW

10

impostate il VI Search Path sulla pagina Paths o l'Help path sulla pagina Documentation Properties. Per utilizzare questo percorso simbolico, immettete <userlib>:\ quindi il nome del file o il percorso e il nome del file verso il file di help. <instrlib> - Fa riferimento alla directory instr.lib nella directory <labview>. Utilizzate questo percorso simbolico quando impostate il VI Search Path sulla pagina Paths o l'Help path sulla pagina Documentation Properties. Per utilizzare questo percorso simbolico, immettete <instrlib>:\ quindi il nome del file o il percorso e il nome del file verso il file di help. <helpdir> - Fa riferimento alla directory di help nella directory <labview>. Utilizzate questo percorso simbolico quando impostate l'Help path sulla pagina Documentation Properties. Per utilizzare questo percorso simbolico, immettete <helpdir>:\ quindi il nome del file o il percorso e il nome del file verso il file di help. Esempio:

Object. Il testo usa il font Dialog. Le aree di dialogo che richiedono impostazioni hanno pulsanti OK, Cancel e Help Le aree di dialogo che visualizzano informazioni hanno pulsanti Cancel e Help Lo scorrimento sullo schema a blocchi limitato a una direzione Create un elenco di controllo per riesaminare l'interfaccia utente. Ai punti precedenti potete aggiungere i seguenti elementi all'elenco di controllo del vostro progetto. I pulsanti che lanciano un'altra area di dialogo dove l'utente continua l'inserimento di informazioni per il suo task corrente dovrebbero terminare con .... Scrivete con lettere maiuscole tutte le parole, inclusi gli aggettivi, per intestazioni, titoli, pulsanti e anelli di opzione. Scrivete con lettere maiuscole solo la prima lettera di etichette, didascalie e punti di elenchi. Se possibile utilizzate controlli System. Consentite il Cancel cliccando la X nella barra del titolo. I controlli che sono fuori schermo devono essere impostati a Skip this control when tabbing. I pulsanti OK, Cancel e Help sono in basso a destra e allineati. Le dimensioni dei pulsanti sono 75 pixel (larghezza) per 23 pixel (altezza), separati di 6 pixel. Le dimensioni della finestra non devono superare 800 x 600. L'interfaccia utente del VI viene visualizzata correttamente in Linux e Macintosh OS X. Stile e standard delle aree di dialogo Stabilire standard per le aree di dialogo assicura che il prodotto che sviluppate abbia un 'look and feel' coerente. Considerate i suggerimenti seguenti: Lo sfondo del pannello utilizza il colore SystemPanel and Object. I controlli sono controlli System quando appropriato. Le decorazioni System raggruppano componenti simili o correlati. Le etichette poste sopra le decorazioni System usano un colore di primo piano trasparente ed un colore di sfondo System Window. Le aree di testo usano un colore di primo piano System Window Text ed un colore di sfondo System Window. I bordi delle aree di dialogo dovrebbero avere una larghezza di sei pixel. I pulsanti delle aree di dialogo dovrebbero essere distanziati regolarmente, lasciando uno spazio di sei pixel fra loro. I pulsanti delle aree di dialogo dovrebbero avere una larghezza di 75 pixel ed un'altezza di 23.

Fig 3 - Selezionate ViewFull VI Path in Label

Alcune funzioni possono accettare percorsi simbolici, come le funzioni Online Help in LabVIEW. Notate che il percorso simbolico <helpdir> lancia da programma il sistema di help online, come illustrato sopra. Stile coerente Molte applicazioni contengono aree di dialogo e interfacce utente. Implementate standard e coerenza per lo sviluppo di aree di dialogo, interfacce utente e schemi a blocchi. Considerate le linee guida di stile come guida per le vostre esigenze di sviluppo. Create un elenco di controllo per riesaminare lo stile Esempio Verificare che il tasto <Enter> sia assegnato ad un pulsante intuitivo. Verificare l'ordine di tabulazione. L'ordine di tabulazione deve andare dall'alto al basso e da sinistra a destra. Il colore di sfondo della finestra SystemPanel and

readerser vice.it n. 1025

CENTRO CONGRESSI QUARK HOTEL MILANO

GIOVED 11 GIUGNO I 2009

La mostra

In uno spazio specifico sar allestita unesposizione a cura delle aziende partecipanti, in cui sar possibile toccare con mano lattuale offerta commerciale.

Il convegno I contenuti
VforM - Vision for Manufacturing la quarta mostra convegno dedicata alla tecnologia della visione artificiale. Organizzato con il contributo delle riviste SdA-Soluzioni di Assemblaggio, Automazione Oggi e Automazione e Strumentazione. Levento Vision for Manufacturing nasce in collaborazione con IMVG, Italian Machine Vision Group e vede il supporto di ASSOAUTOMAZIONE Associazione Italiana Automazione e Misura, appartenente alla Federazione ANIE (Confindustria), di AIdA-Associazione Italiana di Assemblaggio, di SIRI-Associazione Italiana di Robotica e Automazione, del Polo della Robotica di Genova e con il patrocinio di EMVA - European Machine Vision Association. VforM si rivolge a progettisti, system integrator, responsabili e tecnici della produzione che necessitano di risolvere problematiche in ambito manifatturiero legate a: ispezione e controllo della qualit, guida robot, rilevamento presenza, posizione e orientamento, controllo dimensionale, identificazione e OCR ecc.
Il programma, lagenda e i titoli dei seminari saranno aggiornati, man mano che verranno confermati, sul sito www.ilb2b.it/vm

Nel corso della giornata si susseguiranno seminari tecnici tenuti dalle aziende espos della durata di 30 minuti ciascuno.

Per aderire
on line allindirizzo www.ilb2b.it/vm e via fax compilando il coupon allegato e inviandolo allo 02.36.6092.515 La partecipazione ai seminari e alla mostra gratuita, cos come la documentazione e il buffet.

Per informazioni
Tel. 02.36.6092.511 Fax. 02.36.6092.515 Email: vm@fieramilanoeditore.it Web: www.ilb2b.it/vm

Come arrivare

In auto: Dalle autostrade seguire le indicazioni per la tangenziale Ovest, uscita Vigentina (zona Milano Sud) Quindi seguire le indicazioni per Milano Centro; percorsi circa 5 Km l'albergo sulla sinistra.

IN COLLABORAZIONE CON:

ORGANIZZATO DA:

Con i mezzi pubblici Da Famagosta (Metropolitana linea 2 ve autobus 95 in direzione Rogoredo, 4a fermata Via Lampedusa. Autobus 65 (capolinea Piazza S. Babila/Corso Europ fino a Piazza Agrippa (capolinea). Autob 79 (capolinea P.ta Lodovica) fermata Vi Bazzi, incrocio Via G. da Cermenate.

11 GIUGNO 2009

cognome azienda settore indirizzo citt e-mail

nome posizione aziendale

prov tel

cap fax

Consenso ai sensi dellart. 23 del D.Lgs n. 196 del 30 giugno 2003. Letta la nota informativa riportata su questa rivista, esprimi il tuo consenso al trattamento, alla comunicazione dei tuoi dati personali ed ai correlati trattamenti ai soggetti che svolgono le attivit indicate nella informativa stessa. In mancanza del tuo consenso la registrazione non potr essere eseguita. ACCETTO NON ACCETTO Esprimi/nega il tuo consenso alla comunicazione dei dati personali ed ai correlati trattamenti ad aziende terze che ne facciano richiesta ai fini pubblicitari e di marketing. ACCETTO NON ACCETTO

D A L L A C A RTA A L W E B

10

HTTP://WWW
Quando le nostre pagine non bastano, l'enorme serbatoio del web pu dare una mano. Su una rivista c ar tacea, anche la pi voluminosa, sarebbe impossibile trattare per esteso tutti gli argomenti relativi a LabVIEW. In molti c asi, tuttavia, sul web sono disponibili ar ticoli esaustivi o altri documenti, a cui rimandiamo i lettori interessati.
Avete mai desiderato che il vostro VI vi inviasse una email sul vostro account Gmail quando terminato? Questo esempio di codice fa proprio questo. Il VI utilizza l'SMTP per collegarsi a Gmail e inviare una email. LabVIEW non interagisce ancora con server email che richiedono l'autenticazione, ma la Classe System.SmtpClient interagisce con account email aperti. Link alla pagina: ni.com/italian infocode: itj2e3

Gmail usando LabVIEW

Uscita da LabVIEW (condizionata)


Se avete mai costruito un VI che utilizza la funzione Quit nativa di LabVIEW, molto probabilmente vi sar capitato di vedere LabVIEW chiudersi mentre stavate sviluppando o debuggando il vostro VI o uno dei suoi subVI. Nulla pi frustrante di apportare modifiche a diversi subVI, controllando che le modifiche funzionino come previsto quando il codice modificato viene eseguito nell'ambito del vostro VI principale, e vedere LabVIEW chiudersi appena ci si ricordati di non avere salvato quei VI modificati. Come potere fare, allora, per evitare che LabVIEW si chiuda quando dovete editare o debuggare il vostro VI principale o uno dei suoi subVI? Alcuni tipici metodi per evitare che LabVIEW si chiuda quando state sviluppando o debuggando il vostro codice sono rimuovere temporaneamente la funzione Quit di LabVIEW, scrivere codice per disabilitarla o impostare una serie di breakpoint prima di chiamare la funzione Quit di LabVIEW. Dovete poi ricordarvi di rimuovere queste modifiche quando il vostro lavoro di sviluppo terminato. Il VI Quit LabVIEW (condizionato) pu aiutarvi a ridurre questo lavoro aggiuntivo. Link alla pagina: ni.com/italian infocode: itj2e3

Interfacciare LabVIEW con un controller Wii ("Wiimote")


Con una telecamera ad alta risoluzione, un accelerometro a 3 assi, pulsanti, un altoparlante, feedback di vibrazione e una connessione wireless Bluetooth, il Nintendo Wii Controller (Wiimote) offre interessanti possibilit che vanno oltre il suo uso come controllore di videogame per il Nintendo Wii. Con gli esempi allegati potete facilmente accedere a queste sorgenti dati in LabVIEW. I file zip allegati includono un progetto LabVIEW con diversi esempi che vi illustrano come potete accedere ad un Wiimote con LabVIEW. Link alla pagina: ni.com/italian infocode: itj2e3

D A L L A C A RTA A L W E B

Creare ed editare menu run-time in LabVIEW


Mentre il vostro VI o exe in esecuzione, potete creare i vostri menu in LabVIEW. Potete scegliere di editare i menu gi presenti (per es. File, Edit, View, ecc.) o potete creare totalmente i vostri menu. Questa funzionalit accessibile andando in EditRun-Time Menu... La Struttura a Eventi in LabVIEW pu gestire gli input a menu definiti dall'utente. Nel VI allegato, modificate lo stato di ciascun indicatore booleano usando le opzioni di menu. Assicuratevi di salvare sia il VI sia il file .rtm nella stessa directory prima di eseguire il programma. N.B. rinominate il file .rtm come 'Custom menu.rtm' per una corretta esecuzione del VI. Link alla pagina: ni.com/italian infocode: itj2e3

Ruotare un'immagine al volo usando il Vision Development Module per LabVIEW


Questo VI acquisisce da una telecamera e ruota l'immagine di un angolo specificato. Potete modificare l'angolo di rotazione al volo. Questo esempio codificato in LabVIEW Versione 8.0. Il codice richiede l'installazione del Vision Development Module. Esso utilizza i VI IMAQdx, ma potete facilmente sostituire tutti i VI IMAQdx con VI IMAQ se avete una telecamera analogica, Camera Link o Parallel Digital. Link alla pagina: ni.com/italian infocode: itj2e3

Esempio GPIB per LabVIEW


Questo un esempio di semplici funzioni GPIB, molto simili a quelle fornite con LabVIEW, ma un po' pi robuste. Link alla pagina: ni.com/italian infocode: itj2e3

Massimizzare e minimizzare da programma il pannello frontale di LabVIEW


Questo VI illustra come utilizzare i Property Node per massimizzare, minimizzare e ripristinare il pannello frontale del VI. L'esempio impostato per eseguire le funzioni quando l'utente clicca un pulsante sul Pannello Frontale, ma l'idea pu essere implementata per massimizzare o minimizzare lo schermo dopo qualsiasi tipo di evento. Link alla pagina: ni.com/italian infocode: itj2e3

Riprodurre file in Windows Media Player usando ActiveX in LabVIEW


Questo VI desempio apre Windows Media Player sul vostro computer e riproduce il file selezionato. Potete usare qualsiasi file video supportato da Windows Media Player (.mpa, .mp2, .mp3, .avi, .wma, ecc.). Link alla pagina: ni.com/italian infocode: itj2e3

LA VOCE DEGLI UTENTI

10
Vi presentiamo una selezione di argomenti di discussione sul Forum di ILVG.it

Toolbar personalizzate
Inviato: Ven Mar 27, 2009 1:58 pm Ciao a tutti, qualcuno sa se possibile creare e visualizzare a runtime delle toolbars personalizzate in LV 8.6? grazie a tutti. Ciao Ricky, per creare una tool bar personalizzata puoi usare banalmente nel Front Panel un container di tipo Horizontal Splitter Bar. In questo modo dividi il Front Panel in due sezioni, una in cui c' la tool bar e un'altra in cui hai l'interfaccia grafica. Nello spazio della tool bar puoi ad esempio inserire dei pulsanti customizzati con delle immagini significative ed associare alla pressione del tasto una determinata azione del tuo codice mediante l'uso di una struttura ad eventi. Ryan_82 Se pero' per toolbar intendi qualcosa che ti permetta di creare oggetti LabVIEW (controlli e indicatori) runtime allora no, a livello ufficiale non possibile creare ed eliminare oggetti in runtime...ma ciao! gepponline Grazie ad entrambi, va benissimo la soluzione esposta da Ryan_82. Ho un altro problema... copiando delle bitmap direttamente sui pulsanti della toolbar che ho creato, queste impediscono il normale click quando giustamente l'utente clicca sulla regione della stessa bitmap. come faccio ad avviare il problema? Ricky Tasto destro sul controllo e su advanced selezioni "Customize...". Da li puoi mettere le immagini sul controllo facendole diventare parte del controllo. Se invece metti semplicemente delle immagini sopra al controllo, diventano un oggetto in primo piano e quindi fanno passare il controllo al di sotto impedendone la pressione. gepponline Ricky

Ho bisogno di aiuto con i file!!!


Inviato: Gio Apr 02, 2009 6:09 pm Ciao vorrei sapere se possibile con LabVIEW creare dei file che si aprono-salvano-chiudono in automatico e si aggiornano senza cancellare di volta in volta i dati precedentemente. Io sono riuscita a creare un file, ma ogni volta che si deve aggiornare mi da solo i dati nuovi, cancellando quelli precedenti! Ho messo un ciclo e questo file mi serve per salvare i dati ogni volta che si ripete il ciclo. E' da poco che ho iniziato a usare LabVIEW quindi sono abbastanza inesperta! Ciao!!! valezap Ciao, benvenuta nel forum. Per risolvere il tuo problema devi usare il blocchetto "set file position" raggiungibile dalla function palette nel percorso File I/O>>Advanced File functions. All`ingresso "from" fai tasto dx>>create constant e selezioni "end". Dopodich usa il vi "Write to text File" per loggare i tuoi dati uno in coda all`altro. Spero di esserti stato d`aiuto Ciao esodar1981 Ciao sono riuscita a fare in modo che il file salvi di volta in volta i dati nuovi senza cancellare quelli vecchi, per ho un altro problemino, perch mi salva i dati uno dietro l'altro attaccati in un unica riga, volevo sapere come si fa a stabilire un particolare ordine all'interno del file per avere una sequenza di dati in colonna. Io ho messo un ciclo e i dati che devo salvare le ore (hh:mm:ss) ad ogni inizio del ciclo e fare anche la differenza trovando il tempo intercorso tra un avvenimento e l'altro, e volevo salvare tutto in excel. Come posso fare? Mi scuso se questi problemi sono banali, ma la mia conoscenza di LabVIEW davvero scarsa, anche perch sto cercando di imparare da autodidatta! Grazie in anticipo Ciao!!!! PS: io uso un mac. valezap Un mac, interessante... utilizzi LV per mac o fai girare una VM con winXP e LV?? Solo per curiosit... Per avere i dati in colonna devi scrivere un`unica stringa separando i vari campi (ora, stato, evento ecc) tramite un delimitatore, solitamente uso il tab, ma puoi anche sbizzarrirti con caratteri differenti. Il tab ti torna utile se poi decidi di importare il file con excel, viene riconosciuto come separatore di colonna, facilitandoti l`import. Ti allego un VI che dovresti riuscire ad aprire senza problemi, molte volte un esempio vale + di mille parole. Buon lavoro esodar1981 valezap

LA VOCE DEGLI UTENT

Controllo e indicatore contemporaneamente, possibile?


Inviato: Mar Feb 17, 2009 6:14 pm Ciao da poco ho iniziato a lavorare con LabVIEW e dovendo realizzare un progetto avrei bisogno di un qualcosa che mi risolvesse il problema seguente. In breve, diciamo che ho un programma che prende in ingresso dei dati (per esempio un array che chiamer array_in) e dopo averli processati mi da in uscita un array dello stesso tipo e dimensione ma contenete i dati processati(che chiamer array_out). Vorrei poter utilizzare questo array_out come ingresso per una seguente esecuzione del medesimo programma avendo per la possibilit di "editare" parte di questi dati senza ovviamente dover ricopiarli a mano nell'array_in dell'esecuzione successiva (essendo un array molto grande). Praticamente avrei bisogno di "creare un oggetto" che possa funzionare sia da controllo che da indicatore a seconda che sia io a deciderlo con per esempio un selettore nel front panel, mantenendo per una "memoria" tra un esecuzione e l'altra del programma. Per esempio inserisco il mio array_in nel programma (es. array formato da (0 2 4 5 6)) e ottengo in uscita array_out (6 7 8 9 7), ecco vorrei poter "editare" questo array_out e passarlo in ingresso all'esecuzione successiva senza doverlo ricopiare a mano, vorrei quindi che l'indicatore che mi mostra array_ out fosse editabile come un control per intenderci. Non so se cos come lo intendo sia fattibile o esista un altro modo per fare ci che mi servirebbe. Accetto suggerimenti anche che implichino un modo diverso di formulare la soluzione. Spero di aver spiegato in maniera comprensibile il problema Grazie in anticipo a chi volesse proporre una soluzione. TexWiller Il mio consiglio di creare un CONTROLLO e trasformarlo in indicatore quando necessario. Quando dico trasformarlo intendo utilizzare la propriet disable. Praticamente quando hai bisogno che l'oggetto non sia modificabile lo disabiliti e nella pratica diventa un indicatore...ma ciao! gepponline Appoggio il consiglio di geppo. Per modificare e preimpostare i valori del CONTROLLO puoi utilizzare due tecniche differenti: la prima usando le local variable mentre, la seconda, utilizzando i property node e impostando la propriet value del controllo. Trovi degli esempi nel find-example di LV o sul sito di National Instruments o anche in questo forum se cerchi bene. Buon lavoro! Ricky Posso concordare anche io? Anche secondo me conviene scrivere i risultati in un controllo disabilitato (passa dai Property Node sia per settare i valori che per disabilitare la modifica) e poi aggiungere un pulsante del tipo "Modifica" che se premuto permette di modificare i valori del controllo cambiando il Property Node "Disable".Ciao! MagicBotolo

TexWiller

Generazione automatica report


Inviato: Gio Apr 02, 2009 6:09 pm Ciao a tutti, vorrei sapere dove posso trovare esempi su programmi in LabVIEW che generano automaticamente dei report, possibilmente in word. Ciao e grazie, Paolo75 Gli esempi sui report li trovi semplicemente inserendo la scritta report nella casella di ricerca degli esempi di LabVIEW. Gli esempi specifici per word invece sono disponibili solo se possiedi il report toolkit che comprende delle funzioni specifiche per word ed excel...ma ciao! gepponline Infatti gli esempi li avevo trovati per erano pochi, sul pc di un'altra persona se ne visualizzavano molti di pi; probabilmente perch non possiedo il report toolkit . Thank you, Paolo75 Paolo75

Fate sentire la vostra voce


Stiamo per proporvi, sul sito ILVG.it, una piccola inchiesta per conoscere meglio le vostre esigenze di lettura e approfondimento. Le risposte che darete ad alcune semplici domande ci permetteranno di calibrare meglio la rivista, rendendola pi aderente ai vostri interessi. Vi invitiamo quindi a visitare il sito in questione: dedicandoci pochi minuti del vostro tempo potrete contribuire a trasformare LabVIEW World! E infine: leggete i risultati di un survey sui contenuti di LabVIEW World svolto da ILVG.it. Potete farlo andando su ni.com/italian infocode ex5k7e

EVENTI

10

SERVIZI HARDWARE

NATIONAL INSTRUMENTS:
SEMPRE PI INDISPENSABILI
Ezio Avalli

Lappuntamento con la A maiuscola nel mondo della Strumentazione Vir tuale

rmai trent'anni fa Ken Olsen, il fondatore di Digital Equipment Corporation, afferm: "Non vedo perch una persona debba tenere un computer a casa". Trent'anni dopo tale esclamazione i personal computer rivestono un ruolo di fondamentale importanza nelle nostre vite ed difficile immaginare come, nel passato, siamo riusciti a vivere senza. Lesperienza insegna: spesso ci che sembra superfluo nellimmediato pu dimostrarsi indispensabile in futuro. National Instruments immette sul mercato prodotti di alta qualit nei settori di test, misura e automazione. Questi ultimi sono sottoposti a rigorosi test ed ispezioni prima di essere commercializzati. I prodotti possono per essere ricalibrati o riparati anche in seguito. I Servizi Hardware di National Instruments sono stati pensati per proteggere gli investimenti dei propri clienti, risparmiando o predeterminando gli eventuali costi e fermo macchina. In particolar modo, quest'ultimo punto gioca un ruolo chiave per molte aziende. Il fermo macchina durante le prove di fine linea, per esempio, potrebbe arrecare un danno all'azienda ben superiore ai costi reali di riparazione dei prodotti acquistati. Dallesperienza di trent'anni di attivit e continuo confronto con le necessit lavorative dei propri clienti, NI offre la possibilit di prevedere ed evitare costi imprevisti causati da fermo macchina. Contratti di manutenzione I contratti di manutenzione hardware garantiscono il minor tempo possibile di fermo macchina a seguito di un guasto o durante le fasi di ricalibrazione dei prodotti. La soluzione In-House del contratto garantisce la spedizione del prodotto sostitutivo in tempi definiti, entro le 24 ore dal giorno lavorativo successivo alle prove con il nostro supporto tecnico ed alla comunicazione via fax da parte del cliente. La soluzione On-Site prevede che un tecnico di NI si rechi presso il cliente per la diagnosi, la sostituzione del prodotto guasto ed il test del sistema. Calibrazione Come ogni strumento di misura, alcune apparecchiature di NI richiedono la calibrazione periodica rispetto alle tabelle specifiche di accuratezza del prodotto. La calibrazione garantisce la ripetibilit e laccuratezza delle misure effettuate nel ciclo vita del sistema. La calibrazione annuale spesso un servizio

necessario al rispetto di normative e/o procedure della qualit interne dellazienda. Estensione di garanzia Se non avete problemi di fermo macchina, lestensione di garanzia vi permette di evitare eventuali costi di riparazione fuori garanzia. Se il ciclo di vita del sistema o del progetto lo richiede, per alcune linee di prodotto puoi valutare lestensione di garanzia per pi anni. Riparazioni standard Se il prodotto fuori garanzia, il costo della riparazione pari al 35% del prezzo di listino attuale del prodotto. Mediamente, la riparazione potrebbe richiedere fino a 15 giorni lavorativi, esclusi i tempi di spedizione. Il servizio di riparazione standard prevede linvio del prodotto guasto presso il nostro centro riparazioni. In questo caso non garantiamo alcun prodotto sostitutivo durante il periodo di riparazione.

Note sull'autore
Ezio Avalli Service Manager Sales Operations di National Instruments Italy

readerser vice.it n. 1063

MERCOLED 23 SETTEMBRE I 2009 MARTED 29 SETTEMBRE I 2009

Palacongressi RIMINI Sheraton Hotel Nicolaus BARI

La mostra Il convegno I contenuti Per aderire

In uno spazio specifico sar allestita unesposizione a cura d aziende partecipanti, in cui sar possibile toccare con mano lattuale offerta commerciale.

Nel corso della giornata si susseguiranno seminari tecnici ten dalle aziende espositrici della durata di 30 minuti ciascuno.

Il programma, lagenda e i titoli dei seminari saranno aggiornati, man mano che verranno confermati sul sito www.ilb2b.it/control

on line allindirizzo www.ilb2b.it/control oppure via fa compilando il coupon allegato e inviandolo allo 02.36.6092.515. La partecipazione, ai seminari e alla mostra gratuita, cos come la documentazione e il buf

Per informazioni
e-mail: control@fieramilanoeditore.it Web: www.ilb2b.it/control Tel. 02.36.6092.511 - Fax. 02.36.6092.515

Control & Communication, organizzata dalle riviste Automazione Oggi e Fieldbus & Networks, la quinta mostra convegno italiana che nasce con il preciso obiettivo di fornire una panoramica sulle tecnologie pi attuali per lautomazione distribuita, partendo dalla comunicazione a bordo campo (e a bordo macchina) fino a salire ai livelli pi elevati di supervisione e controllo. La mostra convegno, che coprir il territorio italiano seguendo un percorso itinerante, dunque una delle pi importanti occasioni di aggiornamento per tutti gli addetti ai lavori che si occupano di bus di campo, raccolta dati, elaborazione e controllo, interfacciamento uomo macchina, supervisione ecc. Levento, unico nel suo genere, nasce come unione delle gi collaudate mostre convegno HMI & Software Automation e Fieldbus & Networks dal sensore al PC. Ci a sottolineare la stretta complementariet dei mondi della comunicazione, del controllo, della presentazione e della supervisione, le cui tecnologie non possono vivere nellazienda se non a stretto contatto tra loro e come base indispensabile per la gestione dei livelli pi elevati.

Come arrivare

Sheraton Hotel Nicolaus BARI IN AUTOMOBILE: Lalbergo situato in un moderno quartiere residenziale ridosso delle pi importanti arterie stradali. Dall'Autostra A14 uscire a Bari Nord. Seguire le indicazioni per Brindi Lecce. Prendere luscita 11 Poggiofranco e seguire le indicazioni per lhotel. Dista 1,5 Km dal Centro Storico, dallaeroporto e 6 Km dalla stazione ferroviaria

Palacongressi RIMINI

IN AEREO: L'Aeroporto Federico Fellini si trova nelle immediate vic degli alberghi e dei centri congressi. L'Aeroporto Internazionale di Rimini collegato con voli di linea rego con Roma Fiumicino e con altri aeroporti internazionali. L'Aeroporto di Bologna si trova a circa 100 km d'autost da Rimini ed raggiungibile in un'ora, anche mediante navette disponibili a richiesta.

IN AUTO: Rimini collocata lungo l'Autostrada A14, che la collega direzione Nord con Bologna e Milano e in direzione Sud Bari. Quattro uscite autostradali: Rimini Nord, Rimini Sud Riccione e Cattolica. Con la A14 da Rimini si raggiunge comodamente la A4 per Venezia e la A22 per il passo de Brennero. E altrettanto comodamente si raggiunge la A1 Firenze, Roma, Napoli.

IN TRENO: Stazioni sia a Rimini che a Riccione e a Cattolica. Da qu pu comodamente raggiungere Bologna con 1 ora di tre In 3 ore si pu raggiungere Milano, in sole 2 ore si arriva a Firenze e in 4 ore a Roma.

ORGANIZZATO DA:

Orario
dalle ore 9.00 alle ore 17.00

Settembre 2009 I RIMINI Settembre 2009 I BARI

cognome azienda settore indirizzo citt e-mail

nome posizione aziendale

prov tel

cap fax

Consenso ai sensi dellart. 23 del D.Lgs n. 196 del 30 giugno 2003. Letta la nota informativa riportata su questa rivista, esprimi il tuo consenso al trattamento, alla comunicazione dei tuoi dati personali ed ai correlati trattamenti ai soggetti che svolgono le attivit indicate nella informativa stessa. In mancanza del tuo consenso la registrazione non potr essere eseguita. ACCETTO NON ACCETTO Esprimi/nega il tuo consenso alla comunicazione dei dati personali ed ai correlati trattamenti ad aziende terze che ne facciano richiesta ai fini pubblicitari e di marketing. ACCETTO NON ACCETTO

REPORT

10

CRISI 0 NIDAYS 1
Nadia Albarello

Affluenza record a NIDays 09: anche in tempo di crisi le oppor tunit di aggiornamento giocano la par te del leone

readerser vice.it n. 1067

i svolta mercoled 25 febbraio 2009, presso il Centro Congressi Milanofiori di Milano, la sedicesima edizione italiana di NIDays. Anche questanno, la forte adesione alla data italiana dellannuale conferenza mondiale dedicata alla Progettazione Grafica di Sistemi ha confermato lelevato interesse degli addetti ai lavori e del mondo accademico per questo appuntamento. Sono stati infatti oltre 500 i visitatori tra ingegneri, tecnici, sviluppatori e professori, desiderosi di scoprire gli ultimi sviluppi nei settori del controllo, del design, dellautomazione, della misura e dellacquisizione dati, che hanno partecipato alle conferenze e alle sessioni tecniche organizzate nel corso della giornata ed hanno visitato larea espositiva di 1.000 m2 e le 33 postazioni dimostrative. Alla conclusione dei lavori, Lino Fiore, Direttore Generale di National Instruments Italy, ha voluto celebrare i primi 20 anni di attivit della filiale condividendo con i partecipanti alcuni ricordi e avvenimenti salienti di questa avventura italiana. Particolare rilievo stato dedicato alla possibilit di mettere alla prova le proprie conoscenze. Per la prima volta i partecipanti di NIDays 09 iscritti allesame hanno potuto sostenere la certificazione Clad (Certified LabVIEW Associate Developer) gratuitamente in due sessioni promeridiane. Oltre il 50% degli esaminandi riuscito ad ottenere la certificazione Clad. Per maggiori informazioni sulla certificazione possibile visitare la pagina web ni.com/training/i. Anche le Prove pratiche di automazione su piattaforma PAC CompactRIO e LabVIEW, di acquisizione dati con LabVIEW e NI CompactDAQ e di visione artificiale hanno rappresentato unoccasione importante di esercitazione ed aggiornamento per chi volesse provare le piattaforme National Instruments nel proprio settore di interesse.

Le conferenze La sessione plenaria - apertasi con la keynote di John Hanks, Vicepresidente Industrial Embedded di National Instruments Corporation, Matteo Bambini, Marketing Manager, Fabio Cortinovis, Area Sales Manager e Roberto Isernia, Technical Marketing Leader, di National Instruments Italy, ha affrontato il tema dellinnovazione in tempi di crisi, introducendo il concetto di 'lean innovation' o innovazione snella (mutuando il termine da lean manufacturing), ovvero la capacit di risposta e reazione in tempi di difficolt con idee nuove in tempi rapidi per ridurre i tempi di progettazione ed il timeto-market, con una panoramica sullo stato dellarte e sulle ultime tendenze tecnologiche della Progettazione Grafica di Sistemi. A seguire, Franco Anzioso del Centro Ricerche FIAT di Torino ha illustrato il caso Hegel, un esempio di applicazione avanzata di ingegneria verde per la generazione distribuita di energia ad alta efficienza. Nel pomeriggio stato dato spazio allaspetto pratico: sei moduli composti da quattro sessioni tecniche ciascuno si sono svolte in parallelo per dare la possibilit ai partecipanti di condividere esperienze e confrontarsi su problematiche comuni sulla base delle proprie esigenze di aggiornamento e formazione.

FIERA MILANO THE BUSINESS PLANET

Fiera Milano Spa Tel. +39 02 4997.1 | Fax +39 02 4997.7963 Numero Verde 800-820029

A P P U N TA M E N T I

10

Come sempre, vi segnaliamo i prossimi corsi di formazione di LabVIEW e i principali eventi internazionali che vedranno la partecipazione di National Instruments
LA FORMAZIONE DI NATIONAL INSTRUMENTS LABVIEW BASE I
Milano: 22-24 giugno 13-15 luglio 21-23 settembre 28-30 settembre 16-18 giugno

NOVIT SULLA FORMAZIONE! CORSI DI FORMAZIONE TEMATICI SULLE MISURE CON LUTILIZZO DEL PERSONAL COMPUTER
National Instruments ha ampliato lofferta formativa disponibile con una serie di corsi orientati alle tematiche dedicate ai metodi di misura tramite lutilizzo di strumentazione basata su Personal Computer. Tali corsi hanno lobiettivo di spiegare le basi teoriche delle diverse misure tramite luso di semplici esempi pratici gi sviluppati. I corsi non essendo focalizzati alla programmazione di software NI ma esclusivamente alle tematiche possono essere utili come utile base e/o approfondimento a tutti coloro che sono coinvolti nei processi di misura. Di seguito i dettagli e le date aggiornate dei prossimi corsi in programma.

Roma: Padova:

LABVIEW BASE II
Milano: 25-26 giugno 16-17 luglio 24-25 settembre 23-24 giugno

Padova:

LABVIEW INTERMEDIATE I
Milano: 6-8 luglio

LA MISURA CON IL SUPPORTO DEL PERSONAL COMPUTER


Corso per non esperti di informatica, della durata complessiva di due giorni, dedicato a chi intende sviluppare competenze utili a confrontarsi con sviluppatori, progettisti di sistemi e fornitori di componenti per misura e acquisizione dati. Obiettivo del corso di fornire ai partecipanti, responsabili o tecnici di laboratorio e di produzione, le basi per poter affrontare le misure di qualsiasi genere tramite lutilizzo del PC.

LABVIEW INTERMEDIATE II
Milano: 9-10 luglio

LABVIEW ADVANCED I
Milano: 17-19 giugno

LABVIEW COMPACTRIO
Milano: 15-17 giugno

LABVIEW DAQ
Milano: 29-30 giugno 7-9 luglio 28-30 settembre 22-24 giugno

CORSO SPECIALISTICO: MISURE ELETTRICHE CON IL SUPPORTO DEL PERSONAL COMPUTER


Corso specialistico dedicato a tecnici che necessitano di informatizzare la misura di grandezze elettriche, siano queste specifiche o generali tramite lutilizzo del Personal Computer. Il corso, della durata di un giorno, dedicato a tecnici di laboratorio o di produzione, che abbiano gi una formazione di base di misure elettriche e che intendano sfruttare le potenzialit dei sistemi di acquisizione dati. Prerequisiti: frequentazione del corso la misura con il supporto del Personal Computer o competenze equivalenti.

Roma:

LABVIEW
Visione artificiale ed elaborazione dell'immagine Milano: 1-2 luglio

SEDI DEI CORSI


MILANO presso gli uffici National Instruments Italy srl, Via Anna Kuliscioff 22, 20152 - Tel.: 02-41309217, Fax: 02-41309215 - Email: ni.italy@ni.com PADOVA presso il Centro di Formazione Certificato NI di I.R.S. Srl, Via Vigonovese 81/A, 35127 - Tel.: 049-8705156, Fax: 049-7625206 Email: osgualdo@irsweb.it ROMA presso Pick Center Piazza Marconi 15, 00192 - Tel.: 0241309217, Fax: 02-41309215 - Email: ni.italy@ni.com

CORSO SPECIALISTICO: MISURE TERMOTECNICHE CON IL SUPPORTO DEL PERSONAL COMPUTER


Dedicato a tecnici che necessitano di informatizzare le misure di temperatura e termotecniche pi in generale, per applicazioni nei settori pi svariati. Obiettivo del corso fornire ai partecipanti le conoscenze utili a definire le migliori soluzioni per effettuare misure di temperatura, di umidit, pressione e portata. Il corso, della durata di un giorno, dedicato a tecnici di laboratorio o di produzione che intendano sfruttare le potenzialit dei sistemi di acquisizione dati. Prerequisiti: frequentazione del corso la misura con il supporto del Personal Computer o competenze equivalenti.

A P P U N TA M E N T

CORSO BASE DI ACUSTICA E VIBRAZIONI


Questo corso ha lobiettivo di fornire una panoramica delle pi comuni misure di acustica e vibrazione in modo da fornire le competenze di base utili a collaborare o interagire con reparti verticalmente impegnati in questo ambito

ALTRI APPUNTAMENTI MOSTRE CONVEGNO


VFM - VISION FOR MANUFACTURING Mostra-Convegno focalizzata sulla tecnologia della visione artificiale

CORSO AVANZATO DI ACUSTICA E VIBRAZIONI


Questo corso la naturale estensione del corso di base ed ha lobiettivo di fornire indicazioni sui pi comuni metodi e le comuni procedure di misura in acustica e vibrazione. Il corso dedicato a coloro che saranno direttamente coinvolti nel processo di misura. CORSO BASE La misura con il supporto del Personal Computer Padova: 9-10 giugno CORSO SPECIALISTICO Misure Elettriche con il PC Padova:

Milano:

11 giugno

C2 CONTROL AND COMMUNICATION Mostra-Convegno focalizzata sulle sulle tecnologie pi attuali per lautomazione distribuita, sulla comunicazione in campo e a bordo macchina Rimini: Bari: 23 settembre 29 settembre

11 giugno

FIERE
ENERMOTIVE Manifestazione internazionale dedicata al Power e al Factory Milano: 26-30 maggio

CORSO SPECIALISTICO Misure Termotecniche con il PC Padova: 12 giugno

LA FORMAZIONE NATIONAL INSTRUMENTS DA OGGI ANCHE ON-LINE!


Da oggi i programmi di formazione National Instruments offrono il metodo pi efficiente e veloce per incrementare competenze e produttivit nello sviluppo di applicazioni basate sulla piattaforma software/hardware NI anche da remoto. I partecipanti potranno accedere alla classe virtuale tramite web ed interagire direttamente con listruttore e gli altri partecipanti al corso. Per partecipare bastano un personal computer e una connessione di rete veloce. Ogni giornata ha una durata di quattro ore. Il numero delle giornate di corso dipende dalla tipologia prescelta. Di seguito la lista dei nuovi corsi on-line attualmente disponibili. LabVIEW Base II online: 9-12 giugno

AUTOMOTIVE TESTING EXPO Stoccarda: SENSOR + TEST Norimberga: 26-28 maggio 15-18 giugno

EVENTI NATIONAL INSTRUMENTS


VIRTUAL AUTOMATED TEST SUMMIT www.ni.com/testsummit/i: FORUM AEROSPAZIO E DIFESA 09 ni.com/italy/aerospace Roma: LABVIEW DAYS ottobre, novembre Verificate il calendario aggiornato degli eventi National Instruments alla pagina web ni.com/italy/eventi 28 maggio 10 maggio

LabVIEW Intermediate I online: 9-12 giugno TestStand online: 14-17 luglio

LabVIEW Intermediate II online: 14-16 luglio LabVIEW Base I online: LabVIEW Base II online: 15-18 settembre 15-17 settembre

LabVIEW Intermediate I online: 29-30 settembre DiaDEM Basics online: 29-30 settembre

Per maggiori informazioni, visitate la pagina web ni.com/training/i.

L A B V I E W E L AVO R O

10

AAA
RICERCHIAMO
PROGETTISTA FW/SW SENIOR Candy Elettrodomestici, leader nel mercato dell'elettronica bianchi. Rispondendo direttamente al Responsabile Sviluppo Elettronica, il candidato ideale avr le seguenti responsabilit:- provvedere allo sviluppo ed alla modifica di software e firmware per sistemi Embedded destinati a controlli elettronici per elettrodomestici - sviluppare prevalentemente in linguaggio C ed a seconda delle esigenze, nei linguaggi C++, VB, LabVIEW ed Assembler - eseguire i test funzionali sul FW/SW sviluppato mantenendo laggiornamento della documentazione tecnica - coordinare lo sviluppo SW/FW dei fornitori esterni, garantendone la compatibilit con larchitettura e gli standard interni - raccogliere e verificare la documentazione dei fornitori esterni garantendone la completezza e la qualit. Laureato in Ingegneria o con cultura equivalente, il candidato dovr aver maturato almeno 4 anni di esperienza nello sviluppo FW per sistemi Embedded in ambiente di progettazione elettronica. La predisposizione al lavoro in team, l'ottima conoscenza della lingua inglese e la disponibilit a brevi trasferte all'estero e in Italia completano il profilo. Tipo contratto: Lavoro a tempo indeterminato Sede di lavoro: Lombardia. Data di pubblicazione: 06/04/2009 http://lavoro.corriere.it

Conoscete bene LabVIEW? Date unocchiata alle offerte di lavoro che abbiamo selezionato da ILVG.it

to al rilascio in produzione; gestione della documentazione sulle attivit di sviluppo; integrazione dei software in ambienti eterogenei. Profilo del candidato: laurea in discipline tecnico-scientifiche; 1-2 anni di esperienza nel ruolo; esperienza nella realizzazione di applicativi orientati al testing; spiccate doti di problem-solving e sintesi. Conoscenza della lingua inglese: conoscenze tecnico professionali. Sistemi Operativi: Windows, Linux. Linguaggi di programmazione: C, C-like; sistemi di sviluppo software, tool di debugging; LabVIEW; database relazionali. Costituir elemento preferenziale: esperienza pregressa nel settore aerospaziale. La ricerca rivolta a candidati di entrambi i sessi Per rispondere a questo annuncio inviare lettera di presentazione, CV dettagliato, fototessera in formato elettronico, comprensiva dellautorizzazione al trattamento dei dati ai sensi del DLgs 196/03 a curricula.lazio@aizoon.it citando CORSERA SV-TEST/RM/AL 733 I dati saranno trattati e conservati secondo le finalit indicate nell'informativa allegata, garantendo i diritti di cui all'art.13 del DLgs 196/03. Tipo contratto: Assunzione a tempo indeterminato Sede di lavoro: Provincia di Roma Data di pubblicazione: 27/03/2009 www.aizoon.it

prove, formalizzazione degli stati di avanzamento, validazione prototipi, ). Il candidato ideale ha i seguenti requisiti: laurea in Ingegneria Elettronica; esperienza specifica nel campo dellelettronica applicata alle macchine. Costituiranno titolo di preferenza: - la conoscenza delle logiche di programmazione software LabVIEW, LabWindows/CVI, sistemi realtime, Visual C/ C++; - la conoscenza delle logiche di programmazione firmware e dei relativi linguaggi; - brevi esperienze pregresse con ruoli tecnico-trasversali. Lazienda offre un contratto a tempo indeterminato, nonch un ambiente stimolante, con ottime opportunit di crescita professionale. Gli interessati possono inviare CV al seguente indirizzo mail: segreteria@consulemme.com o via fax allo 02/20402953, specificando il RIF. EDJ I dati saranno trattati secondo la legge 196/03. Tipo contratto: Contratto a tempo indeterminato Sede di lavoro: Cernusco sul Naviglio (MI) Data di pubblicazione: 26/03/2009 www.consulemme.com

SVILUPPATORI SOFTWARE PER SISTEMI DI TEST AIZOON, societ di consulenza tecnologica specializzata in ICT ricerca, da assumere a tempo indeterminato, sviluppatori software per sistemi di test Principali responsabilit: analisi e comprensione delle specifiche tecniche; realizzazione del software di competenza; rispetto degli standard e delle metodologie di sviluppo; esecuzione dei casi di test; gestione e suppor-

INGEGNERE ELETTRONICO JUNIOR Per nostro cliente, azienda leader nella produzione di macchine di alto contenuto tecnico, ricerchiamo ingegnere elettronico junior. La persona andr a far parte del team Sviluppo Prodotto riportando al relativo responsabile. Sar impegnato nella gestione delle problematiche elettroniche applicate alle macchine: hardware, firmware e software; parteciper direttamente e operativamente allo sviluppo delle tecnologie elettroniche e a quello delle macchine (supporto allesecuzione delle

RESPONSABILE INDUSTRIALIZZAZIONE - RIF. RH478/08 Per azienda operante nel settore della componentistica oleodinamica, selezioniamo un responsabile industrializzazione. Il candidato diplomato laureato in ingegneria meccanica, 30/35 anni, rispondendo al direttore tecnico, si occuper della progettazione e sviluppo di componenti oleodinamici nonch dellindustrializzazione del prodotto. Esperienza lavorativa: la risorsa ha maturato un'esperienza significativa nella progettazione meccanica nel settore oleodinamico, conosce i software Inventor e LabVIEW e possiede una buona conoscenza della lingua inglese.

L A B V I E W E L AVO R O

Completano il profilo dinamismo, determinazione e intraprendenza, ottima capacit di lavoro in autonomia e spiccate doti di problem-solving. Titolo di studio: diploma o laurea in ingegneria meccanica Lingue conosciute: inglese buono Tipo contratto: Contratto a tempo indeterminato Sede di lavoro: Milano Ovest Data di pubblicazione: 24/03/2009 www.incontro-lavoro.it

determinato con possibilit di trasformazione per il candidato pi brillante. Tipo contratto: Contratto a tempo determinato Sede di lavoro: Milano Ovest Data di pubblicazione: 23/03/2009 http://lavoro.corriere.it

NEO INGEGNERE ELETTRONICO Page Personnel: Il nostro cliente una primaria societ operante in ambito Aerospaziale. Requisiti: laurea in Ingegneria Elettronica, preferibile un'esperienza di stage. Si richiedono esperienza nell'utilizzo di strumentazione di laboratorio, in particolare Network Analyzer, la conoscenza di metodologie di quality assurance e testing in ambito elettronico. Competenze software tecnico (es. LabVIEW) costituiscono titolo preferenziale. La disponibilit a viaggiare e conoscenza della lingua inglese, a capacit di lavorare in autonomia e di esser proattivi sono requisiti essenziali. La risorsa dovr avere anche doti di comunicazione per potersi relazionare in modo efficace con primarie multinazionali. societ multinazionali committenti dei progetti. Stiamo cercando un giovane laureato con l'entusiasmo di confrontarsi su progetti ad altissima tecnologia e che rappresentano soluzioni combinate di elettronica e radiofrequenza. La capacit di saper effettuare misure e utilizzare strumentazione RF / banchi di collaudo automatici importante. Laurea triennale in Elettronica il titolo minimo, background tecnico costituisce un vantaggio. Il contratto iniziale a tempo

TEST ENGINEERS Ref. DKIT25948 Our client is looking for a Test Engineer to be responsible for developing and implementing various methods of testing systems and equipment. Skill Required : A degree in Engineering or Computer Science (preferably M.Sc.). Experience with serial-mass production and mechanical structures. Good analytical and problem solving skills. Knowledge of test methodology, planning and execution; production tests; making testing equipment for production tests; automatic reading/tests with i.e. LabVIEW; programming in LabVIEW and preferably also C++ and C#. Contact hdelt@chronosconsulting.com Discipline: IT and Telecommunications Country: based in Denmark Data di pubblicazione: 19/03/2009 www.chronosconsulting.com

APPLICATION ENGINEER - STAGE La figura dellAE allinterno di National Instruments finalizzata a fornire supporto tecnico alla forza vendite (pre-vendita) ed al cliente (post-vendita). Lo stage proposto finalizzato ad acquisire una completa confidenza con soluzioni software (es. LabVIEW) e hardware (es. Schede DAQ, Sistemi di condizionamento segnali, PXI Bus, strumenti di misura on-board) in continua evoluzione, e conoscere pertanto

unampia gamma di soluzioni proposte nel mondo del test, collaudo e misura. Lo stage anche mirato a dare al tirocinante unesperienza importante nella collaborazione e interazione con i propri colleghi. Il candidato verr inserito completamente nellambiente lavorativo sotto tutti i suoi aspetti, sar quindi, informato di tutte le procedure interne alle quali ognuno di noi quotidianamente sottoposto: gestione interna, amministrativa e comportamentale. Durante il suo inserimento nella divisione del supporto tecnico verranno anche valutate le sue performance e riferiti tutti i suggerimenti tecnici di approfondimento e gestionali del cliente. Il tirocinio sar articolato in fasi ben specifiche, che permetteranno al candidato di raggiungere alla fine del periodo una piena autonomia. Qualora sia interessato a questo tirocinio, la invitiamo a presentare il curriculum vitae autorizzando il trattamento dei propri dati personali in conformit alla normativa prevista dal Dlgs. 196/2003 ai fini delle esigenze di cui alla presente selezione condotta da National Instruments Italy S.r.l. Autorizzare altres la Nostra societ a comunicare, per finalit di selezione, i propri dati personali anche a societ che effettuano selezione per Nostro conto, nonch a clienti o fornitori di National Instruments Italy S.r.l., direttamente a: National Instruments Italy S.r.l. Risorse Umane - via A. Kuliscioff 22 - 20152 Milano Fax 02/41309215 E-mail: italy.jobs@ni.com Tipo contratto: stage Sede di lavoro: Milano Ovest www.ni.com/italy

INFORMATIVA AI SENSI DEL CODICE IN MATERIA DI PROTEZIONE DEI DATI PERSONALI Informativa art. 13, d. lgs 196/2003 I dati degli abbonati sono trattati, manualmente ed elettronicamente, da Fiera Milano Editore SpA titolare del trattamento Via Salvatore Rosa 14, Milano - per linvio della rivista richiesta in abbonamento, attivit amministrative ed altre operazioni a ci strumentali, e per ottemperare a norme di legge o regolamento. Inoltre, solo se stato espresso il proprio consenso allatto della sottoscrizione dellabbonamento, Fiera Milano Editore SpA potr utilizzare i dati per finalit di marketing, attivit promozionali, offerte commerciali, analisi statistiche e ricerche di mercato. Alle medesime condizioni, i dati potranno, altres, essere comunicati ad aziende terze (elenco disponibile a richiesta a Fiera Milano Editore SpA) per loro autonomi utilizzi aventi le medesime finalit. Responsabile del trattamento : Paola Chiesa. Le categorie di soggetti incaricati del trattamento dei dati per le finalit suddette sono gli addetti alla gestione amministrativa degli abbonamenti ed alle transazioni e pagamenti connessi, alla confezione e spedizione del materiale editoriale, al servizio di call center, ai servizi informativi. Ai sensi dellart. 7, d. lgs 196/2003 si possono esercitare i relativi diritti, fra cui consultare, modificare, cancellare i dati od opporsi al loro utilizzo per fini di comunicazione commerciale interattiva rivolgendosi a Fiera Milano Editore SpA Servizio Abbonamenti allindirizzo sopra indicato. Presso il titolare disponibile elenco completo ed aggiornato dei responsabili. Informativa resa ai sensi dellart. 2, Codice Deontologico Giornalisti Ai sensi dellart. 13, d. lgs 196/2003 e dellart. 2 del Codice Deontologico dei Giornalisti, Fiera Milano Editore SpA titolare del trattamento - rende noto che presso i propri locali siti in Milano, Via Salvatore Rosa 14, vengono conservati gli archivi di dati personali e di immagini fotografiche cui i giornalisti, praticanti e pubblicisti che collaborano con le testate edite dal predetto titolare attingono nello svolgimento della propria attivit giornalistica per le finalit di informazione connesse allo svolgimento della stessa. I soggetti che possono conoscere i predetti dati sono esclusivamente i predetti professionisti, nonch gli addetti preposti alla stampa ed alla realizzazione editoriale delle testate. I dati personali presenti negli articoli editoriali e tratti dai predetti archivi sono diffusi al pubblico. Ai sensi dellart. 7, d. lgs 196/2003 si possono esercitare i relativi diritti, fra cui consultare, modificare, cancellare i dati od opporsi al loro utilizzo, rivolgendosi al titolare al predetto indirizzo. Si ricorda che, ai sensi dellart. 138, d. lgs 196/2003, non esercitabile il diritto di conoscere lorigine dei dati personali ai sensi dellart. 7, comma 2, lettera a), d. lgs 196/2003, in virt delle norme sul segreto professionale, limitatamente alla fonte della notizia. Presso il titolare disponibile l'elenco completo ed aggiornato dei responsabili.

LA VOCE DEGLI UTENTI


www.labviewworld.it LabVIEW World - La prima rivista italiana per la comunit di LabVIEW Sede legale - Via Salvatore Rosa 14, 20156 Milano, tel +39 02 366092.1 fax +39 02 366092.280 www.fieramilanoeditore.it Sede Operativa - Viale Espinasse 141, 20156 Milano tel. +39 02 366092.1 fax +39 02 366092.525 Direzione Sergio Maggioni Presidente Costante Casali Amministratore Delegato Alberto Taddei Publisher Nadia Albarello, Matteo Bambini, Matteo Foini, Alessandro Ricco Alberto Taddei Direttore Responsabile - alberto.taddei@fieramilanoeditore.it Valerio Alessandroni Direttore Tecnico valerio.alessandroni@email.it Maddalena Pria - tel: 02 366092.527 maddalena.pria@fieramilanoeditore.it Collaboratori: Nicola Bavarone, Michele Corr, Massimo Lorenzi, Marco Luciani, Enzo Nava, Alessandro Ricco, Emanuele Stucchi, Franco Trespidi, Halvor Snellingen Grafica e produzione Bimage.it Progetto grafico Tina Liati Impaginazione Franco Tedeschi Coordinamento grafici - franco.tedeschi@fieramilanoeditore.it Alberto Decari Coordinamento DTP - alberto.decari@fieramilanoeditore.it Grafiche Sima Ciserano - BG - Stampa Rosy Passarelli Ufficio Traffico - rosy.passarelli@fieramilanoeditore.it tel. 02366092 232 - fax: 02 366092 255 Giuseppe De Gasperis Sales Manager giuseppe.degasperis@fieramilanoeditore.it - tel. 02366092 523 - fax: 02 366092 524 Agenti Italia: PIEMONTE, LIGURIA, VALLE D'AOSTA R. Romeo/Publikappa tel: 011-723406 fax: 011-723.406 cell 335-5304196 VENETO, TRENTINO ALTO ADIGE, FRIULI VENEZIA GIULIA Idelfonso Elburgo tel: 049-8642.988 fax: 049-8642989 cell 328-8855203 International Sales U.K.-SCANDINAVIA - OLANDA - BELGIO The Huson European Media Gerry Rhoades-Brown tel: +44-1932-564999 fax: +44-1932-564998 SWITZERLAND: Iff media ag Carla Widmer tel: +41-52-6330888 fax: +41-52-6330899 GERMANIA e AUSTRIA: Mediaagentur Adela Ploner tel: +49-8131-3669920 fax: +49-8131-3669929 USA: Huson European Media Usa Ralph S. Lockwood tel: +1-408-8796666 fax: +1-408-8796669 TAIWAN: Worldwide Services Stuart Phillips-Laurie tel: +886-4-2325-1784 fax: +886-4-2325-2967 Abbonamenti N. di conto corrente postale per sottoscrizione abbonamenti: 48199749 intestato a: Fiera Milano Editore SpA, Via Salvatore Rosa 14, 20156 Milano. Si accettano pagamenti anche con le principali carte di credito. Per gli utenti Developer Suite e standard Service Program di National Instruments gi incluso labbonamento alla rivista Abbonamento annuale (4 numeri): E 20,00 Abbonamento per l'estero (4 numeri) E 40,00 Prezzo della rivista: E 5,00 - Arretrati: E 10,00 Testata associata Associazione Nazionale Editoria Periodica Specializzata Fiera Milano Editore iscritta al Registro Operatori della Comunicazione n 11125 del 25/07/2003. Autorizzazione alla pubblicazione del tribunale di Milano n 754 del 11/12/2006. Tutti i diritti di riproduzione degli articoli pubblicati sono riservati. Manoscritti, disegni e fotografie non si restituiscono. LabVIEW World ha frequenza trimestrale, per un totale di 4 numeri all'anno. Tiratura del presente numero: 3.000 copie.

Comitato di redazione Redazione

Pubblicit

READER SERVICE
IL READER SERVICE E ON LINE!

www. READERSERVICE.IT

Sempre pi al passo con i tempi, LabVIEW WORLD la prima rivista in Italia a fornirvi il servizio di reader service on line. Ora possibile ricevere maggiori informazioni su prodotti e servizi presentati negli articoli e/o inserzioni pubblicitarie LabVIEW WORLD semplicemente registrandosi al sito: WWW.READERSERVICE.IT Compilate la cartolina virtuale e noi provvederemo a inoltrare tempestivamente la richiesta all'azienda interessata, che invier al vostro indirizzo tutta la documentazione disponibile.
In alternativa compilate questa scheda e inviatela al numero di fax:

0236519123
10

NUMERO DELLA RIVISTA: NUMERI DI READER SERVICE

VICE

READE FIERA MILANO EDIZION SERVICE READER SE MILANO EDIZIONI F DER SERVICE FIERA MILANO READER SERVICE CE READER SERVICE EDIZIONI F FIERA READER SERVICE READ
IL SERVIZIO GRATUITO

EDIZIONI FIERA MILANO EDI

Dati sul lettore


Nome Cognome Azienda Indirizzo Azienda Cap Prov. Tel. Fax e-mail
Consenso ai sensi dellart.23 del D.Lgs. n.196 del 30 giugno 2003 (riportati anche sul Vs. sito www.ilb2b.it), esprimo il consenso a che i dati qui contenuti vengano trattati, comunicati e diffusi da voi e/o da Vs. aventi causa per l'attivit di promozione e diffusione dei Vs. prodotti ed anche messi a disposizione di operatori qualificati e/o aziende del settore.

Citt Nazione

Progettazione Embedded. Pi semplice di cos...

Strumenti tradizionali di progettazione di sistemi

Piattaforma di progettazione grafica di sistemi

Preparati ad affrontare il mercato pi velocemente con la progettazione grafica di sistemi, un approccio che integra software grafico aperto e hardware commerciale e che ti permette di progettare in modo iterativo e di implementare semplicemente e velocemente il tuo progetto sulla piattaforma embedded di National Instruments. Il sistema NI CompactRIO ti offre una piattaforma ideale per la prototipazione e la produzione in serie grazie a microcontrollore integrato, RTOS, FPGA programmabile, condizionamento di segnale integrato, I/O modulari e unintegrazione completa con lintuitivo software NI LabVIEW. readerservice.it n.22313
>>

Scopri come semplificare la tua progettazione embedded alla pagina web ni.com/embedded/i

02 41.309.1

ATIONAL INSTRUMENTS ITALY S.r.l. I Via Anna Kuliscioff, 22 I 20152 Milano I Tel.: 02-413091 I Fax: 02-41309215 I P.IVA/C.F.: 09777310153 CIAA Milano 1317488 I Iscr. Trib. Milano 296073/7502/23 I S.r.l.