47
LA PRIMA RIVISTA ITALIANA PER LA COMUNITÀ LABVIE W 07 SETTEMBRE 2008 E 5,00 LABVIEW GOES INDUSTRIAL LE CHANNEL API NI-CAN CREAZIONE E DISTRIBUZIONE DELLE APPLICAZIONI In caso di mancata consegna restituire all’editore che si impegna a pagare la relativa tassa presso il CMP di Roserio - Milano

labviewworld-07

Embed Size (px)

Citation preview

Page 1: labviewworld-07

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

07SETTEMBRE2008E 5,00

LABVIEWGOES INDUSTRIAL

LE CHANNEL API NI-CAN

CREAZIONE E DISTRIBUZIONEDELLE APPLICAZIONI

In ca

so d

i man

cata

cons

egna

resti

tuire

all’e

ditor

e che

si im

pegn

a a

paga

re la

relat

iva ta

ssa p

resso

il CM

P di

Rose

rio -

Milan

o

Page 2: labviewworld-07

07S C E N A R I O

1

NIWeek 2008: con un incremento del 23% rispetto all'edizione precedente, quest'anno èstato toccato un nuovo record di visitatori registrati. Il primo giorno risultavano oltre2600 iscrizioni, un numero che probabilmente è aumentato nel corso delle giornate

seguenti. Che cosa significa? Le chiavi di lettura possono essere diverse, ma ora vogliamo foca-lizzarci su una di essere in particolare: voi, utenti di LabVIEW, avete ormai raggiunto le dimen-sioni di una città, di una folla compatta; o, come direbbero negli Stati Uniti, di una lobby. Unalobby in grado di influenzare, con il proprio lavoro e la propria ricerca di soluzioni innovative,ogni aspetto delle vita industriale, scientifica ed anche quotidiana del pianeta. Non pensiamodi esagerare, perché se ai 2600 iscritti di NIWeek aggiungiamo le centinaia di registrati all'edi-zione italiana di NIDays, le migliaia di utenti LabVIEW che hanno partecipato ad altri eventiNational Instruments nel mondo e tutti coloro che per qualche motivo non hanno partecipato,otteniamo un numero davvero impressionante. E' la comunità di LabVIEW, che si organizza, siesprime e si informa dinamicamente lungo mille canali diversi, ben sintetizzati da NadiaAlbarello nell'articolo che troverete in questo numero.E, fra questi mille canali, vi è ormai da due anni quello della comunità di LabVIEW World, larivista che state sfogliando. Normalmente si dice "Abbiamo fatto una scommessa, abbiamovinto" per spiegare il successo di un'iniziativa come questa. Noi preferiamo dire "Sapevamoche in Italia esisteva una comunità numerosa e motivata, le abbiamo dato voce". Perché nonabbiamo scommesso su una previsione aleatoria, ma su un dato certo: mancava un magazinededicato a tutti coloro che ruotano attorno a LabVIEW, il nostro editore ha deciso di colmarela lacuna.Che cosa manca ancora per chiudere il cerchio (o il loop, visto che parliamo a tecnici)? Mancail feedback della comunità, non solo su quello che scriviamo, ma su tutto ciò che succede nelmondo LabVIEW: eventi e seminari proposti da National Instruments e i suoi partner, ricerchee altre attività in ambito accademico, progetti realizzati da scuole o singoli ricercatori, e cosìvia. Il nostro è quindi un invito ad esprimersi rivolto alla comunità LabVIEW World, che hasicuramente molte cose da dire e da condividere. Come fare? Le modalità sono numerose. Peresempio, esistono forum di discussione (a partire da quello di ILVG.it), blog e altri cyberspazispecializzati dove fare sentire la propria voce. Ed esiste il vecchio sistema che consistenel mettere nero su bianco la descrizione della propria applicazione e nello spe-dire il tutto alla redazione. Nulla verrà scartato: valuteremo tutte le vostreidee e, le più interessanti, saranno pubblicate. Vi chiediamo solo chiarezzaespositiva e belle immagini. Perché tenere per voi una bella idea quandopotreste condividerla con altre persone che hanno i vostri stessi interessi?In futuro non mancheranno altre 'piazze' dove presentarvi e raccontare checosa state facendo, che cosa vi piacerebbe trovare nella prossima release diLabVIEW, e così via. Non mancheranno nemmeno sondaggi su aspettiriguardanti il vostro rapporto con LabVIEW e le vostre proposte perdiffonderne ulteriormente la conoscenza.

UN INVITO A ESPRIMERSI RIVOLTOALLA COMUNITÀ LABVIEW WORLD

Page 3: labviewworld-07

S O M M A R I O

UN INVITO A ESPRIMERSI RIVOLTOALLA COMUNITÀ LABVIEW WORLD

R accontatec i le vostre appl icaz ioni…

01

LABVIEW GOES INDUSTRIALPar la John Hanks, V ice Pres identProduc t Market ing per l 'acquis iz ionedat i ed i l control lo industr ia le

03

INTRODUZIONE AI VI BLAS IN LABVIEWVediamo come ut i l i zzare la propr ial ibrer ia BLAS personale a l posto dei VIinsta l lat i da LabVIE W

06

08

10

18

Per i l contr ibuto appor tato al progetto LabView World, s i r ingraziano:Valer io Alessandroni , L ino Fiore, Matteo B ambini , Nadia Albarel lo, Matteo Foini , Alessandro R icco.Progetto graf ico e impaginazione: Bimage. it

SEI UN FAN DI LABVIEW?

ENTRA NELLA NOSTRA COMUNITÀ!C a r o l e t to r e, s e r i t i e n i c h e q u e s t a n u ova i n i z i at i va L a b V I E W Wo r l d s i a u n u t i l e s t r u m e n to p e r l at u a at t i v i t à e d e s i d e r i c o n t i n u a r e a r i m a n e r e a g g i o r n ato s u l m o n d o L a b V I E W, c o l l e g at i a l l ap a g i n a h t t p : / / w w w. i l b 2 b. i t / l a b v i ew / l b _ wo r l d. a s p

LABVIEW EMBEDDED PERMICROCONTROLLORI ARMUn'estens ione del la p iattaformagraf ica consente d i programmare le famigl ia ARM7, ARM9 e Cor tex-M3

LA CHANNEL API NI-CANSpieghiamo i fondamenti del laChannel API per i l dr iver NI-C AN

LABVIEW PER L'ELABORAZIONE DISEGNALI ECGLabVIE W off re un ambiente so l ido ed ef f ic iente per l 'e laboraz ione dei segnal i ECG

24 SISTEMA DI TELERIABILITAZIONENU!REHA La r iabi l i taz ione a d istanza a l la por tata d i personale non esper to

38 DALLA CARTA AL WEBLink ad ar t ico l i d i approfondimento e a l t r i documenti d isponibi l i su l web

IMOSE: IMPIANTO DIMOVIMENTAZIONE DI SEMILAVORATIUn model lo hardware d i una ce l lamanifattur iera economicamentevantaggioso

27

RICHIAMARE OGGETTI IN LABVIEW(II PARTE)LabVIE W permette d i accedere ad a l t reappl icaz ioni Windows ut i l i zzando letecnologie .NET o Ac t iveX

32

35

36

37

A TUTTO GAS CON L'AUTOMOTIVEFORUM 2008Si è svolto a Tor ino l 'evento b iennalededicato a l mercato automotive

LABVIEW COMMUNITY? SI' GRAZIEI benef ic i del la membership a i gruppidi d iscuss ione e soc ia l net work cheruotano attorno a LabVIE W

AUTOMATED TEST SUMMIT 2008I l convegno sul test automatizzato s i è r iproposto nel la sua 5a

40 LA VOCE DEGLI UTENTIEcco a lcuni spunt i d i d iscuss ioneappars i d i recente sul Forum di ILVG. i t

42 GRANDE SUCCESSO PER BIAS E VISION FOR MANUFACTURINGL' impor tanza d i un contatto d i retto con i fornitor i non mostra segni d icedimento

2

07

INTERVISTAI l professor Alessandro Ferrero insegna Misure E lettr iche pressoi l Pol i tecnico d i Mi lano

44

43 APPUNTAMENTIOltre ad organizzare propr i cors i eseminar i , Nat ional Instruments saràpresente a numeros i event i

30 CREAZIONE E DISTRIBUZIONE DELLE APPLICAZIONICreazione di un'appl icaz ione stand-alone e d i un insta l ler

46 LABVIEW E LAVOROProposte concrete per co loro che sanno ut i l i zzare LabVIE W AAA

Page 4: labviewworld-07

07A T U P E R T U

3

In quanto Vice President Product Marketing perl'acquisizione dati ed il controllo industriale, John Hanks hala responsabilità di guidare la strategia di prodotto ed ilmarketing. Una selle sue principali responsabilità è la colla-borazione con il reparto R&D sullo sviluppo di prodotti futu-ri di acquisizione dati, I/O distribuito e controllo. Nel corsodi NIWeek 2008 abbiamo rivolto alcune domande a JohnHanks.

D: Perché National Instruments ha deciso dientrare nel mondo industriale e quali sono

le mosse dell'azienda verso questo obiettivo?

R:La risposta alla prima parte della domanda è semplice:le richieste dei nostri clienti ci hanno portato ad aggiun-

gere prodotti per il controllo industriale. I nostri attuali prodottidi controllo industriale sono emersi dalla nostra lunga presen-za nel campo del test automatizzato. Abbiamo visto la richie-

sta dei clienti di una tecnologia di misura più precisa, di velo-cità di controllo più elevate e di capacità di analisi più avan-zate per le applicazioni industriali. Oggi vediamo la domandadi capacità di progettazione più custom. I clienti voglionopoter trarre vantaggio da nuove tecnologie come i FieldProgrammable Gate Arrays (FPGA). Con LabVIEW, gli svilup-patori possono ottenere i benefici dei tool di progettazionegrafica di sistema per progettare più velocemente loop di con-trollo ed eseguire timing ed analisi avanzati che, fino a pochianni fa, avrebbero richiesto la progettazione di hardwarecustomizzato.

D: Quali sono le caratteristiche principali diLabVIEW 8.6 e degli altri nuovi prodotti

National Instruments che li rendono più indu-striali?

R:Per esempio, in LabVIEW 8.6 abbiamo introdotto unaserie di blocchi funzione normalmente utilizzati nelle

applicazioni di controllo industriale basate sullo standard IEC61131-3, come i controllori programmabili (PLC) ed i Pro gram-mable Automation Controller (PAC). Questi blocchi funzionesono stati progettati per applicazioni industriali real-time.Inoltre, sulla piattaforma CompactRIO FPGA vi sono nuovecaratteristiche come lo Scan Engine, che permette di esegui-re un loop di I/O in real-time all'interno dell'FPGA, senza lanecessità di scrivere codice FPGA. Quindi, gli utenti industria-li possono facilmente sfruttare la tecnologia degli FPGA nellapiattaforma CompactRIO. Tuttavia, se si vuole programmarel'FPGA a basso livello, è ancora possibile farlo. Pertanto, sipossono sfruttare le caratteristiche di facilità d'uso ad altolivello dello Scan Engine, ma rimane la possibilità di lavorarea basso livello per fare qualche customizzazione.

D: Quale sarà il prossimo passo di NationalInstruments nella direzione industriale?

R:Recentemente abbiamo compiuto molti passi interes-santi. Per esempio, abbiamo appena introdotto la fami-

glia di prodotti Single-Board RIO. Ciò significa che si possonomigrare i propri progetti da una piattaforma modulare basata

LABVIEW “GOES INDUSTRIAL”L'az ienda dispone oggi d i due d iverse p iattaforme: una dedicata a l test and measurement,l 'a l t ra per i l protot ipaggio e la produzione

Vale

rio

Ale

ssan

dron

i

Fig. 1 - Af ferma John Hanks: "Abbiamo oggi una nuovagamma di so luz ioni per i l test ed un’of fer ta customizza-ta per le appl icaz ioni industr ia l i , sv i luppate intorno a l lecapacità of fer te dagl i FPGA"

Page 5: labviewworld-07

sulla piattaforma CompactRIO esistente ad na piattaformaembedded a livello di scheda. Vediamo molti costruttori di mac-chine e di dispositivi embedded che vogliono utilizzare ilCompactRIO, ma in un altro formato, o che desiderano realiz-zare il proprio packaging. Per esempio, essi possono avere lanecessità di un packaging IP67, ossia impermeabile, oppure diinserire il CompactRIO in un packaging militare o aerospazialeo anche in un packaging a basso costo. Quindi, in parallelo allancio di LabVIEW 8.6, abbiamo introdotto otto nuovi prodottiSingle-Board RIO. Inoltre, i prodotti Single-Board RIO han no treconnettori per moduli embedded della serie C per l'espan sionedegli I/O. Gli stessi moduli di I/O utilizzati per il CompactRIOpossono essere usati anche con il Single-Board RIO.Un'altra introduzione importante sono dieci nuovi prodotti perl'acquisizione dati tramite Ethernet e wireless. Vediamo molticlienti interessati nell'ottimizzazione delle macchine e nelmonitoraggio di macchine e vibrazioni che vogliono la comu-nicazione Ethernet o wireless. Con Ethernet è possibile ese-guire misure ad alta velocità fino a 90 metri dal controllore,mentre con i prodotti di acquisizione dati Wi-Fi 802.11 ladistanza è di circa 30 metri. In futuro, lavoreremo ad una sin-cronizzazione molto precisa su Ethernet. E prenderemo inesame nuove aree e nuovi prodotti che ruoteranno attorno adun I/O real-time, deterministico e distribuito su Ethernet".

D: National Instruments stringerà qualchepartnership per entrare più facilmente nel

settore industriale?

R:Abbiamo già molte partnership che ci aiutano. Per esem-pio, da molti anni abbiamo relazioni con fornitori di tele-

camere, motori e azionamenti. Nel corso dell'ultimo anno

abbiamo introdotto la nostra versione di un motore con azio-namento, attraverso un nostro partner. Il motivo è che i nostriclienti desiderano acquistare tutti i componenti da NationalInstruments ed avere il nostro supporto. Un altro esempio è unnuovo prodotto HMI che abbiamo rilasciato lo scorso anno eche è testato e verificato per funzionare con LabVIEW. Quindi,vediamo continue opportunità per nuove relazioni anche infuturo.

D: A questo punto, National Instruments haun'offerta completa per lo spazio industria-

le, inclusi LabVIEW 8.6, il Single-Board RIO, pro-dotti DAQ Ethernet e wireless, telecamere, e cosìvia. Può citare qualche applicazione concreta cheavete già affrontato e risolto con questi nuoviprodotti?

R:Un esempio significativo è stato sviluppato da VenturaAerospace per Federal Express. Ventura Aerospace ha

sviluppato un nuovo sistema di misura e controllo per la sop-pressione degli incendi per proteggere i piloti, gli aeromobi-li, i pacchi ed il cargo. Se l'incendio scoppia mentre un aero-mobile è in volo sull'oceano, non vi sono possibilità di atter-raggio sicuro. Inoltre, mentre il velivolo cerca di atterrare,l'incendio peggiora ulteriormente, a causa della maggiorequantità di ossigeno che è contenuta negli strati più bassidell'atmosfera. Il nuovo sistema sviluppato per FederalExpress, che è basato sul Single-Board RIO, migliora netta-mente la sicurezza a bordo. Un'altra applicazione aiuta a sopravvivere i neonati prematu-ri. I neonati che vengono al mondo troppo presto, infatti, pos-sono non avere appreso il riflesso che li spinge a succhiare,quindi non riescono a nutrirsi. Una nuova apparecchiaturafondamentalmente insegna al neonato ad acquisire il riflessodi succhiare, misurando la pressione fra le sue labbra. Possiamo trovare altri esempi significativi, per esempio, nelleacciaierie, negli impianti eolici, nel campo della meccatroni-ca, ecc. Nell'acciaieria Nucor, in particolare, viene utilizzatoCompactRIO per creare un nuovo processo di misura dellatemperatura e pesatura delle scorie metalliche che sostitui-sce alcune operazioni ad alto contenuto di manodopera ed èmolto più sicuro per gli operai. E' stato riportato un miglio-ramento di dieci volte nell'efficienza d'uso della potenza.L'azienda utilizza quelli che chiama 'cicli'. Se in un ciclo vienecommesso un errore, è necessario resettare l'impianto, spre-cando una grande quantità di energia perché occorre riscal-dare nuovamente le scorie. Un altro comparto particolare dove abbiamo una lungaesperienza è quello della visione artificiale applicata ai robot.In questo campo, collaboriamo con ImagingLab, un'aziendaitaliana fondata da Ignazio Piacentini, che sta cercando diinterfacciare LabVIEW con robot Mitsubishi e Denso in modointercambiabile.

4

07A T U P E R T U

Fig. 2 – In paral le lo a l lanc io d i LabVIE W 8.6, abbiamo introdotto otto nuovi prodott i per otto poss ib i l i appl icaz ionidel S ingle-B oard RIO

Page 6: labviewworld-07

5

A T U P E R T U

D: National Instruments ha qualche program-ma educativo particolare per promuovere la

crescita dei futuri ingegneri di automazione?

R:Ne abbiamo molti. A parte la nostra partnership conLego, che ha portato ad annunci come Lego Mindstorms

e WeDo, stiamo sponsorizzando l'iniziativa FIRST (ForInspiration and Recognition of Science and Technology) e lasua Robotics Competition itinerante negli Stati Uniti. Circa4000 studenti hanno partecipato al 'Superbowl' dell'ultimaedizione ad Atlanta, ed il numero sta crescendo. Fondata daDean Kamen, la FIRST Robotics Competition sfida squadre digiovani con i loro mentori a risolvere un problema comune inun arco temporale di sei settimane utilizzando un 'kit di parti'standard ed un insieme di regole comuni. Le squadre costrui-scono robot utilizzando i componenti forniti e li inseriscono incompetizioni progettate da un comitato di ingegneri ed altriprofessionisti. FIRST ridefinisce la vincita per questi studenti,perché essi vengono premiati per l'eccellenza nella progetta-zione, lo spirito di squadra che hanno dimostrato, la profes-sionalità sportiva e la maturità, e la capacità di superare osta-coli. Ottenere il punteggio più alto è un obiettivo secondario.Vincere significa costruire partnership durevoli.Infine, un'altra area di grande interesse per noi è quella deiveicoli autonomi. In particolare, abbiamo lavorato con Torc ed

il Virginia Polythecnic Institute alla costruzione di un veicolocapace di viaggiare senza conducente per 60 miglia in unambiente urbano. Il veicolo, battezzato Odin, ha vinto il terzopremio nella gara urbana del Darpa dello scorso anno.

D: National Instruments sta ponendo una gran-de enfasi sul concetto di Green Engineering,

ossia sull'applicazione di tecniche di misura e con-trollo per progettare, sviluppare e migliorare pro-dotti, tecnologie e processi al fine di ottenerebenefici ambientali ed economici. Questo concettoverrà applicato anche all'automazione industriale?

R:In qualche modo, le due aree sono simili. In particolare,stiamo vedendo che le applicazioni industriali stanno

reinvestendo nell'infrastruttura per renderle più efficienti sulpiano energetico e 'verdi'. Per questo motivo, stanno anchecercando di migliorare la resa e ridurre gli sprechi, per esem-pio abbassando i costi con l'uso di misure wireless. NationalInstruments ha dei tool meravigliosi per prototipareun'applicazione e renderla più efficiente sul piano energetico.In molti casi, il nuovo Sinlge-Board RIO ci permette di imple-mentare l'applicazione in modo più conveniente, a bassapotenza ed efficiente.

Readerser v ice. i t n . 701

Page 7: labviewworld-07

6

07W H A T ’ S N E W

IVI BLAS sono una nuova funziona-lità di LabVIEW. L’articolo spiegacome utilizzare la vostra libreria

BLAS personale al posto dei VI instal-lati da LabVIEW.

CHE COSA SI INTENDE CON BLAS?Le Basic Linear Algebra Subroutine(BLAS) sono routine che fornisconofunzioni standard per operazioni vetto-riali e matriciali di base. Tali routinesono classificate nei seguenti gruppi:

• BLAS di livello 1: operazioni vettoriali• BLAS di livello 2: operazioni matrice-

vettore• BLAS di livello 3: operazioni matrice-

matrice

Per esempio, dgemm è una funzioneBLAS di livello 3 che calcola il prodot-to reale matrice-matrice utilizzando laseguente espressione:

� ❋ op (A) ❋ op (B) + � ❋ C

dove � e �‚ sono scalari,A, B e C sono matrici,e op (A) è A o AT.

Le routine BLAS sono comunementeutilizzate nello sviluppo di software dialgebra lineare, come avviene per lelibrerie LAPACK (http://it.wikipedia.org/wiki/Lapack).

CHE COSA SONO I VI BLAS DI NI?I VI BLAS sono una nuova funzionalitàdelle versioni Full e Professional diLabVIEW. Tali VI offrono un’alternativa agli algo-ritmi di algebra lineare esistenti in

LabVIEW, mettendo a disposizioneun’interfaccia che espone funzionalitàdi più basso livello e algoritmi ottimiz-zati.

Rispetto alle funzioni BLAS standard, iVI BLAS in LabVIEW offrono i seguentivantaggi:

• API semplificata e concisa per esi-genze ingegneristiche

• Controllo della memoria prima del-l’esecuzione dei calcoli per evitareviolazioni dello spazio di memoria

SCEGLIERE FRA I VI BLAS E I VI DI ALGEBRA LINEAREPoiché i VI BLAS offrono opzioni flessi-bili ed elevate prestazioni, potete uti-lizzarli come blocchi primari in algorit-mi di algebra lineare complessi e avan-

zati. LabVIEW mette a disposizionealcuni VI di algebra lineare di base,come A x B VI, Dot Product VI e OuterProduct VI. Il vantaggio di utilizzare i VIBLAS è evidente quando si combinanopiù operazioni di algebra lineare. Ciò riduce la copia dei dati in LabVIEWe garantisce esecuzioni ottimizzate. La seguente espressione illustra comepotete combinare tipiche funzioni dialgebra lineare nei VI BLAS:

� ❋ AT ❋ X + b ❋ Y

dove � è scalare, A è una matrice e Xe Y sono vettori.

Con i VI di algebra lineare, vi occorro-no cinque diversi VI e funzioni per ese-guire questo calcolo, come si vede nel-lo schema a blocchi della fig. 1.

INTRODUZIONE AI VI BLASIN LABVIEWQuesto ar t ico lo d iscute i benef ic i che s i ottengono ut i l i zzando i V I BLAS in LabVIE W

a cu

ra d

i M

atte

o Fo

ini

Figura 1

Page 8: labviewworld-07

7

W H A T ’ S N E W

Potete sostituire questi cinque VI e fun-zioni con il VI gemv - Generate Matrix-Vector Product, come illustrato nelloschema a blocchi della fig. 2.

Quindi, i VI BLAS vi permettono disemplificare il codice sullo schema ablocchi. Tuttavia, l’uso dei VI BLAS puòcomportare anche degli svantaggi. Per esempio, l’uso dei VI BLAS richiedeche LabVIEW carichi una nuova libre-ria, lvblas.dll, in memoria. Su un target real-time, questa DLLrichiede circa 270 kB. Pertanto, susistemi che hanno una memoria limita-ta, come un controllore NI FP-20xx, èvantaggioso usare solo i VI di algebralineare esistenti.

UTILIZZO DELLE VOSTRE LIBRERIE BLASI VI BLAS richiamano librerie BLAS benottimizzate per offrirvi prestazioni ele-vate su una varietà di piattaforme.Potete anche usare i VI BLAS perrichiamare la vostra libreria BLASseguendo i passi riportati di seguito.Consideriamo, per esempio, la funzio-ne dtrmm.

1. Scaricate e unzippate il file blastem-plate.zip allegato.

2. Rinominate la vostra libreria staticaBLAS come glapack.lib e sostituite ilfile glapack.lib presente nella direc-tory BLAS\blaslapack\gblaslapackcon il nuovo file che avete rinomi-nato.

3. Rinominate il file d’intestazione del-la vostra libreria BLAS come cblas.he sostituite il file cblas.h nella direc-tory BLAS\blaslapack\include con ilnuovo file.

4. Aprite BLAS\LVBLAS\build\win32\LVBLAS.sln in Visual Studio 2005.

5. Eseguite i l build del progettoLVBLAS in modo da ottenerelvblas.dll.

6. Sostituite lvblas.dll nella directorylabview\resource con la nuova DLL.

È possibile scaricare l’esempio da:ni.com/italian - infocode: it59xt

Figura 2

Readerser v ice. i t n . 703

BREVI

Nuovo toolkit LabVIEW per il test dei ricevitori GPSNational Instruments ha rilasciato il nuovo NIGPS Toolkit for LabVIEW, in grado di simulare ilsegnale GPS proveniente da più satelliti.Utilizzando LabVIEW, per creare forme d’ondain grado di simulare fino a 12 satelliti (codiciC/A nella banda L1), unitamente al generatorevettoriale di segnali RF NI PXIe-5672, èpossibile testare alcune caratteristiche delricevitore quali sensibilità, TTFF (time to firstfix) e accuratezza. Grazie al nuovo toolkit, è possibile utilizzare uninsieme di forme d’onda GPS simulate eregistrate come soluzione completa e a bassocosto per validare e verificare la progettazionedi un ricevitore. La registrazione via etere deisegnali GPS, tramite un analizzatore vettorialedi segnali RF NI PXI-5661 e un pre-amplificatore NI PXI-5690 (amplificatore abasso rumore), mostra le stesse interferenzeche un ricevitore presenterebbe realmentedurante la cattura dei segnali GPS. Questidispositivi sono in grado di generare segnalisimulati e registrati con l'analizzatorevettoriale di segnali RF NI PXIe-5672, contrasmissione continua di forme d’onda GPS dadisco rigido. Utilizzando dischi RAID da 2 TB, èpossibile generare fino a 12,5 minuti di formed’onda simulate non ripetitive oppure 25 ore disegnale continuo GPS registrato, per testare lemodalità di risposta del ricevitore entro unavasta gamma di possibili condizioni operative. È possibile combinare il GPS Toolkit con ilModulation Toolkit per LabVIEW, il software perla gestione dei test NI TestStand e lastrumentazione modulare RF PXI per unasoluzione completa e a basso costo per i test inproduzione. Poiché la strumentazione modularePXI viene definita via software, lo stessosistema PXI è in grado di testare dispositiviwireless che utilizzano altri standard quali RDS,WiFi, GSM, WCDMA, Bluetooth e DVB.

Readerser v ice. i t n . 704

SEI UN FAN DI LABVIEW?

ENTRA NELLA NOSTRA COMUNITÀ!C a r o l e t to r e, s e r i t i e n i c h e q u e s t a n u ova i n i z i at i vaL a b V I E W Wo r l d s i a u n u t i l e s t r u m e n to p e r l a t u aat t i v i t à e d e s i d e r i c o n t i n u a r e a r i m a n e r e a g g i o r -n a t o s u l m o n d o L a b V I E W, c o l l e g a t i a l l a p a g i n ah t t p : / / w w w. i l b 2 b. i t / l a b v i ew / l b _ wo r l d. a s p

Page 9: labviewworld-07

8

07W H A T ’ S N E W

National Instruments ha recente-mente introdotto LabVIEWEmbedded Module per Micro -

controllori ARM, un’estensione dellapiattaforma grafica che consente diprogrammare direttamente le famigliedi microcontrollori ARM7, ARM9 eCortex-M3. ARM è il principale fornitore industria-le di processori RISC embedded a 32bit, con una quota di mercato superio-re al 75 per cento e oltre 10miliardi di dispositi-vi basati su coreARM consegnatifino ad oggi. ARMconcede su licenzala proprietà intellet-tuale (IP) a molte del-le maggiori società disemiconduttori delmondo, tra cui AnalogDevices, Atmel, LuminaryMicro, NXP, FreescaleSemiconductor, Intel e TexasInstruments.

BENEFICI DEI MICROCONTROLLORII microcontrollori sono microprocesso-ri integrati che includono memoria,periferiche ed interfacce – oltre allaCPU – su un chip singolo. Ciò li rendeuna soluzione conveniente per sistemiembedded e ideale per applicazioni dicontrollo e applicazioni comandate dainterrupt.I microcontrollori ARM sono utilizzatiin un'ampia gamma di applicazioni, dabeni di consumo diffusi come la SonyPlayStation 3 a dispositivi industriali emedicali come lo stimolatore muscola-re portatile BIAC.

UN APPROCCIO PIÙ LINEAREALLA PROGRAMMAZIONELabVIEW Embedded Module perMicrocontrollori ARM consente di pro-grammare oltre 260 microcontrollori di10 fornitori.Questo modulo include driverLabVIEW che permettono di program-

mare graficamente tutti i componentidel microcontrollore ARM, inclusi gliI/O analogici e digitali. Il modulo offreanche capacità di simulazione desktopper eseguire su un PC desktop, senzaalcun hardware addizionale, i pro-grammi sviluppati per un microcontrol-lore ARM. Potete anche usare la simu-lazione desktop con NI Multisim, soft-ware interattivo di simulazione e ana-lisi circuitale SPICE, per simularel'intera catena di progettazione per unambiente completo di simulazione disistemi embedded.

Altre caratteristiche del nuovo moduloincludono un wizard di progetto, cheautomatizza la configurazione el'impostazione generale, per aiutarvi acreare rapidamente i vostri progetti, eun interrupt manager, che semplifica laprogrammazione gestita via interruptimpostando il codice LabVIEW inmodo che venga eseguito al verificarsi

di specifici inter-rupt hardware.

Oltre al software, NI offre due opzionidi sviluppo: una scheda di valutazioneKeil MCB2370 con un microcontrollo-re NXP ARM7 o un kit di valutazioneStellaris LM3S8962 con un microcon-trollore Luminary Micro Cortex-M3.LabVIEW diviene pertanto una piatta-forma ideale per gli sviluppatori conesperienza limitata di programmazio-ne C/C++ che devono sviluppareapplicazioni per microcontrollori basa-ti su ARM; mentre per gli sviluppatoripiù esperti, esso offre comunque unapproccio più veloce e lineare alla pro-grammazione.

LABVIEW EMBEDDED PER MICROCONTROLLORI ARM Un nuovo LabVIE W Embedded Module consente d i programmare le famigl ie d i microcontrol lor iARM7, ARM9 e Cor tex-M3

Readerser v ice. i t n . 706

Page 10: labviewworld-07

10

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

Negli ultimi decenni, l’industria automobilistica habeneficiato di significativi progressi tecnici, che sisono tradotti in emissioni ridotte, migliore rendimen-

to dei carburanti, controllo antibloccaggio per i sistemi difrenatura e molti altri miglioramenti. Le innovazioni a livello ambientale, di sicurezza e di como-

dità di guida si sono concretizzate nell’aggiunta di moltinuovi dispositivi elettronici nelle automobili. A metà degli anni ’80, Bosch ha sviluppato il bus ControllerArea Network (CAN) per rispondere alle crescenti esigenzedi comunicazione fra i moduli elettronici delle automobili.Oggi, il CAN è utilizzato anche nei sistemi embedded dicomunicazione dati in avionica, in applicazioni nautiche enumerose altre.

Il CAN è un bus seriale multidrop a due fili, sul quale i dis-positivi connessi alla rete comunicano fra loro. Il driver NI-CAN mette a disposizione 2 API (ApplicationProgramming Interface) complete, oltre a tool di configurazio-ne e analisi in Measurement & Automation Explorer (MAX). LeAPI NI-CAN vi permettono di sviluppare applicazioni persona-

lizzate in base ai vostri requisiti di test e simu-lazione. Con la Channel API, potete utilizzare funzionidi alto livello, ma di semplice impiego, peraccedere ai canali CAN definiti in file di data-base vettoriali (.dbc) o di database CAN (.ncd)National Instruments. La Channel API è racco-mandata per i principianti del CAN. La FrameAPI offre un accesso a basso livello ai bit tra-smessi sul bus CAN ed è raccomandata perutenti più esperti. Questo articolo tratta esclu-sivamente la Channel API.La Channel API NI-CAN sfrutta canali CANpredefiniti per rendere la programmazioneCAN simile alla programmazione NI-DAQ. Il

modello fondamentale di programmazione per la ChannelAPI è illustrato nella figura 1.

CONFIGURAZIONE DEL CANALEInnanzitutto, è necessario definire o importare il canaleCAN. Ciò può essere fatto utilizzando il Measurement andAutomation Explorer (MAX), un’utility di configurazione chepermette di installare, testare e configurare la maggior par-te dei dispositivi NI, incluse le interfacce CAN. Il MAX può essere usato anche per importare o creare filedi database CAN e include tool addizionali come il CAN busmonitor e pannelli di test dei canali CAN.

IMPORTARE CANALI DA UN FILE DI DATABASESpesso è conveniente importare canali CAN da file di data-base. Per importare canali CAN da un file di database vet-toriale (.dbc), espandete l’albero Data Neighborhood pervedere i CAN Channels. Cliccate con il tasto destro suCAN Channels e selezionate Import from CANdb file.Questi file di database vengono creati spesso da ingegneriche progettano i dispositivi CAN. Ora navigate fino a trova-re il file di database desiderato. Dopo avere trovato e sele-zionato il file, potete scegliere se importare tutti i messaggi

LA CHANNEL API NI-CANSpieghiamo i fondamenti del la Channel API per i l dr iver NI-C AN, ut i l i per co loro che hannoappena in iz iato a lavorare con NI-C AN 2.0 e success iv i

a cu

ra d

i M

atte

o Fo

ini

Figura 1 - Model lo base d i programmazione NI-C AN Channel API in LabVIE W

Figura 2 - Canal i C AN in Measurement & Automation Explorer

Page 11: labviewworld-07

11

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

presenti nel file o selezionare gli specifici canali da importa-re. Cliccate il pulsante Import e quindi cliccate Done. I Messaggi e i Canali appaiono ora in MAX sotto CANChannels come illustrato nella figura 2. Tali messaggi ecanali possono essere visualizzati ed editati espandendol’albero dei messaggi, cliccando con il tasto destro sul cana-le desiderato e andando alle proprietà. Visualizzando le pro-prietà di un canale, potete vedere la posizione del canaleall’interno del messaggio nella griglia dei messaggi.

CREAZIONE DI CANALI IN MEASUREMENT &AUTOMATION EXPLORERQualche volta potreste non avere un file di database vetto-riale a disposizione. Dovrete quindi creare i canali in MAX.Iniziate cliccando con il tasto destro su CAN Channels eselezionando Create Message. Specificate nome, arbitra-tion ID, numero di byte dati e interfaccia di default, quindiselezionate OK. Ora i singoli canali vengono creati cliccan-do con il tasto destro sul messaggio e scegliendo CreateChannel. Dovete specificare il nome del canale, il bit distart, il numero di bit, le informazioni di scalatura e le uni-tà. Notate che una volta specificati i bit di start e il numerodi bit, la griglia in basso a destra indica la posizione delcanale all’interno del messaggio.Quando cliccate OK, il canale viene mostrato in MAX sottoil Message. Per creare un altro canale, cliccate nuovamentecon il tasto destro sul messaggio e scegliete CreateChannel. Questa volta, notate che la griglia ha evidenziatoi bit che avete riservato per il canale precedente. Se cercatedi configurare un altro canale per gli stessi bit, vedrete unindicatore di errore rosso. I passi rimanenti per completareil messaggio sono uguali a quelli utilizzati per la creazionedei canali. Potete configurare il messaggio con una combi-nazione di canali analogici e digitali; potete utilizzare fino a64 canali digitali di 1 bit ciascuno. Quando avete la configurazione desiderata del canale, pote-te salvarla per utilizzarla su altri computer. Cliccate con iltasto destro su CAN Channels e selezionate Save ChannelConfiguration. Questo salva la configurazione come unfile di database CAN (.ncd) National Instruments che puòessere importato in MAX o richiamato direttamente dallavostra applicazione usando il driver NI-CAN 2.0 o successi-vo. Come precedentemente dimostrato per i file di databa-se vettoriali (.dbc), potete importare anche file di databaseNational Instruments (.ncd) in MAX a partire da una confi-gurazione salvata. A tale scopo, cliccate con il tasto destrosu CAN Channels e selezionate Load ChannelConfiguration, navigate fino al file .ncd e selezionate imessaggi desiderati. Scegliete Load e quindi cliccateDone; ora i canali appaiono nuovamente in MAX.

FUNZIONI DELLA CHANNEL APIUn programma base NI-CAN comprende una fase di inizia-

lizzazione, una lettura o scrittura e una funzione di puliziafinale che libera le risorse (figura 1). Il link fra le funzioni èil Task. Un Task CAN è una raccolta di Canali CAN che con-dividono la temporizzazione e la direzione di comunicazio-ne (lettura/scrittura). Un task può comprendere diversiMessaggi ma devono essere tutti sulla stessa interfaccia(porta). Questo modello di programmazione è lo stesso indi-pendentemente dal fatto che stiate lavorando in LabVIEW,LabWindows/CVI, C/C++ o Visual Basic 6.0.

CAN INIT STARTCAN Init Start VI: La funzione CAN Init Start inizializza unelenco di canali come singolo task e inizia la comunicazioneper quel task. La funzione CAN Init Start usa i seguenti para-metri d’ingresso (figura 3):

channel list - Specifica l’elenco dei canali per il taskinterface - Specifica l’interfaccia CAN (CAN0, CAN1, ecc.)da usare per il task.mode - Specifica la modalità di I/O (direzione del trasferi-mento dati) da usare per il task.sample rate - Specifica la frequenza di campionamento(campioni al secondo) per il trasferimento dati.

CAN READModalità di lettura multiple rendono più semplice la perso-nalizzazione della vostra applicazione. NI-CAN rende dispo-nibili tre modalità di lettura, ciascuna delle quali verràdescritta nelle sezioni seguenti:

1. Single point 2. Continua 3. Time-stamped

Se la modalità di Init Start è Input, la vostra applicazione devechiamare la funzione Read per ottenere campioni. La vostraap plicazione tipicamente chiama la Read in un loop fino arisultato ottenuto. La funzione di lettura è CAN Read in Lab -VIEW e nctRead negli altri linguaggi. Il comportamento dellaRead dipende dalla frequenza di campionamento (figura 4):

Figura 3 - C AN In i t Star t .v i

Figura 4 - C AN Read.v i

Page 12: labviewworld-07

12

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

LETTURA SINGLE POINT (MODE = INPUT, SAMPLE RATE = 0)Questa lettura restituisce un singolo campione dal messag-gio più recente ricevuto dalla rete. Viene restituito un cam-pione per ogni canale nell’elenco Init Start. Questo modo dilettura è utile soprattutto quando desiderate accedere velo-cemente al Messaggio CAN più recente.

La figura 5 mostra un esempio di Read con frequenza dicampionamento = 0. A, B e C rappresentano i messaggi deicanali inizializzati. Se non è stato ricevuto alcun messaggiodall’inizio dell’applicazione, viene restituito il Default Valuein MAX (def), insieme a un messaggio di avvertimento.

LETTURA CONTINUA (MODE = INPUT, SAMPLE RATE > 0)Il modo continuo è utile quando desiderate registrare datiinsieme ai dati analogici o digitali provenienti da un disposi-tivo DAQ. Questa lettura restituisce un array di campioni perogni canale nell’elenco Init Start. Ogni volta che trascorre iltempo specificato, negli array viene inserito un campione dalmessaggio più recente. In altri termini, i campioni sono ripe-tuti nell’array alla frequenza specificata finché non vienericevuto un nuovo messaggio. Il modo continuo è utile quan-do desiderate registrare dati insieme ai dati analogici o digi-tali da un dispositivo DAQ. Usando la stessa frequenza dicampionamento dei canali d’ingresso analogico NI-DAQ,potete confrontare i campioni CAN e DAQ nel tempo.

La figura 6 mostra un esempio di Read con frequenza dicampionamento > 0. A, B e C rappresentano i messaggi deicanali initializzati. ¢t rappresenta il tempo fra i campioni

specificato dalla frequenza di campionamento. def rappre-senta il Default Value in MAX.

TIMESTAMPED READ (MODE = TIMESTAMPED INPUT)Il modo timestamped è utile per le applicazioni di test doveè richiesta la sincronizzazione CAN/DAQ, ma non occorreun’ulteriore elaborazione dei dati CAN. Se il modo Init Startè Timestamped Input, la vostra applicazione deve chiamarela funzione Read Timestamped per ottenere i valori. La vostra applicazione tipicamente chiama ReadTimestamped in un loop fino a risultato ottenuto. La funzio-ne Read Timestamped restituisce campioni che corrispondo-no a messaggi ricevuti dalla rete. Per ogni messaggio, vienerestituito un campione associato, insieme a un timestampche specifica quando il messaggio è arrivato. Viene restitui-to un array di campioni timestamped per ogni canale nel-l’elenco InitStart. La funzione Read Timestamped è CANRead in LabVIEW e nctReadTimestamped in altri linguaggi.La figura 7 illustra un esempio di Read Timestamped. A, B e

C rappresentano messaggi per i canali inizializzati. At, Bt eCt rappresentano gli istanti in cui è stato ricevuto ciascunmessaggio.

CAN WRITEModalità multiple di scrittura facilitano la personalizzazionedella vostra applicazione. Sono disponibili 3 modalità discrittura per NI-CAN, ciascuna delle quali verrà discussa nelparagrafo seguente:

1. Single point2. Continua3. Time-stamped

Se la modalità Init Start è Output (o Output Recent), lavostra applicazione deve chiamare la funzione Write permandare i valori in uscita. La vostra applicazione tipicamen-te chiama la Write in un loop fino a risultato ottenuto. Lafunzione Write è CAN Write in LabVIEW e nctWrite in altrilinguaggi. Il comportamento della Write dipende dalla fre-quenza di campionamento inzializzata (figura 4):

Figura 5 - Esempio di Read con frequenza di campionamento = 0

Figura 6 - Esempio di Read con frequenza di campionamento > 0

Figura 7 - Esempio di Read Timestamped

Page 13: labviewworld-07

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

13

NON-PERIODIC SINGLE POINT WRITE (MODE = OUTPUT, SAMPLE RATE = 0)La funzione Write trasmette un messaggio immediatamentesulla rete. I campioni forniti in scrittura vengono utilizzatiper formare i byte di dati del messaggio. È necessario spe-cificare un campione per ogni canale nella lista Init Start.

Per questo comportamento la modalità Init Start deve esse-re Output (non Output Recent). La figura 9 illustra un esem-pio di Write con frequenza di campionamento = 0. A, B, C eD rappresentano i messaggi per i canali inizializzati. Perogni Write, i messaggi associati vengono trasmessi il piùvelocemente possibile.

SCRITTURA CONTINUA (MODE = OUTPUT, SAMPLE RATE > 0)Dovete fornire un array di campioni per ogni canale nellalista Init Start. Ogni volta che il tempo specificato è trascor-so, viene trasmesso il messaggio successivo. Ogni messag-gio usa il campione successivo dell’array per formare i bytedi dati del messaggio. In altri termini, i campioni vengonotrasmessi periodicamente dall’array alla rete. Usando lastessa frequenza di campionamento con i canali NI-DAQAnalog Output, potete mettere in uscita campioni simulta-nei CAN e DAQ nel tempo.La figura 10 illustra un esempio di Write con frequenza di

c a m p i o n a -mento > 0 em o d a l i t àOutput. A, B, Ce D rappresen-tano i messag-gi per i canaliinizializzati. ¢trappresenta iltempo fra latrasmissione

dei messaggi come specificato dalla frequenza di campio-namento.

SCRITTURA SINGLE POINT (MODE = OUTPUT RECENT, SAMPLE RATE > 0). Dovete fornire un singolo campione per ogni canale nellalista Init Start. A ogni fronte di clock viene trasmesso il mes-saggio successivo usando il campione più recente che ave-te fornito. Il modo Output Recent è utile quando avete piùtask in esecuzione a velocità differenti, perché potete scri-vere campioni per tutti i task in un singolo loop. La figura11 illustra un esempio di Write con frequenza di campiona-mento > 0 e modalità Output Recent.

CAN CLEARCAN Clear VI: la funzione Clear interrompe la comunica-zione e cancella la configurazione. Per ogni task che inizia-lizzate, dovete chiamare una Clear prima di uscire dallavostra applicazione. La funzione Clear è CAN Clear inLabVIEW e nctClear in altri linguaggi.

FUNZIONI ADDIZIONALI DELLA CHANNEL APII paragrafi seguenti forniscono informazioni che potete uti-lizzare per estendere il modello di programmazione di base.

GET NAMESSe state sviluppando un’applicazione che verrà utilizzata daun’altra persona, potreste non volere specificare una lista dicanali fissa nella vostra applicazione. Idealmente, vorreteche il vostro utente finale selezioni i canali d’interesse dacontrolli dell’interfaccia utente. La funzione Get Namesinterroga il MAX o un database CAN e restituisce una listadi tutti i canali o messaggi presenti nel database. Poteteusare questa lista per popolare i controlli dell’interfacciautente. Potete quindi selezionare i canali da tali controlli,

Figura 8 - CAN Write.vi

Figura 9 - Esempio di Write con frequenza di campionamento = 0

Figura 10 - Esempio d i Write con f requenza di campionamento > 0 e Output Mode

Figura 11 - Esempio d i Write con f requenza d icampionamento > 0 e Output Recent Mode

Figura 12 - CAN Clear.vi

Page 14: labviewworld-07

14

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

evitando di digitare ciascun nome utilizzando la tastiera.Dopo avere effettuato le selezioni, la vostra applicazionepuò passare la lista risultante a Init Start. La funzione GetNames è CAN Get Names in LabVIEW e nctGetNames inaltri linguaggi.

SYNCHRONIZATIONLa Channel API NI-CAN usa RTSI per sincronizzare specifi-che unità funzionali su ciascuna scheda. Per le schede CAN,l’unità funzionale è l’interfaccia (porta). Per le schede DAQ,l’unità funzionale è una misura specifica, come Analog Inputo Analog Output. Ogni funzione instrada due segnali sullaconnessione RTSI:· timebase - Specifica un clock comune condiviso da piùschede per evitare la deriva del clock. · start trigger - Specifica il segnale di start inviato da unascheda a un’altra per evitare latenze legate alla fase di startstessa.

SET PROPERTYQuesta funzione vi permette di impostare proprietà dellarete come baud rate, tipo di transceiver e modalità di fil-traggio. La funzione Init Start usa l’interfaccia e la configu-razione di canale specificate in MAX o nel file di databaseCAN. Se dovete cambiare tale configurazione nella vostraapplicazione, non potete usare Init Start, perché la maggiorparte delle proprietà non può essere modificata durantel’esecuzione del task. Dovete invece usare innanzitutto Init,quindi impostare la proprietà e iniziare il task.

GET PROPERTYQuesta funzione vi permette di ottenere le proprietà deivostri canali, messaggi o rete, inclusi baud rate, ID dei mes-saggi e fattore di scala dei canali.

SINCRONIZZAZIONE DI SEGNALI CAN E ANALOGICIPER LA VALIDAZIONE DI DISPOSITIVICon l’evoluzione delle applicazioni di test dei dispositiviCAN, è diventata sempre più evidente la necessità di inte-grare gli elementi dei sistemi di test come misure di tensio-ne e sensori, controllo di attuatori e I/O discreti. La capaci-tà di sincronizzare le trasmissioni CAN con questi altri ele-menti è una caratteristica importante di un sistema chedeve assicurare risultati di misura ripetibili.Vediamo quindi come configurare un sistema che sincroniz-za i messaggi CAN con misure di acquisizione dati (DAQ)per ottenere misure simultanee usando la Channel API NI-CAN. I segnali DAQ e CAN sono confrontati per verificareche l’unità di controllo elettronica (ECU) stia generando icorretti messaggi CAN, in base alle misure DAQ.Per gli ingegneri che realizzano sistemi di test di validazione,produzione o assistenza per dispositivi basati sul CAN, le piat-taforme PXI e PCI di National Instruments sono soluzioni di

test e misura in grado di offrire capacità uniche di sincroniz-zazione dei messaggi CAN di più interfacce di bus conl’acquisizione dati, come misure di timing analogiche e digi-tali. A differenza di altre soluzioni di test, le piattaforme PXI ePCI di National Instruments offrono soluzioni completamenteintegrate per la comunicazione CAN e l’acquisizione dati.Potete progettare un programma che utilizza un loop per“sincronizzare via software” una varietà di prodotti hard-ware, perché il CAN e l’hardware DAQ contengono entram-bi un timestamp di quando si è verificato un particolareevento. Tuttavia, senza sincronizzazione dell’hardware, nonvi è alcuna garanzia circa la precisione dei timestamp stes-si, a causa della deriva del clock e della latenza di start/stop.

DERIVA DEL CLOCKGli oscillatori di clock presentano un’instabilità di frequen-za intrinseca, o jitter, normalmente specificata in parti permilione (ppm). Nel tempo, due clock qualsiasi, se non sonosincronizzati, si discostano fra loro. Nel caso peggiore, dueoscillatori specificati a 20 MHz ±100 ppm possono scostar-si di 1 ms fra loro in meno di 2 minuti.Per molte applicazioni di validazione, questi valori di derivadel clock sono inaccettabili, soprattutto se il collaudo deldispositivo avviene su lunghi periodi di tempo. Se i dueclock di una scheda DAQ e di una scheda CAN si sono dis-costati, non potete essere certi che i campioni ottenuti daciascuno di essi siano correlati. Per questo motivo, la sin-cronizzazione del bus RTSI fornisce un impulso di risincro-nizzazione dal dispositivo DAQ che risincronizza i due clockogni 100 millisecondi. Usando questo metodo, le basi tem-pi delle due schede non differiscono mai più di qualchemicrosecondo (10 microsecondi al massimo con i valori cita-ti sopra), minimizzando il problema di deriva del clock in unsistema di misura.

LATENZA DI START/STOPUsando la sincronizzazione software, il controllo di avvio e/oarresto delle funzioni dipende dalla latenza del software.Poiché in un programma le chiamate delle funzioni devonoessere serializzate, vi sarà una certa latenza fra lo start del-l’acquisizione DAQ e lo start dell’acquisizione CAN. Questalatenza si traduce in una quantità imprevedibile di errore fraquello che il DAQ considera il campione 0 e quello che ilCAN considera il campione 0. La conseguenza è che i datiDAQ e CAN non sono correlati nel tempo e quindi non pos-sono essere visualizzati insieme con precisione senza unamanipolazione addizionale dei dati.

REAL-TIME SYSTEM INTEGRATION (RTSI)Lo chassis PXI incorpora il PXI Trigger bus, con sette linee ditrigger per realizzare sincronizzazioni flessibili fra dispositiviNI di misura, acquisizione immagini e motion control, non-ché moduli d’interfaccia CAN. Uno o più moduli nel sistema

Page 15: labviewworld-07

15

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

possono generare segnali di timing sul backplane, dovesono disponibili per ciascun modulo presente nel sistemaper la sincronizzazione degli I/O. Poiché il timing è imple-mentato a livello hardware, non occorre che il softwareapplicativo intervenga nella sincronizzazione degli I/Oquando il sistema è stato inizializzato. Nei sistemi basati suPCI, le stesse caratteristiche di sincronizzazione sono resedisponibili dal bus RTSI, che usa un cavo piatto per connet-tere schede PCI tramite connettori montati superiormente.

ESEMPIO APPLICATIVOPer illustrare la sincronizzazione fra CAN e DAQ, consideria-mo un test per un controllore di sterzata servoassistito. I siste-mi di sterzatura idraulici convenzionali usano una cinghiaaccessoria del motore per trascinare una pompa rotante. Lapompa fornisce fluido pressurizzato che aziona un pistone nelcambio di sterzata o un attuatore per assistere il guidatorenel girare le ruote. Questo sistema pone costantemente unpiccolo carico sul motore, anche quando il sistema di sterza-tura non è in uso. Miglioramenti di questa tecnologia hannoportato ai sistemi EPAS (electric power-assist steering).L’EPAS (figura 13) usa un motore elettrico collegato alla colon-na o al rack di sterzatura tramite un meccanismo ri dut tore.

Questo pro cesso elimina la pompa, i manicotti, il fluidi, la cin-ghia di trasmissione e le pulegge del sistema servosterzoidraulico tradizionale. L’azionamento del motore applica unaforza di sterzatura che si aggiunge all’input del guidatore.L’ECU raccoglie dati come la coppia di sterzatura delle ruote,la velocità del motore e la posizione del motore e applica unalgoritmo di controllo per gestire il livello di servosterzaturaapplicato dal motore. Il sistema servosterzo elettrico è più leg-gero delle unità idrauliche tradizionali, indipendentementedalla velocità del motore, e il sistema assorbe potenza soloquando fornisce assistenza alla sterzatura, diminuendo i con-sumi di carburante.

CONFIGURAZIONE DEL TIMING DI SISTEMAL’esempio descritto in questo articolo mostra i grafici delle

forme d’onda degli ingressi sincronizzati da due canali CAN edue canali d’ingresso analogici (AI). I canali CAN ed AI ven-gono campionati alla velocità di campionamento specificata.In questo sistema di test EPAS, l’ECU acquisisce segnali tipocoppia, tensioni PWM e velocità del veicolo, li inserisce in unalgoritmo di controllo e regola l’uscita dei messaggi CANche controllano il motore (figura 14). Per validare

l’algoritmo di controllo EPAS, si possono registrare simulta-neamente i messaggi CAN e DAQ, analizzarli e determinarese viene prodotta l’uscita desiderata del motore.

ESEMPIO DI CODICE LABVIEWIl seguente esempio mostra la sincronizzazione di CAN eDAQ utilizzando la API NI-CAN Channel e NI-DAQmx.

Modello base di programmazione

Il modello base di programmazione della sincronizzazioneCAN/DAQ dell’NI-CAN 2.x è molto simile all’API NI-DAQ,con cui forse avete già familiarità, e si traduce in: configu-razione -> lettura/scrittura -> chiusura. Usando questomodello di programmazione, i dati CAN e DAQ possonoessere facilmente correlati utilizzando sei base di LabVIEW.Prima di poterli utilizzare in LabVIEW, i canali CAN devonoessere creati in Measurement & Automation Explorer (MAX)o importati da un file di database vettoriale.

Importazione di canali CAN

Canali CAN esistenti possono essere importati da file didatabase vettoriale (.dbc). Per importare i canali, aprite ilMAX e cliccate con il tasto destro su CAN Channels sottoData Neighborhood e selezionate Import from CANdbFile. L’area di dialogo elencherà tutti i messaggi disponibi-li. Cliccando su un messaggio, avrete l’opzione di sceglierespecifici canali all’interno del messaggio. Potete selezionarei canali che desiderate importare.

Configurazione esplicita dei canali

Figura 13 - Schema di un s istema EPAS(elec tr ic power-ass ist s teer ing)

Figura 14 - In questo schema del s istema di acquisiz ione dati , lascheda NI PXI-6070E campiona la coppia, la tensione e la veloci-tà che al imentano la ECU sotto test. I l modulo CAN NI PXI-846xcampiona l ’uscita in tensione del motore proveniente dal la ECU.

Page 16: labviewworld-07

16

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

Per configurare espli citamente canaliCAN, aprite il MAX e cliccate con iltasto destro su CAN Channels sottoData Neighborhood. SelezionateCreate Mes sage. Specificate i para-metri per il messaggio come illustratonella figura 15.Dopo la creazione, il messaggio vienein di cato sotto CAN Chan znels. Percreare un canale, cliccate con il tastodestro sul messaggio che avete creato eselezionate Create Channel. Si apre un’area di configurazione simi-le a quella illustrata in figura 16. Manoa mano che inserite le informazionirelative al bit di Start e al numero dibit, la matrice si riempie con casellegrigie che indicano i bit già utilizzatinelle definizioni dei canali. Le caselle blu indicano i bit in fase didefinizione. È anche possibile testare i canali CANusando il Channel Test Panel. Lopotete aprire dall’Example Fin der(Help>>Examples>>Hardware Inputand Out put>> CAN>>Chan nelAPI>>Synchroni zation>> Basic>>DAQmx>>CAN Waveform Input andDAQmx Waveform Input.vi).

Dopo avere configurato o importato icanali CAN, il modello di programma-

zione può essere facilmente implementato in LabVIEW. Ilcodice di configurazione CAN, illustrato in figura 17, forni-sce i passi essenziali per inizializzare i canali CAN e DAQ inLabVIEW, usando la Channel API.

Le tre sezioni delmodello verrannodescritte in maggioredettaglio. Il primoelemento del pro-gramma, illustrato infigura 17, compren-de i seguenti ele-menti:

• NI-DAQmx Create(AI Voltage Basic) –Inizializza e configu-ra i canali DAQmx • NI-DAQmx Timing(Sample Clock) –

Configura il clock di campionamento per i canali • NI-CAN Init – Inizializza un task per la lista di canali spe-

cificata. • NI-CAN Sync Start with NI-DAQ – Definisce l’instradamento

sul bus PXI Trigger del segnale di trigger resync e di altrisegnali di trigger e inizia in modo sincrono le acquisizioni.

Sample Rate specifica il numero di campioni da acquisireal secondo. Se il sample rate è impostato a 0, avverrà la let-tura di un singolo punto. Se il sample rate è maggiore di 0,avverrà una lettura continua.Channel List specifica i canali CAN per i quali avverrà lacomunicazione.Interface specifica la porta CAN utilizzata.Input Mode specifica i canali letti dalla rete CAN. Altreopzioni sono output (in scrittura) e timestamped input.

TIPI IN LETTURA E SCRITTURA

• Timestamped (sola lettura)Gestita a eventi

• Singolo punto Accesso veloce al Messaggio più recenteVelocità di campionamento = 0

• ContinuoFlusso continuo di dati a intervallo di tempo fissoVelocità di campionamento > 0

Sono disponibili tre modalità in lettura e due in scrittura,cosa che facilita la personalizzazione della vostra applica-zione. Le misure Single point sono utili quando desidera-te un accesso veloce al messaggio CAN più recente. Inmodalità singolo punto, un messaggio viene trasmes-so/ricevuto solo quando viene chiamata una lettu-ra/scrittura. La modalità Timestamped è utile per applica-zioni di test nelle quali è richiesta la sincronizzazioneCAN/DAQ senza ulteriore elaborazione dei dati CAN. Inquesta modalità i messaggi CAN vengono registrati con untimestamp. Se il modulo CAN viene sincronizzato (usandol’impulso resync) con un modulo DAQ, i dati CAN verrannocorrelati direttamente con i dati analogici o digitali time-stamped provenienti dal modulo DAQ.La modalità Continuous è utile quando desiderate regi-strare dati insieme a dati analogici o digitali da un disposi-tivo DAQ. I valori CAN vengono ricampionati ad ogni impul-so di clock finché non viene ricevuto un nuovo messaggio.Le reti CAN sono gestite a eventi. Tuttavia, possono essercidei casi in cui preferite avere valori CAN continui. In questocaso, potete usare l’impostazione Continuous su letture escritture: i valori CAN sono trasmessi o ricevuti ad ogni col-po di clock. Nel caso in cui la base tempi sia più rapida del-le velocità d’ingresso o d’uscita dei messaggi CAN, i mes-saggi CAN vengono copiati (ricampionati) fino all’arrivo diun nuovo messaggio.

Figura 15 - Configurazione deiparametri del Messaggio CAN

Figura 16 - Configurazione di uncanale CAN

Figura 17 - Le interfacce CAN e DAQ vengono inizializzate e la lineaPXI Trigger viene configurata per i segnali di timing e triggering.

Page 17: labviewworld-07

17

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

Questa caratteristica è uti-le per registrare dati chesono correlati a dati DAQ,cosa comune nelle appli-cazioni di test CAN/DAQautomotive. In questeapplicazioni, si utilizza lastessa base tempi per CANe DAQ. I dati acquisiti inmodalità Continuous pos-sono essere convertiti inLV-Waveform-Data-Type.La sezione di codice LabVIEW in figura 18 illustra le funzio-ni CAN e di lettura analogica sincronizzate attraverso il PXItrigger bus. Poiché la velocità di campionamento è stata fis-sata a 1000, i messaggi CAN sono letti 1000 volte al secon-do (in continua).• NI-CAN Read - legge campioni da un task CAN. • NI-DAQmx Read - legge dati da un’acquisizione dati buf-

ferizzata. • Build Array - concatena più array. • Align Waveform Timestamps - sostituisce tutti i valori del

timestamp (t0) con il valore dell’indice dell’elemento del-l’array.

• Unbundle - controlla lo stato dell’errore. • NI-CAN Clear with NI-DAQ - cancella i task CAN e DAQ.

RISULTATICiò che si ottiene è un grafico di forma d’onda facilmenteconfrontabile con le misure analogiche. Se i campioni DAQe CAN sono sincronizzati, è possibile visualizzare le formed’onda insieme su un grafico ed osservare la loro relazionenel tempo. Senza sincronizzazione, questo non è possibileperché i dati non sono correlati. Nel nostro sistema di testEPAS, l’ECU invia un nuovo valore RPM sul bus CAN quan-do viene raggiunta una certa coppia di sterzatura. La coppiadi sterzatura è letta come ingresso analogico dall’hardware

DAQ e il valore RPM è rappresentato daun messaggio CAN. Per validare il com-portamento del sistema, dovete verifi-care che venga trasmesso il correttomessaggio CAN quando la sogliad‘ingresso analogico viene superata.Questo processo richiede la capacità dicorrelare con precisione i campioniottenuti dall’hardware DAQ e CAN. Ilconfronto è rappresentato in figura 19.

Come si vede in figura, senza sincroniz-zazione c’è un leggero ritardo nell’istante di start dell’ingres-so analogico NI-DAQmx. Questo leggero offset deriva neltempo e aumenta le differenze fra gli istanti di lettura, perchénon vi è alcun controllo per tenerli uniti. Ciò può essere evi-tato usando la sincronizzazione, illustrata in figura 20.

Con la corretta sincronizzazione, le vostre letture NI-CAN eNI-DAQmx possono essere acquisite simultaneamentedurante tutto il test.

CONCLUSIONEPotete usare i dati CAN e analogici acquisiti simultanea-mente per validare una ECU tramite PXI Trigger bus o RTSIbus, disponibili rispettivamente per PXI e PCI. Usando la NI-CAN Channel API in LabVIEW si ottiene un semplice model-lo di programmazione per completare il programma di sin-cronizzazione in sei VI. Il confronto può essere eseguito ingrafici di forme d’onda usando la modalità di lettura conti-nua.

Figura 19 - Acquisizioni DAQ e CAN non sincronizzate

Figura 18 - Lettura dei segnali CAN e DAQ

Figura 20 - Acquisizioni DAQ e CAN sincronizzate

Note sull’autoreLaureato in ingegneria nucleare al Politecnico di Milano, MatteoFoini lavora in qualità di Technical Marketing Engineer pressoNational Instruments Italy

Read

erse

rvic

e.it

n. 7

11

Page 18: labviewworld-07

18

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

L'elettrocardiogramma (ECG) è una tecnica di registra-zione delle correnti bioelettriche generate dal cuore.Esaminando l'ECG, i medici possono valutare le condi-

zioni del cuore di un paziente ed eseguire ulteriori diagnosi.Le registrazioni ECG sono ottenute campionando le correntibioelettriche rilevate da diversi elettrodi o sonde. Nella figu-ra 1 è riportato il tipico tracciato di un ciclo di segnale ECG.Generalmente, il segnale ECG registrato è spesso contami-

nato da rumore e fenomeni spuri che possono verificarsiall'interno della banda di frequenza d'interesse e manife-starsi con caratteristiche simili a quelle del segnale ECGstesso. Per potere estrarre informazioni utili da segnali ECGdisturbati, è necessario elaborare i segnali ECG grezzi.L'elaborazione dei segnali ECG può essere suddivisa a gran-di linee in due fasi: la preelaborazione, che rimuove o sop-prime il rumore dal segnale ECG grezzo, e la successivaestrazione di informazioni diagnostiche dal segnale ECG(come illustrato nella figura 2).Con LabVIEW e i relativi toolkit, come l'Advanced SignalProcessing Toolkit (ASPT) e il Digital Filter Design Toolkit(DFDT), potete comodamente costruire applicazioni di ela-borazione dei segnali per entrambe le fasi, inclusa la rimo-zione delle fluttuazioni della baseline, la cancellazione del

rumore, la rilevazione del complesso QRS, l'estrazione dellafrequenza cardiaca fetale, ecc. Questo articolo discutemetodi tipici di elaborazione dei segnali ECG basati suLabVIEW.

PREELABORAZIONE DEI SEGNALI ECGLa preelaborazione dei segnali ECG vi aiuta a rimuovere lecontaminazioni dai segnali ECG stessi. In termini generali,tali contaminazioni possono essere classificate nelleseguenti categorie:

• Interferenze sulla linea di alimentazione• Rumore di contatto• Fenomeni spuri dovuti al movimento di paziente ed elet-

trodo• Rumore elettromiografico (EMG)• Fluttuazioni della baseline

Fra questi rumori, le interferenze sulla linea di alimentazio-ne e le fluttuazioni della baseline sono quelli più significati-vi, e possono influenzare fortemente l'analisi del segnaleECG. A parte questi due rumori, altre fonti di rumore posso-no essere a banda larga e possono seguire normalmente uncomplesso processo stocastico, che a sua volta distorce ilsegnale ECG. Le interferenze sulla linea di alimentazionecostituiscono un rumore a banda stretta centrata a 60 Hz (o50 Hz) con una larghezza di banda minore di 1 Hz.

LABVIEW PER L'ELABORAZIONE DI SEGNALI ECGGrazie a i toolk i t d i e laboraz ione dei segnal i , LabVIE W off re un ambiente so l ido ed ef f ic ienteper r i so lvere problemi d i e laboraz ione dei segnal i ECG

Sam

Sh

earm

an

Fig. 1 - Il tipico tracciato di un ECG monociclo

Fig. 2 - Tipico schema di flusso di elaborazione dei segnali ECG

Page 19: labviewworld-07

19

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

Normalmente, l'hardware di acquisizione del segnale ECGpuò rimuovere le interferenze sulla linea di alimentazione.Al contrario, le fluttuazioni della baseline ed altri rumori alarga banda non possono essere facilmente soppressi dalleapparecchiature hardware. Invece, un metodo softwarerisulta essere molto più potente e realizzabile per elabora-zioni offline dei segnali ECG. Per rimuovere le fluttuazionidella baseline ed altri rumori a larga banda potete utilizza-re i metodi seguenti.

RIMOZIONE DELLE FLUTTUAZIONI DELLA BASELINELe fluttuazioni della baseline derivano normalmente dallarespirazione e presentano frequenze comprese fra 0,15 e0,3 Hz e potete sopprimerle con un filtro digitale passa alto.Potete anche utilizzare la trasformata wavelet per rimuove-re le fluttuazioni della baseline eliminando il trend delsegnale ECG.

1. Filtro digitaleIl LabVIEW DFDT offre un metodo intuitivo e interattivo perprogettare e implementare in modo semplice ed efficace fil-tri a risposta finita all'impulso (FIR) o a risposta infinitaall'impulso (IIR). Per esempio, potete utilizzare l'Express VIClassical Filter Design per progettare un filtro FIR passa altocon finestra di Kaiser per rimuovere le fluttuazioni dellabaseline. La figura 3 illustra un esempio delle specifiche del filtro pas-sa alto e lo schema a blocchi di un VI campione che poteteutilizzare per rimuovere le fluttuazioni della baseline.

2. Trasformata waveletOltre ai filtri digitali, anche la trasformata wavelet è unmetodo efficace per rimuovere segnali all'interno di sotto-bande specifiche. Il LabVIEW ASPT fornisce il WA Detrend VIche può rimuovere il trend a bassa frequenza di un segna-le. La figura 4 illustra un esempio di rimozione delle flut-tuazioni della baseline utilizzando il WA Detrend VI.Questo esempio uti-lizza la waveletDaubechies6 (db06)perché tale wavelet èsimile al segnale ECGreale. Nell'esempio, ilsegnale ECG ha unadurata di campiona-mento di 60 secondie 12000 punti dicampionamento in totale, quindi il livello di trend è 0,5secondo la seguente equazione:

Dove t è la durata di campionamento e N è il numero dipunti di campionamento.La figura 5 illustra il segnale ECG originale e i segnali ECGrisultanti elaborati rispettivamente con l'approccio basatosul filtro digitale e con quello basato sulla trasformata

wavelet. Potete vedere che i segnali ECG risultanti conten-gono una scarsa informazione sulle fluttuazioni della base-line però mantengono le caratteristiche principali del segna-le ECG originale. Potete anche osservare che l'approcciobasato sulle wavelet è migliore perché non introduce alcu-na latenza e provoca una minore distorsione rispetto al fil-tro digitale.

Fig. 3 - Progettazione e uso di un filtro passa alto per rimuoverele fluttuazioni della baseline

Fig. 4 - Uso del VI WA Detrend per rimuovere le fluttuazionidella baseline

Fig. 5 - Confronto fra l 'approccio basato sul filtro digitale el'approccio della trasformata wavelet

Page 20: labviewworld-07

20

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

RIMOZIONE DEL RUMORE A BANDA LARGANonostante gli effetti positivi sulla qualità del segnale risul-tanti dalla rimozione delle fluttuazioni della baseline, qual-che altro tipo di rumore può disturbare l’estrazione di infor-mazioni utili dal segnale ECG. Il rumore potrebbe derivareda complessi processi stocastici che coinvolgono una bandaampia, quindi potrebbe non essere rimosso mediante filtridigitali tradizionali. Per rimuovere i rumori a banda larga,potete utilizzare l'Express VI Wavelet Denoise.Questo Express VI scompone in primo luogo il segnale ECGin più sottobande applicando la trasformata wavelet, quin-di modifica ogni coefficiente della wavelet applicando unafunzione di soglia o compressione ed infine ricostruisce ilsegnale senza rumore. La figura 6 illustra un esempio diapplicazione della undecimated wavelet transform (UWT) alsegnale ECG.

La UWT garantisce un migliore compromesso tra smooth-ness e accuratezza rispetto alla discrete wavelet transform(DWT). Confrontando il segnale ECG senza rumore con ilsegnale ECG originale, come si vede nella figura 7, potetenotare che i rumori a banda larga sono stati fortementesoppressi, mentre quasi tutti i dettagli del segnale ECG sonostati lasciati invariati.

ESTRAZIONE DELLE COMPONENTI CARATTERISTICHE DEI SEGNALI ECGAl fine della diagnosi è spesso necessario estrarre variecomponenti caratteristiche dai dati ECG preelaborati, tra cuiintervalli QRS, ampiezze QRS, intervalli PR, intervalli ST, fre-quenza cardiaca fetale, ecc. Questo paragrafo discute prin-cipalmente il rilevamento del complesso QRS e l'estrazionedell'ECG fetale.

RILEVAMENTO DEL COMPLESSO QRSIl rilevamento dei picchi R e, di conseguenza, del complessoQRS in un segnale ECG offre informazioni sulla frequenzacardiaca, sulla velocità di conduzione, sulla condizione deitessuti all'interno del cuore e su varie anomalie. Esso forni-sce un’evidenza per la diagnosi delle malattie cardiache. Perquesto motivo, ha riscosso una notevole attenzione nelcampo dell'elaborazione dei segnali ECG. Tuttavia, la pre-senza di rumore e la morfologia variabile nel tempo rendo-no difficoltoso questo rilevamento.Poiché wavelet opportunamente scelte possono estrarre leinformazioni principali dai segnali rumorosi tramite analisimultirisoluzione, recentemente sono stati introdotti nume-rosi metodi di rilevamento basati su wavelet. In questo arti-colo, per rilevare i punti Q, R e S è stato utilizzato il WAMultiscale Peak Detection VI presente nel LabVIEW ASPT.Prima del rilevamento picco/valle, utilizzate l'Express VIMultiresolution Analysis per scomporre il segnale ECG conwavelet Daubechies6 (db06) (come illustrato nella figura 8)e quindi ricostruite il segnale con le sottobande D4 e D5.Vengono tenute per la ricostruzione le sottobande D4 e D5perché in queste due sottobande ci sono quasi tutti i detta-gli QRS, rendendo più accurato il rilevamento QRS.

Fig. 6 - Rimozione dei rumori a banda larga da un segnale ECGmediante UWT

Fig. 7 - Segnali ECG prima e dopo la rimozione del rumore trami-te UWT Fig. 8 - Analisi ECG multirisoluzione ed implementazione del rilevamento QRS

Page 21: labviewworld-07

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

21

La figura 9 illustra i segnali ECG elaborati mediante l'analisiwavelet multirisoluzione (MRA) ed il rilevamento picco/valle,oltre al segnale ECG originale. In questa figura, potete vede-re che i picchi e le valli (specialmente i punti Q ed S) diventa-no più distinti dopo l'analisi wavelet multirisoluzione.

Dopo l'estrazione delle componenti caratteristiche con il rile-vamento del complesso QRS, potete compiere ulteriori anali-si con altri metodi. Per esempio, potete eseguire l'analisi divariabilità della frequenza cardiaca (HRV) sull’intervallo R-Rper valutare lo stato del cuore e del sistema nervoso.

ESTRAZIONE DELL'ECG FETALEL'elettrocardiogramma fetale (FECG) può essere derivatodall'ECG addominale materno (AECG) ed essere utilizzatoper l'estrazione della frequenza cardiaca fetale (FHR), cheindica la condizione cardiaca del feto. Nella figura 10 è illu-strata la posizione delle sonde per un sistema di acquisizio-ne ECG materno a 8 canali. I segnali ECG del torace mater-no sono campionati dalle sonde toraciche, mentre i segnaliECG dell'addome materno sono ottenuti dalle sonde addo-minali. Utilizziamo qui i due metodi seguenti per estrarre lafrequenza cardiaca fetale: Independent Component Analysis(ICA) e filtraggio adattivo.

1. Approccio ICAL'ICA è un metodo per rilevare segnali nascosti indipenden-ti da un'osservazione multicanale. Supponiamo chel'osservazione X sia una sovrapposizione del segnale sor-gente S e scriviamo:

X = AS

dove A denota una mixing matrix. L'assunzione dell'indi-pendenza statistica dei segnali S permette di stimare le dueincognite S e A dall'osservazione X. Qui, l'ECG materno el'ECG fetale possono essere trattati come componenti indi-pendenti, cioè sono parte di S, mentre le registrazioni ECGa 8 canali misurate costituiscono X. Eseguendo l'ICA, è pos-sibile ottenere la stima di S; ciò significa che si possonoottenere sia l'ECG materno sia l'ECG fetale.L'ASPT mette a disposizione il VI TSA IndependentComponent Analysis, che vi permette di costruire facilmen-te un'applicazione di estrazione del FHR come illustrato nel-la figura 11: i segnali ECG a 8 canali (acquisiti con il siste-ma a 8 canali menzionato prima) sono gli ingressi della fun-zione ICA, ed il segnale ECG fetale può essere ottenuto dal-l'uscita come una delle componenti indipendenti. La figura12 illustra rispettivamente un ECG addominale materno eun ECG fetale estratti dall'ICA. Dall'ECG fetale si può vede-re che l'ECG materno è stato soppresso efficacemente e cheil FHR può essere ottenuto in modo preciso e comodo.

Fig. 9 - ECG originale, ECG dopo la MRA e ECG dopo il ri levamentopicco/valle

Fig. 10 - Posizioni delle sonde per un sistema di acquisizioneECG materno a 8 canali (comprendente 5 sonde addominali e 3 sonde toraciche)

Fig. 11 - Metodo ICA per l 'estrazione della frequenza cardiaca fetale

Fig. 12 - Estrazione del FHR utilizzando l'ICA

Page 22: labviewworld-07

22

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

Note sull’autoreSam Shearman, Senior Product Manager, Signal Processing &Analysis presso National Instruments Corporation

Read

erse

rvic

e.it

n. 7

13

2. Approccio del filtraggio adattivoUn filtro adattivo è un filtro che autoregola i suoi coefficientiper ottimizzarli secondo un indice di prestazioni specificato.I filtri adattivi vengono utilizzati in un'ampia gamma diapplicazioni, una delle quali è la cancellazione adattiva del

rumore, descritta nella figura 13.In questo esempio, i coefficienti del filtro adattivo sonoregolati minimizzando gli errori fra il segnale di riferimentoe il segnale d'ingresso rumoroso, in modo da potere otte-nere l'ECG fetale sottraendo il segnale toracico materno dalsegnale addominale materno. L' implementazione LabVIEWdi questo approccio è illustrata nella figura 14.Come si vede nella figura 15, un filtro adattivo di ordine epasso appropriati può tracciare e predire l'ECG materno edestrarre l'ECG fetale come errore di predizione.

CONCLUSIONELabVIEW e i relativi toolkit di elaborazione dei segnali offro-no un ambiente solido ed efficiente per risolvere problemi dielaborazione dei segnali ECG. Questo articolo ha mostratocome utilizzare questi potenti strumenti per abbattere lecomponenti di rumore, condurre analisi ed estrarre in modosemplice segnali ECG, non solo nella diagnosi delle malat-

tie cardiache ma anche nella ricerca condotta nel campodell'elaborazione dei segnali ECG. Inoltre, questi tool pos-sono essere utilizzati anche in altre applicazioni di elabora-zione dei segnali biomedici, come l'Imaging a RisonanzaMagnetica (MRI) e l'Elettroencefalografia (EEG).

Fig. 13 - Struttura adattiva di rimozione del rumore

Fig. 14 - Metodo di filtragguo adattivo per l 'estrazione del FHR

Fig. 15 - Estrazione del FHR usando un filtro adattivo

Read

erse

rvic

e.it

n. X

XX

Page 23: labviewworld-07

24

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

La teleriabilitazione costituisce un recente sviluppo nel-l'ambito della telemedicina. Pur essendosi sviluppatapiù recentemente propone numerosi progetti e appli-

cazioni pratiche, favorite anche dallo sviluppo tecnologicodell’ultimo decennio.Si tratta di un tipo di trattamento riabilitativo che sfrutta latecnologia elettronica usata come mezzo di comunicazioneed informazione attraverso cui può essere applicata adistanza (Lathan, Kinsella et al. 1999). Lo scopo principalesi è evoluto dalla necessità di fornire terapie in contesti rura-li o comunque distanti dai centri di riabilitazione verso sce-nari più complessi in cui i benefici economici e sociali si

coniugano con la necessità di prolungare l'attività riabilita-tiva in fase cronica ove un ‘degrado’ dell’abilità è in partelegato al ‘non uso’ appreso della funzione (Taub 2000).

AMBITI DI APPLICAZIONEDa questo punto di vista vi sono differenti ambiti di appli-cazione della teleriabilitazione: la logopedia, l'audiologia, lafisioterapia, la riabilitazione cognitiva, la terapia occupazio-nale, la psicologia, il nursing riabilitativo fino al'integrazione sociale e vocazionale.In questo ambito è stato proposto da un consorzio europeoin cui erano rappresentate la Spagna (Ospedale Guttmann

SISTEMA DI TELERIABILITAZIONE NU!REHA

Ric

card

o M

agn

i, F

abio

Mag

nin

o La s f ida era quel la d i proporre un s istema per la r iabi l i taz ione a d istanza che d imostrasseprat ic i tà e capacità d i ut i l i zzo da par te d i personale non esper to, qual i i fami l iar i e ass istent igener ic i , d i rettamente a l domic i l io del paz iente

Page 24: labviewworld-07

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

25

di Barcellona), l'Italia (Ospedale di Trevi, Pragma Engi -neering, Signomotus) ed il Belgio (Centro Nazionale per laSclerosi Multipla), il progetto H-CAD (Home Care ActivityDesk prj IST n.2001-33235). Il Consorzio ha proposto larealizzazione di un sistema dedicato alla terapia occupazio-nale per l'esecuzione di esercizi riabilitativi di tipo ‘conte-stuale’, ovvero basati sulla proposta di attività legate aquelle della vita quotidiana. Si tratta di attività complesseche comprendono tra l'altro la possibilità di pianificazionedell'azione, un controllo della presa e del movimento, uncoordinamento visuomotorio sufficiente al completamentodell'esercizio o al raggiungimento del target previsto. Taliattività sono quindi finalizzate ad azioni utili per lo sviluppodell'autonomia nella vita quotidiana, con riferimento allascrittura, ad esercizi di pre-grafismo, allo spostamento sulpiano orizzontale di un oggetto (per es. un bicchiere su untavolo) e alla collocazione di un oggetto in verticale (per es.un libro su una libreria).

MONITORAGGIO A DISTANZALa sfida costituita dal progetto era quella di poter monitorarea distanza queste attività proposte al pa ziente in maniera pra-tica ed efficiente, conciliando aspetti tecnici con aspetti medi-co-clinici prevalenti nel tipo di applicazione. Si tratta quindi di:- selezionare una serie di esercizi significativi dal punto di

vista clinico e delle autonomie;- offrire la possibilità di modulare/configurare gli esercizi

sulla base delle condizioni cliniche del paziente e delleattività proposte;

- inserire questi esercizi in uno schema tecnico utile allasensorizzazione;

- sviluppare un’interfaccia utente semplice e localizzabile indifferenti lingue europee;

- automatizzare un sistema di scambio dati per la restituzio-ne in remoto dei parametri fondamentali degli esercizi;

- permettere una prima analisi dei dati da parte del terapista.

L'analisi delle tipologie di eserciziosi è basata su quelli utilizzati interapia occupazionale per pazienticon sclerosi multipla, che abbianosubito un ictus o una lesione cere-brale traumatica. Questi gruppihanno rappresentato una primaapplicazione del sistema in ambitoclinico (inpatient) ed in configura-zione remota (outpatient).Attraverso una successiva integra-zione ed ingegnerizzazione deicomponenti del sistema (hardwaree software) la proposta del proget-to H-CAD è evoluta in un prodottoper applicazioni pilota nei centri di

riabilitazione (attualmente in uso in Spagna ed in Italia) conil marchio NU!Reha.

IL SISTEMAIl sistema risulta composto da una unità remota, da un ser-ver di comunicazione e da un'applicazione di configurazio-ne e analisi.L'unità remota è costituita da un sistema multi-sensorizza-to sia nell'area orizzontale che in quella verticale con i sen-sori opportunamente inseriti in oggetti di uso comune: unpiano da tavolo per esercizi, una sorta di libreria per il posi-zionamento di oggetti vari. La scelta degli oggetti non èobbligata: essi possono essere reperiti tra quelli già in uso da

Figura 2 - Soft ware d i conf iguraz ione

Figura 3 - Soft ware per l ’anal is i dei dat i

Page 25: labviewworld-07

26

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

parte del paziente o indotazione da parte dellepalestre occupazionali. Vari oggetti quali tazze,bicchieri in plastica rigida,boccali, cubi in plastica oin gommapiuma, oggettiin legno, libri, videocas-sette, custodie di stam-pe.. possono essereopportunamente resi visi-bili sia sul piano di lavoroche su quello verticale. Loscopo è quello di determi-nare, anche con una rela-tiva accuratezza il posi-zionamento senza influiresulle normali attività efunzioni del paziente: lasensoristica è quindiwireless basata su infra-rossi e tag a radiofre-quenza.Il sistema portatile ègestito daun’applicazione softwarecompletamente sviluppa-ta in LabVIEW diNational Instruments cheimplementa le seguentifunzioni: interfacciamento sensori e videocamera per acqui-sizione dati e video, gestione degli esercizi, memorizzazionedati e video, trasferimento dati via rete al server di comuni-cazione, interfaccia utente semplificata e personalizzabile.Così equipaggiato, il sistema consente l'esecuzione di unset di esercizi configurati dal terapista prevedendo la ripeti-zione degli stessi e la registrazione del raggiungimento delleposizioni previste (con un tempo limite prefissato). Tuttal'attività è comunque registrata attraverso una videocameraper fornire indicazioni visive circa la postura durantel'esecuzione dell'esercizio specifico ed altre informazioni(fattori di distrazione, posizionamento corretto degli ogget-ti sul piano di lavoro..). L’interfaccia utente consentel’utilizzo del sistema tramite un tastierino a quattro tasticolorati e può essere configurata nella lingua dell’utilizzato-re ed arricchita con tutorial video sull’esecuzione degli eser-cizi. Il sistema portatile può essere utilizzato all'interno del-l'ospedale (connesso alla LAN ospedaliera) e presso il domi-cilio del paziente (connessione: ADSL, Umts).

CONFIGURAZIONEPer la configurazione dell’unità remota è stata realizzata,sempre in LabVIEW, un’applicazione che permette al terapi-

sta la gestione dei datirelativi ai vari pazienti ela creazione di sequenzedi esercizi personalizzatein termini di parametri(tipologia di esercizio,numero di ripetizioni,durata massima, percorsie target da raggiungere,ecc.), e descrizione (mes-saggi di feedback, istru-zioni, video tutorial). La configurazione puòessere svolta sia local-mente sulla unità che daremoto da una normalepo stazione PC con tra-sferimento dei dati diconfigurazione all’unitàremota tramite in serverdi comunicazione.L’applicazione diconfigurazione consentean che la visualizzazioneed analisi dei dati regi-strati durantel’esecuzione degli eser-cizi e trasferiti dall’unitàremota. In particolareviene fornita una rappre-

sentazione sinottica di ogni esercizio eseguito, sincronizza-ta con la registrazione video, e la possibilità di esportare idati per successive analisi.

RIFERIMENTILathan, C. E., A. Kinsella, et al. (1999). "Aspects of humanfactors engineering in home telemedicine and telerehabili-tation systems." Telemed J 5(2): 169-75Taub, E. (2000). "Constraint-induced movement therapyand massed practice." Stroke 31(4): 986-8www.telerehabilitation.net il sito internazionale di riferi-mento della Wfrnwww.nureha.com sito del prodotto di teleriabilitazione pre-sentato in questo articolo

Note sugli autoriRiccardo Magni, responsabile sviluppo hardware presso PragmaEngineering Fabio Magnino, responsabile degli sviluppi software di controlloautomatico presso Pragma Engineering

Read

erse

rvic

e.it

n. 7

17

Page 26: labviewworld-07

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

27

Nell’ambito dell’automazione industriale esistono mol-ti strumenti teorici utili all’analisi ed alla sintesi per laprogettazione e la modifica di impianti. Per validare il

progetto di un nuovo reparto si seguono usualmente duestrade: l’inserimento diretto del prototipo nell’impianto, connecessaria interruzione del funzionamento, oppure la

costruzione di modelli software di simulazione dell’interosistema finale, con risparmio economico ma senza la garan-zia di sufficiente affidabilità e complessità. Il Progetto IMO-SE (Impianto di MOvimentazione SEmilavorati), sviluppatoall’interno del corso di Laurea Specialistica di 'Laboratorio diMeccatronica' all’Università Politecnica delle Marche, ha

IMOSE: IMPIANTO DIMOVIMENTAZIONE DI SEMILAVORATI

G.C

onte

, D.S

cara

dozz

i,

M.R

oset

tan

i, G

.Vit

aiol

i I l model lo d i un’ iso la d i spostamento semi lavorat i completamente automatizzata permette d iesplorare le problematiche inerent i la coordinazione e la comunicaz ione degl i agent i , la senso-r ist ica e l ’attuazione, e la s icurezza del l ’ impianto

Page 27: labviewworld-07

28

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

avuto come obiettivo la progettazione meccatronica di unmodello hardware di una Cella Manifatturiera (CM) econo-micamente vantaggioso, di veloce prototipazione e suffi-cientemente complesso come strumento di analisi.

DESCRIZIONE DEL MODELLOMediante elementi LEGO Mindstorm NXT è stato realizza-to il modello di un’isola di spostamento semilavorati,modellati con blocchetti lego di colore rosso (fig. 1). Ilsemilavorato deve essere trasportato da un’area di lavoro(Area1) a un’altra (Area2) mediante braccio robotico antro-pomorfo supervisionato da una postazione computerizzataremota. Il software di supervisione dell’impianto, realizzato inLabVIEW, ha il compito di gestire il flusso delle operazionie di coordinare il movimento di tutte le macchine presentinell’isola di lavorazione. La supervisione sul campo ègarantita dal flusso video proveniente da una telecameramontata a bordo di un robot bipede in grado di spostarsiautonomamente attraverso la zona di lavoro, di impostareil giusto angolo di visione e di elaborare l’immagine al finedi riconoscere l’esatta posizione dell’oggetto da movimen-tare. Il supervisore inoltre riceve informazioni da una rete

sensoristica diffusa che, monitorando il campo elettrico,rileva la presenza di corpi estranei (esseri umani) pericolo-samente vicini alla zona di lavoro.

OPERAZIONI NELL'ISOLA DI LAVOROIn dettaglio i comportamenti esibiti dal sistema sono iseguenti (fig. 2): • La telecamera rileva la presenza di un oggetto nell’area

d’ingresso e ne comunica la posizione al supervisore.• Il supervisore passa tale informazione al manipolatore

che preleva il pezzo dall’Area1 e lo posiziona nell’Area2avvisando il supervisore dell’avvenuto trasferimento o dieventuali problemi incontrati.

• Il supervisore ordina al supporto mobile della telecame-ra (robot bipede) di spostarsi in una posizione in cuiabbia una buona visuale dell’area di arrivo.

• La telecamera verifica la presenza del semilavorato nellaposizione corretta all’interno dell’Area2 e ne informa ilsupervisore. Se il pezzo si trova effettivamente nell’areafinale ed è nella posizione giusta, il ciclo termina con esi-to positivo.

• Se l’esito è negativo, vengono verificate tre possibilitàriguardo al manipolatore: mancata presa del pezzo, per-dita del pezzo durante lo spostamento oppure posizio-namento in una cella errata. In questi casi il sistema èresettato.

• Se in un qualunque momento un corpo estraneo si avvi-cina troppo al manipolatore o vi entra in contatto, il siste-ma si blocca inviando un allarme a disarmo manuale.

IL SUPERVISOREIl supervisore ha il compito di realizzare la coordinazione elo scambio d’informazioni tra le varie componenti del siste-ma, di dettare i tempi delle operazioni, di inviare i coman-di e di sincronizzare il flusso degli eventi. Il supervisore èrealizzato mediante software LabVIEW e comunica conl’impianto mediante Bluetooth o USB, utilizzando un parti-colare protocollo seriale elaborato in fase di progetto. Nellafigura 3 si può osservare il pannello relativo al programmaprincipale. I dispositivi da controllare sono quattro: la tele-camera e il bipede su cui è montata, il robot antropomorfoe il controllore per i sensori E-Field.

IL MANIPOLATOREGli oggetti sono movimentati da un sistema robotico costi-tuito da un manipolatore antropomorfo a tre gradi di liber-tà su cui è montato un organo di presa pinza con relativosensore di forza (fig. 1). I tre giunti del braccio sono attuati da servomotori pilotatidalle uscite PWM del blocchetto LEGO NXT, mediante con-trollore PID numerico. L’End-Effector impiega un micromotore LEGO per trasmet-tere il moto alla pinza, un sensore di contatto (LEGO

Figura 1

Page 28: labviewworld-07

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

29

Note SUGLI autorIG. Conte, D. Scaradozzi, M. Rosettani, G. Vitaioli - Diiga UniversitàPolitecnica delle Marche

Read

erse

rvic

e.it

n. 7

15

Mindstorm) per monitorare la presenza o meno del pezzoed un sensore di corrente per attuare un controllo di forzasulla presa. Il funzionamento dell’End-Effector è regolatodal blocchetto LEGO RCX.

IL SISTEMA DI VISIONE E IL ROBOT BIPEDEIl sistema di visione è costituito da una webcam montata,mediante supporto attuato per Pan&Tilt realizzato consistema LEGO, a bordo di un robot bipede. Le immagini sono acquisite ed elaborate mediante un pro-gramma LabVIEW messo a punto con il pacchetto LabVIEWVision Assistant. Il sistema di visione si occupa di dare le direttive al bloc-chetto NXT del bipede per orientare il sistema Pan&Tilt alloscopo di centrare l’area di lavoro nelle immagini catturatedalla telecamera e di rilevare con buona precisione la posi-zione degli oggetti all’interno della griglia. Il robot bipede, che riceve i comandi direttamente dalsupervisore, si sposta parallelamente alla zona di lavoro trale due aree di posizionamento dei semilavorati.

IL SENSORE E-FIELDIl sensore E-Field ha il compito di rilevare la prossimità ol’avvicinamento di corpi estranei (esseri umani) al manipo-latore e, in generale, all’area di lavoro. Il principio di fun-zionamento di tale sensore è basato sulle caratteristiche diinterazione tra campi elettromagnetici e corpi conduttori. Il segnale è acquisito ed elaborato da un microcontrolloredella famiglia Freescale, che ha il triplice compito di eccita-re il sensore, di acquisire il segnale e di comunicare alsupervisore eventuali situazioni di rischio.

CONCLUSIONIIl modello di un’isola di movimentazione di semilavorati èstato realizzato ed è stato messo in funzione, perverificarne il fun zionamento e i punti deboli. Il risultato, documentato mediante un video

(www.labmacs.diiga.univpm.it/IMOSE_download), è statoampiamente soddisfacente. L’utilizzo di componenti LEGO Mindstorm ha permesso unrapido ed efficace assemblaggio delle parti meccaniche,mentre la piattaforma LabVIEW ed i toolkit annessi hannoreso semplice e veloce l’implementazione del softwarenecessario alla coordinazione ed alla comunicazione(supervisore), all’elaborazione delle immagini (webcam) edal controllo dei robot (manipolatore, supporto webcam).

Figura 2

Figura 3

Page 29: labviewworld-07

30

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

Training per principianti

Caratteristiche dello sviluppo del progetto in LabVIEW.LabVIEW ha in dotazione una serie di caratteristicheche potete usare per gestire i vostri progetti in modo

più efficiente.

STORIA DEL VIUno degli strumenti di LabVIEW più utili per lo sviluppoteam-oriented è la finestra History. Usate la finestraHistory in ogni VI per visualizzare la storia dello sviluppodel VI. Il numero di revisione parte da zero e aumenta di unoogni volta che salvate il VI. Registrate e tenete traccia deicambiamenti che apportate al VI nella finestra History manmano che lavorate. Selezionate Edit»VIRevision Historyper visualizzare la finestra History. Potete anche stamparela storia della revisione.Usate la finestra di dialogo VI Properties RevisionHistory per impostare le opzioni per il VI corrente.

GERARCHIA DEL VIRispamiare memoria è un vantaggio importante della sud-divisione delle vostre applicazioni principali in subVI. Inoltrela risposta dell’editor di LabVIEW migliora perché i VI sonopiù facili da maneggiare. L’uso dei subVI rende gli schemi ablocchi di alto livello facili da leggere, da sottoporre adebug, da capire e da manutenere. Perciò cercate di conte-nere lo schema a blocchi dei vostri VI di alto livello entrodimensioni inferiori a 500 kB. In generale mantenete i vostrisubVI entro piccole dimensioni. Per controllare la dimensio-ne di un VI, selezionate File»VI Properties e selezionateMemory Usage dal menu a tendina delle categorie.Tipicamente dovreste spezzare un VI in diversi subVI se loschema a blocchi del vostro VI è troppo grande per entrareinteramente nello schermo.La finestra Hierarchy del VI visualizza una rappresentazionegrafica di tutti i progetti e compiti aperti in LabVIEW, cosìcome la gerarchia di chiamata di tutti i VI in memoria, inclusele definizioni di tipo e le variabili globali. Selezionate View»VIHierarchy per visualizzare la finestra Hierarchy. Usate que-sta finestra per vedere i subVI e altri nodi che costituiscono iVI nella memoria e per cercare nella gerarchia del VI.Usate la barra strumenti in alto nella finestra Hierarchy permostrare o nascondere varie categorie di oggetti usati nella

gerarchia, come le variabili globali o i VI forniti conLabVIEW, così come se la gerarchia si espande orizzontal-mente o verticalmente. Un VI che contiene dei subVI ha unpulsante freccia sul suo bordo inferiore. Cliccate su questopulsante freccia per mostrare o nascondere i subVI. Quandotutti i subVI sono nascosti compare un pulsante con un frec-cia rossa. Quando tutti i subVI sono visualizzati compare unpulsante con un freccia nera.La finestra Hierarchy mostrata nella figura 1 contiene lagerarchia di un progetto. I VI della directory di LabVIEWvi.lib non sono mostrati. Cliccate con il tasto destro su

un’area vuota della finestra e selezionate Show All Vis dalmenu rapido per mostrare l’intera gerarchia.Quando spostate il cursore sopra degli oggetti nella finestraVI Hierarchy, LabVIEW visualizza il nome di ogni VI in unastriscia di suggerimento.Potete usare lo strumento Positioning per trascinare un VIdalla finestra VI Hierarchy allo schema a blocchi per usare ilVI come subVI di un altro VI. Potete anche selezionare ecopiare uno o più nodi sulla clipboard e incollarli in altrischemi a blocchi.Cliccate due volte su un VI nella finestra VI Hierarchy pervisualizzare il pannello frontale di quel VI.Potete localizzare un VI nella gerarchia anche inserendo

CREAZIONE E DISTRIBUZIONE DELLE APPLICAZIONIQuesta lez ione descr ive i l processo d i c reaz ione di un’appl icaz ione stand-alone e d i un insta l ler per le vostre appl icaz ioni in LabVIE W

a cu

ra d

i M

atte

o Fo

ini

Figura 1 - Finestra VI Hierarchy

Page 30: labviewworld-07

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

31

ovunque nella finestra il nome del nodo che volete trovare.Appena inserite il testo, appare una stringa di ricerca chevisualizza il testo man mano che lo scrivete. LabVIEW evi-denzia il nodo con un nome che concorda con la stringa diricerca. Potete trovare un nodo nella gerarchia anche sele-zionando Edit»Find.

PREPARAZIONE DELL’APPLICAZIONEUn’applicazione stand-alone consente all’utente di avviare ivostri VI senza installare il sistema di sviluppo di LabVIEW.Gli installer sono utilizzati per distribuire l’applicazionestand-alone. Gli installer possono includere il LabVIEW Run-Time Engine, che è necessario per eseguire applicazionistand-alone. Tuttavia potete anche scaricare il LabVIEWRun-Time Engine su ni.com.Per creare un’applicazione professionale dovete considerarediversi fattori.Codice esternoInnanzitutto conoscere quale codice esterno la vostra appli-cazione utilizza. Per esempio chiamate qualche sistema oDLL personalizzato o librerie condivise? State per trattareargomenti command line? Questi sono esempi avanzati chevanno oltre gli scopi di questo corso, ma dovete prenderli inconsiderazione per l’applicazione.Nomi dei percorsiUn altro problema è quello dei nomi dei percorsi che usatenel VI. Assumete di leggere i dati da un file durantel’applicazione e che il percorso al file sia hard-coded nelloschema a blocchi. Una volta che un’applicazione è costrui-ta, il file è inserito come eseguibile, cambiando il percorsoal file. Essere consapevoli di questi problemi vi aiuterà acostruire in futuro applicazioni più robuste.Uscire da LabVIEWUn altro problema che colpisce l’applicazione che aveteappena costruito è che il VI di livello superiore non esce daLabVIEW o chiude il pannello frontale quando terminal’esecuzione. Per uscire completamente e chiudere il VI dilivello superiore, dovete chiamare la funzione Quit LabVIEWnello schema a blocchi del VI di livello superiore.Fornire aiuto online per le vostre applicazioni in LabVIEWQuando apportate i tocchi finali alla vostra applicazione,dovete fornire aiuto online all’utente. Create delle descri-zioni del VI e dei loro oggetti, quali controlli e indicatori, perdescrivere i fini del VI o oggetto per dare agli utenti istru-zioni per l’uso del VI o dell’oggetto.Usate le funzioni seguenti, localizzate sulla palette Help, permostrare o nascondere in maniera programmata la finestraContext Help e mettete un link dai VI ai file HTML o ai filedi aiuto compilati:• Usate la funzione Get Help Window Status per rilevare lo

stato e la posizione della finestra Context Help.• Usate la funzione Control Help Window per mostrare,

nascondere o riposizionare la finestra Context Help.• Usate la funzione Control Online Help per visualizzare la

tabella dei contenuti, saltare ad uno specifico punto delfile o chiudere l’aiuto online.

• Usate la funzione OpenURL in Default Browser VI pervisualizzare un Url o un file HTML nel navigatore internetdi default.

REALIZZAZIONE DELL’APPLICAZIONEE DELL’INSTALLERPer creare applicazioni stand-alone e installer usate le spe-cifiche costruttive di LabVIEW.Applicazioni stand-alone—Usate le applicazioni stand-alo-ne per fornire ad altri utenti versioni eseguibili dei VI. Leapplicazioni sono utili quando volete che gli utenti avviino iVI senza installare il sistema di sviluppo di LabVIEW. (Windows) Le applicazioni hanno estensione .exe. (Mac OS) Le applicazioni hanno estensione .app.Installer—(Windows) Usate gli installer per distribuire leapplicazioni stand-alone, librerie condivise e distribuzionisorgente che create con l’Application Builder. Gli installerche includono il LabVIEW Run-Time Engine sono utili sevolete che gli utenti possano avviare le applicazioni o usarele librerie condivise senza installare LabVIEW.Specifiche costruttive di LabVIEWUsate Build Specifications nella finestra Project Explorer percreare specifiche costruttive per distribuzioni sorgente e altritipi di realizzazioni in LabVIEW. Una specifica costruttivacontiene tutte le impostazioni per la costruzione, come i fileda includere, le directory da creare e le impostazioni delledirectory dei VI.Suggerimento (Windows e UNIX) In funzione della natu-ra della vostra applicazione, può essere richiesta la presen-za di file non-VI per funzionare correttamente. I file comu-nemente necessari includono i file con le preferenze (.ini)per l’applicazione e di qualsiasi altro file di aiuto che i vostriVI chiamano.

REQUISITI DI SISTEMALe applicazioni che create con Build Specifications general-mente hanno gli stessi requisiti di sistema del sistema di svi-luppo LabVIEW. I requisiti sulla memoria variano in funzio-ne della dimensione dell’applicazione creata.Potete distribuire questi file senza il sistema di sviluppoLabVIEW; tuttavia gli utenti di applicazioni stand-alone e dilibrerie condivise devono avere installato il LabVIEW Run-Time Engine.

Read

erse

rvic

e.it

n. 7

25

Note sull’autoreLaureato in ingegneria nucleare al Politecnico di Milano, MatteoFoini lavora in qualità di Technical Marketing Engineer pressoNational Instruments Italy

Page 31: labviewworld-07

32

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

Training per esperti

Come abbiamo visto, LabVIEW permette di accedere adaltre applicazioni Windows utilizzando le tecnologie.NET o ActiveX.

RICHIAMO DI OGGETTI IN LABVIEW UTILIZZANDO .NETPotete utilizzare LabVIEW come client .NET per accedere adoggetti, proprietà, metodi ed eventi associati a server .NET.LabVIEW non è un server.NET. Le altre applicazioni non pos-sono comunicare direttamente con LabVIEW attraverso .NET,a meno che utilizziate .NET per collegarvi a LabVIEW comeserver ActiveX. Con un VI .NET-enabled, potete collegarvi aservizi e API Windows. Il framework .NET include servizi dicomponenti COM+, remotazione .NET e supporto per proto-colli di servizi Web, come SOAP, WSDL e UDDI.

Nota Creare e comunicare con oggetti .NET richiedeil.NET Framework 1.1 Service Pack 1 o successivo.

L'AMBIENTE .NETL'elenco seguente richiama i vari elementi che compongonol'ambiente.NET. Lo scopo di queste informazioni è aiutarvi acapire .NET, ma apprendere tali informazioni non è essenzialeper utilizzare i componenti .NET in LabVIEW.• Common Language Runtime (CLR)— Un insieme dilibrerie responsabile dei servizi run-time, come integrazionedel linguaggio, rafforzamento della sicurezza, memoria, gar-bage collection, gestione dei processi e gestione dei thread.Per aiutare .NET a comunicare con i vari programmi, il CLRoffre un sistema di tipi di dati che si estende fino ai confini deilinguaggi di programmazione e dei sistemi operativi. Gli svi-luppatori possono quindi vedere il sistema come una raccoltadi tipi di dati ed oggetti, anziché come un insieme di memoriae thread. Il CLR richiede che i compilatori ed i linker generinoinformazioni nel formato metadati del linguaggio intermedio(IL) CLR. Tutti i compilatori dei linguaggi di programmazione.NET generano codice intermedio anziché codice assembly.• Librerie di classi —Un insieme di classi che fornisce fun-zionalità standard, come input e output, manipolazione distringhe, gestione della sicurezza, comunicazioni in rete,gestione dei thread, gestione del testo, caratteristiche per laprogettazione di interfacce utente e così via. Queste classi

mettono a disposizione la stessa funzionalità del sistemaWin32/COM. Nel framework .NET potete utilizzare classi crea-te in un linguaggio .NET anche all’interno di un altro linguag-gio .NET.• Assemby—Un'unità di rilascio simile a una DLL, un OCX oun eseguibile per un componente in COM. Gli assembly sonoDLL ed eseguibili che si possono costruire usando un compila-tore .NET. Gli assembly possono consistere di uno o più file. Unassembly include un manifest contenente informazioni sulnome dell'assembly, informazioni sulla versione, informazionilocali, informazioni di sicurezza del publisher, l'elenco dei fileche compongono l'assembly, l'elenco di assembly dipendenti, lerisorse e i tipi di dati esportati. Gli assembly a file singolo con-tengono tutti i dati in un singolo file, inclusi il manifest e le risor-se necessarie. Gli assembly a file multipli possono avere risorseesterne, come bitmap, icone, file di suono e così via o avere unfile per il codice core e un altro per le librerie di supporto.• Gli assembly possono essere pubblici o privati. .NET richiedeche gli assembly privati siano nella stessa directory in cui si tro-va la directory dell'applicazione e che gli assembly pubblici sia-no in una cache globale, che abbraccia l'intero sistema, chia-mata Global Assembly Cache (GAC). Lo sviluppatore dell'ap-plicazione tipicamente scrive assembly privati utilizzabili daquell'applicazione. Lo sviluppatore dell'assembly decide inol-tre il controllo della versione. Il nome dell'assembly è il filena-me (meno eventuali estensioni del file) del file che contiene ilmanifest.• Il CLR .NET utilizza le impostazioni di configurazione perdeterminare la versione dell'assembly da caricare. Tali impo-stazioni di configurazione possono fare l’override sulla vostrarichiesta per una specifica versione dell'assembly. Per esempio,l'amministratore di sistema può configurare il vostro computerin modo che carichi la versione 1.0.0.1 invece della 1.0.0.0. Secercate di caricare la versione 1.0.0.0, il CLR .NET promuovela versione dell'assembly a 1.0.0.1. LabVIEW lancia inoltreun'area di dialogo che vi notifica la promozione.• Global Assembly Cache (GAC)—Un elenco degliassembly pubblici disponibili sul sistema. La GAC è analogaagli usi del registry COM.

FUNZIONI E NODI .NETUtilizzate le funzioni e i nodi LabVIEW seguenti, situati sulla

LabVIE W permette d i accedere ad a l t re appl icaz ioni Windows ut i l i zzando le tecnologie .NET o Ac t iveX: prosegue la d iscuss ione del l 'argomento in iz iata nel lo scorso numero

a cu

ra d

i M

atte

o Fo

ini

RICHIAMARE OGGETTI IN LABVIEW (II parte)

Page 32: labviewworld-07

33

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

palette .NET, per accedere ad oggetti, proprietà e metodi asso-ciati ai server .NET:• Usate il Constructor Node per selezionare un costruttore di

classe .NET da un assembly e creare un'istanza di tale clas-se. Quando disponete questo nodo sullo schema a blocchi,LabVIEW visualizza l'area di dialogo Select .NET Constructor.

• Usate il Property Node per ottenere (leggere) ed impostare(scrivere) la proprietà associata ad una classe.NET.

• Usate l’Invoke Node per invocare i metodi associati ad unaclasse .NET.

• Usate la funzione Close Reference per chiudere tutti i riferi-menti ad oggetti .NET quando il collegamento non vi serve più.

• Usate la funzione Register Event Callback per registrare egestire gli eventi .NET.

• Usate la funzione Unregister For Event per deregistrare unevento .NET.

• Usate la funzione To More Generic Class per l'upcast di unareference .NET alla sua classe base.

• Usate la funzione To More Specific Class per il downcast diuna reference .NET alla sua classe derivata.

• Usate la funzione Static VI Reference per creare una strictlytyped VI reference ad un VI di callback che avete creato.

F. IMPLEMENTAZIONE DI .NETPotete implementare .NET in LabVIEW nei modi seguenti:• Creando oggetti .NET• Settando proprietà .NET ed invocando metodi .NET• Registrando eventi .NET• Mantenendo assembly .NET• Configurando un'applicazione client .NET

CREAZIONE DI OGGETTI .NETPotete creare oggetti .NET sul pannello frontale dello schema ablocchi. Usate un Constructor Node per creare un oggetto .NETsullo schema a blocchi. Usate un contenitore .NET per creare uncontrollo .NET sul pannello frontale. Potete anche aggiungerecontrolli .NET alla palette Controls per l'uso successivo.

Nota Non potete commutare fra le modalità di design edi run per un contenitore .NET, come invece potete fare per

un contenitore ActiveX. Il comportamento di un contenitore .NETè simile a quello di un contenitore ActiveX in modalità design.Se create un VI con controlli .NET, dovete usare il sistema di esecu-zione dell'interfaccia utente. In caso contrario, il VI potrebbe fallirecon eccezioni .NET in fase di esecuzione. Selezionate File»VIProperties e selezionate Execution dal menu a tendina per visua-lizzare la pagina Execution Properties. Selezionate quindi userinterface dall'elenco Preferred Execution System. Utilizzate lostesso sistema di esecuzione del programma che richiama i subVIcon riferimenti a controlli .NET. Selezionate File»VI Properties eselezionate Execution dal menu a tendina per visualizzare la pagi-na Execution Properties. Selezionate quindi same as caller dal-l'elenco Preferred Execution System.

IMPOSTAZIONE DI PROPRIETÀ .NET E INVOCAZIONE DI METODI .NETLe applicazioni abilitate a .NET includono oggetti che hannoproprietà e metodi esposti, accessibili ad altre applicazioni. Glioggetti possono essere visibili all'utente, come nel caso di pul-santi, finestre, immagini, documenti e aree di dialogo, o invisi-bili all'utente, come gli oggetti dell'applicazione. Potete acce-dere ad un'applicazione accedendo ad un oggetto associatocon quell'applicazione ed impostando una proprietà o invo-cando un metodo di tale oggetto.Sul pannello frontale o sullo schema a blocchi, cliccate con iltesto destro su un oggetto .NET e selezionateCreate»Property Node o Create»Invoke Node e selezio-nate una proprietà o un metodo dal menu abbreviato perimpostare una proprietà o invocare un metodo per l'oggetto.Potete anche selezionare proprietà specifiche .NET o invocaremetodi specifici .NET per un oggetto .NET. Sullo schema a bloc-chi, cliccate con il testo destro su un oggetto .NET e seleziona-te Create»Property o Create»Invoke e selezionate unaproprietà o un metodo specifici .NET dal menu abbreviato.

Nota Non potete visualizzare ed impostare proprietà .NETin un Property Browser come invece potete fare per ActiveX.

Dovete impostare le proprietà .NET utilizzando i Property Node.

MANUTENZIONE DI ASSEMBLY .NETLabVIEW può trovare assembly .NET nei luoghi seguenti:• Global Assembly Cache (GAC)—LabVIEW può accederea tutti gli assembly nella GAC.• Subdirectory Specificate—LabVIEW può cercare nelledirectory gli assembly che utilizzate. Se utilizzate oggetti .NET inun progetto salvato, LabVIEW cerca nella directory che contieneil progetto e in tutte le subdirectory di quel progetto. Se utilizza-te oggetti .NET in una libreria condivisa o in un'applicazionestand-alone, LabVIEW cerca nella directory che contiene la libre-ria o l'applicazione e nelle subdirectory data e bin.Se utilizzate oggetti .NET in un luogo diverso da un progettosalvato, una libreria condivisa o un'applicazione stand-alone,salvate i file assembly nella GAC o usate un percorso relativo.• Percorso relativo—LabVIEW può accedere ad un percor-so relativo per gli assembly che utilizzate. Usate i percorsi rela-tivi solo se utilizzate oggetti .NET all'esterno di un progetto.Dopo avere creato un VI che include componenti .NET, poteteintegrare quel VI in una libreria condivisa o un'applicazionestand-alone. LabVIEW copia i file assembly .NET privati asso-ciati nella subdirectory data nella stessa directory della libreriao dell'applicazione.Potete anche distribuire i VI .NET in un'altra posizione. Se dis-tribuite VI, librerie o applicazioni .NET stand-alone, dovete spo-stare i file assembly .NET privati associati in subdirectory doveLabVIEW possa eseguire una ricerca, oppure dovete salvare ifile nella GAC. Accertatevi che il computer target abbia il fra-mework .NET installato.

Page 33: labviewworld-07

34

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

CONFIGURAZIONE DI UN'APPLICAZIONE CLIENT .NET .NET offre capacità amministrative ad un'applicazione utiliz-zando file di configurazione. Un file di configurazione ha uncontenuto XML e tipicamente presenta un'estensione .con-fig. Per configurare un'applicazione client .NET, potete fornireun file di configurazione per un progetto salvato, una libreriacondivisa o un'applicazione stand-alone. Assegnate al file diconfigurazione lo stesso nome del progetto, della libreria odell'applicazione con un'estensione .config, per esempioMyApp.lvproj.config, MyApp.dll.config oMyApp.exe.config. Salvate il file di configurazione nelladirectory che contiene il progetto, la libreria o l'applicazione.Se costruite un'applicazione stand-alone da un progetto sal-vato con un file di configurazione, dovete ridenominare il filedi configurazione e salvarlo nella directory che contienel'applicazione.Per esempio, se costruite un'applicazione stand-alone dafoo.lvproj che ha il file di configurazionefoo.lvproj.config, ridenominate il file comefoo.exe.config e salvatelo nella directory che contienefoo.exe, l'applicazione stand-alone.

REGISTRAZIONE DI EVENTI .NETGli eventi sono le azioni eseguite su un oggetto, come clicca-re un mouse, premere un tasto o ricevere notifiche circa cosecome avere esaurito la memoria o avere terminato dei task.Ogni volta che si verificano queste azioni sull'oggetto,l'oggetto invia un evento per allertare il contenitore .NET,insieme a dati specifici all'evento.L'oggetto .NET definisce gli eventi disponibili per un oggetto.Per usare eventi .NET in un'applicazione, dovete registrarel'evento e gestirlo quando esso si verifica. La registrazionedegli eventi .NET è simile alla registrazione di eventi dinamici.Tuttavia, l'architettura di un VI di evento .NET è diversa dal-l'architettura di un VI che gestisce eventi. Un tipico VI di even-to .NET è costituito dai seguenti componenti:• L'oggetto .NET per il quale volete generare un evento.• La funzione Register Event Callback per specificare e regi-

strare il tipo di evento che volete generare. La funzioneRegister Event Callback è un nodo ridimensionabile in gra-do di gestire eventi multipli, simile alla funzione Register ForEvents.

• Il VI Callback contenente il codice che scrivete per gestirel'evento che specificate.

Quando collegate un oggetto .NET alla funzione RegisterEvent Callback e specificate l'evento che volete generare perquell'oggetto, state registrando l'oggetto .NET per quell'even-to. Dopo la registrazione dell'evento, create un VI di callbackcontenente il codice che scrivete per gestire l'evento. Eventidifferenti possono avere formati di dati di evento differenti,pertanto cambiare l'evento dopo avere creato un VI di callbackpotrebbe interrompere dei fili sullo schema a blocchi.

Selezionate l'evento prima di creare il VI di callback.Potete gestire gli eventi su controlli .NET in un contenitore. Peresempio, potete mettere un controllo di calendario in un con-tenitore .NET e specificare che volete gestire un eventoDoubleClick per gli elementi visualizzati nel calendario.

GESTIONE DI EVENTI .NETDovete creare un VI di callback per gestire gli eventi da ogget-ti .NET quando gli oggetti generano gli eventi registrati. Il VI dicallback viene eseguito al verificarsi dell'evento. Per creare unVI di callback, cliccate con il testo destro sull'ingresso VI Refdella funzione Register Event Callback e selezionate CreateCallback VI dal menu abbreviato. LabVIEW crea un VI rien-trante. Aprite il VI ed editate lo schema a blocchi per gestirel'evento. Il VI di callback contiene i seguenti elementi:• Event Common Data contiene i seguenti elementi:

– Event Source è un controllo numerico che specifica lasorgente dell'evento, come LabVIEW o .NET. Un valore2 indica un evento .NET.

– Event Type specifica quale evento si è verificato. Sitratta di un tipo enumerato per gli eventi dell'interfac-cia utente e di un tipo intero a 32 bit senza segno per.NET ed altre sorgenti di eventi. Per gli eventi .NET,event type rappresenta il codice del metodo, o ID, del-l'evento registrato.

– Time Stamp è il time stamp in millisecondi che speci-fica quando l'evento è stato generato.

• Control Ref è un riferimento all'oggetto .NET sul quale siè verificato l'evento.

• Event Data è un cluster di parametri specifici per l’eventogestito dal VI di callback. LabVIEW determina l'appropriatoEvent Data quando selezionate un evento dalla funzioneRegister Event Callback. Se ad un evento non è associatoalcun dato, LabVIEW non crea questo controllo nel VI di call-back.

• Event Data Out è un cluster dei parametri modificabili spe-cifici per l'evento gestito dal VI di callback. Questo elemen-to è disponibile solo se l'evento .NET ha parametri d'uscita.

• (Opzionale) user parameter è il dato che volete passare alVI di callback quando l'oggetto .NET genera l'evento.

Nota Potete usare un VI esistente come VI di callback pur-ché il pannello di connessione del VI che intendete usare

corrisponda al pannello di connessione dell’event data. Il VI di call-back deve essere rientrante ed il riferimento al VI di callback deveessere strettamente tipizzato.Non potete eseguire chiamate sincrone ad aree di dialogo nonmodali da un VI di callback. Dovete richiamare in modo asincronoun'area di dialogo non modale da un VI di callback invocando unmetodo Run VI e scrivendo una costante booleana FALSE sull'in-gresso Wait Until Done del metodo.

Readerser v ice. i t n . 726

Page 34: labviewworld-07

35

C entosettanta visitatori, dieci aziende leader di settore investe di speaker del Forum, quattro aree tematiche (tra lepiù calde attualmente a gravitare attorno al mondo auto-

motive: Safety & Reliability, Innovation & Infotainment, Power -train Efficiency & Environmental Care, Comfort) hanno reso lasesta edizione di Automotive Forum lo scorso 12 giugno unappuntamento imperdibile per gli esperti di test e controllo nelsettore automotive. A fare da cornice all’evento, una locationd’eccezione, il Centro Ricerche Fiat di Orbassano, a Torino.Durante la giornata il tema dominante è stato il mutamento delcosiddetto ciclo dell’innovazione e la necessità di maggior con-nessione e integrazione tra fornitori, integratori e costruttori per

rispondere più efficacemente ai bisogni dell’utente finale.Questo il panorama italiano dell’automobile delineato dall’Ing.Nevio Di Giusto, Amministratore Delegato e Direttore Generaledi Centro Ricerche Fiat ed Elasis, un mercato in cui la vita mediadi un’innovazione dura oggi un anno e mezzo. Si pensi che inun passato non molto lontano, un’idea originale poteva rima-nere tale anche dieci anni, prima di essere copiata oppure sur-classata dalla successiva. Alcuni tra i trend di mercato attualmente più diffusi hanno avu-to origine direttamente dalle necessità più o meno esplicitatedegli automobilisti e hanno cercato di dare risposte immediate.Si pensi, ad esempio, alla recente diffusione su ampia scala deiSUV (Sportive Utility Vehicle): "Il fenomeno rappresenta chiara-mente la risposta alla diffusa sensazione di insicurezza e aldesiderio di dominare la strada dell’automobilista”, ammetteDi Giusto.Tuttavia, è sicuramente l’incombente minaccia dell’esaurimen-

to delle risorse petrolifere la preoccupazione maggiore dell’u-tente finale. A tale minaccia e al vertiginoso aumento del prez-zo del carburante deve guardare il mercato odierno, cercandodi proporre soluzioni ed alternative efficaci. “Per questo motivo, è necessario sviluppare tecnologie volte allariduzione dei consumi e a soluzioni ibride a costi sostenibili intempi rapidi”, dichiara l’Ing. Domenico Albero, Respon sabileEnte Controlli e SW Diesel & Ibridi di FPT R&T. Durante la suakeynote, Albero, ha sottolineato la crescente risonanza delle tec-nologie 'verdi' amiche dell’ambiente e dei recenti progressi com -piuti nel campo della sicurezza, non dimenticando di illustrarevantaggi e benefici apportati da tecnologia multicore e paralle-

lismo software nel settore della progettazione automotive.Per raggiungere questo obiettivo, è necessario che le aziendecoinvolte lavorino in sinergia. Automotive Forum si è propostocome un appuntamento fisso per aprire il dialogo tra le entitàcoinvolte, preparare il terreno ad un proficuo scambio di idee,esperienze e conoscenze per diffondere e testare le tecnologiedel futuro universo automotive. Questo scambio è stato facili-tato da un lato dalle testimonianze dei relatori della giornata,presentando le proprie applicazioni al pubblico in sala, e dal-l’altro dalla sala espositiva, di dimensioni ridotte ma di elevataqualità per le soluzioni proposte.Nel corso della giornata è stata premiata la 'MiglioreApplicazione Automotive' tra le oltre venti raccolte in occasionedell’evento: il premio è stato assegnato ad Alessandro DeGrassi, Francesco Siano e Carmine Ungaro del Gruppo Loccioni,con l’articolo 'Mexus: Progettazione embedded di un innovativosensore di misura per sistemi di test in ambienti automotive'.

A TUTTO GAS CON L’AUTOMOTIVE FORUM 08 DI NATIONAL INSTRUMENTS È sceso in pista a Torino l ’appuntamento biennale dedicato a tecnici e ingegneri che operano nel mercato automotive

a cu

ra d

i N

adia

Alb

arel

lo

Read

erse

rvic

e.it

n. 7

40

07R E P O R T

Page 35: labviewworld-07

36

07E V E N T I

C apita spesso di chiedersi quale possa essere l’utilità difar parte di una community, un forum di discussione,un social media. Scoprite quale gruppo di discussione

o social network fa al caso vostro e quale potrebbe essereil vostro ruolo.

Condividete! Il vero senso di una Community. Come spes-so si suole dire, due teste sono meglio di una. Per partire allagrande ed evitare i primi imbarazzi tipici per un new user, cer-cate di instaurare una conversazione con il vostro 'buddy':ovvero, se rendere pubbliche le vostre prime domande in unforum o in una e-mail list vi può creare qualche disagio,cominciate a condividere trick, esperienze oppure dubbi eperplessità con una persona in particolare, di vostra fiducia.

Iscrivetevi alle e-mail list di LabVIEW, partecipate ainewsgroup e forum di discussione. Se siete nuovi, iniziate lavostra esplorazione da Developer Exchange (forums.ni.com/),LabVIEW General Discussion Forum (forums.ni.com/ni/) e daLabVIEW Newsgroup(www.news2mail.com/comp/lang/labview.html). Iniziate aleggere i thread di discussione e a porre domande relative aivostri progetti. Vi accorgerete che entro breve sarete in gradovoi stessi di rispondere alle domande altrui. Supportare glialtri partecipanti a risolvere problemi tecnici è un ottimometodo per imparare.

Trovatevi un mentore! Perdere le vecchie abitudini è diffi-cile, se non impossibile. Quindi, non acquisite cattive abitudi-ni ma affiancatevi da subito a sviluppatori esperti, che vipotranno insegnare a superare i primi ostacoli ed acquisiretecniche di programmazione che vi faranno risparmiare tem-po.

Diventa il mio mentore! Se siete programmatori esper-ti, condividete le vostre conoscenze pratiche, insegnate asviluppare codice grazie alle pratiche 'rule-of-thumb' cheavete imparato voi col tempo. La gestione dei dati el’organizzazione di architetture per vaste applicazioni pos-sono risultare operazioni difficoltose per un principiante.LabVIEW è uno strumento potente ma anche divertente:vedrete che aiutare gli altri membri della community vi daràgrandi soddisfazioni.

Beta-testami! Sviluppare nuove funzionalità sarebbeimmensamente più difficile senza il lavoro di un solido grup-po di beta tester volontari (e volenterosi), in grado di sco-vare bachi di sistema e fornire preziosi feedback e suggeri-menti agli sviluppatori. Contribuite in prima persona al testdi nuove release di LabVIEW: vi permetterà di essere prota-gonisti e parti integranti dell’evoluzione di LabVIEW. Permaggiori informazioni, visitate il sito NI Beta ProgramResource Center. (www.ni.com/betaprogram)

Open Source LabVIEW. Si tratta di una comunità di uten-ti che mette in condivisione un vasto archivio, costantementearricchito e aggiornato, di progetti e librerie open source rea-lizzate in LabVIEW. Il modo migliore per contribuire al pro-getto è di scaricare e usare direttamente il codice, verificarnele funzionalità e fornire feedback agli sviluppatori su comemigliorare il codice stesso. (wiki.openg.org/Main_Page)

User Group locali. Visitate zone.ni.com per conoscere gliuser group della vostra città oppure scoprite come dare vita adun user group nella vostra zona o società. Non perdete gliincontri trimestrali online e le relative presentazioni tecniche.

NILabs. E’ la vetrina di tutte le tecnologie NI non ancorapronte per il rilasci sul mercato. Visitate i laboratori di ricer-ca virtuali di National Instruments: potrete scaricare pro-grammi all’avanguardia, contribuire attivamente alla lorodefinizione grazie ai vostri feedback, avere informazionipreziose. (www.ni.com/labs/)

LabVIEW Champions. Siete fan di LabVIEW? Entrate a farparte dell’elite su ni.com/champions, e condividete la vostrapassione e la vostra esperienza con altri tecnici e ingegnericome voi. Potrete accedere ad esclusive preview di prodot-to, contattare direttamente gli sviluppatori di LabVIEW,acquisire maggiore visibilità all’interno della Comunità.(www.ni.com/champions)

LabVIEW Tools. Scaricate centinaia di tool aggiuntivi perrealizzare applicazioni di test, misura e controllo alla pagi-na web www.ni.com/labviewtools

LabVIEW Academy. Imparate a conoscere i futuri fan diLabVIEW e mettete le vostre conoscenze al servizio delle

LABVIEW COMMUNITY? SÌ, GRAZIE!Scoprite qui sotto i benefici tangibili della membership ai gruppi di discussione e social network che ruotano attorno a LabVIEW

a cu

ra d

i N

adia

Alb

arel

lo

Page 36: labviewworld-07

37

E V E N T I

nuove generazioni. National Instruments è costantementeimpegnata nel supportare lo sviluppo e la diffusione di pro-grammi di apprendimento nelle discipline scientifiche. Sesiete interessati a prendere parte al programma, scopritecome alla pagina web ni.com/academic/k12

Blogosfera. Non perdete l’occasione di visitare i blog del-la community, per essere sempre aggiornati sulle ultimenovità:http://www.ni.com/blogshttp://www.viroadshow.blogspot.com/http://www.eyesonvis.blogspot.com/http://www.emertech.blogspot.com/http://www.automatedtestblog.com/http://www.ideasinwiring.blogspot.com/http://www.themacview.blogspot.com/http://www.openmeas.blogspot.com/

LabVIEW Social Networks. LabVIEW è presente sunumerosi social network, tra cui:LabVIEW MySpaceLabVIEW FacebookLabVIEW YouTubeLabVIEW SquidooLabVIEW WikipediaLabVIEW NINGLabVIEW SearchLabVIEW MeetupRimanete sempre in contatto con i vostri compagni di avventura!

LabVIEW Zone. Non dimenticate, inoltre, di visitareLabVIEW Zone (www.ni.com/labviewzone), il sito ideale percondividere codice e scovare interessanti risorse tecniche.Arricchite i contenuti del sito inviando il vostro 'consigliodella settimana': condividete con gli altri utenti il vostromigliore 'trucchetto' di programmazione. Potrebbe essereeletto come il migliore della settimana.

FIRST Community. La prima community di LabVIEW tuttadedicata a video e tutorial. Iscrivetevi al servizio RSSFeed, ericeverete le notifiche su video e tutorial caricati di recente.http://decibel.ni.com/content/docs/DOC-1640

LA NUOVA DEVELOPERZONE È QUI Se desiderate ricevere aggiornamenti, scaricare codice edocumentazione tecnica e comunicare e collaborare conaltri tecnici e ingegneri su tutti i prodotti di NationalInstruments, allora entrate a far parte di NI Developer Zone:ni.com/devzone ni.com/Connettetevi alla Community e potrete entrare in contatto conlo staff R&D di National Instruments e con i LabVIEW Cham -pions che stanno realizzando applicazioni simili alle vostre.

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

La più avanzata occasione di aggiornamento su stra-tegie e tecnologie nel settore del test automatizzatorivolta a tecnici e management delle principali azien-

de di elettronica, si è reso disponibile ai frequentatori delWeb per offrire un accesso comodo alle ultime tendenzetecnologiche sulla progettazione efficace di sistemi di testautomatizzati, flessibili ed efficienti. National Instruments e i 12 partner tecnici dell’evento(aziende leader mondiali di sistemi di test e misura delcalibro di Intel, Microsoft, Tektronix, Averna e Cal-Bay )

hanno presenziato in ben tre continenti per ben 24 oreconsecutive, condividendo con gli oltre 760 partecipantionline strategie per la progettazione software a costiridotti, le ultime tendenze nella progettazione hardware etecniche per ottimizzare i sistemi di test ed incrementarnela durata.National Instruments sta già lavorando alla prossima edi-zione dell’evento, proponendo una piattaforma più anco-ra più potente e performante e contenuti ancora più inno-vativi. Vi aspettiamo alla prossima edizione.

AUTOMATED TEST SUMMIT 2008I l convegno sul test automatizzato s i è r iproposto nel la sua 5° ediz ione lo scorso 5 g iugnonel la sua vers ione onl ine

read

erse

rvic

e.it

n. 7

59re

ader

serv

ice.

it n

. 760

Page 37: labviewworld-07

38

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

HTTP://WWWQ 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 .

TestStand: uso efficace del Sequence Context in LabVIEWLabVIEW gestisce intrinsecamente i parametri in modalità pass by value. Una conseguenza è che, quando si cambia unavariabile durante l'esecuzione di un VI, tale cambiamento non può essere visto all'esterno del VI stesso. In TestStand,tuttavia, è utile avere la possibilità di leggere e cambiare i valori di un VI durante la sua esecuzione. Passare e manipolareil sequence context all'interno di un VI è il metodo che permette di ottenere tale risultato. Questo esempio illustra talemetodo in un ambiente di test multithread.

Link alla pagina:

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

Connessione di LabVIEW con INRIA ScilabLabVIEW è una piattaforma aperta che vi permette di integrare facilmente software di terze parti come INRIA Scilab.Approfondite la conoscenza del Gateway che vi permette di invocare facilmente script Scilab direttamente da LabVIEW.

Link alla pagina:

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

Algoritmo di rilevamento ostacoli 3DNelle applicazioni di movimentazione, soprattutto nella robotica, è imperativo sapere se un percorso di moto generato sialibero da ostacoli. Questo algoritmo offre una soluzione per controllare se un movimento rettilineo interseca una regione3D. Tale regione è definita da un array di 'facce' o piani definiti da 3 punti.

Link alla pagina:

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

Creare applicativi LabVIEW programmaticamenteMolte applicazioni richiedono di essere frequentemente compilate in un eseguibile (.exe) o in una dynamic link library(.dll). Un'applicazione potrebbe richiedere la compilazione del codice sorgente ogni notte o anche ogni dieci minuti. Primadi LabVIEW 8.0 l'application builder rendeva necessaria la creazione di un file *.bld unico per ogni configurazione richiestadalla vostra applicazione. Potevate quindi richiamare tale file da un file batch.Ora LabVIEW offre un VI che costruisce programmaticamente una distribuzione utilizzando una specifica di buildpredefinita. Questo esempio illustra come eseguire la procedura dalla command line.

Link alla pagina:

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

Page 38: labviewworld-07

39

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

Visualizzazione di uno Splash Screen in LabVIEW usando il VI ServerQuesto esempio utilizza il VI Server per visualizzare uno splash screen per la vostra applicazione principale, mentre tutti isuoi subVI vengono caricati in memoria. L'esempio è utile se avete una grossa applicazione che impiega un po' di tempoper essere caricata, perché lo splash screen può visualizzare informazioni sulla vostra azienda e un indicatore che mostra lostato di caricamento. Eseguite splash screen.vi per vedere il comportamento dello splash screen e dell'indicatore dellostato di caricamento.

Link alla pagina:

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

Comunicazione SPI in LabVIEW FPGAQuesto esempio genera e legge un pacchetto SPI di 16 bit con un segnale ChipSelect attivo basso. Le due parti, ingresso e uscita, dell'esempio sono normalmente usate in modo separato, in base al lato della comunicazione che vi occorre. Per questo esempio le abbiamo implementate entrambe. Il codice d'ingresso e il codice d'uscita usano le stesse lineefisiche di I/O, eliminando la necessità di cablaggio esterno.

Link alla pagina:

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

Monitoraggio e gestione allarmi da remoto con invio di messaggi di testoSMS – LabVIEW PDA Module for Pocket PC

Questo esempio illustra come utilizzare messaggi di testo SMS ed email SMTP. L'esempio traccia dati casuali su un graficodi forme d'onda. Se i dati sono sopra o sotto i limiti fissati, l'utente viene sollecitato ad inviare un messaggio di testo SMSall'amministratore per avvisarlo dei dati imprevisti. L'utente inserisce quindi un numero telefonico nel messaggio. Inoltre,l'utente può inviare una email a più destinatari utilizzando VI di email SMTP che includono in allegato i dati raccolti. Ilterzo tab, Message Log, registra tutti i messaggi inviati dall'applicazione. Per eseguire l'applicazione, aprite il progettoLabVIEW ed eseguite “Remote Monitoring and Alarming with SMS.vi” sull'emulatore o sul dispositivo Pocket PC.

Link alla pagina:

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

Determinare il volume del suono corrente con LabVIEWL’allegato “SO Get Volume.vi” restituisce il volume corrente dell'uscita audio tramite chiamate a una DLL di Windows, lawinmm.dl. La funzione waveOutGetVolume di questa dll restituisce l'informazione di volume in un puntatore double word.La parola inferiore è il canale sinistro, quella superiore è il canale destro.Questo VI può essere utilizzato come subVI insieme agli altri Sound Output VIs forniti con LabVIEW.Il SO Volume VI fornito con LabVIEW può essere usato per impostare il volume corrente dell'uscita di suono.

Link alla pagina:

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

Page 39: labviewworld-07

40

07L 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: Lun Giu 26, 2006 6:11 pmCome tutti sapranno, se si ha un SubVi utilizzato nelproprio Diagram, facendovi sopra DoppioClick con il tastosinistro del mouse, questo viene aperto. Forse non tutti hanno notato, però che se mentre lo si fasi tiene premuto il tasto "Ctrl", viene anche visualizzatodirettamente il Diagram del Subvi in oggetto. Dato che la maggior parte delle volte che uno apre un

SubVi è per visualizzarne o modificarne il diagram, io l'hotrovato comodo. - againstdarkness

mooolto comodo. grazie Ciao – ale914

[continua su http://www.ilvg.it/ht/1836]

Againstdarkness

Apertura Subvi dal Diagram ...

Inviato: Gio Dic 20, 2007 12:11 pmOgni tanto mi capita che dopo aver chiuso un VI perchého finito di usarlo, se tento di cancellarlo dal pc Windowsmi avvisa che la risorsa è ancora utilizzata. Se chiudoanche LabView completamente allora posso cancellare il VI. Questo non mi capita sempre: qualcuno ha incontratoquesto problema (secondo me è un problema... perchédevo chiudere tutto per cancellare un VI, magari un VItemporaneo realizzato per fare delle prove)?

Ciao!!- MagicBotolo

Anche a me succede; magari non voglio propriocancellare ma solo spostare il vi, caso tipico di quando siorganizza il codice (in realtà spostare un file é la

composizione di copiare nell'altro posto e cancellarel'originale). A me credo succeda sempre; l'ho attribuito al modo in cuiLabView (non) rilascia effettivamente al SO i file che haaperto. Mi succede anche qualcosa di simile con le porte seriali;in quel caso si che non mi succede sempre e credo di avercapito che succede se fermo il vi con il stop di LV (ilpulsantino rosso). Entrambe le cose sono noiose, ma finora non ho trovatosoluzione. A dire la verità non ho neanche mai chiesto al supportotecnico. – gyc

[continua su http://www.ilvg.it/ht/3650]

Occupazione memoria da parte di VI chiusi

Inviato: Mar Dic 04, 2007 3:39 pmAvevo letto qualcosa a riguardo di un comando allatastiera per "pulire" i fili in modo da togliere tutti gliscalini ... qualcuno sa dirmi qualcosa? Grazie – mir

Ma non è che intendi la possibilità di selezionare un filo espostarlo con le frecce cursore, in modo da riallinearlo adaltri spezzoni? – NicolaFaccio un esempio ...mettiamo che da ubriaco abbiatirato una linea a zigo zago ... non esiste un comando che

la raddrizzi e la ottimizzi nel suo percorso? – mir

Se tu vai col mouse sul filo e clikki il tasto destro ticompare CLEAN UP WIRE che ottimizza il percorso inmodo tale da fargli risultare meno incroci e partinascoste possibili. Credo sia questo che intendi, però non mi risulta che cisia l'equivalente da tastiera...ma ciao! – gepponline

[continua su http://www.ilvg.it/ht/3615]

mir

Raddrizzare i fili

MagicB otolo

Page 40: labviewworld-07

41

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

Inviato: Lun Lug 02, 2007 8:52 amCiao a tutti, ho un enorme problema con un megaprogramma in LabView che funziona benissimo quandogira su un PC su cui il Sistema operativo è windows 2000NT4 ma su un altro PC con XP si blocca dopo poche ore diesecuzione. Inizialmente pensavo fosse colpa dellaversione 8.2 e così sono tornato alla 7.1 ma la cosa noncambia. Poiché cambiando il PC anche la scheda GPIB ècambiata non ho la certezza che il problema sia di tipoHardware o Software. Qualcuno ha già avuto problemi di questo tipo o sa darmiqualche dritta senza che io debba fare tutte le prove perverificare cosa c'è che realmente non va? Avevo sentitoanche qualche episodio di altre applicazioni che venivanoinibite dopo l'installazione degli aggiornamenti di XP. Grazie- nicky79

Il problema che lamenti sembra tipico di una "fuga dimemoria". Prova a cercare sul sito NI, sulla Developer Zone e su LAVA con"memory leak", magari anche associando a "windows xp". Io ho provato con "labview memory leak xp" su Vivisimo eho trovato un discreto numero di trovate - diverse esecondo me più attinenti rispetto alla stessa ricerca sugoogle (e oltretutto mi piace molto la classificazione che

Vivissimo fa e google NON fa!). – gyc

Grazie, ho trovato molte cose utili ma purtroppo nulla dirisolutivo. Ho scoperto intanto che la versione di MAX sulPC che funziona non è quella del LV 7.1 (cioè MAX 3.1)ma è la versione 2.2 di LV 6.1, quindi ho provato ainstallare la stessa versione. Se fosse questo il problemasi tratterebbe solo di un modo diverso di gestire la GPIBtra i due sistemi. – nicky79

Potresti guardare se per caso la gestione dei file (sempreche ci sia) o dei dati nel VI comporta l'esaurimento dellerisorse... non sono un espertone ma mi pare che WinXPgestisca il file di paging della memoria in modoparticolare... puoi controllare con il Task Manager,guardando le prestazioni e la CPU occupata mentre il VI èin esecuzione.Ciao!! – MagicBotolo

avevo già guardato ed era al 50%, niente di esagerato.Ora ho lanciato il programma e domani vedrò se non si èancora bloccato. Se funziona ti faccio sapere. Grazie ancora e ciao – nicky79

[continua su http://www.ilvg.it/ht/3274]

nicky79

ar is

Istanze multiple

Inviato: Mar Mag 08, 2007 8:41 amCiao a tutti, vorrei chiedere consiglio su come fare percreare un programma in Labview (ovviamente) che possaessere lanciato più volte contemporaneamente cliccandosull'icona. – aris

Scusate, ma credo che la domanda non sia troppo chiarae cerco di chiarirmi meglio..... Un exe creato con Application builder, può essere lanciatopiù volte? Ovvio che si possono creare vi che richiamano altri inmaniera rientrante tutte le volte che si vuole, ma uneseguibile può essere lanciato più di una volta (comesuccede con i programmi creati direttamente con C)? Grazie ancora – aris

Io avevo capito ma non sapevo cosa rispondere Anche un exe in realtà usa il runtime engine per eseguireun vi, che normalmente è unico in memoria. Penso, ma èsolo un'ipotesi, che i vi rientranti siano la soluzioneanche per questo problema. Il tuo exe dovrebbe averesolo il compito di lanciare dinamicamente (con Invoke

node) un vi rientrante e poi terminare, per cui ogni voltache lo clicchi te ne apre una copia. Ma la fattibilità diquesta cosa è ancora tutta da verificare – Snamprogetti

Io ho avuto un problema inverso: NON volevo che uneseguibile creato con l'ApplicationBuilder fosse lanciatopiù di una volta. Ho scoperto, con l'aiuto dei ragazzi del forum, che di fattil'eseguibile NON può essere istanziato più volte già di suo- quindi, io non avevo il problema. Non so cosa tu abbia bisogno di fare, ma sono d'accordoche la soluzione può essere solo nell'utilizzo di VIdinamici. Ci sarà un "modulo base" che funzionerà come"motore" per lanciare le varie istanze, magari con unsemplice click su un pulsante. Aggiungo come promemoria, che se usi risorse uniche(file, port seriale, i/o, ecc) dovrai ovviamente risolvere ilproblema della concorrenza nel loro uso, con imeccanismo che già LV ti mette a disposizione. Buon divertimento. – gyc

[continua su http://www.ilvg.it/ht/3068]

Conflitti Software

Page 41: labviewworld-07

42

07R E P O R T

Dal 27 al 30 maggio 2008 si è svolta a Fieramilano (Rho)l’edizione 2008 della Technology Exhibitions Week, ilgrande appuntamento internazionale con la tecnologia

e l’innovazione per l’industria. Le oltre 60.000 presenze regi-strate confermano il grande richiamo dell'evento per tutti glioperatori professionali. Particolarmente significativo è risulta-to il numero dei visitatori provenienti dall’estero che hannosuperato quota 18.000, dando un segnale di forte caratteriz-zazione internazionale dell’evento. La Technology Exhibitions Week è composta dalle mostre pro-fessionali BIAS (Biennale internazionale dell’automazione,strumentazione, microelettronica e ICT per l’industria),BI.MAN (Biennale della manutenzione industriale), FluidtransCompomac (Biennale internazionale della fluidotecnica, tra-smissioni di potenza e movimento, comandi, controlli, proget-tazione) e Mechanical Power Transmission & Motion Control(Biennale internazionale dei sistemi di controllo del movimen-to, tecniche di azionamento e trasmissioni meccaniche). In un solo contesto sono stati concentrati le soluzioni e i pro-dotti più innovativi rivolti all’industria manifatturiera e di pro-cesso, presentati da 1.800 marchi di espositori diretti e indi-retti su una superficie espositiva complessiva di 100.000 metriquadri. Numerosi gli espositori esteri, pari al 45%, provenien-ti da 33 Paesi. Una panoramica internazionale di riferimentoper il mondo industriale, come dimostrano anche le numerosedelegazioni estere arrivate da Brasile, Bulgaria, Polonia,Russia, Marocco, Cina, India, Corea, Malesia, Bielorussia eRepubblica Ceca. La manifestazione rappresenta comparti che, in Italia, hannoun valore molto significativo: i mercati di riferimento di BIAS,Fluidtrans Compomac e Mechanical Power Transmission &Motion Control, ad esempio, valgono complessivamente circa10 miliardi di euro. Per quanto riguarda invece il mercato del-la manutenzione rappresentato da BI.MAN, non esiste in Italiaun osservatorio che monitorizzi regolarmente questo settore.Secondo una stima, tuttavia, le spese complessive in manu-tenzione nel nostro Paese sono molto elevate e, per quantoriguarda in particolare il settore industriale, ammontano a cir-ca 30 miliardi di euro. Un’intensa e qualificata attività congressuale, con 35 tra con-vegni e seminari, ha arricchito la sezione espositiva offrendointeressanti momenti di aggiornamento professionale aglioperatori grazie anche al contributo delle principali associa-zioni di riferimento.

“Con la Technology Exhibitions Week, Milano è diventata perqualche giorno la capitale della tecnologia e, insieme a FieraMi lano, ha iniziato un percorso ideale di manifestazioni cheavrà il suo culmine nel 2015 con l’Expo, un evento che rappre -senta una formidabile opportunità per la città e per tutto ilPaese”, ha dichiarato Fabio Dadati, presidente di Fiera MilanoTech. Il prossimo appuntamento con la Technology Exhibitions Weekè in programma, sempre a Fieramilano, dal 25 al 28 maggio2010.

TECNOLOGIA DELLA VISIONE ARTIFICIALEUn mese dopo la Technology Exhibitions Week, il 24 giugno,si è svolta ieri la terza edizione di Vision for Manufacturing,mostra convegno dedicata alla tecnologia della visione artifi-ciale, organizzata da Fiera Milano Editore a Montichiari (BS)presso il Centro Congressi Fiera del GardaChe il tema della visione artificiale fosse particolarmente'caldo' lo si sapeva. Ed è stato ancora più evidente alla lucedei 36 gradi e passa che lo scorso giugno hanno caratterizza-to Brescia, e i suoi dintorni, tra le zone più torride d’Italia. Maciò non ha scoraggiato le 23 aziende partecipanti al Vision forManufacturing che hanno accolto con soddisfazione tra i lorostand circa 200 utenti di settore. Tutti i visitatori, con interes-se, hanno seguito le sessioni di presentazione e approfonditopoi le tematiche trattate presso il padiglione espositivo, toc-cando con mano quella che oggi è l’offerta di mercato deisistemi di visione.Un’attenzione particolare è stata riservata alla sessione diapertura tenuta dal professor Remo Sala, ricercatore e docen-te del Politecnico di Milano – Facoltà di Ingegneria Industriale,dal titolo “Concetti ed applicazioni dei sistemi di visione nel-l’industria”.L’evento è stato organizzato da Fiera Milano Editore con ilcontributo delle riviste SdA-Soluzioni di Assemblaggio,Automazione Oggi e Automazione e Strumentazione. Visionfor Manufacturing nasce in collaborazione con IMVG, ItalianMachine Vision Group e vede il supporto di Assoautomazione- Associazione Italiana Automazione e Misura, appartenentealla Federazione ANIE (Confin dustria), di AIdA-AssociazioneItaliana di Assemblaggio, SIRI-AssociazioneItaliana di Robotica e Automazione, Polo della Robotica diGenova e vede il patrocinio di EMVA - European MachineVision Association

L' impor tanza d i un contatto d i retto con i fornitor i non mostra segni d i cedimento

Vale

rio

Ale

san

dron

i

BIAS E VISION FOR MANUFACTURING: DUE EVENTI DI GRANDE SUCCESSO

Read

erse

rvic

e.it

n. 7

61

Page 42: labviewworld-07

07

43

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

CORSI DI LABVIEWLABVIEW BASE 1Milano: dal 20 al 22 ottobre

dal 17 al 19 novembredal 15 al17 dicembre

Padova: dal 14 al16 ottobreRoma: dal 1 al 3 dicembre

LABVIEW BASE 2Milano: dal 23 al 24 ottobre

dal 18 al 19 dicembreRoma: dal 1 al 3 ottobre

dal 4 al 5 dicembre

LABVIEW INTERMEDIATE 1Milano: dal 6 al 8 ottobre

dal 1 al 3 dicembrePadova: dal 2 al 4 dicembreRoma: dal 3 al 5 novembre

LABVIEW INTERMEDIATE 2Milano: dal 30 al 31 ottobreRoma: dal 6 al 7 novembre

LABVIEW ADVANCED 1Milano: dal 10 al 12 novembre

LABWINDOWS CVIMilano: dal 20 al 22 ottobre

LABVIEW DAQMilano: dal 3 al 5 novembrePadova: dal 11 al 12 novembreRoma: dal 17 al 19 novembre

LABVIEW COMPACTRIOMilano: dal 27 al 29 ottobre

dal 16 al 18 dicembre

TESTSTAND 1Milano: da l13 al 15 ottobre

TESTSTAND 2Milano: dal 20 al 21 novembre

LABVIEW REAL-TIME Milano: dal 26 al 28 novembre

CLD (CERTIFIED LABVIEW DEVELOPER)Milano: 17 ottobre

NOVITÀ!CORSO BASE: LA MISURA CON IL SUPPORTODEL PERSONAL COMPUTERPadova: dal 21 al 22 ottobre

CORSO SPECIALISTICO: MISURE ELETTRICHEMilano: 26 novembrePadova: 23 ottobre

CORSO SPECIALISTICO: MISURE TERMODINAMICHEMilano: 27 novembrePadova: 24 ottobre

CORSO BASE: LA MISURA CON IL SUPPORTODEL PERSONAL COMPUTERMilano: dal 24 al 25 novembre

SEDI DEI CORSIMILANO - presso gli uffici National Instruments Italy srlVia Anna Kuliscioff 22, 20152 - Tel.: 02-41309217 Fax: 02-41309215 - email: [email protected]

PADOVA - presso il Centro di Formazione Certificato NI diI.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]

APPUNTAMENTI MOSTRE CONVEGNOC2 CONTROL & COMMUNICATIONTorino: 11 settembrePescara: 16 settembre

FOCUS EMBEDDED Genova: 27 novembreRoma: 2 dicembre

FIERESPS/IPC/DRIVESNorimberga: 24-27 settembre

ELECTRONICA, COMPONENTS, SYSTEMS, APPLICATIONS Monaco: 11-14 novembre

VISION, FIERA INTERNAZIONALE SULLE TECNOLOGIE DI ELABORAZIONE E RICONOSCIMENTO IMMAGINI Stoccarda: 4-6 novembre

EVENTI NATIONAL INSTRUMENTSEMBEDDED TECHNOLOGICAL FORUM - MACHINE BUILDER Torino: 28 ottobre Milano: 30 ottobre Roma: 4 novembre Firenze: 6 novembre Padova: 11 novembre Modena: 13 novembre Bari: 18 novembre Ancona: 20 novembre Napoli: 27 novembre

NIDAYS Milano: febbraio 2009

Verificate il calendario aggiornato alla pagina webni.com/training/ifz

Verificate il calendario aggiornato alla pagina webni.com/italian inserendo il codice it3z

Verificate il calendario aggiornato degli eventiNational Instruments alla pagina web

ni.com/italy/eventi

Page 43: labviewworld-07

44

07I N T E R V I S T A

INTERVISTAAbbiamo intervistato Alessandro Ferrero, Professoreordinario di Misure Elettriche presso il Dipartimento diElettrotecnica del Politecnico di Milano e attuale presi-dente della Instrumentation and Measurement Societydi IEEE, primo non americano ad essere stato eletto aquesta carica.

D:Professor Ferrero, ci descriva l’utilizzo diNI LabVIEW in ambito accademico, e nello

specifico, nel suo programma didattico…

R:Gli Strumenti Virtuali sviluppati con LabVIEWsono estremamente utili nella didattica dei corsi

di misure ai vari livelli di approfondimento nel corsodegli studi. Nel corso di Studi in Ingegneria Elettrica,per esempio, utilizziamo strumenti sviluppati conLabVIEW in due modi differenti. Nei corsi di misure dibase, in cui gli studenti devono apprendere le nozionifondamentali e devono imparare ad usare corretta-mente gli strumenti, sia quelli classici, sia quelli piùmoderni, usiamo LabVIEW per sviluppare alcuniStrumenti Virtuali – tipicamente per eseguire misure diuna certa complessità, in cui l’approccio classico richie-derebbe l’impiego di diversi strumenti tradizionali eduna significativa attività di post-elaborazione delle let-ture – che poi gli studenti impiegano durante le orededicate all’attività sperimentale. In tal modo assimila-no una metodologia di misura – quella per la quale èstato sviluppato il VI – e cominciano a familiarizzarecon i VI. Nei corsi più avanzati, in cui lo studente deveapprendere anche tecniche di sviluppo della strumen-tazione e di algoritmi di misura, LabVIEW viene utiliz-zato direttamente dagli studenti per sviluppare VI dedi-cati alla soluzione di uno specifico problema di misuraposto dal docente. Come si vede, quindi, LabVIEW puòessere un utile strumento didattico nei vari passi delprocesso di apprendimento delle misure.

D:Quali sono i vantaggi tangibili dell’uti-lizzo di NI LabVIEW nel percorso di

apprendimento?

R:Direi che i vantaggi più evidenti sono la rapiditàe la chiarezza con cui gli studenti possono appli-

care i concetti teorici acquisiti durante le lezioni, tra-ducendoli in uno schema a blocchi molto intuitivo. Lanaturale conseguenza della velocità di implementazio-ne è la possibilità di modificare con poche operazioni i

parametri più significativi dello schema, per verificarel’impatto che questi stessi hanno sulle prestazioni del-l’intero sistema di misura e sull’incertezza di misura,che resta, in un corso di misure, uno dei punti piùimportanti – e più difficili! – da far digerire ad uno stu-dente. Altro aspetto di grandissima importanza è chetutto ciò può essere realizzato sia simulando i segnaliin ingresso – all’inizio del processo di apprendimento– sia, negli stadi più avanzati, acquisendo segnali reali.E, per un ingegnere, saper dominare l’attività speri-mentale è, da sempre, un requisito fondamentale.

D:In che modo NI LabVIEW facilita o velo-cizza l’acquisizione dei concetti chiave

del percorso di studi offerto?

R:Come ho detto rispondendo alla domanda pre-cedente, LabVIEW consente una grande flessibi-

lità nella realizzazione di esperimenti e quindi consenteallo studente di acquisire i concetti chiave sperimen-tandone la valenza pratica. Fin dall’inizio – sono stato,credo, il secondo utente europeo di LabVIEW – ho tro-vato LabVIEW uno degli strumenti più efficaci per tra-durre in pratica i concetti esposti alla lavagna. Da annitengo il corso di Elaborazione numerica di segnali dimisura e considero LabVIEW indispensabile per far toc-care con mano ai miei studenti alcuni concetti chiavedel Digital Signal Processing, quali l’aliasing e il leaka-ge che, altrimenti, resterebbero confinati al regno delleformule matematiche, più o meno oscure.

D:Quali sono le prospettive di carriera con-crete che si profilano dopo aver termi-

nato il percorso? Quali le prospettive nel mer-cato italiano per gli esperti di LabVIEW?

a cu

ra d

i N

adia

Alb

arel

lo

Page 44: labviewworld-07

45

I N T E R V I S T A

07

R:Non è facile rispondere a questa domanda, con-siderando il fatto che i laureati in Ingegneria

sono di gran lunga i laureati più richiesti dal mercatodel lavoro. Io poi insegno in un corso di studi, quellodi Ingegneria Elettrica, i cui laureati sono in assoluto ipiù richiesti e introvabili. Quindi la domanda andreb-be forse posta non tanto in termini di mercato, ma intermini di quale valore aggiunto può dare la cono-scenza di LabVIEW nella professione. Penso che uningegnere che abbia imparato ad usare LabVIEWabbia acquisito anche competenze importanti, nontanto per la conoscenza di LabVIEW in sé – in fondouno dei vantaggi di LabVIEW è anche la facilità concui si riesce ad impararlo, almeno fino ad un discretolivello di approfondimento – quanto per le competen-ze sperimentali che ha acquisito durante il corso deglistudi, proprio grazie alla facilità con cui LabVIEW per-mette di eseguire diversi esperimenti. La capacità dipianificare e predisporre un esperimento e la capacitàdi interpretarne i risultati, questi sì sono valori aggiun-ti importanti, che rendono “appetibile” un ingegnere!

D:In un momento in cui di fondi devolutialla didattica e alla ricerca sono in

costante calo, crede che LabVIEW possa, perlo meno, rappresentare o un vantaggio tan-

gibile nella creazione di contatti utili con ilmondo dell'industria?

R: Il vero problema del finanziamento della didatticanon è tanto quello di creare contatti, quanto quel-

lo di convincere il mondo dell’industria dell’utilità diinvestire costantemente nella ricerca e di utilizzare lecompetenze dell’università in modo meno sporadico eassai più sistematico di quanto non faccia finora. Sonofermamente convinto che ogni singolo Euro investito inricerca abbia un ritorno sicuro, purché si abbia la lungi-miranza di guardare anche solo qualche centimetro al dilà della punta del proprio naso. E’ deprimente vederecome l’industria italiana non sfrutti la ricchezza di com-petenze che può trovare nell’università, soprattutto in unsettore come quello delle misure e della strumentazionein cui la ricerca italiana è all’avanguardia nel mondo. Undato sopra tutti: da diversi anni i ricercatori italiani pub-blicano più del 15% di quanto viene annualmente pub-blicato nelle più prestigiose riviste scientifiche di settore,quali ad esempio le Transactions on Instrumentation andMeasurement di IEEE. Dall’estero arriva un costanteapprezzamento. Dall’Italia il nulla, o quasi.Mi spiace dirlo, ma di fronte ad un panorama così deso-lante LabVIEW è sempre 'most welcome', come si direb-be negli USA, benché rappresenti una piccola goccia.

SCELTI PER TE

Abbiamo scelto per te alcune risorse utili per approfondire le tua conoscenza di LabVIEW.

ForumILVG.it www.ilvg.itLabVIEW www.ni.com/labviewzoneLAVA - LabVIEW Advanced Virtual Architects http://forums.lavag.org/home.html

CommunityDevZone www.zone.ni.comCommunity on ni.com http://community.ni.com/Mindstorm NXT http://www.ni.com/academic/mindstorms/community.htm

Contenuti LabVIEW on ni.com www.ni.com/labviewLabVIEW on ni.com/italy www.ni.com/labview/iLabVIEW Jobs http://www.labviewjobs.com/The VI Road Show http://viroadshow.blogspot.com/

Page 45: labviewworld-07

46

07L 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

SISTEMISTA SOFTWARE

Si ricerca per attività su Roma n.1

Sistemista Sw con:

- Conoscenza Sistemi a Microonde /Radar;

- Conoscenze MATLAB, SIMULINK e

LabVIEW.

- Strumenti di laboratorio (oscilloscopio,

analizzatore di spettro,..)

Città: Roma

Informazioni aggiuntive

Contratto: Full Time, Temporaneo/A con-

tratto/A progetto

Durata: 6-8 mesi con possibile estensione.

Rif.#: 445

InterConsulting S.r.l

www.monster.it

PROGETTISTA LABVIEW

Importante gruppo internazionale france-

se, che opera in un ampio contesto di con-

sulenza ingegneristica e di progettazione,

nell’ottica del potenziamento della sede

di Milano, ricerca progettista LabVIEW che

si occuperà delle attività di sviluppo in

Labview per i sistemi di automazione di

banchi di tests e collaudo.

Il candidato ideale è in possesso dei

seguenti requisiti:

• Laurea in Ingegneria Elettronica/Infor -

matica/Telecomunicazioni/Automazione

o Diploma equivalente;

• Esperienza di almeno un anno maturata

nella medesima mansione;

• Buona conoscenza dei linguaggi di pro-

grammazione LabVIEW e CompactRIO;

• Conoscenza del linguaggio di program-

mazione C;

• Conoscenza della strumentazione da

laboratorio di elettronica;

• Ottima predisposizione all’utilizzo dei

sistemi informatici e buona conoscenza

del pacchetto Office;

• Conoscenza della lingua inglese.

Completano il profilo un’elevata attitudi-

ne al lavoro di team, doti di precisione,

flessibilità mentale e capacità proattiva

nella gestione delle problematiche pro-

fessionali.

L’inquadramento e la retribuzione saran-

no commisurati all’esperienza professio-

nale del candidato.

Sede di lavoro: Milano

Assystem Italia

www.talentmanager.it

HYDRAULIC COMPONENTS EXPERT

(Ref. HYD/tm)

The Tasks

The candidate will be involved in the fol-

lowing activities:

- Diesel injection system components

development responsibility, from pre-

development to Start of Production and

later during production, according to the

process;

- Definition of technical requirements;

external suppliers' design coordination;

component and system validation plan-

ning; drawing release according to

Product Programs and Powertrain

Master Timings;

- Assessment of supplier offers regarding

technical content, timing and project

requirements;

- Assessment and consolidation of deve-

lopment results;

- Continuous product improvement and

cost reduction planning & coordination;

- Evaluate and release design changes,

according to GM tools and procedures.

The Skills

- Degree in Mechanical Engineering or

equivalent;

- Experience on Fuel injection systems

development and testing;

- Knowledge on Unigraphics system or

similar for fuel systems design and pac-

kaging;

ASME standards;

- Good knowledge of Change Mana -

gement Process for product quality

improvement and cost reduction;

- Good knowledge of Microsoft Office,

knowledge of LabVIEW, INCA, Matlab;

- Fluent English, team working, good

communication and leadership skills are

required.

Funzione professionale: Ingegneria/

Project management|Ricerca e Sviluppo

Settore: Automotive

Sede di lavoro: Piemonte

Tipo di contratto: A tempo indeterminato

Adecco Italia SpA

www.talentmanager.it

ADDETTO ALLO SVILUPPO PAGINE WEB

(identificativo annuncio: 90946)

Numero di riferimento aziendale relativo

all'annuncio1055/0801ASPW

Data di scadenza dell'annuncio23/6/2008

Area aziendale:

Sistemi informativi / Hardware e Software

Sede relativa all'annuncio:

Milano

Tipo di contratto offerto:

Assunzione a tempo indeterminato

Retribuzione:

In funzione dell'esperienza

Descrizione:

2A&F Consulting ricerca per conto di

un'azienda che opera nel settore delle

Telecomunicazioni un Addetto allo

Sviluppo pagine Web su sistema embed-

ded per router residenziali, C, C++, HTML,

WEB UI, XML, software embedded, Linux,

Unix, Java, JavaSwing, TCP/IP, HTTP,

Labview, TCL.

Questo annuncio è rivolto anche ai neo-

laureati.

Numero di posti offerti:1.

Requisiti richiesti: Titolo di Studio: Laurea in

Ingegneria Informatica o delle Telecomuni -

cazioni oppure Laurea in Informatica.

Conoscenze linguistiche: Inglese buono.

2A&F Consulting S.r.l.

www.assioma.org

Page 46: labviewworld-07

47

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

LABVIEW SOFTWARE ENGINEER

ADOC Group cerca LabVIEW software

engineer (R8-220) in Regione Piemonte -

Torino provincia

Esperienza:

Almeno 2 anni maturata nel settore

Automotive o affini

Titolo di studio:

Laurea specialistica/magistrale o di vec-

chio ordinamento in Ingegneria

dell’Auto mazione/Informatica/Elettro -

nica/Meccatronica

Il lavoro:

Il candidato/a si occuperà della realizza-

zione in ambiente Labview di sistemi di

acquisizione, gestione di sensori, sistemi

di test.

Il profilo:

Il candidato deve avere le seguenti carat-

teristiche:

• Conoscenza Labview 8 o superiore

• Conoscenza Labwindows/CVI

• Conoscenza piattaforma CompactRIO

(cRIO)

• Conoscenza problematiche di gestione

sensori

• Conoscenza delle reti di comunicazione

CAN (Controller Area Network) e tools

• Buona conoscenza della lingua inglese

• Predisposizione al lavoro in team

• Buona capacità di comunicazione con

collaboratori e clienti

• Disponibilità a trasferte

• Conoscenza lingua Inglese.

• Possesso patente B

Le persone interessate (uomini e donne L.

903/77) sono pregate di inviare un detta-

gliato curriculum vitae corredato da foto-

grafia, citando il rif. R8-220 ed eviden-

ziando la dicitura ”Autorizzo ai sensi della

Legge 196/2003 il trattamento dei dati da

me trasmessi” all’indirizzo e.mail:

[email protected].

Sede di lavoro: Regione Piemonte

Torino provincia

Adoc Group

www.annuncidilavoro.info

TEST ENGINEERS

Ref. DKIT25948

Job Description:

Our client is looking for a Test Engineer to

be responsible for developing and imple-

menting various methods of testing

systems and equipment.

Skill Required:

A degree in Engineering or Computer

Science (preferably M.Sc.).

Experience with serial-mass production and

mechanical structures. Good analytical and

problem solving skills. Knowledge of test

methodology, planning and execution.

Production tests.

Making testing equipment for production

tests. Automatic reading/tests with i.e.

LabVIEW. Programming in LabView and

preferably also C++ and C#.

To be based in Denmark

Sector IT and Telecommunications.

Chronos Consulting

www.chronosconsulting.com

TEST EQUIPMENT DEVELOPMENT

ENGINEER

Riferimento Annuncio: A-192 2008

Sede di lavoro: Provincia di Milano

Per importante società operante a livello

internazionale nel settore della progetta-

zione e produzione di sistemi di collaudo

automatico per apparati elettronici, con

sede nell’area di MONZA, ricerchiamo le

seguenti figure professionali:

Test Equipment Development Engineer

Rif. A-192

Ci rivolgiamo a giovani di età intorno ai

30 anni con laurea breve in materie elet-

troniche/meccatroniche e con esperienza

quinquennale nello sviluppo di sistemi di

collaudo automatico.

Si richiede:

• conoscenza della strumentazione di

misura di laboratorio controllata da

computer

• conoscenza dei protocolli di comunica-

zione automotive

• programmazione LabVIEW/CVI

• conoscenza della lingua inglese parlata

e scritta.

È richiesta la disponibilità a viaggiare per

brevi periodi all’estero.

Buone capacità di relazione, affidabilità e

determinazione sono tra i requisiti richie-

sti che completano il profilo del candidato

ideale.

La società offre un inserimento in

ambiente dinamico, tecnologicamente

avanzato con un trattamento economico

di sicuro interesse.

Sintex S.r.l.

www.e-sintex.it

PROGETTISTA LABVIEW

Importante gruppo multinazionale ope-

rante nella consulenza ingegneristica e di

progettazione, nell'ottica del potenzia-

mento del proprio organico, ricerca la

figura di PROGETTISTA LABVIEW che si

occuperà delle attività di sviluppo in

Labview per i sistemi di automazione di

banchi di testa e collaudo.

La candidatura ideale:

• ha una Laurea in Ingengeria Elet -

tronica/Informatica/Telecomunicazioni

/Automazione o Diploma equivalente

• ha una buona conoscenza dei linguaggi

di programmazione Labview, C e della

strumentazione da laboratorio elettro-

nica

• conosce la lingua inglese

Costituirà titolo preferenziale breve espe-

rienza maturata in ruolo analogo

Informazioni aggiuntive

Codice Riferimento: PL

Persona da contattare:

Elisabetta Mereghetti

Adecco Italia SpA

www.monster.it

Page 47: labviewworld-07

48

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.edizionifieramilano.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]

Alessandra Pelliconi Segreteria- 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 e Impaginazione

produzione Franco Tedeschi Coordinamento grafici - [email protected]

Alberto Decari Coordinamento DTP - [email protected]

Grafiche Sima Ciserano - BG - Stampa

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 SalesU.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:Edizioni Fiera Milano 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

Edizioni Fiera Milano è 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 Edizioni Fiera Milano SpA – titolare del trat-tamento – Via Salvatore Rosa 14, Milano - per l’invio dellarivista 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, Edizioni Fiera Milano 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 Edizioni FieraMilano 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 Edizioni Fiera Milano 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, Edizioni Fiera Milano 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.