51
LA PRIMA RIVISTA ITALIANA PER LA COMUNITÀ LABVIE W 10 MAGGIO 2009 E 5,00 LE NOVITÀ NEL LABVIEW 8.6 MOBILE MODULE MODELLI E METODI DI CURVE FITTING IN LABVIEW UNA CREATURA UMANO-ELETTRONICA

labviewworld-10

Embed Size (px)

Citation preview

Page 1: labviewworld-10

L A P R I M A R I V I S T A I T A L I A N A P E R L A C O M U N I T À L A B V I E W

10MAGGIO2009E 5,00

LE NOVITÀ NEL LABVIEW8.6 MOBILE MODULE

MODELLI E METODI DI CURVE FITTING IN LABVIEW

UNA CREATURA UMANO-ELETTRONICA

Page 2: labviewworld-10

d i i

Page 3: labviewworld-10

10

IN TEMPI DI CRISI BISOGNA INNOVARE

Se, in passato, migliorare i processi produttivi e commerciali della propria azienda poteva essereuna semplice opzione (si investiva quando il fatturato lo rendeva possibile), nel mercato globalequesto è 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 sisbaglia una valutazione tecnica o economica, l'effetto può essere quello di una rapida uscita dalmercato. Come fare, allora, per fronteggiare la situazione? Una strada viene offerta da unadattamento del Lean Manufacturing, che qualche anno fa ha rivoluzionato la fabbrica. Grazie aconcetti come il Just-in-time e il Kanban, il Lean Manufacturing ci ha insegnato a produrretempestivamente solo ciò che serve, per ridurre al massimo il Time-to-market e minimizzare legiacenze a magazzino. Oggi, il Lean Manufacturing si sta estendendo anche negli uffici diprogettazione, investendo tutte le fasi del processo di sviluppo dei nuovi prodotti (NPD – NewProduct Development). Così, il Lean Manufacturing si è trasformato in Lean Innovation, portandotutti i suoi vantaggi anche nel ciclo compreso fra la concezione di un nuovo prodotto ed il suolancio sul mercato. La Lean Innovation è quindi un programma completo che riguarda sia la parte diricerca dell'NPD ("Che cosa dobbiamo sviluppare per avere successo?”), sia la parte di sviluppo("Come possiamo svilupparlo più efficientemente?”). Ilconcetto di Lean Innovation, o innovazione snella, si riferisce quindi alla capacità di risposta ereazione in tempi di difficoltà con idee nuove in tempi rapidi, per ridurre i tempi di progettazioneed il Time-to-market. Di conseguenza, per definizione, la Lean Innovation ha bisogno di strumenti disviluppo 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 traprogrammazione grafica di sistema e applicazioni embedded. In particolare, l'uso di piattaformehardware FPGA permette la diretta accessibilità ai progetti hardware custom agli esperti dei singolisettori, senza la necessità di progettisti hardware dedicati. L'iterazione dei prototipi diventa quindipiù veloce ed i nuovi prodotti possono raggiungere il mercato più rapidamente. In particolare, gliutenti avevano bisogno di un modo per interfacciare situazioni di timing e triggering custom, eLabVIEW FPGA ha offerto loro il modo per farlo, senza richiedere linguaggi di descrizione hardwarea basso livello o progettazione a livello di scheda. Nello stesso tempo, LabVIEW FPGA salvaguarda laproprietà intellettuale, permettendo di riadattare attrezzature esistenti, mentre le tecnologieparallele su cui LabVIEW si basa massimizzano la capacità e l’utilizzo del software.Nello stesso tempo, si consolida l'uso delle piattaforme hardware di prototipazione velocecome i PAC (Programmable Automation Controller) CompactRIO e Single-Board RIO diNational Instruments. Il PAC permette di recuperare gran parte del lavoro diprogettazione già fatto e di adattarlo semplicemente personalizzando la partehardware (attraverso il software che la definisce) o di software puro, come il softwarereal-time o di supervisione e gestione della macchina, senza dovere rifare il progetto e'inventare' ogni volta un dispositivo diverso. Quella della portabilità da unapiattaforma all'altra, senza dovere riscrivere il codice, riprogettare l'hardware,riprogettare gli algoritmi, ecc. è sempre stata una delle caratteristiche diLabVIEW fin dalla sua nascita. Oggi, è diventato portabile anchel'hardware. Proprio come richiesto dalla Lean Innovation.

S C E N A R I O

Page 4: labviewworld-10

S O M M A R I O10

IN TEMPI DI CRISI BISOGNA INNOVARE

Nasce la Lean Innovat ion

01

LE OTTO REGOLE DELLA PROTOTIPAZIONE

Inter v ista a John Hanks, v ice

pres idente del market ing di prodotto

per acquis iz ione dat i e control lo

industr ia le presso Nat ional

Instruments

03

NIDAYS SI È FATTO IN QUATTRO…ANZI NO, IN SEI!

NIDays torna on the road, se i le tappe

del l ’evento i t inerante d i Nat ional

Instruments

05

06

08

12

ALTRE NUOVE FUNZIONALITÀ INLABVIEW 8.6

Ecco le caratter ist iche che accelerano

la programmazione e migl iorano

l ’usabi l i tà

LE NOVITÀ NEL LABVIEW 8.6MOBILE MODULE

Una panoramica sul le numerose nuove

funzional i tà d isponibi l i

MODELLI E METODI DI CURVEFITTING IN LABVIEW

I model l i e metodi d i cur ve f i t t ing

e i V I LabVIE W ut i l izzabi l i per eseguire

i l cur ve f i t t ing

23 AUTOMAZIONE NEI LABORATORIUL EUROPEI

Ecco i l nuovo s istema di misura SC-LAB

(LAB orator io S icur Control )

26 TECNICHE COMUNI DI PROGETTAZIONE

La lez ione discute due di f ferent i

categor ie d i architetture

d i programmazione: a c ic l i s ingol i

e mult ip l i

PIANIFICAZIONE DEL SISTEMA(III PARTE)

Standard d i s t i le e codi f ica per un

ambiente d i sv i luppo in team

32

36

LA VOCE DEGLI UTENTI

Alcuni spunti di discussione apparsi di

recente sul Forum di ILVG.it

38

40

42

44

SERVIZI HARDWARE NI: SEMPRE PIÙ INDISPENSABILI

I S er v iz i Hardware d i Nat ional

Instruments proteggono gl i

invest iment i

CRISI 0 – NIDAYS 1

Aff luenza record a NIDays 09, nonostan-

te i tempi d i c r i s i

APPUNTAMENTI

Oltre ad organizzare propr i cors i e

seminar i , Nat ional Instruments sarà

presente a numeros i event i

46 LABVIEW E LAVORO

Proposte concrete per co loro che sanno

ut i l izzare LabVIE W

DALLA CARTA AL WEB

Link ad ar t ico l i d i approfondimento e

alt r i documenti d isponibi l i su l webSEI!

AAA

Page 5: labviewworld-10

ome tecnico o ricercatore, forse qualche volta avetesognato l'idea di un prodotto che pensate possa avereun grande valore di mercato. Per sviluppare pienamente

la vostra idea, forse dovrete tuttavia fare i conti con la vostramancanza di competenza o esperienza. Non preoccupatevi,esiste una strada che porta al successo. Ne abbiamo discussocon John Hanks, vice presidente del marketing di prodotto peracquisizione dati e controllo industriale presso NationalInstruments.

D: Qual è il modo migliore per trasformare un'ideainnovativa in un prodotto commerciale?

R: Se riuscite a dimostrare o, ancora meglio, a mettere unprototipo nelle mani del cliente ed ottenere un feedback realesul valore della vostra innovazione, la probabilità di successocommerciale aumenta notevolmente. Se volete trasformarvi inimprenditori e fare uscire dalla vostra testa l'idea che aveteavuto, conviene sviluppare il vostro prototipo seguendo ottoregole.

D: Ci spieghi in sintesi la prima regola…

R: Le idee sono economiche – Dato il mondo connesso eorientato a Internet nel quale viviamo, le idee sono diventa-te economiche e probabilmente lo diventeranno ancora dipiù con il passare del tempo. I costi riguardano la prova e laverifica di ciò che ha un valore economico. Un buon proto-tipo è spesso il modo migliore per iniziare un dialogo con ipotenziali clienti e provare il valore della vostra idea.

D: Passiamo alla seconda regola…

R: Iniziate da un progetto su carta – Potreste essereansiosi di iniziare a scrivere codice o a progettarel'elettronica troppo rapidamente. Combattete la fretta.Scrivere del codice senza una reale considerazione di diver-si fattori di progettazione porta a mal di cuore e a moltolavoro 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 prendererapidamente in esame tutte le funzionalità. Potete chiedereai colleghi, ed eventualmente ai clienti, di fornirvi un feed-back sulla posizione di immagini, testo, pulsanti, grafici,menu o selezioni a tendina. I progetti su carta sono econo-mici e più utili delle parole.

D: E quando si ha un progetto su carta?

R: Fate la giusta quantità di lavoro – Identificate i vostriobiettivi e perseguiteli. La prototipazione conviene per duebuone ragioni: la prima è quella di testare la fattibilità diun'architettura hardware o software, la seconda è quella dicreare una dimostrazione ed ottenere feedback dai clienti,in modo che possiate assegnare un prezzo e dare un valorealla vostra innovazione. Tenete presenti questi obiettivi estate attenti a non innamorarvi del processo. La prototipa-zione è divertente e gli innovatori amano sperimentare, madovete cercare di investire solo il tempo e il lavoro sufficientiper raggiungere gli obiettivi.

LE OTTO REGOLE DELLA

PROTOTIPAZIONE

Fig. 1 - Af ferma John Hanks, v ice pres idente del market ing diprodotto per acquis iz ione dat i e control lo industr ia le pressoNat ional Instruments : "Con un protot ipo, la probabi l i tà d i successo commerc ia le d i un' idea innovat iva aumentanotevolmente"

I prototipi sono molto impor tanti per convincere un potenziale cl iente o un f inanziatore circa la bontà

delle proprie idee. Ecco alcune semplici regole per non sbagliare

Va

leri

o A

less

an

dro

ni

C

1

A T U P E R T U

Page 6: labviewworld-10

10

A T U P E R T U

D: Siamo alla quarta regola…

R: Prevedete più opzioni – Progettate il vostro prototiposenza dimenticare la modularità. I grandi prototipi sono spes-so modulari, il che significa che potete adattarli rapidamentein modo da soddisfare esigenze impreviste dei clienti. Alla fine,sono i clienti che decidono come usare il vostro prodotto, nonvoi. Inserite nel progetto opzioni di espansione, prestazioni,packaging e minor costo.

D: E a questo punto?

R: Progettate la riutilizzabilità del prodotto finale – La situa-zione ideale è quella di progettare un prototipo che poteteprodurre e distribuire in elevati volumi. Non molti tool di pro-totipazione possono mantenere questa promessa.Tipicamente, si rinuncia alle prestazioni per la flessibilità delprogetto. Cercate tool di prototipazione che vi permettano discalare il vostro prototipo dal laboratorio al mercato.

D: Finora non abbiamo parlato di costi…

R: Evitate di concentrarvi troppo presto sui costi – Per i pro-getti hardware, un potenziale motivo di perdite di tempo einsoddisfazioni è farsi catturare in infinite analisi di ottimizza-zione dei costi nelle prime fasi della progettazione del prototi-po. I costi sono sempre importanti, ma l'obiettivo del vostroprototipo è rimanere alla portata di un progetto redditizio.Inizialmente, concentratevi sulla dimostrazione del valore dellavostra innovazione ed eseguite il progetto all'insegna dellamodularità. Benché ciò sia frustrante, il vostro progettopotrebbe seguire molti percorsi, che non portano necessaria-mente al valore. Puntate ad assicurarvi il vostro primo gruppodi clienti, poi lavorate sull'ottimizzazione dei costi.

D: Il prototipo deve ispirarsi a valori medi o metterein risalto le caratteristiche innovative dell'idea iniziale?

R: Bisogna evitare la 'ricaduta nella media' – Nella prototi-pazione, la tendenza è quella di sviluppare qualcosa di sem-plice, anziché qualcosa che abbia un fattore sorprendente.Tenendo fede alla vostra visione, dovete fare in modo che ilvostro prototipo catturi il concetto originale della vostra inno-vazione.

D: E infine?

R: Accertatevi di poter dimostrare il vostro prototipo – Ilvostro prototipo dovrebbe essere facile da dimostrare. Coni clienti, i finanziatori e i potenziali dipendenti, dovete par-tire con forza e presentare subito le capacità più interes-santi. Non procedete secondo un crescendo. L'intervallo diattenzione della maggior parte delle persone è limitato a

meno di 60 secondi. Nellepresentazioni, che sianorivolte a un nuovo dipen-dente o a un finanziatore,arrivate alla dimostrazioneil più velocemente possibi-le. Se la dimostrazione èdivertente, tutto il restoandrà a posto.

D: National Instru-ments offre dei tool chepossono favorire il pro-cesso di prototipazione?

R: Certamente. La piatta-forma per la progettazionegrafica di sistemi diNational Instruments, che include LabVIEW e hardwareflessibile commerciale, mette a disposizione di tecnici,ricercatori o docenti una delle vie più rapide per ottenereun prototipo funzionante. Considerate quindi l'uso dei tooldi prototipazione rapida di National Instruments per tra-sformare la vostra idea in realtà. Più rapidamente svilup-pate il vostro prototipo, meglio è.E' inoltre possibile scaricare un e-kit di prototipazioneNational Instruments visitando ni.com/info ed inserendo ilcodice nsi8402.

D: Può citare qualche esempio di utilizzo di questitool?

R: La flessibilità e la produttività dei tool NationalInstruments si sono dimostrate utili nel portare rapida-mente un prototipo a funzionare – dalle apparecchiaturemedicali ai macchinari industriali, ai sistemi di test auto-matizzati. Vediamo due esempi di clienti NationalInstruments che hanno utilizzato il software LabVIEW ed ilsistema hardware embedded CompactRIO per prototiparele loro idee. Iniziamo da Sanarus Medical, che ha svilup-pato il prototipo di un'apparecchiatura medicale utilizzataper il trattamento di pazienti con tumori al seno, secondouna procedura meno invasiva e quasi indolore. Con i toolNational Instruments, un prototipo pienamente funzionan-te è stato realizzato rapidamente da un ingegnere mecca-nico con scarsa esperienza in campo embedded.Gli ingegneri di Boston Engineering hanno invece realiz-zato il prototipo di un chiosco fotografico che stampaistantaneamente immagini digitali. Per lo sviluppo dei pro-totipi, in precedenza era utilizzato hardware custom. Conla tecnologia LabVIEW FPGA e i tool hardware commer-ciali di National Instruments, è stato possibile svilupparepiù rapidamente i prototipi.

Fig. 2 - " I cost i sono sempre impor tant i , mal 'obiett ivo del vostro protot ipo è r imanereal la por tata d i un progetto reddit iz io"

read

erse

rvic

e.it

n. 1

001

Page 7: labviewworld-10

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

Ad un anno dall'esordio della versione itinerante delForum tecnologico sulla Progettazione Grafica di Sistemi,National Instruments ha riproposto per il 2009 la formu-

la del road show che accorcia le distanze tra l’azienda e i pro-pri clienti presenti in realtà ed aree geografiche diverse.Dopo la kermesse milanese del 25 febbraio che ha registrato512 partecipanti, la versione itinerante Tour NIDays 09 rinno-va l’appuntamento in sei città agli addetti ai lavori – contro lequattro della scorsa edizione.

I temi del TourIl tema dell‘edizione del 2009, sensibilizzato dalla situazioneeconomica globale, ha introdotto il concetto di “lean innova-tion”, ovvero la capacità di risposta e reazione in tempi di dif-ficoltà con idee nuove in tempi rapidi per ridurre i tempi di pro-gettazione ed il time-to-market, con una panoramica sullostato dell’arte e sulle ultime tendenze tecnologiche della

Progettazione Grafica di Sistemi.Tra le novità di prodotto illustrate segnaliamo gli approfondi-menti sulle nuove tecnologie software di NationalInstruments, tra cui LabVIEW 8.6 e LabWindows/CVI 9.0, suinuovi dispostivi embedded NI Single-Board RIO, sui nuovi ana-lizzatori e generatori di segnale vettoriale PXI Express a 6,6GHz, sulla nuova gamma di prodotti NI FlexRIO per incremen-tare le prestazioni degli I/O basati su FPGA per i sistemi di testPXI e sulla nuova piattaforma Ethernet deterministica.

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

Na

dia

Alb

are

llo

Un tour i t inerante ha toccato quattro c i t tà i ta l iane

1

E V E N T I

read

erse

rvic

e.it

n. 1

064

Note sull’ autoreNadia Albarello, laureata in Lingue Moderne e Comunicazione alla KarlFranzens Universität di Graz, Austria, lavora in qualità di MarketingCommunications Manager presso National Instruments Italy.

Specialisti nel PROFIBUS

COMSOFT

Produttore:COMSOFT GmbH | Wachhausstr. 5a | 76227 Karlsruhe | Germania Tel.: +49- (0) 721 - 9497 - 291 | Fax: +49- (0) 721 - 9497 - 299 E-mail: [email protected] | Internet: www.comsoft.de

Contatto commerciale:SOLINTEC AUTOMAZIONE SNC | Via 8 Marzo 1/B | 2040 CavenagB.za (MI) | Italia | Tel.: 02 - 95336189 | Fax: 02 - 9533543E-mail: [email protected] | www.solintecautomazione

Soluzioni National Instruments disponibili con tecnologia PROFIBUS

cRIO PBModulo Master/Slave PROFIBUS DP per sistemi cRIO della National Instruments

Driver per modulo FNL in ambiente LabVIEWIl Gateway Ethernet/PROFIBUS DP della COMSOFT è ora disponibile con il Driver LabVIEW– Rapida l’integrazione mediante interfaccia Ethernet TCP/IP

readerservice.it n.233

Page 8: labviewworld-10

EDITARE LE PROPRIETÀ

DI OGGETTI MULTIPLI

Con LabVIEW 8.6 potete editare simul-taneamente le proprietà di più oggettidel pannello frontale, risparmiandotempo durante lo sviluppo delle applica-zioni.Per editare le proprietà comuni selezio-nate quelle che desiderate cambiare,quindi cliccate il tasto destro e selezio-nate Properties.

Quando appare la finestra di dialogoProperties, notate che il numero dioggetti che state modificando vienevisualizzato sulla barra del titolo e che leproprietà condivise vengono raggruppa-te usando i tab.

Ogni cambiamento di proprietà si riflet-te sugli oggetti selezionati del pannello.La mancanza di proprietà comuni aglioggetti è indicata dal messaggio illu-strato nella figura 3.

Per maggiori informazioni, consultateLabVIEW Help: Edit MultipleProperties.Breakpoint ManagerIl debugging dei programmi è diven-tato più facile in LabVIEW 8.6 grazieall'aggiunta del Breakpoint Manager.Invece di gestire separatamente cia-scun breakpoint, potete usare ilBreakpoint Manager per controllaresimultaneamente più breakpoint peruno o più VI. Potete anche usare ilmanager per abilitare, disabilitare ecancellare breakpoint da questo stes-so punto di controllo.

Vi sono due metodi per aprire il mana-ger: selezionare View>>BreakpointManager o cliccare con il tasto destrosu qualsiasi oggetto dello schema ablocchi e selezionare Breakpoint->>Breakpoint Manager.

10

W H A T ' S N E W

ALTRE

NUOVE FUNZIONALITÀIN LABVIEW 8.6

Fig. 1 - S e lez ionate p iù oggett i del pannel lo f rontale,c l i ccate con i l tasto destro e se lez ionate Proper t ies

Fig. 2 - Finestra d i d ia logo Proper t iescon i tab d i propr ietà comuni

Fig. 4 - Breakpoint Manager

Fig. 3 - Quando non v i sono propr ietàcomuni d isponibi l i , v iene v isual izzatoquesto messaggio

LabVIEW è stato progettato per semplif icare a tecnici e r icercatori la creazione di applicazioni di misura e con-

trollo. LabVIEW 8.6 aggiunge molte nuove funzionalità che potenziano l 'esperienza dell 'utente, tra cui caratte-

ristiche che accelerano la programmazione e migliorano l ’usabil ità

A c

ura

di

Ma

tte

o F

oin

i

Page 9: labviewworld-10

Per maggiori informazioni sul break-point manager, consultate LabVIEWHelp: Breakpoint Manager.

TUNNEL DI COLLEGAMENTO NELLESTRUTTURE CASELabVIEW 8.6, grazie a una nuova proce-dura automatica, semplifica il collega-mento dei tunnel d'ingresso e d'uscitanon cablati nelle strutture case.Potete usare questa funzionalità prima odopo avere creato i vostri case. Cliccatecon il tasto destro sul tunnel d'uscita diuna struttura case e selezionate LinkedInput Tunnel. Prima della creazione deicase, usate l'opzione Create per collega-re gli ingressi e le uscite per futuri case.Durante e dopo la creazione dei case,usate l'opzione Create and WireUnwired Cases per collegare le uscite egli ingressi dei case esistenti. Questaopzione collega anche i tunnel nei futu-ri case.

Per trovare i tunnel collegati, usate ilFind cliccando con il tasto destro su untunnel e selezionando Linked Input

Tunnel>>Find. Cancellate i tunnel col-legati cliccando con il tasto destro su untunnel collegato e selezionando LinkedInput Tunnel>>Clear.

Per maggiori informazioni su questoargomento, consultate LabVIEW Help:Tunnel Linking.Palette APICon le nuove funzioni Palette API in

LabVIEW 8.6,potete strutturaree integrare pro-grammaticamentele vostre palettecustom. Usatequesta funzionali-tà per aggiungerei vostri VI e levostre palette allastruttura di palette

LabVIEW e customizzare le palette esi-stenti per adattarle alle vostre preferen-ze di programmazione.

La Palette API consiste di due VI: ReadPalette.vi e Write Palette.vi. Il ReadPalette.vi restituisce i dati sulle proprietàdi una palette, come nome, colore dell'i-cona e formato di visualizzazione. IlWrite Palette.vi applica delle modifichealla vostra palette. Usate l’invoke nodeRefresh Palettes per effettuare program-maticamente un refresh della vostrapalette dei controlli e delle funzionidopo avere effettuato dei cambiamenti.

Nota: l'uso di questa funzionalità modifi-ca i file sorgente e non potete invertireautomaticamente tali modifiche. Se desi-derate semplicemente editare l'aspetto diuna palette di LabVIEW e non volete cam-biare il codice sorgente della palette, con-siderate l'uso di Tools>>Advan-ced>>Edit Palette Set.Per vedere un esempio pronto sull'uso diPalette API, aprite il LabVIEW ExampleFinder in Help>>Find Examples… ecercate “palette.”

W H A T ' S N E W

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

Fig. 8 - Trovare e cancel lare tunnel g ià co l legat i

Fig. 7 - Funzioni e invoke node per l ’edit ing del le palette

Fig. 6 - Creaz ione di co l legamenti t ra ingress i e usc i te

read

erse

rvic

e.it

n. 1

002

Note sull’autoreLaureato in ingegneria nucleare al Politecnico di Milano,Matteo Foini lavora in qualità di Technical Marketing Engineerpresso National Instruments Italy

Page 10: labviewworld-10

Vediamo in dettaglio alcune delle nuovecaratteristiche disponibili nel LabVIEW8.6 Mobile Module (già LabVIEW PDA).Per un elenco completo potete consulta-re il LabVIEW Mobile Help e il LabVIEW8.6 Mobile Module readme.Navigazione con i tasti di uno smartphoneCon LabVIEW Mobile 8.6 potete utilizza-re i tasti freccia di uno smartphone pernavigare i controlli e gli indicatori nel VIMobile. La Key Navigation è abilitataimpostando l'ordine delle tabulazioni ditutti i controlli e indicatori sul pannellofrontale. Nella Figura 1, il VI Mobile è inmodalità di editazione dell'ordine delletabulazioni. Quando questo VI viene rila-sciato su un target Windows Mobile,l'utente ha la possibilità di navigare icontrolli nell'ordine definito.

NUOVI VI E FUNZIONI

Questo paragrafo descrive i nuovi VI chesono stati introdotti nella palette delLabVIEW 8.6 Mobile Module.

Supporto delle funzioni di sincro-nizzazioneIl Mobile Module supporta ora leseguenti funzioni di sincronizzazione:

Funzioni Advanced NotifierWaiting – utilizzate per evitare perditedi dati e altri problemi quando siusano ripetutamente le funzioni condifferenti notificatori. La palette inclu-de le funzioni Wait on Notificationwith Notifier History e Wait onNotification from Multiple withNotifier History.

Funzione Lossy Enqueue Element –aggiunge un elemento a una coda, usataper comunicare dati fra parti di uno sche-ma a blocchi o da un altro VI. A differen-za della funzione Enqueue Element, que-sta funzione non attende che diventi dis-ponibile spazio nella coda. Se nella codanon c'è spazio disponibile, rimuove unelemento dalla testa della coda e lo scar-ta per fare spazio.

Struttura In Place ElementIl LabVIEW Mobile Module supporta orala Struttura In Place Element. TaleStruttura controlla come il compilatoreLabVIEW esegue certe operazioni e, inalcuni casi, incrementa l'efficienza dellamemoria e dei VI.Potete utilizzare la struttura In PlaceElement quando lavorate su un elemen-to di un array, cluster, variant o formad'onda senza che il compilatore diLabVIEW debba copiare i valori dei datie mantenere tali valori in memoria.Potete inoltre usare questa struttura perlavorare su qualsiasi tipo di dato chevogliate mantenere nello stesso spaziodati in memoria.

10

W H A T ' S N E W

LE NOVITÀ NEL

LABVIEW 8.6 MOBILE MODULE

Fig. 1 - Abi l i taz ione del la navigazioneda tast iera impostando l 'ordine d itabulaz ione sul vostro VI Mobi le Fig. 2 - Palette Advanced Not i f ier Wait ing

Fig. 3 - Usate la Struttura In P laceElement Struc ture per incrementarel 'ef f ic ienza del la memoria e dei VI

L'ar ticolo offre una panoramica sulle numerose nuove funzionalità incluse

nel LabVIEW 8.6 Mobile Module

A c

ura

di

Ma

tte

o F

oin

i

Page 11: labviewworld-10

Nuovi controlli sul pannellofrontale

Sui target Windows Mobile è ora sup-portata la listbox multicolonna. La list-box può essere utilizzata per fornireagli utenti un elenco di elementi daiquali selezionare. Con la listbox multi-colonna, potete visualizzare più infor-mazioni per ciascun elemento, come ledimensioni dell'elemento e la datadella sua creazione.

Nuove opzioni specifiche di gene-razione del codice

Potete ora eseguire l'inlining di subVInei chiamanti per eliminare l'overhead eincrementare l'ottimizzazione del codi-ce. L'inlining dei subVI è utile soprattut-to per i piccoli subVI, i VI con molte chia-mate in un loop o i subVI con un solopunto di chiamata. Impostate le opzionidi generazione del codice per il vostro VIMobile nell'area di dialogo VI Properties.

Nuove opzioni di generazione delcodice a livello di progetto

Potete ora allocare costanti per array,cluster, stringhe, variant e formed'onda nell'area di dialogo BuildSpecification Properties. Il LabVIEWMobile Module 8.6 offre opzioni dibuild che vi permettono di allocarememoria per le costanti la primavolta che vengono utilizzate, fuori delloop contenente, quando il VI checontiene le costanti viene richiamatoo quando inizia l'esecuzione diun'applicazione compilata su un tar-get. La memoria per le costanti puòessere deallocata quando le costantinon sono più in uso, quando finiscel'esecuzione del VI contenente lecostanti o quando finiscel'esecuzione dell'applicazione compi-lata sul target.

Task dinamici per l'acquisizionedatiCon il rilascio del DAQmx Base 3.2,l'acquisizione dati per dispositivi Mobilepuò essere eseguita utilizzando taskdinamici. I task dinamici vengono creatial runtime delle applicazioni usandol'API NI-DAQmx Base. A differenza deitask statici, i task dinamici eliminano ladipendenza dall'utility di configurazionedei task, garantiscono codice sorgenteautodocumentante e riducono il tempodi sviluppo. Poiché i task sono configu-rati dinamicamente, un singolo esegui-bile può funzionare su molti tipi diversidi dispositivi e configurazioni.

W H A T ' S N E W

Fig. 5 - Abi l i ta l ' in l in ing per e l iminare l 'overhead eincrementare l 'ott imizzaz ione del codice

read

erse

rvic

e.it

n. 1

003

F ig. 4 - Control lo Mult ico lumn L istbox

Fig. 7 - Acquis iz ione dat i con DAQmx B ase usando un task d inamico

Fig. 6 - Usate le Bui ld Speci f icat ions Proper t ies per conf igurare l ' a l locaz ione e la deal locaz io-ne di costant i

Page 12: labviewworld-10
Page 13: labviewworld-10

Con il crescente uso degli strumenti di misura digitali neiprocessi di test e misura, l'acquisizione di grandi quan-tità di dati diventa sempre più semplice. Tuttavia, i

metodi di elaborazione ed estrazione di informazioni utilidai dati acquisiti diventano un problema.Durante il processo di test e misura si nota spesso una rela-zione matematica fra i valori osservati e le variabili indipen-denti, come la relazione fra una misura di temperatura, unvalore osservabile, e l'errore di misura, una variabile indi-pendente che deriva da un dispositivo di misura impreciso.Un modo per trovare la relazione matematica esistente è ilcurve fitting, dove si richiede una curva approssimante cheavvicini il più possibile i punti dati.

Si può utilizzare il curve fitting per eseguire le operazioniseguenti:

• Ridurre il rumore e addolcire l’andamento dei dati • Trovare la relazione matematica fra le variabili e utilizza-

re tale funzione per eseguire ulteriori elaborazioni deidati, come la compensazione degli errori, il calcolo divelocità 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 curvefitting e i VI LabVIEW che si possono utilizzare per eseguireil curve fitting.

CHE COS'È IL CURVE FITTING?Lo scopo del curve fitting è trovare una funzione f(x) in unaclasse di funzioni Φ per i dati (xi, yi) dove i=0, 1, 2,…, n–1.La funzione f(x) minimizza lo scarto con peso W. Lo scarto èla distanza fra i campioni e f(x). Uno scarto più piccolo signi-fica un fit migliore. In geometria, il curve fitting è una curvay=f(x) che fitta i dati (xi, yi) dove i=0, 1, 2,…, n–1.

In LabVIEW, si possono utilizzare i seguenti VI per calcolarela funzione di curve fitting.

• VI di Fit Lineare (Linear Fit)

• 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 ilset di dati. Consultate il LabVIEW Help per informazioni sul-l'uso di questi VI. I grafici riportati nella figura 1 mostrano idiversi tipi di modelli di fitting che si possono creare conLabVIEW.

Prima di fittare il set di dati, è necessario decidere qualemodello di fitting usare. Una scelta impropria, per esempiol'uso di un modello lineare per fittare dati logaritmici, portaad un risultato di fitting non corretto o ad un risultato chedetermina in modo impreciso le caratteristiche del set didati. Pertanto, dovete scegliere prima di tutto un modello difitting appropriato sulla base della forma di distribuzionedei dati e giudicare quindi se il modello è adatto in funzio-ne del risultato.

Figura 1 - Model l i d i cur ve f i t t ing in LabVIE W

10

T I P S & T E C H N I Q U E S

MODELLI E METODI DI

CURVE FITTING IN LABVIEW

I l cur ve f itt ing valuta la relazione fra le variabi l i in un set di dati , oltre ad elaborare set di dati

contenenti rumore, i rregolarità, errori dovuti a disposit ivi di test e misura imprecis i , ecc.

Sa

m S

he

arm

an

Page 14: labviewworld-10

T I P S & T E C H N I Q U E S

Ogni VI dei modelli di fitting in LabVIEW ha un ingressoWeight. Per default, l'ingresso Weight è 1, stando a signi-ficare che tutti i campioni di dati hanno la stessa influenzasul risultato del fitting. In alcuni casi, nel set di dati esistonodei punti isolati a causa di fattori esterni come il rumore. Sesi 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 a0 il loro peso, per eliminare l'influenza negativa.Per sviluppare un'applicazione di curve fitting si può ancheusare il Curve Fitting Express VI presente in LabVIEW.

METODI DI CURVE FITTINGI dati d'ingresso possono essere valutati con diversi metodidi fitting per trovare i parametri del modello di curve fitting.Ogni metodo ha i propri criteri per valutare lo scarto del fit-ting nella ricerca della curva fittata. Comprendendo i criteridi ciascun metodo, è possibile scegliere il metodo più appro-priato da applicare al set di dati e fittare la curva. InLabVIEW, è possibile applicare diversi metodi di fitting comei minimi quadrati (Least Square - LS), il minimo scarto asso-luto (Least Absolute Residual - LAR) o il metodo biquadrati-co ai VI di fit lineare, esponenziale, di potenza, di piccogaussiano o logaritmico per trovare la funzione f(x).

Il metodo LS trova f(x) minimizzando lo scarto secondo laformula seguente:

dove n è il numero di campioniwi è l'i-esimo elemento dell'array di pesi per i campionif(xi) è l'i-esimo elemento dell'array di valori y del modellofittatoyi è l'i-esimo elemento del set di dati (xi, yi)

Il metodo LAR trova f(x) minimizzando lo scarto secondo laformula seguente:

Il metodo biquadratico trova f(x) usando un processo iterati-vo, come illustrato nel diagramma di flusso in figura 2 e cal-cola lo scarto usando la stessa formula del metodo LS. Ilmetodo biquadratico calcola i dati partendo dall'iterazione k.Poiché i metodi LS, LAR e biquadratico calcolano f(x) inmodo differente, si può scegliere il metodo di curve fitting in

base al set di dati.Per esempio, imetodi di fittingLAR e biquadraticosono metodi di fit-ting robusti.Utilizzate questime todi se nel set didati esistono puntiisolati. I paragrafi seguentidescrivono i metodidi calcolo LS, LAR ebiquadratico in det-taglio.

METODO LSIl metodo dei minimi quadrati inizia con una soluzione diequazioni lineari.Ax = bA è una matrice e x e b sono vettori. Ax–b rappresental'errore delle equazioni.L'equazione seguente rappresenta il quadrato dell'erroredella precedente equazione.E(x) = (Ax-b)T(Ax-b) = xTATAx-2bTAx+bTbPer minimizzare l'errore quadratico E(x), calcolate la deriva-ta della precedente funzione ed impostate il risultato a zero:E’(x) = 02ATAx-2ATb = 0ATAx = ATbx = (ATA)-1ATbDal flusso dell'algoritmo si può notare l'efficienza del pro-cesso di calcolo, dato che il processo non è iterativo. Leapplicazioni che richiedono efficienza possono usare questometodo di calcolo.

Il metodo LS calcola x minimizzando l'errore quadratico edelaborando i dati che hanno rumore distribuito in modogaussiano. Se il rumore non è distribuito in modo gaussia-no, per esempio se i dati contengono punti isolati, il meto-do LS non è adatto. Per elaborare dati contenenti rumorenon distribuito in modo gaussiano si può utilizzare un altrometodo, come il metodo LAR o biquadratico.

METODO LARIl metodo LAR minimizza lo scarto secondo la formulaseguente:

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

Figura 2 - Schema di f lusso del Metodo Biquadrat ico

Page 15: labviewworld-10

10

T I P S & T E C H N I Q U E S

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

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

CONFRONTO DEI METODI DI CURVE FITTINGSe si confrontano i tre metodi di curve fitting, i metodi LARe biquadratico diminuiscono l'influenza dei punti isolatiregolando il peso di ogni campione tramite un processo ite-rativo. Purtroppo, regolare il peso di ogni campione dimi-nuisce l'efficienza dei metodi LAR e biquadratico.Per confrontare meglio i tre metodi, esaminiamo il seguen-te esperimento. Usiamo i tre metodi per fittare lo stesso setdi dati: un modello lineare contenente 50 campioni di daticon punti isolati e con rumore. La tabella 1 riporta i tempidi calcolo per ciascun metodo.

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

I campioni lontani dalle curve fittate sono punti isolati. Nellafigura precedente, si possono considerate i campioni (2, 17),(20, 29) e (21, 31) come punti isolati. I risultati indicano chei punti isolati hanno una maggiore influenza sul metodo LS. Nella scelta del metodo di fitting più appropriato è neces-sario tenere conto sia della qualità dei dati sia dell'efficien-za di calcolo.

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 curvefitting è possibile utilizzare anche i seguenti VI.

• General Polynomial Fit• General LS Linear Fit• Cubic Spline Fit• Nonlinear Curve Fit

GENERAL POLYNOMIAL FITIl VI General Polynomial Fit fitta il set di dati su una funzio-ne polinomiale di forma generale:

f(x) = a + bx + cx2 + …

La figura 4 illustra un fit su curva polinomiale generale uti-lizzando una polinomiale del terzo ordine per trovare gli zerireali di un set di dati. Si può vedere che gli zeri si manife-stano approssimativamente in (0.3, 0), (1, 0) e (1.5, 0).

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

Quando si utilizza il VI General Polynomial Fit, è necessarioimpostare prima di tutto l'ingresso Polynomial Order. Unelevato Polynomial Order non garantisce necessariamen-te un risultato di fitting migliore e può provocare oscillazio-ni. Una polinomiale del decimo ordine o inferiore può sod-disfare la maggior parte delle applicazioni. Il PolynomialOrder di default è 2.Questo VI ha un ingresso Coefficient Constraint. Si puòimpostare tale ingresso se si conoscono i valori esatti deicoefficienti polinomiali. Impostando questo ingresso, il VIcalcola un risultato più vicino al vero valore.

Metodo di fitting LS LAR Biquadratico

Tempo (µs) 3,5 30 60

Figura 3 - Confronto d i t re metodi d i f i t t ing

Figura 4 - Model lo pol inomiale generale

Page 16: labviewworld-10

T I P S & T E C H N I Q U E S

GENERAL LS LINEAR FITIl VI General LS Linear Fit fitta il set di dati secondol'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 ilconcetto di combinazione lineare di coefficienti in modo cheil 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 combinazio-ne lineare dei coefficienti a0 e a1. Per il VI General LS LinearFit, y può anche essere una combinazione lineare di piùcoefficienti. Ciascun coefficiente ha un moltiplicatore diqualche funzione di x. Pertanto, si può utilizzare il VI GeneralLS Linear Fit per calcolare e rappresentare i coefficienti delmodello funzionale come combinazioni lineari dei coeffi-cienti.

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 unafunzione lineare dei coefficienti a0, a1, a2,…, e una funzio-ne non lineare di x.

COSTRUZIONE DELLA MATRICE DI OSSERVAZIONEQuando si utilizza il VI General LS Linear Fit, è necessariocostruire la matrice di osservazione H. Per esempio,l'equazione seguente definisce un modello usando i dati daun trasduttore.y = a0 + a1 sin(ωx) + a2 cos(ωx) + a3 x

2

La tabella 2 indica i moltiplicatori per i coefficienti, aj, nellaprecedente equazione.

Per costruire la ma -tri ce di osservazio-ne H, il valore diogni colonna in Hdeve essere ugualealla funzione indi-pendente, o molti-

plicatore, valutata per ogni valore di x, xi. L'equazione seguente definisce la matrice di osservazioneH per un set di dati contenente 100 valori x usando la pre-cedente equazione.

Se il set di dati contiene n punti e k coefficienti per i coeffi-cienti a0, a1, …, ak-1, allora H è una matrice di osserva-zione n × k. Pertanto, il numero di righe in H è uguale alnumero di punti, n. Il numero di colonne in H è uguale alnumero di coefficienti, k.Per ottenere i coefficienti, a0, a1, …, ak-1, il VI General LSLinear Fit risolve la seguente equazione lineare:H a = ydove a = [a0 a1 … ak – 1]T e y = [y0 y1 … yn – 1]T.

CUBIC SPLINE FITUna spline è una funzione costituita da un insieme di poli-nomi raccordati tra loro, il cui scopo è interpolare in unintervallo un insieme di punti (detti nodi della spline), inmodo da essere continua (almeno fino ad un dato ordine diderivate) in ogni punto dell'intervallo.

Il VI Cubic Spline Fit fitta il set di dati (xi, yi) minimizzandola seguente funzione:

dove p è il parametro di bilanciamentowi è l'i-esimo elemento dell'array di pesi per il set di datiyi è 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 è l’i-esimo elemento dell'ingresso Smoothnessdel VI.

Se l'ingresso Balance Para meter, p, è0, il modello cubic spline equivale ad unmodello lineare. Se l'ingresso è 1, ilmetodo di fitting equivale ad un'inter -po lazione mediante spline cubica. pdeve essere compreso nel campo [0, 1]per rendere la curva fittata vicina alleosservazioni e con andamento smooth.Più p si avvicina a 0, più la curva fittataè smooth. Più p si navvicina a 1, più lacurva fittata si avvicina alle osservazio-ni. La figura 5 illustra i risultati di fittingper diversi valori di p.

Coefficiente Moltiplicatore

a0 1

a1 sin(ωx)

a2 cos(ωx)

a3 x2

Figura 5 - Model lo a spl ine cubica

Page 17: labviewworld-10

10

T I P S & T E C H N I Q U E S

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

NONLINEAR CURVE FITIl VI Nonlinear Curve Fit fitta i dati utilizzando il metodonon lineare di Levenberg-Marquardt secondo l'equazioneseguente:

y = f(x; a0, a1, a2, …, ak)

dove a0, a1, a2, …, ak sono i coefficienti e k è il numero dicoefficienti.

Il metodo non lineare di Levenberg-Marquardt è il metododi curve fitting più generale e non richiede che y abbia unarelazione lineare con a0, a1, a2, …, ak. Potete usare il meto-do non lineare di Levenberg-Marquardt per fittare curvelineari o non lineari. Tuttavia, l'applicazione più comune delmetodo è fittare una curva non lineare, perché per i curvefitting lineari è preferibile il metodo generale di fitting linea-re.LabVIEW offre anche il VI Constrained Nonlinear Curve Fitper fittare una curva non lineare con vincoli. Potete impo-stare i limiti superiore e inferiore di ogni parametro di fittingin base a una conoscenza a priori del set di dati per ottene-re un risultato di fitting migliore.La figura 6 illustra l'uso del VI Nonlinear Curve Fit su un setdi dati. La natura non lineare del set di dati è appropriataper l'applicazione del metodo di Levenberg-Marquardt.

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

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

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

POST-ELABORAZIONELabVIEW offre VI per valutare i risultati dei dati dopo avereeseguito un curve fitting. Tali VI possono determinare la pre-cisione dei risultati del curve fitting e calcolare gli intervallidi confidenza e predizione in una serie di misure.

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

dove DOF è il grado di libertà.

SSE e RMSE riflettono l'influenza di fattori casuali e mostra-no la differenza fra il set di dati e il modello fittato.

L'equazione seguente descrive l'R-quadro:

Figura 6 - Model lo a cur va non l ineare

Figura 7 - Remove Out l iers VI

Page 18: labviewworld-10

dove SST è la somma totale dei quadrati secondol'equazione seguente:

R-quadro è una rappresentazione quantitativa del livello difitting. Un valore elevato di R-quadro significa una corri-spondenza migliore fra il modello di fitting e il set di dati.Poiché R-quadro è una rappresentazione frazionale di SSE eSST, il valore deve essere compreso fra 0 e 1.

0 ≤ R-quadro ≤ 1

Quando i campioni si adattano esattamente alla curva fitta-ta, SSE è uguale a 0 e R-quadro è uguale a 1. Quando alcu-ni 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 livel-lo di fitting e meno la curva è dolce.La figura seguente mostra le curve fittate di un set di daticon differenti risultati di R-quadro.

Dalla figura precedente si può vedere che la curva fittatacon R-quadro uguale a 0,99 fitta il set di dati più da vicinoma è meno dolce della curva fittata con R-quadro uguale a0,97.

INTERVALLO DI CONFIDENZA E INTERVALLO DI PREDIZIONENel processo reale di test e misura, poiché i campioni di datida ciascun esperimento in una serie di esperimenti differi-scono a causa dell'errore di misura, anche i risultati del fit-ting differiscono. Per esempio, se l'errore di misura non si

correla fra tutti gli esperimenti, si può utilizzare l'intervallodi confidenza per stimare l'incertezza dei parametri di fit-ting. Potete anche utilizzare l'intervallo di predizione per sti-mare 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 del-l'errore di misura, , è specificata dal peso,

Si può utilizzare la funzione in forma x = (ATA)-1ATb delmetodo 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 covarianzadei parametri, a0 e a1, come l'equazioneseguente.

dove J è la matrice Jacobiana

m è il numero di parametrin è il numero di campioni

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

Figura 8 - R isultat i d i f i t t ing con valor i d i f ferent i d i R-quadro

T I P S & T E C H N I Q U E S

Page 19: labviewworld-10

10

T I P S & T E C H N I Q U E S

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

dove è la funzione di distribuzionecumulativa inversa t di Student con n–m gradi di libertà allaprobabilità e è la dviazione standard del parame-tro ai uguale a .Potete anche stimare l'intervallo di confidenza di ciascuncampione di dati ad un certo livello di confidenza . Peresempio, un intervallo di confidenza del 95% di un campio-ne significa che il vero valore del campione ha una proba-bilità del 95% di rientrare nell'intervallo di confidenza.L'intervallo di confidenza dell'i-esimo campione di dati è:

dove diagi(A) denota l'i°-esimo elemento diagonale dellamatrice A. Nella precedente formula, la matrice (JCJ)T rap-presenta la matrice A.L'intervallo di predizione stima l'incertezza dei campioni nelsuccessivo esperimento di misura ad un certo livello di con-fidenza . Per esempio, un intervallo di predizione del95% significa che il campione di dati ha una probabilità del95% di rientrare nell'intervallo di predizione nel successivoesperimento di misura. Poiché l'intervallo di predizioneriflette non solo l'incertezza del vero valore, ma anchel'incertezza della misura successiva, l'intervallo di predizio-ne è più ampio dell'intervallo di confidenza. L'intervallo dipredizione dell'i-esimo campione è:

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

modelli di curve fitting comuni, come i modelli di fit lineare,fit esponenziale, fit su picchi gaussiani, fit logaritmico e fitdi potenza. Tali VI calcolano i limiti superiore ed inferiore dell'intervallodi confidenza o dell'intervallo di predizione secondo il livel-lo di confidenza che impostate.

La figura 9 mostra esempi del grafico dell'Intervallo diconfidenza e del grafico dell'Intervallo di predizione,rispettivamente, per lo stesso set di dati.

Dal grafico dell'Intervallo di confidenza, si può vedereche l'intervallo di confidenza è stretto. Un piccolo intervallodi confidenza indica una curva fittata vicina alla curva rea-le. Dal grafico dell'Intervallo di predizione, si può con-cludere che ogni campione di dati nel successivo esperi-mento di misura avrà una probabilità del 95% di rientrarenell'intervallo di predizione.

ESEMPI APPLICATIVI

Compensazione dell'erroreMano a mano che l'età degli strumenti di misura ed acqui-sizione dati aumenta, aumentano anche gli errori di misurache influiscono sulla precisione dei dati. Per assicurare risul-tati di misura accurati, potete utilizzare il metodo di curvefitting per trovare la funzione di errore per compensare glierrori dei dati.Per esempio, esaminiamo un esperimento in cui un termo-metro misura la temperatura fra –50ºC e 90ºC. Supponiamoche T1 sia la temperatura misurata, T2 sia la temperaturaambiente e Te sia l'errore di misura, dove Te è T1 meno T2.Misurando diverse temperature entro il campo misurabileda –50ºC a 90ºC, si ottiene la tabella di dati nella paginaseguente.

Si può utilizzare il VI General Polynomial Fit per creare loschema a blocchi illustrato nella figura 10 per trovarel'errore di misura compensato.

Figura 9 - Inter val lo d i conf idenza e inter val lo d i prediz ione

Page 20: labviewworld-10

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

La figura precedente mostra il set di dati con l'errore di misu-ra originale, la curva fittata al set di dati e l'errore di misuracompensato. Dopo avere definito innanzitutto la curva fitta-ta al set di dati, il VI usa la curva fittata ai dati dell'errore dimisura per compensare l'errore di misura originale.Si può vedere dal grafico dell'errore compensato che usan-do il curve fitting si migliorano i risultati dello strumento dimisura diminuendo l'errore di misura a circa un decimo delvalore dell'errore originale.

RIMOZIONE DELLE FLUTTUAZIONI DELLA BASELINEDurante l'acquisizione di segnali, un segnale si mischiaqualche volta con rumore a bassa frequenza, con una con-seguente fluttuazione della baseline. La fluttuazione dellabaseline influenza la qualità del segnale, con le relative con-seguenze sui processi successivi. Per rimuovere le fluttua-

zioni della baseline potete utilizzare il curve fit-ting per ottenere ed estrarre il trend del segna-le dal segnale originale.Come si vede nella figura 12, si può trovare lafluttuazione della baseline in un segnale ECGche misura la respirazione umana. Si può otte-nere il trend del segnale usando il VI GeneralPolynomial Fit e quindi eseguire il detrend delsegnale trovando e rimuovendo la fluttuazionedella baseline dal segnale originale.

Temperaturaambiente

Temperaturamisurata

Temperaturaambiente

Temperaturamisurata

Temperaturaambiente

Temperaturamisurata

-43.1377 -42.9375 0.769446 0.5625 45.68797 45.5625

-39.3466 -39.25 5.831063 5.625 50.56738 50.5

-34.2368 -34.125 10.84934 10.625 55.58933 55.5625

-29.0969 -29.0625 15.79473 15.5625 60.51409 60.5625

-24.1398 -24.125 20.79082 20.5625 65.35461 65.4375

-19.2454 -19.3125 25.70361 25.5 70.54241 70.6875

-14.0779 -14.1875 30.74484 30.5625 75.40949 75.625

-9.10834 -9.25 35.60317 35.4375 80.41012 80.75

-4.08784 -4.25 40.57861 40.4375 85.26303 85.6875

Figura 10 - Schema a blocchi di un Error Func tion VI usando i l General Polynomial Fit VI

Figura 11 - Uso del General Polynomial Fi t V I per f i t tare la cur va d i errore

Figura 12 - Uso del General Polynomial Fi t V I per r imuovere la f luttuazionedel la basel ine

T I P S & T E C H N I Q U E S

Page 21: labviewworld-10

10

T I P S & T E C H N I Q U E S

Dai grafici precedenti si può vedere che utilizzando ilGeneral Polynomial Fit si sopprime la fluttuazione dellabaseline. In questo esempio, l'uso del metodo di curve fittingper rimuovere la fluttuazione della baseline è più veloce esemplice dell'uso di altri metodi, come l'analisi wavelet.

ESTRAZIONE DEI BORDINell'elaborazione di un'immagine digitale, è spesso neces-sario determinare la forma di un oggetto e quindi rilevare edestrarre i bordi della forma stessa. Questo processo è chia-mato estrazione dei bordi. Condizioni al contorno, qualiscarsa illuminazione e sovraesposizione, possono tradursi inun bordo incompleto o sfocato. Se il bordo di un oggetto èuna curva regolare, il metodo del curve fitting è utile perl'elaborazione del bordo iniziale.

Per estrarre il bordo di un oggetto è necessario utilizzareinnanzitutto l'algoritmo watershed. Tale algoritmo separal'immagine dell'oggetto dall'immagine dello sfondo. Si puòquindi utilizzare l'algoritmo morfologico per aggiungere ipixel mancanti e filtrare i pixel di rumore. Dopo avere otte-nuto la forma dell'oggetto, usate la Laplaciana, ol'operatore di Laplace, per ottenere il bordo iniziale. La figu-ra 13 mostra il processo di estrazione dei bordi suun'immagine di un oggetto ellittico con un'ostruzione fisicasu parte dell'oggetto.

Come si può vedere dalla figura precedente, il bordo estrat-to non è né regolare né completo a causa delle condizionidi illuminazione e di un'ostruzione da parte di un altrooggetto. Poiché la forma del bordo è ellittica, si può miglio-rare la qualità del bordo usando le coordinate del bordo ini-ziale per fittare una funzione ellittica. Usando un processoiterativo, potete aggiornare il peso dei pixel del bordo al finedi minimizzare l'influenza dei pixel imprecisi nel bordo ini-ziale. La figura 14 mostra il pannello frontale di un VI che

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

Il grafico nella precedente figura mostra i risultati iterativiper calcolare il bordo fittato. Dopo diverse iterazioni, il VIestrae un bordo che è vicino al bordo effettivo dell'oggetto.

SCOMPOSIZIONE DI PIXEL MISTI USANDO IL CURVE FITTINGLo standard di misura per rilevare oggetti a terra nelleimmagini riprese da remoto è normelmente in unità pixel. Acausa delle limitazioni di risoluzione spaziale, un pixel spes-so copre centinaia di metri quadrati. Il pixel è un pixel mistose contiene oggetti a terra di varia composizione. I pixelmisti sono complessi e difficili da elaborare. Un metodo dielaborazione dei pixel misti è ottenere le percentuali esattedegli oggetti d'interesse, come acqua o piante.L'immagine nella figura 15 mostra un'immagine Landsat afalsi colori ripresa dal Landsat 7 ETM+ il 14 Luglio 2000.L'immagine visualizza un'areadi Shanghai allo scopo di averedati sperimentali.

Nella precedente immagine, sipossono osservare le cinquebande dell'immagine multispet-trale Landsat, con la banda 3visualizzata come blu, la banda4 come verde e la banda 5come rosso. L'area dell'immagi-ne include tre tipi di tipicioggetti al suolo: acqua, piante esuolo. Gli oggetti che corrispondono al suolo includonocomponenti di architettura artificiale come edifici e ponti.

Figura 13 - Processo d i estraz ione dei bordi

Figura 14 - Uso del Nonl inear Cur ve Fi t V I per f i t tare un bordo e l l i t t ico

Figura 15 - Immagine a falsi colori

Page 22: labviewworld-10

Si può utilizzare il VI General LS Linear Fit per creare un VIdi scomposizione dei pixel misti. La figura 16 mostra i risul-tati della scomposizione usando il VI General LS Linear Fit.

Nelle immagini precedenti, le aree in nero indicano lo 0% diun certo oggetto d'interesse e le aree bianche indicano il100% di un certo oggetto d'interesse. Per esempio, nell'im-magine che rappresenta oggetti piante, le aree bianche indi-cano la presenza di oggetti piante. Nell'immagine che rappre-senta oggetti acqua, la regione bianca a forma d'onda indicala the presenza di un fiume. Si può confrontare la rappresen-tazione dell'acqua nella precedente figura con la figura 15.Dai risultati ottenuti, si può vedere che il VI General LSLinear Fit scompone correttamente l'immagine multispettra-le Landsat in tre oggetti al suolo.

FIT GAUSSIANO MODIFICATO ESPONENZIALMENTEIl modello che si vuole fittare contiene a volte una funzioneche LabVIEW non include. Per esempio, l'equazione seguen-te descrive una funzione gaussiana modificata esponenzial-mente.

dove

y0 è l'offset dall'asse yA è l'ampiezza del set di datixc è il centro del set di datiw è la laghezza della funzionet0 è il fattore di modifica

I VI di curve fitting in LabVIEW non possono fittare questafunzione direttamente, perché LabVIEW non riesce a calco-lare direttamente integrali generalizzati. Tuttavia, l'integralenella precedente equazione è un normale integrale di pro-babilità, che una funzione di errore può rappresentaresecondo l'equazione seguente.

rappresenta la funzionedi errore in LabVIEW.Si può riscrivere la funzione gaussiana modificata esponen-zialmente originale come l'equazione seguente.

LabVIEW può fittare questa equazione usando il VINonlinear Curve Fit. La figura 17 mostra un modello di gaus-siana modificata esponenzialmente per dati cromatografici.Questo modello utilizza il VI Nonlinear Curve Fit VI e il VIError Function per calcolare la curva di fit per un set di datiper cui si ottiene un fit ottimale con la funzione gaussianamodificata esponenzialmente.

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

CONCLUSIONEIl curve fitting non solo valuta la relazione fra le variabili inun set di dati, ma elabora anche set di dati contenentirumore, irregolarità, errori dovuti a dispositivi di test e misu-ra imprecisi e così via. LabVIEW mette a disposizione VI dicurve fitting base e avanzati che utilizzano metodi di fittingdifferenti, come i metodi LS, LAR e biquadratico, per trovarela curva di fitting. Il modello e il metodo di fitting che si uti-lizzano dipendono dal set di dati che si desidera fittare.LabVIEW offre anche VI di pre-elaborazione per rimuovere ipunti isolati da un set di dati, valutare l’accuratezza delrisultato di fitting e misurare l'intervallo di confidenza el'intervallo di predizione dei dati fittati.

Note sull’autoreSam Shearman è il product manager del software di analisi e signal processing in National Instruments

Rea

ders

ervi

ce.i

t n

. 101

6

Figura 16 - Uso del General LS L inear Fi t V I per scomporreun' immagine con pixel mist i(a) P iante (b) Suolo e costruz ioni ar t i f i c ia l i (c) Acqua

Figura 17 - Model lo gauss iano modif icato esponenzia lmente

T I P S & T E C H N I Q U E S

Page 23: labviewworld-10

ADVANCED TECHNOLOGIES S.p.A.Via Carducci, 35 | 20090 Trezzano S/N | Milano | ItalyT +39 02 4455154 | F +39 02 4453103 www.adv-tech.itMACHINE VISION EXPERTS

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

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 artificiale.

readerservice.it n.21

Page 24: labviewworld-10

1

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

Nell’ambito delle prove per l’accertamento della sicu-rezza elettrica ai fini della certificazione internazio-nale, nel Laboratorio UL Italia era necessario creare

un sistema di strumenti virtuali personalizzati interconnessivia Ethernet e accessibili via web come alternativa e miglio-ramento agli strumenti tradizionali attualmente in commer-cio. La sfida era adottare come standard questo nuovoapproccio alle misure, oltre che in Europa, anche nei labo-ratori UL nel resto del mondo.Il sistema di condizionamento dei segnali sviluppato nelLaboratorio UL Italia 15 anni fa e migliorato nel corso degli

anni, unitamente a schede di acquisizione, DMM e switchbasate su bus PXI, ha consentito l’acquisizione e la misuradi molteplici grandezze elettriche, meccaniche, termiche edottiche. La successiva analisi, elaborazione e visualizzazionetipica di LabVIEW ne ha definito uno standard (sia dal pun-to di vista grafico che di interfaccia con l’utente) per i diver-si strumenti di misura.

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

AUTOMAZIONENEI LABORATORI UL EUROPEI

Da

rio

Riv

olt

ell

a I l nuovo s istema di misura SC-LAB (LABborator io S icur Control ) è ormai d iventato un punto

d i for za in Europa dal punto d i v ista del la qual i tà dei r i su l tat i d i prova, dei rappor t i d i prova

generat i automaticamente e del la fac i l i tà ed economic i tà d i ca l ibraz ione

Page 25: labviewworld-10

10

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

anni fa con lo scopo di migliorare l’efficienzadel Laboratorio, è ormai diventato un punto diforza in Europa dal punto di vista della quali-tà dei risultati di prova, dei rapporti di provagenerati automaticamente e della facilità edeconomicità di calibrazione. Un sintetico elen-co 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 1μm 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, ReportEditor, programmi e utility di vario genere. Il tutto contenu-to in un armadio denominato Rack (figura 1).

Tra le più significative applicazioni che di seguito verran-no descritte, le più importanti dal punto di vista dei van-taggi ottenuti rispetto agli strumenti tradizionali sonoil Three Phase Wattmeter & Energy Counter ad ilTemperature Data Logger.Tra le prove di sicurezza elettrica, la misura della potenza (e/odella corrente) assorbita e delle temperature interne di unprodotto rappresentano le più comuni e frequenti verifiche dilaboratorio applicabili a praticamente tutte le categorie diprodotti elettrici. Per questo motivo, tali due strumenti sonostati i primi ad essere ideati e realizzati e quindi perfetta-mente adattati per l’impiego inlaboratori di certificazione.

THREE PHASE WATTMETER& ENERGY COUNTERIl Three Phase Wattmeter &Energy Counter (figura 2) è unostrumento virtuale composto dauna scheda di acquisizione dati,tre moduli di condizionamentodei segnali di tensione (3-30-300-1000V) e corrente (0,1-1-10-50A) ed un modulo di poten-za per la connessione direttaall’apparecchio in prova.

Sulla base delle 6 forme d’ondaacquisite, lo strumento calcolapoi i valori di tensione e correnteefficaci, le potenze (attiva, reatti-

va ed apparente) sulle singole fasi e sul sistema multifase, lafrequenza, il fattore di potenza e l’energia consumata.Rispetto agli strumenti tradizionali i vantaggi sono molteplici. Primo fra tutti la semplicità d’uso: indipendentemente daltipo di alimentazione dell’apparecchio, monofase, bifase, tri-fase, con o senza neutro, la misura viene condotta sempli-cemente inserendo la spina nel modulo di potenza senzapreoccuparsi di realizzare nessun ulteriore collegamentoesterno.La schermata principale, che visualizza sia i dati numericidelle misure che le forme d’onda delle tensioni e delle cor-renti, fornisce una chiara situazione elettrica generale delprodotto in prova.La possibilità di salvare su file ogni misura e forma d’ondaconsente di registrare l’andamento nel tempo delle variegrandezze misurate. Le applicazioni sono innumerevoli: dal-la misura della potenza e corrente assorbita da apparecchifrigoriferi, alla monitorizzazione di tensioni e frequenze inprotezioni di interfaccia per il collegamento degli inverteralla rete di distribuzione pubblica dell’energia.Lo strumento include molteplici altre funzioni sicuramentenon presenti in strumenti tradizionali quali: • un sistema di controllo delle tensioni (trifase) che,

mediante variac motorizzati, consente di impostare emantenere in modo indipendente le tre tensioni di ali-mentazione

• la possibilità di acquisire ed analizzare, oltre alle tensionie correnti, ulteriori 8 segnali analogici provenienti da tra-sduttori di vario tipo

• la misura e visualizzazione vettoriale della terna trifasedelle tensioni e delle correnti, con la misura delle fasi diciascun vettore ed il calcolo della corrente di neutro neisistemi multifase sbilanciati

Figura 1

Figura 2

Page 26: labviewworld-10

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

• la verifica della qualità della sorgente di alimentazione(tensione, frequenza e distorsione armonica totale) previ-sta dalla norma EN17025

• la possibilità di interagire direttamente con i trasduttoriinterni di tensione e corrente per eseguire in modosemiautomatico una calibrazione contemporanea dei trewattmetri

TEMPERATURE DATA LOGGERIl Temperature Data Logger è basato su un DMM a 18 bit chemisura la tensione ai capi delle termocoppie multiplexate in96 canali. L’isolamento tra i canali e verso massa è di 300V.Lo strumento è molto semplice, ma sicuramente è quelloche offre il più alto grado di automazione dal punto di vistadel risultato finale: il test report.Pensare di eseguire misure di temperatura in 96 punti inter-ni di un apparecchio di cottura (cosa assai frequente) e in 10modalità di funzionamento diverse con un tradizionale regi-stratore a carta è ormai impensabile. Pur utilizzando stru-menti in grado di salvare i dati su file, rimane comunque ilproblema di riportare i valori massimi misurati nei test report.Il Temperature Data Logger permette sia di selezionaremanualmente, come gli strumenti tradizionali, i diversi cana-li di misura, oppure, interfacciandosi con Word, di importa-re tutto il set up della misura, cioè una tabella contenente icanali di misura e la descrizione del posizionamento dei varipunti di misura. Le ulteriori tre colonne, in bianco nel set up,vengono compilate dal programma al termine della misuracon la massima temperatura misurata, la massima sovra-temperatura misurata ed il risultato del confronto con il limi-te (OK o NOK). La tabella così compilata viene in seguito inserita con unsemplice copia ed incolla nel test report.L’andamento delle temperature dei vari canali viene regi-strato su file e successivamente analizzato, stampato su car-ta o convertito in jpg. Sono in fase di ultimazione due nuove funzionalità da inte-grare nello strumento:• la possibilità di utilizzare i 96 canali in diversi strumenti in

esecuzione contemporanea in grado di testare più pro-dotti nello stesso tempo

• un Hot Line Coil Meter multicanale (8 canali da 40A) ingrado di misurare la temperatura degli avvolgimenti(motori, trasformatori, bobine, ecc) sotto tensione. Ilmetodo di misura, l’interfaccia utente ed il report genera-to saranno trasparenti rispetto al metodo di misura utiliz-zato: termocoppie o variazione di resistenza.

Al di là delle caratteristiche dei singoli strumenti di misura,ulteriori vantaggi scaturiscono dall’interconnettività tra idiversi strumenti: tutte le misure degli strumenti in esecu-zione sulla stessa macchina ed, in generale in esecuzione sututte le macchine connesse in rete, possono essere condivi-se e scambiate.

É proprio su questa funzionalità che si basano molti testparticolari per i quali è necessaria la misura e l’elaborazionedi grandezze di varia natura (ad esempio elettriche e termi-che) che difficilmente si trovano inserite in un unico stru-mento tradizionale.Una tipica applicazione è la misura del consumo energeticodi un forno domestico per il mercato Canadese. Sulla basedell’andamento della temperatura di un cilindro di prova inalluminio posto all’interno del forno e dell’andamento del-l’energia consumata dal forno, la norma definisce un algo-ritmo di calcolo per la determinazione del consumo medioannuo del forno. La combinazione delle funzionalità delThree Phase Wattmeter & Energy Counter e del TemperatureData Logger permette di costruire un grafico dell’andamen-to della temperatura del cilindro di alluminio in funzionedell’energia consumata.Non ultima, ma sicuramente importante per laboratori dis-tribuiti (figura 3) in tutti i continenti, la possibilità di con-nessione remota con visione e controllo a distanza dellamisura in corso.

CONCLUSIONENato per passione personale, aggiornato e migliorato grazieal contributo di tutti gli ingegneri che l’hanno utilizzato,modificato nel tempo in accordo all’evoluzione delle nor-mative (sia di prodotto che di qualità), ma soprattutto tec-nologicamente sempre al passo con i tempi grazie al sup-porto e consiglio di National Instruments, contiamo sullafattiva ed usuale collaborazione da parte di tutti per le futu-re sfide che SC-LAB dovrà ancora affrontare.

Note sull’autoreDario Rivoltella, Sicur Control (Divisione di UL Italia)

Rea

ders

ervi

ce.i

t n

. 102

0

Figura 3

Page 27: labviewworld-10

S C U O L A D I L A B V I E W

TECNICHE COMUNI DI PROGETTAZIONE

Questa lezione discute due differenti categorie di architet-ture di programmazione: a cicli singoli e multipli. Questearchitetture sono note globalmente come schemi di pro-gettazione.Le architetture a ciclo singolo includono schemi di proget-tazione di VI semplici, generali e di macchine a stati. Learchitetture a cicli multipli includono schemi di progetta-zione di VI a cicli paralleli, Master/Slave eProducer/Consumer.La comprensione di quale sia lo schema di progettazionemigliore è la chiave per la realizzazione di VI efficienti inLabVIEW.Gli argomenti della lezione saranno descritti secondo laseguente sequenza:A. Architetture a ciclo singoloB. ParallelismoC. Architetture a più cicliD. Temporizzazione di uno schema di progettazione

A. ARCHITETTURE A CICLO SINGOLOSchemi di progettazione di VI sempliciQuando svolgete calcoli o effettuate misure veloci in labo-ratorio, non avete bisogno di un’architettura complicata. Ilvostro programma consiste di un unico VI che effettuamisurazioni, svolge calcoli, visualizza i risultati o li registrasu disco. Lo schema di progettazione di VI semplici nonrichiede di solito un’azione specifica di start o di stop daparte dell’utente. L’utente clicca semplicemente sul pulsan-te Run. Utilizzate questa architettura per semplici applicazioni oper componenti funzionali nell’ambito di applicazioni piùgrandi. Potete convertire questi VI semplici in subVI che uti-lizzate come blocchi componenti di applicazioni più grandi.Schemi di progettazione generali di VIUno schema di progettazione generale di VI possiede trefasi principali.Ogni fase può contenere codice che segue un altro tipo dischema di progettazione. Le tre fasi sono le seguenti:• Inizializzazione - Questa sezione viene utilizzata per ini-zializzare l’hardware, leggere le informazioni di configura-zione dai file o per richiedere all’utente la posizione dei file.• Applicazione principale - Questa sezione in generale con-siste di almeno un ciclo che viene ripetuto fino a quando

l’utente decide di uscire dal programma o il programma siarresta per altri motivi come il completamento di un I/O.• Chiusura - Questa sezione di solito si occupa di chiude-re i file, di scrivere le informazioni di configurazione sudisco o di ripristinare l’I/O sullo stato di default.La figura 1 mostra questa architettura generale di VI.

Nella figura 1 il collegamento del cluster di errore control-la l’ordine di esecuzione delle tre sezioni. Il While Loopnon viene eseguito finché il VI Start Up non ha finitol’esecuzione e restituisce il cluster di errore. Di conseguen-za, il VI Shut Down non può essere eseguito finché il pro-gramma principale nel While Loop non ha finito e i dati delcluster di errore non lasciano il ciclo. La maggior parte dei cicli richiede una funzione Wait, spe-cialmente se quel ciclo monitora gli ingressi dell’utente sulpannello frontale. Senza la funzione Wait, il ciclo potrebberimanere in esecuzione continuativamente e utilizzaretutte le risorse di sistema del computer. La funzione Waitforza il ciclo ad essere eseguito in modalità asincronaanche se specificate 0 millisecondi come tempo di attesa.Se le operazioni all’interno del ciclo reagiscono agli ingres-si dell’utente, potreste incrementare il tempo di attesa adun livello accettabile per i tempi di reazione. Un’attesa di100 - 200 ms è usualmente buona perché la maggiorparte degli utenti non può rilevare quell’entità di ritardotra il click su un pulsante del pannello frontale e la conse-guente esecuzione dell’evento.Per applicazioni semplici, il ciclo dell’applicazione princi-

Potete sv i luppare programmi migl ior i in LabVIE W e in a l t r i l inguaggi d i programmazione se

seguite tecniche e architetture d i programmazione consistent i

Training per principianti

A c

ura

di

Ma

tte

o F

oin

i

Fig. 1 - Schema di progettaz ione generale d i un VI

10

Page 28: labviewworld-10

S C U O L A D I L A B V I E W

pale può essere abbastanza semplice e contenere codiceche segue lo schema di progettazione di VI semplici.Quando avete interfacce utente complicate o eventi multi-pli, come ad esempio azioni dell’utente, trigger sull’I/O ecosì via, questa sezione può diventare più complicata.

Schema di progettazione a macchine a statiLo schema di progettazione a macchine a stati è unamodifica di uno schema più generale. Di solito ha una fasedi startup ed una di shut down. Tuttavia la fase dell’appli-cazione principale consiste di una struttura Case inseritain un ciclo. Questa architettura vi consente di avviare codi-ce differente ogni volta che il ciclo viene eseguito sullabase di alcune condizioni. Ogni condizione definisce unostato della macchina, da cui il nome, macchina a stati.Utilizzate questo modello di progettazione per VI che sonofacilmente divisibili in compiti più semplici, come i VI cheagiscono come interfaccia utente.Una macchina a stati in LabVIEW consiste di un WhileLoop, una struttura Case e un registro a scorrimento. Ognistato della macchina a stati è una condizione nella strut-tura Case. Inserite i VI e altro codice che volete eseguirenella condizione corretta. Un registro a scorrimentomemorizza lo stato da eseguire fino all’iterazione succes-siva 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 l’elenco dei possibilieventi, o stati, e quindi mappateli ognuno su una condi-zione. Per il VI dello schema a blocchi in figura 2, gli statipossibili sono Startup, Idle, Event 1, Event 2 e Shutdown.Questi stati sono memorizzati in una costante di tipo enu-merated. Ogni stato ha la sua condizione nella strutturaCase. Mentre una condizione è in esecuzione, lo stato suc-cessivo viene determinato sulla base del risultato corren-te. Lo stato successivo viene memorizzato nel registro ascorrimento. In caso di errore in uno degli stati, vienerichiamata la condizione shutdown.Il vantaggio dell’architettura con macchine a stati è che loschema a blocchi può diventare molto più piccolo, ren-dendone più facile la lettura e la correzione. Un altro van-taggio dell’architettura con macchine a stati è che ognicondizione determina lo stato successivo, diversamentedalle strutture Sequence che non possono saltare unframe.Uno svantaggio dell’architettura con macchine a stati èche con questo approccio potete perdere degli eventi. Sedue eventi si presentano nello stesso istante, questomodello gestisce il primo e perde il secondo. Ciò può con-durre ad errori che sono difficili da correggere perché pos-sono presentarsi solo occasionalmente. Versioni più com-plesse dei VI con architettura con macchine a stati con-tengono codice aggiuntivo che realizza una coda di even-ti con lo scopo di non perderli.

B. PARALLELISMOIl parallelismo è un modo di eseguire compiti inparallelo nello stesso istante. Per discutere il paralle-lismo, considerate l’esempio della creazione e visua-lizzazione di due sinusoidi a differenti frequenze.Inserite una sinusoide in un ciclo e la seconda in unciclo differente.Una sfida nella programmazione di compiti in paral-lelo è quella di passare dati tra più cicli senza creareuna dipendenza tra i dati. Per esempio, se passate idati utilizzando un collegamento, i cicli non sono piùin parallelo. Nell’esempio di più sinusoidi, potetevoler condividere un singolo pulsante di stop tra i

cicli, come mostrato nella figura 4.

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

Fig. 3 - Stat i Id le (D efault) , Event 1 , Event 2 e Shutdown

Fig. 4 - Pannel lo f rontale dei c ic l i in paral le lo

Fig. 2 - Macchina a stat i con stato d i Star tup

Page 29: labviewworld-10

10

S C U O L A D I L A B V I E W

Metodo 1 (sbagliato)Inserite il terminale Loop Control al di fuori di entrambi icicli e collegatelo a ciascun terminale condizionale, comemostrato in figura 5. Lo stato del controllo booleano è undato in ingresso per entrambi i cicli, quindi il terminaleLoop Control viene letto solo una volta, prima dell’esecu-zione dei While Loop. Se viene passato TRUE ai cicli, iWhile Loop rimarranno in esecuzione indefinitamente.Disattivando il selettore non si arresta il VI perché il selet-tore non viene letto durante l’iterazione di ciascun ciclo.

Metodo 2 (sbagliato)Spostate il terminale Loop Control all’interno del Loop 1affinché venga letto ad ogni iterazione del Loop 1, comemostrato nello schema a blocchi di figura 6. Sebbene ilLoop 1 termini correttamente, il Loop 2 non va in esecu-zione finché non riceve tutti i suoi dati d’ingresso. Il Loop1 non passa dati al di fuori del ciclo fino a quando si arre-sta, quindi il Loop 2 deve aspettare il valore finale di LoopControl, disponibile solo quando Loop 1 termina. Quindi icicli non vengono eseguiti in parallelo. Inoltre, il Loop 2viene eseguito solo per un’iterazione perché il suo termi-nale condizionale riceve un valore False dal selettore LoopControl nel Loop 1.

SoluzioneSe potete leggere il pulsante di stop da un file, non avre-te più bisogno di avere una dipendenza di flusso dei datitra i cicli, dato che ogni ciclo può accedere al file indipen-dentemente. Tuttavia, la lettura e scrittura di file puòrichiedere tempo, parlando sempre rispetto ai tempi propridel 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 diret-tamente.

C. ARCHITETTURE A PIÙ CICLIModello di progettazione a cicli paralleliAlcune applicazioni richiedono che il programma rispon-da ed avvii diversi compiti contemporaneamente. Unmodo di progettare la sezione principale di questa appli-cazione è di assegnare un ciclo differente per ogni com-pito. Per esempio, potreste avere un ciclo differente perogni pulsante sul pannello frontale e per ogni altro gene-re di compito, come una selezione di menu, sincronizza-zione di I/O e così via. La figura 7 mostra questo model-lo di progettazione a cicli paralleli.

Questa struttura è semplice e adatta per VI a menu sem-plici, in cui vi aspettate che un utente scelga tra uno didiversi pulsanti che svolgono azioni differenti. Il modellodi progettazione a cicli paralleli vi consente di gestire piùcompiti, indipendenti e contemporanei. In questo model-lo di progettazione, la risposta ad un’azione non impedi-sce al VI di rispondere ad un’altra azione. Per esempio, seun utente clicca su un pulsante che visualizza una fine-stra di dialogo, i cicli paralleli possono continuare arispondere a compiti di I/O.Tuttavia, con il modello di progettazione a cicli parallelidovete coordinare e far comunicare cicli differenti. Il pul-sante di Stop per il secondo ciclo di figura 7 è una varia-bile locale. Non potete utilizzare collegamenti per passa-re dati tra i cicli perché così facendo si impedisce ai cicli

Fig. 5 - Esempio del Metodo 1 con c ic l i in paral le lo

Fig. 6 - Esempio del Metodo 2 con c ic l i in paral le lo

Fig. 7 - Model lo d i progettaz ione a c ic l i para l le l i

Page 30: labviewworld-10

S C U O L A D I L A B V I E W

l’esecuzione in parallelo. Invece dovete utilizzare tecnichespecifiche per passare informazioni tra i processi.

Modello di progettazione Master/SlaveIl modello di progettazione Master/Slave consiste di piùcicli in parallelo. Ogni ciclo può eseguire compiti a diffe-renti velocità. Un ciclo agisce come master e gli altri ciclicome slave. Il ciclo master controlla tutti i cicli slave ecomunica con loro utilizzando tecniche di trasferimentodati, come mostrato in figura 8.

Utilizzate il modello di progettazione Master/Slave quan-do avete bisogno che un VI risponda ai controlli dell’inter-faccia utente mentre contemporaneamente raccogliedati. Per esempio, volete costruire un VI che misuri ememorizzi una tensione variabile lentamente una voltaogni cinque secondi. Il VI acquisisce una forma d’onda dauna linea di trasmissione e la visualizza su un graficoogni 100 ms. Il VI fornisce anche un’interfaccia utenteche consente all’utente di cambiare i parametri per ogniacquisizione. Il modello di progettazione Master/Slave siadatta bene a questa applicazione di acquisizione. Il ciclomaster contiene l’interfaccia utente; l’acquisizione ditensione avviene in un ciclo slave e la gestione dellaparte grafica avviene in un altro ciclo slave.Utilizzando un approccio Master/Slave per questo VI,dovreste mettere i processi di acquisizione in due WhileLoop separati, entrambi guidati da un ciclo master chericeve gli ingressi dai controlli dell’interfaccia utente.Questo garantisce che i processi di acquisizione separatinon si influenzino l’un l’altro e che ogni ritardo causatodall’interfaccia utente, come la visualizzazione di unafinestra di dialogo, non ritardi una qualsiasi iterazionedei processi di acquisizione.Anche i VI che includono un controllo beneficiano dell’u-so di modelli di progettazione Master/Slave. Considerateun VI in cui un utente controlla un braccio robotizzato amoto 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 esserecausati al braccio o all’ambiente circostante in caso dicontrollo gestito male. Per esempio, se l’utente istruisce il braccio affinché siarresti nel suo moto verso il basso, ma il programma èoccupato con il controllo del perno del braccio, il bracciorobotizzato può collidere con la piattaforma del suppor-to.Applicate il modello di progettazione Master/Slaveall’applicazione per evitare questi problemi. In questo

caso il ciclo master gestisce l’interfacciautente e ogni sezione controllabile delbraccio robotizzato ha il proprio cicloslave. Siccome ogni sezione controllabiledel braccio ha il proprio ciclo e la suaparte di tempo di elaborazione,l’interfaccia utente ha un controllo piùreattivo del braccio robotizzato.Con un modello di progettazioneMaster/Slave, è importante che i dueWhile Loop non scrivano sugli stessi daticondivisi. Assicuratevi che non più di unWhile Loop possa scrivere su una dataporzione di dati condivisi.Lo slave non deve impiegare troppo nel

rispondere al master. Se lo slave sta elaborando unsegnale proveniente dal master e il master invia più di unmessaggio allo slave, lo slave riceve solo l’ultimo mes-saggio. Questo uso dell’architettura Master/Slavepotrebbe portare ad una perdita di dati.Utilizzate un’architettura Master/Slave solo se siete certiche ogni task dello slave impieghi meno tempo del ciclodel master.

Modello di progettazione Producer/ConsumerIl modello di progettazione Producer/Consumer si basasul modello Master/Slave e migliora lo scambio dati trapiù cicli in esecuzione a differenti velocità. Simile almodello Master/Slave, il modello di progettazioneProducer/Consumer separa compiti che producono e usanoi dati a differenti velocità. I cicli in parallelo nel modello diprogettazione Producer/Consumer sono separati in duecategorie: quelli che producono i dati e quelli che usano idati prodotti. Le code di dati comunicano i dati tra i cicli. Lecode di dati bufferizzano anche i dati tra il ciclo Producer equello Consumer.

Suggerimento Un buffer è un dispositivo della memoria che memorizzadati temporanei tra i due dispositivi, o in questo caso, trapiù cicli.Utilizzate il modello di progettazione Producer/Consumerquando dovete acquisire più insiemi di dati che devono

Fig. 8 - Model lo d i progettaz ione Master/S lave

Page 31: labviewworld-10

10

S C U O L A D I L A B V I E W

essere processati in ordine.Supponete di voler realizzare un VI che accetta dati men-tre sta processando gli insiemi di dati nell’ordine in cuisono stati ricevuti. Il modello di progettazioneProducer/Consumer è ideale per questo tipo di VI perchéla formazione delle code di dati avviene molto più rapida-mente di quanto i dati possano essere processati (usati).Potreste mettere il Producer e il Consumer nello stessociclo per questa applicazione, ma la coda di elaborazionepotrebbe non aggiungere ulteriori dati fino a quando laprima parte dei dati non è stata completamente elabora-ta. L’approccio Producer/Consumer per questo VI mette incoda i dati nel ciclo Producer e processa i dati nel cicloConsumer come mostrato in figura 9.

Questo modello di progettazione consente al cicloConsumer di processare i dati alla sua andatura, mentre ilciclo Producer continua a mettere in coda dati aggiuntivi.Potete anche utilizzare questo modello di progettazioneper creare un VI che analizza la comunicazione di rete.Questo tipo di VI richiede due processi che funzionanocontemporaneamente a differenti velocità. Il primo pro-cesso interroga costantemente la linea della rete e recu-pera pacchetti. Il secondo processo analizza i pacchettirecuperati dal primo processo.In questo esempio, il primo processo agisce come Producerperché fornisce dati al secondo processo, che agisce comeConsumer. Il modello di progettazione Producer/Consumerè un’architettura efficiente per questo VI. I cicli paralleliProducer e Consumer gestiscono il recupero e l’analisi deidati off line e la comunicazione in coda tra i cicli consen-te la bufferizzazione di pacchetti di rete recuperati. La buf-ferizzazione può diventare importante quando la comuni-cazione con la rete è occupata.Con la bufferizzazione i pacchetti possono essere recupe-rati e comunicati più velocemente di quanto possano esse-re analizzati.

D. TEMPORIZZAZIONE DI UN MODELLO DI PROGETTAZIONE

Questa sessione discute due forme di temporizzazione: latemporizzazione dell’esecuzione e la temporizzazione acontrollo software. La temporizzazione dell’esecuzioneutilizza funzioni di temporizzazione per fornire al proces-sore tempo per completare altri compiti. La temporizzazio-ne a controllo software riguarda la temporizzazione diun’operazione reale da svolgere entro un periodo ditempo prefissato.

Temporizzazione dell’esecuzionePotete temporizzare un modello di progettazione esplici-tamente o sulla base di eventi che accadono nel VI. Latemporizzazione esplicita fornisce al modello di progetta-zione una funzione che fornisce specificatamente al pro-cessore il tempo di completare altri task, come la funzioneWait Until Next ms Multiple. Quando la temporizzazione èbasata sugli eventi, il modello di progettazione rimane inattesa di azioni che devono avvenire prima di continuare econsente al processore di completare altri compiti mentreè in attesa.Utilizzate la temporizzazione esplicita per modelli di pro-gettazione come Master/Slave, Producer/Consumer e mac-chine a stati. Questi modelli di progettazione effettuanouna forma di polling mentre sono in esecuzione.

Suggerimento Il polling è il processo che effettua continue richieste didati ad un altro dispositivo. In LabVIEW, questo significageneralmente che lo schema a blocchi richiede continua-mente se ci sono dati disponibili, di solito dall’interfacciautente.

Per esempio, il modello di progettazione Master/Slavemostrato in figura 10 utilizza un While Loop e una strut-tura Case per implementare il ciclo master. Il master èsempre in esecuzione e rimane in attesa di un evento diqualsiasi tipo, come la pressione di un pulsante da partedell’utente. Nel caso si presenti un evento, il master inviaun messaggio allo slave. Avete bisogno di temporizzare ilmaster affinché non prenda il controllo sull’esecuzione delprocessore. In questo caso, utilizzate tipicamente la fun-zione Wait (ms) per regolare quanto frequentemente ilmaster deve effettuare il polling. Utilizzate sempre unafunzione di temporizzazione come la funzione Wait (ms) oWait Until Next ms Multiple in ogni modello di progetta-zione sempre in esecuzione con necessità di regolazione.Se non usate una funzione di temporizzazione in unastruttura sempre in esecuzione, LabVIEW utilizza tutto iltempo del processore e i processi in background nonpossono essere eseguiti.

Fig. 9 - Model lo d i progettaz ione Producer/Consumer

Page 32: labviewworld-10

S C U O L A D I L A B V I E W

Osservate che il ciclo slave non contiene alcuna forma ditemporizzazione. L’uso delle funzioni di sincronizzazione,come Queues e Notifiers, per passare messaggi fornisceuna forma intrinseca di temporizzazione nel ciclo slave. Ilciclo slave attende che la funzione Notifier riceva un mes-saggio. Dopo che Notifier ha ricevuto il messaggio, loslave esegue le operazioni sul messaggio. Ciò crea unoschema a blocchi efficiente che non spreca cicli di proces-sore nel polling di messaggi. Questo è un esempio di temporizzazione mediante l’attesadi un evento.Quando implementate modelli di progettazione in cui la tem-porizzazione è basata sul verificarsi di eventi, non dovetedeterminare la corretta frequenza di temporizzazione perchél’esecuzione del modello di progettazione avviene solo in casodi evento. In altre parole, il modello di progettazione entra inesecuzione solo quando riceve un evento.

Temporizzazione a controllo softwareMolte applicazioni che create devono eseguire un’operazioneper un determinato intervallo di tempo. Consideratel’implementazione di un modello di progettazione con mac-chine a stati per un sistema di acquisizione della temperatura.Se le specifiche richiedono che il sistema acquisisca tempera-ture per 5 minuti, potreste rimanere nello stato di acquisizio-ne fino a quando sono passati i 5 minuti. Tuttavia, durantequel tempo non potete processare una qualsiasi azione del-l’interfaccia utente, come l’arresto del VI.Per processare queste azioni dell’interfaccia utente, doveteimplementare la temporizzazione affinché il VI continuil’esecuzione per il tempo specificato. L’implementazione diquesta temporizzazione include il mantenimento dell’esecuzio-ne dell’applicazione mentre monitora un clock in tempo reale.

In figura 11 trovate un esempio di temporizzazione a control-lo software per monitorare lo scorrere del tempo fino all’ac-quisizione del gruppo successivo di dati da parte del VI.Osservate l’uso del VI Express Elapsed Time per manteneretraccia del clock.

Se utilizzate la funzione Wait (ms) o Wait Until next msMultiple per effettuare la temporizzazione software, la funzio-ne di attesa deve finire prima che la funzione che state tem-porizzando possa essere eseguita.Queste funzioni non sono il metodo preferito perl’implementazione della temporizzazione a controllo software,specialmente per VI in cui il sistema deve continuamente starein esecuzione. Un buon modello da utilizzare per la temporiz-zazione è di far ciclare il tempo corrente attraverso il VI, comemostrato in figura 12.

La funzione Get Date/Time In Seconds, collegata al terminale sini-stro del registro a scorrimento, inizializza il registro a scorrimen-to con il tempo corrente del sistema. Ogni stato utilizza un’altrafunzione Get Date/Time In Seconds e confronta il tempo corren-te con quello iniziale. Se la differenza tra questi due tempi è supe-riore o uguale al tempo di attesa, lo stato completa l’esecuzionee il resto dell’applicazione viene eseguita.Utilizzate sempre la funzione Get Date/Time In Seconds inve-ce della funzione Tick Count per questo tipo di confronto per-ché il valore della funzione Tick Count può ritornare a 0 duran-te l’esecuzione.

Fig. 10 - Model lo d i progettaz ione Master/S lave

Fig. 11 - Ut i l i zzo del VI E lapsed Time Express

Fig. 12 - Temporizzaz ione soft ware che ut i l i zza la funzioneGet Date/Time In S econds

Rea

ders

ervi

ce.i

t n

. 102

4

Page 33: labviewworld-10

10

S C U O L A D I L A B V I E W

PIANIFICAZIONEDEL SISTEMA (PARTE III)

C. STANDARD DI STILE E CODIFICA PER UN AMBIENTE DI SVILUPPO IN TEAM Quando più sviluppatori lavorano su un progetto, gliapprocci incoerenti allo sviluppo ed alla creazione di inter-facce utente possono essere un problema. Ogni sviluppa-tore ha infatti propri stili di sviluppo, preferenze di colori,tecniche di visualizzazione, abitudini di documentazione emetodologie di schemi a blocchi. Per esempio, quando sicreano variabili globali, uno sviluppatore potrebbe crearepiù variabili globali, ciascuna con un solo oggetto sul pan-nello frontale, mentre un altro potrebbe preferire unavariabile globale con più oggetti sul pannello frontale.Le tecniche di stile incoerenti creano software che non haun aspetto professionale. Se i VI hanno comportamenti dif-ferenti per lo stesso pulsante, gli utenti possono essereconfusi e trovare l'interfaccia utente dei VI difficile dausare. Per esempio, se un VI richiede che l'utente clicchi unpulsante quando porta a termine un task e un altro VIrichiede che l'utente usi un tasto funzione della tastieraper segnalare il completamento del task, l'utente puòessere confuso sul da farsi.Uno stile incoerente rende anche difficile da manutenere ilsoftware. Per esempio, se uno sviluppatore non ama utiliz-zare i subVI e decide di sviluppare tutte le caratteristichecon un singolo grosso VI, sarà difficile modificare quel VI.Stabilite un set iniziale di linee guida per il vostro team disviluppo ed aggiungete regole addizionali mano a manoche il progetto progredisce. Potete utilizzare queste lineeguida di stile anche nei progetti futuri.L'argomento LabVIEW Style Checklist del LabVIEW Helpfornisce alcune raccomandazioni di stile, da utilizzarequando si lavora su progetti LabVIEW. Utilizzate tali sug-gerimenti come base per sviluppare il vostro stile persona-le. Per creare uno stile customizzato che si adatti alle spe-cifiche del vostro progetto, aggiungete, rimuovete o modi-ficate le linee guida fornite.Creare un singolo standard per lo stile di sviluppo in qual-siasi linguaggio di programmazione è molto difficile, per-ché ogni sviluppatore ha il proprio stile di sviluppo.Selezionate quindi un set di linee guida che vada bene pervoi e il vostro team di sviluppo e fate in modo che tutti

seguano tali linee guida.Qui sotto descriviamo alcune raccomandazioni che poteteutilizzare per creare le vostre linee guida di stile.Convenzioni sui nomiQuando sviluppate dei VI, dovete fare attenzione a comedenominate tali VI. Per esempio, se utilizzate nomi comeParser.vi, Analyze Waveform.vi, Handle Errors.vi o GetData.vi, è quasi certo che un nome come questo corri-sponderà a quello di un VI in dotazione con LabVIEW.Pertanto, è importante utilizzare nomi di VI che sianodescrittivi e unici. Un metodo comune è quello di aggiun-gere un prefisso unico all'inizio del nome di ogni VI. Unaraccomandazione è quella di creare un acronimo per ilprogetto ed utilizzare l'acronimo come prefisso per ivostri VI.Per esempio:VI di livello superiore: un acronimo di 2 o 3 lettere, tuttemaiuscole, più uno spazio, quindi il nome del VI. Per esem-pio, 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 fileOrganizzate i VI nel file system in modo da riflettere lanatura gerarchica del software. Rendete direttamenteaccessibili i VI di livello superiore. Mettete i subVI in subdi-rectory e raggruppateli in modo da riflettere eventuali com-ponenti modulari che avete progettato, come driver perstrumentazione, utility di configurazione e driver di I/O.Limitate il numero e i livelli di directory che utilizzate in unprogetto.Per ogni particolare VI, LabVIEW salva ciascun subVI comepercorso relativo dal VI principale.Quando aprite un VI, LabVIEW utilizza prima di tutto que-sti percorsi relativi per localizzare i subVI. Se i VI non sononella posizione prevista, LabVIEW cerca i VI nelle posizionielencate nell'impostazione VI Search Paths. Per configu-rare i percorsi di ricerca dei VI, selezionate Tools»Optionse selezionate Paths nell'elenco Category.Se LabVIEW non è in grado di trovare il VI nella posizioneprevista o in uno dei percorsi di ricerca, avverte l'utente di

Training per espertiA

cu

ra d

i M

att

eo

Fo

ini

Page 34: labviewworld-10

S C U O L A D I L A B V I E W

localizzare il VI stesso. Se i VI non sono stati trovati nei per-corsi di ricerca previsti, LabVIEW vi notifica i cambiamentirilevati mettendo un asterico vicino al nome del VI nellabarra titolo della finestra.

Se salvate il VI, vengono salvati anche i percorsi dei file relati-vi. Ogni volta che salvate un VI, vengono salvati anche i per-corsi relativi. Se aprite un VI e utilizzate File»Save As per sal-vare una copia in una nuova directory, sono salvati anche ipercorsi agli stessi subVI relativi alla nuova posizione.Ricordate che, dopo avere utilizzato File»Save As, la versio-ne del VI che state visualizzando in LabVIEW è la nuova copiache avete appena creato. LabVIEW salva gli eventuali cambia-menti successivi nella nuova copia. Se in seguito doveste apri-re ancora la copia, verrebbero cercati i percorsi relativi primadi cercare i subVI nella sua directory. E' per questo che i VIqualche volta puntano a copie dei subVI nel posto sbagliato.Potete creare una copia di un'applicazione indipendente dallealtre versioni nei modi seguenti.Nel Project Explorer, cliccate con il tasto destro su BuildSpecifications e selezionate New»Source Distribution percreare una distribuzione di sviluppo in una nuova posizione.Usate un'utility di trasferimento file come WindowsExplorer, File Manager o il Library Manager di LabVIEW percopiare i file senza aprirli in LabVIEW.Se avete già una versione della vostra applicazione che puntaalla posizione sbagliata, potete sostituire manualmente i VI

maldiretti con le copie che desiderate. Selezionate View»VIHierarchy, quindi selezionate View»Full VI Path in Label persostituire manualmente i VI. Se l'errore di direzione è frequen-te, potete scegliere di correggere il problema spostando

l'intera copia dell'applicazione in una nuovaposizione utilizzando un'utility di trasferimentofile come Windows Explorer. In questo modo, ipercorsi relativi non puntano più ai VI nella vec-chia directory e LabVIEW cerca i subVI nellastessa directory del VI che avete aperto.Ricordate che dovete salvare nuovamente il VIper mantenere i cambiamenti.Percorsi simboliciUn percorso simbolico funziona come una varia-bile che si espande in un nome di percorso com-pleto. Usate un percorso simbolico per un per-corso che potrebbe cambiare, per esempio, acausa del luogo di installazione di LabVIEW. Ipercorsi simbolici sono chiamati anche percorsirelativi. Potete specificare un percorso simboliconelle sezioni Default Data Directory e VISearch Path della pagina Paths dell’area didialogo Options o nel campo Help Paths sullapagina Documentation Properties.LabVIEW converte un percorso simbolico in unpercorso assoluto in fase di runtime.Il seguente elenco definisce ogni percorso sim-bolico.<osdatadir> - Fa riferimento al percorso alladirectory di default sul sistema operativo.Utilizzate questo percorso simbolico quando

impostate il VI Search Path sulla pagina DocumentationProperties.<topvi> - Fa riferimento alla directory che contiene il VI dilivello superiore che LabVIEW sta aprendo. Questo percorsosimbolico è disponibile solo quando impostate il VI SearchPath sulla pagina Paths.<foundvi> - Fa riferimento ad un elenco di tutte le directorydove avete in precedenza situato un subVI.Durante una ricerca, LabVIEW aggiunge a tale elenco tutte ledirectory nelle quali LabVIEW trova un subVI.<foundvi> vi aiuta a localizzare una directory di VI che è stataspostata o rinominata. Quando aprite un VI che chiama unaltro VI che è stato spostato, dovete trovare quella directoryuna sola volta, quindi LabVIEW aggiunge questo percorsoall'elenco delle directory. Questo percorso simbolico è disponi-bile solo quando si imposta il VI Search Path sulla paginaPaths.<vilib> - Fa riferimento alla directory vi.lib nella directory<labview>. Utilizzate questo percorso simbolico quandoimpostate il VI Search Path sulla pagina Paths.<userlib> - Fa riferimento alla directory user.lib nella direc-tory <labview>. Utilizzate questo percorso simbolico quando

Fig 1

LabVIEW vi notifica se i VI nonono stati trovati nei percorsielativi previstiSe il VI punta alla posizionebagliata, potete sostituire

manualmente i VI con il VIHierarchy window

Selezionate View»Full VIPath in Label

Fig 2

Page 35: labviewworld-10

10

S C U O L A D I L A B V I E W

impostate il VI Search Path sulla pagina Paths o l'Help pathsulla pagina Documentation Properties. Per utilizzare que-sto percorso simbolico, immettete <userlib>:\ quindi il nomedel file o il percorso e il nome del file verso il file di help.<instrlib> - Fa riferimento alla directory instr.lib nella direc-tory <labview>. Utilizzate questo percorso simbolico quandoimpostate il VI Search Path sulla pagina Paths o l'Helppath sulla pagina Documentation Properties. Per utilizza-re questo percorso simbolico, immettete <instrlib>:\ quindi ilnome del file o il percorso e il nome del file verso il file di help.<helpdir> - Fa riferimento alla directory di help nella direc-tory <labview>. Utilizzate questo percorso simbolico quan-do impostate l'Help path sulla pagina DocumentationProperties. Per utilizzare questo percorso simbolico, immet-tete <helpdir>:\ quindi il nome del file o il percorso e il nomedel file verso il file di help.Esempio:

Alcune funzioni possono accettare percorsi simbolici, come lefunzioni Online Help in LabVIEW.Notate che il percorso simbolico <helpdir> lancia da pro-gramma il sistema di help online, come illustrato sopra.Stile coerenteMolte applicazioni contengono aree di dialogo e interfacceutente. Implementate standard e coerenza per lo sviluppo diaree di dialogo, interfacce utente e schemi a blocchi.Considerate le linee guida di stile come guida per le vostre esi-genze di sviluppo.Create un elenco di controllo per riesaminare lo stileEsempio• Verificare che il tasto <Enter> sia assegnato ad un pulsan-te intuitivo.• Verificare l'ordine di tabulazione. L'ordine di tabulazionedeve andare dall'alto al basso e da sinistra a destra.• Il colore di sfondo della finestra è System»Panel and

Object.• Il testo usa il font Dialog.• Le aree di dialogo che richiedono impostazioni hanno pul-santi OK, Cancel e Help • Le aree di dialogo che visualizzano informazioni hanno pul-santi Cancel e Help• Lo scorrimento sullo schema a blocchi è limitato a unadirezioneCreate un elenco di controllo per riesaminarel'interfaccia utente.Ai punti precedenti potete aggiungere i seguenti elementiall'elenco di controllo del vostro progetto.• I pulsanti che lanciano un'altra area di dialogo dovel'utente continua l'inserimento di informazioni per il suotask corrente dovrebbero terminare con “...”.• Scrivete con lettere maiuscole tutte le parole, inclusi gliaggettivi, per intestazioni, titoli, pulsanti e anelli di opzione.• Scrivete con lettere maiuscole solo la prima lettera dietichette, 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 aSkip 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 23pixel (altezza), separati di 6 pixel.• Le dimensioni della finestra non devono superare 800 x600.• L'interfaccia utente del VI viene visualizzata correttamen-te in Linux e Macintosh OS X.

Stile e standard delle aree di dialogoStabilire standard per le aree di dialogo assicura che ilprodotto che sviluppate abbia un 'look and feel' coeren-te. Considerate i suggerimenti seguenti:• Lo sfondo del pannello utilizza il colore System»Paneland Object.• I controlli sono controlli System quando appropriato.• Le decorazioni System raggruppano componenti similio correlati.• Le etichette poste sopra le decorazioni System usanoun colore di primo piano trasparente ed un colore di sfon-do System Window.• Le aree di testo usano un colore di primo piano SystemWindow Text ed un colore di sfondo System Window.• I bordi delle aree di dialogo dovrebbero avere una lar-ghezza di sei pixel.• I pulsanti delle aree di dialogo dovrebbero esseredistanziati regolarmente, lasciando uno spazio di sei pixelfra loro.• I pulsanti delle aree di dialogo dovrebbero avere unalarghezza di 75 pixel ed un'altezza di 23.

Fig 3 - S e lez ionate View»Ful l V I Path in Labelre

ader

serv

ice.

it n

. 102

5

Page 36: labviewworld-10

cognome nome

azienda posizione aziendale

settore

indirizzo

città prov cap

e-mail tel fax

Consenso ai sensi dell’art. 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 ACCETTOEsprimi/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

VforM - Vision for Manufacturing è la quarta mostra convegno dedicata alla tecnologia della visione artificiale. Organizzato con il contributo delle riviste SdA-Soluzioni di Assemblaggio, Automa zione Oggi e Automazione e Strumentazione.

L’evento 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 FederazioneANIE (Confindustria), di AIdA-Associazione Italiana di Assemblaggio,di SIRI-Associazione Italiana di Robotica e Automazione, del Polo della Roboticadi Genova e con il patrocinio di EMVA - European Machine Vision Association.

VforM si rivolge a pro get tisti, system inte gra tor, responsa bili e tecnici della pro duzione che neces sitano di risolvere proble ma tiche in ambito manifatturierolegate a: ispezione e con trollo della quali tà, guida robot, rilevamento pre senza,posizione e orien tamento, controllo dimensionale, identi fica zione e OCR ecc.

La mostraIn uno spazio specifico sarà allestitaun’esposizione a cura delle aziendepartecipanti, in cui sarà possibile “toccarecon mano” l’attuale offerta commerciale.

Il convegnoNel corso della giornata si susseguirannoseminari tecnici tenuti dalle aziende esposdella durata di 30 minuti ciascuno.

I contenutiIl programma, l’agenda e i titoli dei seminari saranno aggiornati, man mano che verranno confermati, sul sito www.ilb2b.it/vm

Per aderireon line all’indirizzo www.ilb2b.it/vm e via fax compilando il coupon allegatoe inviandolo allo 02.36.6092.515

La partecipazione ai seminari e alla mostra è gratuita, così come la documentazione e il buffet.

Per informazioniTel. 02.36.6092.511Fax. 02.36.6092.515Email: [email protected]: 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.

Con i mezzi pubbliciDa Famagosta (Metropolitana linea 2 veautobus 95 in direzione Rogoredo, 4a fermata Via Lampedusa. Autobus 65 (capolinea Piazza S. Babila/Corso Europfino a Piazza Agrippa (capolinea). Autob79 (capolinea P.ta Lodovica) fermata ViBazzi, incrocio Via G. da Cermenate.

IN COLLABORAZIONE CON: ORGANIZZATO DA:

11 GIUGNO 2009

GIOVEDÌ 11 GIUGNO I 2009CENTRO CONGRESSI QUARK HOTEL MILANO

Page 37: labviewworld-10

10

D A L L A C A R T A A L W E B

HTTP://WWW

Gmail usando LabVIEW

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/ita l ian infocode: i t j2e3

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/ita l ian infocode: i t j2e3

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/ita l ian infocode: i t j2e3

Q u a n d o l e n o s t r e p a g i n e n o n b a s t a n o, l ' e n o r m e s e r b ato i o d e l we b p u ò d a r e u n a m a n o.

S u u n a r i v i s t a c a r t a c e a , a n c h e l a p i ù vo l u m i n o s a , s a r e b b e i m p o s s i b i l e t r at t a r e p e r

e s te s o t u t t i g l i a r g o m e n t i r e l at i v i a L a b V I E W. I n m o l t i c a s i , t u t t av i a , s u l we b s o n o

d i s p o n i b i l i a r t i c o l i e s a u s t i v i o a l t r i d o c u m e n t i , a c u i r i m a n d i a m o i l e t to r i i n te r e s s at i .

Page 38: labviewworld-10

D A L L A C A R T A 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 Edit»Run-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/ita l ian infocode: i t j2e3

Riprodurre file in Windows Media Player usando ActiveX in LabVIEW

Questo VI d’esempio 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/ita l ian infocode: i t j2e3

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/ita l ian infocode: i t j2e3

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/ita l ian infocode: i t j2e3

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

ni .com/ita l ian infocode: i t j2e3

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:

Page 39: labviewworld-10

10

L A V O C E D E G L I U T E N T I

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

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

R icky

Toolbar personalizzate

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

Ho bisogno di aiuto con i file!!!

Page 40: labviewworld-10

L A V O C E D E G L I U T E N T

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" par te 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 proper ty 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 Proper ty 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 Proper ty Node "Disable".Ciao!

MagicBotolo

TexWil ler

Paolo75

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

Fate sentire la vostra voceStiamo 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 LabVIEWWorld! 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

Page 41: labviewworld-10

10

E V E N T I

SERVIZI HARDWARE

NATIONAL INSTRUMENTS: SEMPRE PIÙ INDISPENSABILI

Ormai trent'anni fa Ken Olsen, il fondatore di DigitalEquipment Corporation, affermò: "Non vedo perchéuna persona debba tenere un computer a casa".

Trent'anni dopo tale esclamazione i personal computer rive-stono un ruolo di fondamentale importanza nelle nostre viteed è difficile immaginare come, nel passato, siamo riusciti avivere senza. L’esperienza insegna: spesso ciò che sembrasuperfluo nell’immediato può dimostrarsi indispensabile infuturo. National Instruments immette sul mercato prodotti dialta qualità nei settori di test, misura e automazione. Questiultimi sono sottoposti a rigorosi test ed ispezioni prima diessere commercializzati. I prodotti possono però essere ricali-brati o riparati anche in seguito. I Servizi Hardware di NationalInstruments sono stati pensati per proteggere gli investimentidei propri clienti, risparmiando o predeterminando gli even-tuali costi e fermo macchina. In particolar modo, quest'ultimopunto gioca un ruolo chiave per molte aziende. Il fermo mac-china durante le prove di fine linea, per esempio, potrebbearrecare un danno all'azienda ben superiore ai costi reali di ripa-razione dei prodotti acquistati. Dall’esperienza di trent'anni diattività e continuo confronto con le necessità lavorative dei pro-pri clienti, NI offre la possibilità di prevedere ed evitare costiimprevisti causati da fermo macchina.

Contratti di manutenzioneI contratti di manutenzione hardware garantiscono il minor tem-po possibile di fermo macchina a seguito di un guasto o duran-te le fasi di ricalibrazione dei prodotti. La soluzione In-House delcontratto garantisce la spedizione del prodotto sostitutivo intempi definiti, entro le 24 ore dal giorno lavorativo successivoalle prove con il nostro supporto tecnico ed alla comunicazionevia fax da parte del cliente. La soluzione On-Site prevede che untecnico di NI si rechi presso il cliente per la diagnosi, la sostitu-zione del prodotto guasto ed il test del sistema.

Calibrazione Come ogni strumento di misura, alcune apparecchiature di NIrichiedono la calibrazione periodica rispetto alle tabelle speci-fiche di accuratezza del prodotto. La calibrazione garantisce laripetibilità e l’accuratezza delle misure effettuate nel ciclo vitadel sistema. La calibrazione annuale spesso è un servizio

necessario al rispetto di normative e/o procedure della qualitàinterne dell’azienda.

Estensione di garanzia Se non avete problemi di fermo macchina, l’estensione digaranzia vi permette di evitare eventuali costi di riparazionefuori garanzia. Se il ciclo di vita del sistema o del progetto lorichiede, per alcune linee di prodotto puoi valutarel’estensione di garanzia per più anni.

Riparazioni standard Se il prodotto è fuori garanzia, il costo della riparazione è parial 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 standardprevede l’invio del prodotto guasto presso il nostro centroriparazioni. In questo caso non garantiamo alcun prodottosostitutivo durante il periodo di riparazione.

Ezi

o A

vall

i

read

erse

rvic

e.it

n. 1

063

L’appuntamento con la A maiuscola nel mondo del la Strumentazione Vi r tuale

Note sull'autoreEzio Avalli è Service Manager Sales Operations di NationalInstruments Italy

Page 42: labviewworld-10

cognome nome

azienda posizione aziendale

settore

indirizzo

città prov cap

e-mail tel fax

Consenso ai sensi dell’art. 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 ACCETTOEsprimi/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

La mostraIn uno spazio specifico sarà allestita un’esposi zione a cura daziende partecipanti, in cui sarà possibile “toccare con manol’attuale offerta commerciale.

Il convegnoNel corso della giornata si susseguiranno seminari tecnici tendalle aziende espositrici della durata di 30 minuti ciascuno.

I contenutiIl programma, l’agenda e i titoli dei seminari sarannoaggiornati, man mano che verranno confermati sul sitowww.ilb2b.it/control

Per aderireon line all’indirizzo www.ilb2b.it/control oppure via facompilando il coupon allegato e inviandolo allo02.36.6092.515. La partecipazione, ai seminari e allamostra è gratuita, così come la documentazione e il buf

Per informazionie-mail: [email protected]: www.ilb2b.it/controlTel. 02.36.6092.511 - Fax. 02.36.6092.515

Come arrivare Sheraton Hotel Nicolaus BARI• IN AUTOMOBILE:

L’albergo è situato in un moderno quartiere residenzialeridosso delle più importanti arterie stradali. Dall'AutostraA14 uscire a Bari Nord. Seguire le indicazioni per BrindiLecce. Prendere l’uscita 11 “Poggiofranco” e seguire leindicazioni per l’hotel. Dista 1,5 Km dal Centro Storico, dall’aeroporto e 6 Km dalla stazione ferroviaria

Palacongressi RIMINI• IN AEREO:

L'Aeroporto Federico Fellini si trova nelle immediate vicdegli alberghi e dei centri congressi. L'AeroportoInternazionale di Rimini è collegato con voli di linea regocon Roma Fiumicino e con altri aeroporti internazionali.L'Aeroporto di Bologna si trova a circa 100 km d'autostda Rimini ed è raggiungibile in un'ora, anche mediantenavette disponibili a richiesta.

• IN AUTO:Rimini è collocata lungo l'Autostrada A14, che la collegadirezione Nord con Bologna e Milano e in direzione Sud Bari. Quattro uscite autostradali: Rimini Nord, Rimini SudRiccione e Cattolica. Con la A14 da Rimini si raggiungecomodamente la A4 per Venezia e la A22 per il passo deBrennero. E altrettanto comodamente si raggiunge la A1Firenze, Roma, Napoli.

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

Orariodalle ore 9.00 alle ore 17.00

MERCOLEDÌ 23 SETTEMBRE I 2009

MARTEDÌ 29 SETTEMBRE I 2009 Palacongressi RIMINI

Sheraton Hotel Nicolaus BARI

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 tecnolo-

gie più attuali per l’automazione 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 italia-

no 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.

L’evento, 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 del-

la comunicazione, del controllo, della presentazione e della supervisione, le

cui tecnologie non possono vivere nell’azienda se non a stretto contatto tra

loro e come base indispensabile per la gestione dei livelli più elevati.

ORGANIZZATO DA:

Settembre 2009 I RIMINI

Settembre 2009 I BARI

Page 43: labviewworld-10

CRISI 0 – NIDAYS 1

Si è svolta mercoledì 25febbraio 2009, presso ilCentro Congressi

Milanofiori di Milano, la sedice-sima edizione italiana diNIDays. Anche quest’anno, laforte adesione alla data italia-na dell’annuale conferenzamondiale dedicata allaProgettazione Grafica diSistemi ha confermato l’elevatointeresse degli addetti ai lavorie del mondo accademico perquesto appuntamento. Sonostati infatti oltre 500 i visitatoritra ingegneri, tecnici, sviluppa-tori e professori, desiderosi discoprire gli ultimi sviluppi neisettori del controllo, del design,dell’automazione, della misurae dell’acquisizione dati, che hanno partecipato alle confe-renze e alle sessioni tecniche organizzate nel corso dellagiornata ed hanno visitato l’area espositiva di 1.000 m2 ele 33 postazioni dimostrative. Alla conclusione dei lavori,Lino Fiore, Direttore Generale di National InstrumentsItaly, ha voluto celebrare i primi 20 anni di attività dellafiliale condividendo con i partecipanti alcuni ricordi eavvenimenti salienti di questa avventura italiana.Particolare rilievo è stato dedicato alla possibilità di met-tere alla prova le proprie conoscenze. Per la prima volta i partecipanti di NIDays 09 iscritti all’e-same hanno potuto sostenere la certificazione Clad(Certified LabVIEW Associate Developer) gratuitamente indue sessioni promeridiane. Oltre il 50% degli esaminandiè riuscito ad ottenere la certificazione Clad. Per maggioriinformazioni sulla certificazione è possibile visitare lapagina web ni.com/training/i.Anche le Prove pratiche di automazione su piattaformaPAC CompactRIO e LabVIEW, di acquisizione dati conLabVIEW e NI CompactDAQ e di visione artificiale hannorappresentato un’occasione importante di esercitazione edaggiornamento per chi volesse provare le piattaformeNational Instruments nel proprio settore di interesse.

Le conferenze La sessione plenaria - apertasi con la keynote di John Hanks,Vicepresidente Industrial Embedded di National InstrumentsCorporation, Matteo Bambini, Marketing Manager, FabioCortinovis, Area Sales Manager e Roberto Isernia, TechnicalMarketing Leader, di National Instruments Italy, ha affronta-to il tema dell’innovazione in tempi di crisi, introducendo ilconcetto di 'lean innovation' o innovazione snella (mutuan-do il termine da lean manufacturing), ovvero la capacità dirisposta e reazione in tempi di difficoltà con idee nuove intempi rapidi per ridurre i tempi di progettazione ed il time-to-market, con una panoramica sullo stato dell’arte e sulleultime tendenze tecnologiche della Progettazione Grafica diSistemi. A seguire, Franco Anzioso del Centro Ricerche FIAT di Torinoha illustrato il caso Hegel, un esempio di applicazione avan-zata di ingegneria verde per la generazione distribuita dienergia ad alta efficienza. Nel pomeriggio è stato dato spa-zio all’aspetto pratico: sei moduli composti da quattro ses-sioni tecniche ciascuno si sono svolte in parallelo per dare lapossibilità ai partecipanti di condividere esperienze e con-frontarsi su problematiche comuni sulla base delle proprieesigenze di aggiornamento e formazione.

Na

dia

Alb

are

llo

10

R E P O R T

Aff luenza record a NIDays 09: anche in tempo di c r i s i le oppor tunità d i aggiornamento

giocano la par te del leone

read

erse

rvic

e.it

n

. 106

7

Page 44: labviewworld-10

Fiera Milano SpaTel. +39 02 4997.1 | Fax +39 02 4997.7963Numero Verde 800-820029www.fieramilano.it

FIERA MILANOTHE BUSINE SS PLANET

Page 45: labviewworld-10

10

A P P U N T A M E N T I

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 IMilano: 22-24 giugno

13-15 luglio

21-23 settembre

Roma: 28-30 settembre

Padova: 16-18 giugno

LABVIEW BASE IIMilano: 25-26 giugno

16-17 luglio

24-25 settembre

Padova: 23-24 giugno

LABVIEW INTERMEDIATE IMilano: 6-8 luglio

LABVIEW INTERMEDIATE II Milano: 9-10 luglio

LABVIEW ADVANCED IMilano: 17-19 giugno

LABVIEW COMPACTRIOMilano: 15-17 giugno

LABVIEW DAQMilano: 29-30 giugno

7-9 luglio

28-30 settembre

Roma: 22-24 giugno

LABVIEWVisione 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:

[email protected]

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: [email protected]

ROMA

presso Pick Center Piazza Marconi 15, 00192 – - Tel.: 02-

41309217, Fax: 02-41309215 - Email: [email protected]

NOVITÀ SULLA FORMAZIONE!

CORSI DI FORMAZIONE TEMATICI SULLEMISURE CON L’UTILIZZO DEL PERSONALCOMPUTERNational Instruments ha ampliato l’offerta formativa

disponibile con una serie di corsi orientati alle tematiche

dedicate ai metodi di misura tramite l’utilizzo di

strumentazione basata su Personal Computer. Tali corsi hanno

l’obiettivo di spiegare le basi teoriche delle diverse misure

tramite l’uso 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.

LA MISURA CON IL SUPPORTO DEL PERSONALCOMPUTERCorso 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 l’utilizzo del PC.

CORSO SPECIALISTICO: MISURE ELETTRICHECON 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 l’utilizzo 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.

CORSO SPECIALISTICO: MISURETERMOTECNICHE CON IL SUPPORTO DELPERSONAL 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.

Page 46: labviewworld-10

CORSO BASE DI ACUSTICA E VIBRAZIONIQuesto corso ha l’obiettivo 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

CORSO AVANZATO DI ACUSTICA E VIBRAZIONIQuesto corso è la naturale estensione del corso di base ed ha

l’obiettivo 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: 11 giugno

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 l’istruttore 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

LabVIEW Intermediate I online: 9-12 giugno

TestStand online: 14-17 luglio

LabVIEW Intermediate II online: 14-16 luglio

LabVIEW Base I online: 15-18 settembre

LabVIEW Base II online: 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.

ALTRI APPUNTAMENTI

MOSTRE CONVEGNOVFM - VISION FOR MANUFACTURING

Mostra-Convegno focalizzata sulla tecnologia della

visione artificiale

Milano: 11 giugno

C2 – CONTROL AND COMMUNICATION

Mostra-Convegno focalizzata sulle sulle tecnologie più

attuali per l’automazione distribuita, sulla

comunicazione in campo e a bordo macchina

Rimini: 23 settembre

Bari: 29 settembre

FIEREENERMOTIVE

Manifestazione internazionale dedicata al Power e al

Factory

Milano: 26-30 maggio

AUTOMOTIVE TESTING EXPO

Stoccarda: 15-18 giugno

SENSOR + TEST

Norimberga: 26-28 maggio

EVENTI NATIONAL INSTRUMENTSVIRTUAL AUTOMATED TEST SUMMIT

www.ni.com/testsummit/i: 10 maggio

FORUM AEROSPAZIO E DIFESA 09

ni.com/italy/aerospace

Roma: 28 maggio

LABVIEW DAYS

ottobre, novembre

Verificate il calendario aggiornato degli eventi National

Instruments alla pagina web ni.com/italy/eventi

A P P U N T A M E N TA P P U N T A M E N T

Page 47: labviewworld-10

10

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

AAA Conoscete bene LabVIEW? Date un’occhiata alle offerte di lavoro che abbiamo selezionato da ILVG.it…

RICERCHIAMO

PROGETTISTA FW/SW SENIOR

Candy Elettrodomestici, leader nel mercato

dell'elettronica bianchi. Rispondendo diretta-

mente al Responsabile Sviluppo Elettronica, il

candidato ideale avrà le seguenti responsabi-

lità:- provvedere allo sviluppo ed alla modifi-

ca di software e firmware per sistemi

Embedded destinati a controlli elettronici per

elettrodomestici - sviluppare prevalentemen-

te in linguaggio C ed a seconda delle esigen-

ze, nei linguaggi C++, VB, LabVIEW ed

Assembler - eseguire i test funzionali sul

FW/SW sviluppato mantenendo

l’aggiornamento della documentazione tec-

nica - coordinare lo sviluppo SW/FW dei forni-

tori esterni, garantendone la compatibilità

con l’architettura e gli standard interni - rac-

cogliere e verificare la documentazione dei

fornitori esterni garantendone la completez-

za e la qualità.

Laureato in Ingegneria o con cultura equiva-

lente, il candidato dovrà aver maturato alme-

no 4 anni di esperienza nello sviluppo FW per

sistemi Embedded in ambiente di progetta-

zione 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

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 compren-

sione delle specifiche tecniche; realizzazione

del software di competenza; rispetto degli

standard e delle metodologie di sviluppo;

esecuzione dei casi di test; gestione e suppor-

to al rilascio in produzione; gestione della

documentazione sulle attività di sviluppo; inte-

grazione dei software in ambienti eterogenei.

Profilo del candidato: laurea in discipline tec-

nico-scientifiche; 1-2 anni di esperienza nel

ruolo; esperienza nella realizzazione di appli-

cativi orientati al testing; spiccate doti di pro-

blem-solving e sintesi. Conoscenza della lin-

gua inglese: conoscenze tecnico – professio-

nali. Sistemi Operativi: Windows, Linux.

Linguaggi di programmazione: C, C-like; siste-

mi 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 dell’autorizza-

zione al trattamento dei dati ai sensi del DLgs

196/03 a [email protected] citando COR-

SERA SV-TEST/RM/AL 733

I dati saranno trattati e conservati secondo le

finalità indicate nell'informativa allegata, garan-

tendo i diritti di cui all'art.13 del DLgs 196/03.

Tipo contratto: Assunzione a tempo indeter-

minato

Sede di lavoro: Provincia di Roma

Data di pubblicazione: 27/03/2009

www.aizoon.it

INGEGNERE ELETTRONICO JUNIOR

Per nostro cliente, azienda leader nella produ-

zione 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 proble-

matiche elettroniche applicate alle macchine:

hardware, firmware e software; parteciperà

direttamente e operativamente allo sviluppo

delle tecnologie elettroniche e a quello delle

macchine (supporto all’esecuzione delle

prove, formalizzazione degli stati di avanza-

mento, validazione prototipi, …).

Il candidato ideale ha i seguenti requisiti: lau-

rea in Ingegneria Elettronica; esperienza spe-

cifica nel campo dell’elettronica applicata alle

macchine.

Costituiranno titolo di preferenza: - la cono-

scenza delle logiche di programmazione soft-

ware LabVIEW, LabWindows/CVI, sistemi real-

time, Visual C/ C++; - la conoscenza delle

logiche di programmazione firmware e dei

relativi linguaggi; - brevi esperienze pregres-

se con ruoli tecnico-trasversali.

L’azienda offre un contratto a tempo indeter-

minato, nonché un ambiente stimolante, con

ottime opportunità di crescita professionale.

Gli interessati possono inviare CV al seguente

indirizzo mail: [email protected]

o via fax allo 02/20402953, specificando il RIF.

EDJ

I dati saranno trattati secondo la legge

196/03.

Tipo contratto: Contratto a tempo indetermi-

nato

Sede di lavoro: Cernusco sul Naviglio (MI)

Data di pubblicazione: 26/03/2009

www.consulemme.com

RESPONSABILE INDUSTRIALIZZAZIONE - RIF.

RH478/08

Per azienda operante nel settore della com-

ponentistica 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é dell’indu-

strializzazione del prodotto.

Esperienza lavorativa: la risorsa ha maturato

un'esperienza significativa nella progettazio-

ne meccanica nel settore oleodinamico, cono-

sce i software Inventor e LabVIEW e possiede

una buona conoscenza della lingua inglese.

Page 48: labviewworld-10

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

Completano il profilo dinamismo, determi-

nazione e intraprendenza, ottima capacità

di lavoro in autonomia e spiccate doti di pro-

blem-solving.

Titolo di studio: diploma o laurea in inge-

gneria meccanica

Lingue conosciute: inglese buono

Tipo contratto: Contratto a tempo indeter-

minato

Sede di lavoro: Milano Ovest

Data di pubblicazione: 24/03/2009

www.incontro-lavoro.it

NEO INGEGNERE ELETTRONICO

Page Personnel: Il nostro cliente è una pri-

maria società operante in ambito

Aerospaziale. Requisiti: laurea in

Ingegneria Elettronica, preferibile

un'esperienza di stage. Si richiedono espe-

rienza nell'utilizzo di strumentazione di

laboratorio, in particolare Network

Analyzer, la conoscenza di metodologie di

quality assurance e testing in ambito elet-

tronico. Competenze software tecnico (es.

LabVIEW) costituiscono titolo preferenzia-

le. La disponibilità a viaggiare e conoscen-

za della lingua inglese, a capacità di lavora-

re 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 radio-

frequenza. La capacità di saper effettuare

misure e utilizzare strumentazione RF /

banchi di collaudo automatici è importan-

te. Laurea triennale in Elettronica è il titolo

minimo, background tecnico costituisce un

vantaggio. Il contratto iniziale è a tempo

determinato con possibilità di trasforma-

zione 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

TEST ENGINEERS Ref. DKIT25948

Our client is looking for a Test Engineer to be

responsible for developing and implemen-

ting various methods of testing systems and

equipment.

Skill Required : A degree in

Engineering or Computer Science (prefe-

rably 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 [email protected]

Discipline: IT and Telecommunications

Country: based in Denmark

Data di pubblicazione: 19/03/2009

www.chronosconsulting.com

APPLICATION ENGINEER - STAGE

La figura dell’AE all’interno 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 soft-

ware (es. LabVIEW) e hardware (es. Schede

DAQ, Sistemi di condizionamento segnali,

PXI Bus, strumenti di misura on-board) in

continua evoluzione, e conoscere pertanto

un’ampia gamma di soluzioni proposte nel

mondo del test, collaudo e misura. Lo stage

è anche mirato a dare al tirocinante

un’esperienza importante nella collabora-

zione e interazione con i propri colleghi.

Il candidato verrà inserito completamente

nell’ambiente 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 comportamenta-

le. Durante il suo inserimento nella divisione

del supporto tecnico verranno anche valuta-

te le sue performance e riferiti tutti i sugge-

rimenti tecnici di approfondimento e

gestionali del cliente.

Il tirocinio sarà articolato in fasi ben specifi-

che, 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 pre-

vista dal Dlgs. 196/2003 ai fini delle esigen-

ze 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., diretta-

mente a: National Instruments Italy S.r.l.

Risorse Umane - via A. Kuliscioff 22 - 20152

Milano

Fax 02/41309215

E-mail: [email protected]

Tipo contratto: stage

Sede di lavoro: Milano Ovest

www.ni.com/italy

1

Page 49: labviewworld-10

L A V O C E D E G L I U T E N T I

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

Comitato Nadia Albarello, Matteo Bambini,

di redazione Matteo Foini, Alessandro Ricco

Redazione Alberto Taddei Direttore Responsabile - [email protected]

Valerio Alessandroni Direttore Tecnico • [email protected]

Maddalena Pria - tel: 02 366092.527

[email protected]

Collaboratori: Nicola Bavarone, Michele Corrà, Massimo Lorenzi, Marco Luciani, Enzo Nava,

Alessandro Ricco, Emanuele Stucchi, Franco Trespidi, Halvor Snellingen

Grafica e Bimage.it Progetto grafico

produzione Tina Liati Impaginazione

Franco Tedeschi Coordinamento grafici - [email protected]

Alberto Decari Coordinamento DTP - [email protected]

Grafiche Sima Ciserano - BG - Stampa

Rosy Passarelli Ufficio Traffico - [email protected]

tel. 02366092 232 - fax: 02 366092 255

Pubblicità Giuseppe De Gasperis Sales Manager

[email protected] - 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 l’abbonamento 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 tota-

le di 4 numeri all'anno. Tiratura del presente numero: 3.000 copie.

INFORMATIVA AI SENSI DELCODICE IN MATERIA DI PROTEZIONE

DEI DATI PERSONALI

Informativa art. 13, d. lgs 196/2003I dati degli abbonati sono trattati, manualmente ed elettro-nicamente, da Fiera Milano Editore SpA – titolare del tratta-mento – Via Salvatore Rosa 14, Milano - per l’invio della rivi-sta richiesta in abbonamento, attività amministrative edaltre operazioni a ciò strumentali, e per ottemperare anorme di legge o regolamento. Inoltre, solo se è stato espres-so il proprio consenso all’atto della sottoscrizione dell’abbo-namento, Fiera Milano Editore SpA potrà utilizzare i dati perfinalità di marketing, attività promozionali, offerte commer-ciali, analisi statistiche e ricerche di mercato. Alle medesimecondizioni, i dati potranno, altresì, essere comunicati adaziende terze (elenco disponibile a richiesta a Fiera MilanoEditore SpA) per loro autonomi utilizzi aventi le medesimefinalità. Responsabile del trattamento è: Paola Chiesa.Le categorie di soggetti incaricati del trattamento dei datiper le finalità suddette sono gli addetti alla gestione ammi-nistrativa degli abbonamenti ed alle transazioni e pagamen-ti connessi, alla confezione e spedizione del materiale edito-riale, al servizio di call center, ai servizi informativi.Ai sensi dell’art. 7, d. lgs 196/2003 si possono esercitare irelativi diritti, fra cui consultare, modificare, cancellare i datiod opporsi al loro utilizzo per fini di comunicazione com-merciale interattiva rivolgendosi a Fiera Milano Editore SpA– Servizio Abbonamenti – all’indirizzo sopra indicato. Pressoil titolare è disponibile elenco completo ed aggiornato deiresponsabili.

Informativa resa ai sensi dell’art. 2, CodiceDeontologico Giornalisti Ai sensi dell’art. 13, d. lgs 196/2003 e dell’art. 2 del CodiceDeontologico dei Giornalisti, Fiera Milano Editore SpA –titolare del trattamento - rende noto che presso i propri loca-li siti in Milano, Via Salvatore Rosa 14, vengono conservatigli archivi di dati personali e di immagini fotografiche cui igiornalisti, praticanti e pubblicisti che collaborano con letestate edite dal predetto titolare attingono nello svolgi-mento della propria attività giornalistica per le finalità diinformazione connesse allo svolgimento della stessa. I sog-getti che possono conoscere i predetti dati sono esclusiva-mente i predetti professionisti, nonché gli addetti prepostialla stampa ed alla realizzazione editoriale delle testate. Idati personali presenti negli articoli editoriali e tratti dai pre-detti archivi sono diffusi al pubblico. Ai sensi dell’art. 7, d. lgs196/2003 si possono esercitare i relativi diritti, fra cui con-sultare, modificare, cancellare i dati od opporsi al loro utiliz-zo, rivolgendosi al titolare al predetto indirizzo. Si ricordache, ai sensi dell’art. 138, d. lgs 196/2003, non è esercitabi-le il diritto di conoscere l’origine dei dati personali ai sensidell’art. 7, comma 2, lettera a), d. lgs 196/2003, in virtù dellenorme sul segreto professionale, limitatamente alla fontedella notizia. Presso il titolare è disponibile l'elenco comple-to ed aggiornato dei responsabili.

www.labviewworld.it

Page 50: labviewworld-10

0236519123

READER SERVICE

Dati sul lettore

Nome

Cognome

Azienda

Indirizzo Azienda

Cap Città

Prov. Nazione

Tel.

Fax

e-mail

Consenso ai sensi dell’art.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 dispo-

sizione di operatori qualificati e/o aziende del settore.

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 rice-

vere maggiori informazioni su prodotti e servizi presentati negli articoli

e/o inserzioni pubblicitarie LabVIEW WORLD semplicemente regi-

strandosi 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:

NUMERO DELLA RIVISTA:

NUMERI DI READER SERVICE

10

www.READERSERVICE.IT

IL READER SERVICE E’ ON LINE!

IL READER SERVICE E’ ON LINE!

EDIZIONI FIERA MILANO EDI

FIERA MILANO EDIZION

MILANO EDIZIONI F

FIERA MILANO

EDIZIONI F

FIERA

READE

VICE

SERVICE

READER SE

DER SERVICE

READER SERVICE

READER SERVICECE

READER SERVICE READ

IL SERVIZIO È GRATUITO

Page 51: labviewworld-10

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

02 41.309.1>> Scopri come semplificare la tua progettazione embedded

alla pagina web ni.com/embedded/i

Progettazione Embedded.

Più semplice di così...

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 un’integrazione

completa con l’intuitivo software NI LabVIEW.

Strumenti tradizionali di

progettazione di sistemi

Piattaforma di progettazione

grafica di sistemi

readerservice.it n.22313