+ All Categories
Home > Documents > LA PRIMA RIVISTA ITALIANA PER LA COMUNITÀ LABVIEW · ... non ha mai giocato con Lego WeDo o Lego...

LA PRIMA RIVISTA ITALIANA PER LA COMUNITÀ LABVIEW · ... non ha mai giocato con Lego WeDo o Lego...

Date post: 18-Feb-2019
Category:
Upload: hoangquynh
View: 216 times
Download: 0 times
Share this document with a friend
52
LA PRIMA RIVISTA ITALIANA PER LA COMUNITÀ LABVIE W 09 FEBBRAIO 2009 E 5,00 ISSN 1972-3008 SVILUPPO DI INTERFACCE DI COMUNICAZIONE DIGITALE CON LABVIEW FPGA AUMENTARE LA PRODUTTIVITÀ CON QUICK DROP IN LABVIEW 8.6 NUOVE CARATTERISTICHE IN LABVIEW 8.6 PER I SISTEMI OPERATIVI MAC E LINUX In caso di mancata consegna restituire all’editore che si impegna a pagare la relativa tassa presso il CMP di Roserio - Milano
Transcript

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

09FEBBRAIO2009E 5,00

ISSN

197

2-30

08

SVILUPPO DI INTERFACCE DI COMUNICAZIONE DIGITALE CON LABVIEW FPGAAUMENTARE LA PRODUTTIVITÀ CON QUICK DROP IN LABVIEW 8.6NUOVE CARATTERISTICHE IN LABVIEW 8.6PER I SISTEMI OPERATIVI MAC E LINUX

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

readerservice.it n.21169

09S C E N A R I O

Sul web esistono molti siti (come www.slashdot.org) nei quali si dibatte la superiorità del vecchioMeccano rispetto al Lego, o viceversa, per l'insegnamento dei rudimenti di tecnologia ai bambi-ni. Chi sostiene la superiorità del Meccano, probabilmente, non ha mai giocato con Lego WeDo

o Lego Mindstorms Nxt. E qual è il grande punto di forza di questi ultimi? La presenza di LabVIEW,naturalmente.Oltre alle sue note caratteristiche di potenza, versatilità e semplicità d'uso, che lo rendono uno stru-mento insostituibile in ogni applicazione industriale e scientifica, LabVIEW si è dimostrato in piùoccasioni un supporto eccezionale anche nella didattica, a tutti i livelli. E gli esempi sono moltonumerosi, abbracciando tutto lo spettro scolastico: dal giocattolo intelligente come Lego WeDo, allapiattaforma di sperimentazione accademica più sofisticata, come gli acceleratori di particelle delCERN. Ma il motivo conduttore è unico, lo definiremmo 'apprendere con piacere'. Giocando con unapiattaforma su cui è installato LabVIEW, si possono imparare facilmente i concetti fondamentali difisica, meccanica, elettronica che saranno preziosi per la formazione del futuro tecnico o ricercatore.E, se al piacere del gioco si aggiunge un pizzico di spirito di competizione, possono nascere fenomeniinteressanti come il progetto FIRST, che negli Stati Uniti vede impegnate nel gioco robotico di squa-dra centinaia di scuole.I computer hanno oggi un ruolo rilevante nell'insegnamento, come dimostrano i lavori di molti stu-diosi dell'argomento. Grazie alla loro natura interattiva, infatti, i computer accrescono il livello dimotivazione dello studente e, se a tale natura si aggiungono un'interfaccia intuitiva e la massimasemplicità di programmazione, è il caso di dire che 'il gioco è fatto'. Non è poi da sottovalutarel'effetto di fidelizzazione assicurato da un sistema come LabVIEW: se si impara da bambini ad utiliz-zarlo, lo si utilizzerà probabilmente tutta la vita. Proprio perché, quando ci si abitua al meglio, è dif-ficile scendere a compromessi.È per questo che National Instruments assegna una grande importanza al mondo della formazione insenso lato e, in particolare, ai 'giocattoli' e ai tool didattici basati su LabVIEW. Ce ne parla, nelle pri-me pagine di questo numero, Ray Almgren, Vice Presidente delle Relazioni Accademiche di NationalInstruments. Per motivi di età, Ray ha probabilmente giocato con il Meccano, ma siamo certi che loscorso Natale ha regalato un bel Lego WeDo o un Lego Mindstorms Nxt ai suoi famigliari più giova-ni, proprio come abbiamo fatto noi.

LABVIEW E LA DIDATTICA:DALL'ASILO ALL'UNIVERSITÀ

S O M M A R I O

LABVIEW E LA DIDATTICADal l 'as i lo a l l 'univers i tà

01

LABVIEW NEL MONDOACCADEMICOInter v ista a R ay Almgren, V icePres idente del le Relaz ioniAccademiche di Nat ional Instruments

03

AUMENTARE LA PRODUTTIVITA'CON QUICK DROPIntrodotto in LabVIE W 8.6, i l toolpermette d i t rovare e p iazzarerapidamente oggett i

06

08

10

13

NUOVE CARATTERISTICHE PER MAC E LINUXLabVIE W 8.6 introduce molte nuovefunzioni per quest i s i s temi operat iv i

COLLEGARE I DATI DA SENSORI A MODELLI 3DLabVE W 8.6 permette la mappatura d isensor i 3D

SVILUPPO DI INTERFACCE DI COMUNICAZIONECome ut i l i zzare i l modulo LabVIE WFPGA per implementare protocol l i d icomunicaz ione

22 SOFTWARE DI MAPPATURAULTRASONORAENEA ha sviluppato un sistema di test percomponenti aeronautici e industriali

41 SERVIZI E SUPPORTONational Instruments of f re numeros iser v iz i per lo sv i luppo del leappl icaz ioni

UN PALMARE PER CONTROLLAREMACCHINE COMPRIMITRICIPAD Mobile è un sistema por tatile eleggero con relativo applicativo software

24

28

PIANIFICAZIONE DEL SISTEMA (II PARTE)Come valutare tempi e costi di un progettosoftware

32

36

38

40

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

LA VOCE DEGLI UTENTIAlcuni spunt i d i d iscuss ione appars i d irecente sul Forum di ILVG. i t

ITALIA&ROBOTLabVIE W è entrato nel mondo del larobot ica

42 LA FORMAZIONE DI NATIONAL INSTRUMENTSOltre ad organizzare propr i cors i eseminar i , Nat ional Instruments saràpresente a numeros i event i

PROGETTARE L'INTERFACCIAUTENTE (II PARTE)I pannelli frontali sono la pima cosa che gliutenti vedono quando lavorano con un VI

TEST DEI SISTEMI DITELECOMUNICAZIONICon LabVIEW è stata realizzata unastrumentazione virtuale di test in tempo reale

26

44 INTERVISTAAlessandro Gasparetto è ProfessoreStraordinar io d i Meccanica Appl icataal le Macchine

46 LABVIEW E LAVOROProposte concrete per co loro che sannout i l izzare LabVIE W

AAA

2

09

09A T U P E R T U

3

Ray Almgren, Vice Presidente delle RelazioniAccademiche di National Instruments, ha conclusocon la sua keynote NIWeek 2008 sottolineando

l’importanza di suscitare, negli studenti di ogni età,l’interesse in discipline quali scienze, tecnologia, ingegneriae matematica. In particolare, come esempi di sinergie traindustria e settore didattico per trasformare gli studenti dioggi in futuri ingegneri innovativi, egli ha posto l’accentosulla collaborazione di National Instruments con LEGOEducation per la realizzazione della piattaforma roboticaeducativa LEGO WeDo, nonché con la CompetizioneRobotica FIRST (For Inspiration and Recognition of Scienceand Technology).LabVIEW World ha rivolto alcune domande a Ray Almgren.

D: Qual è l'obiettivo del programma di relazioniaccademiche di National Instruments?

R:National Instruments si è impegnata a migliorarel'insegnamento tecnico e scientifico in tutto il mondo

offrendo a docenti e studenti un potente software per laprogettazione grafica di sistemi e hardware modulare percollegare i curricula con il mondo reale. Docenti e studentipossono trarre vantaggio da potenti tool professionali comeil software di sviluppo grafico LabVIEW, che aiuta gli stu-denti a visualizzare ed implementare concetti tecnici.L'integrazione di LabVIEW nella classe crea un ambiente diapprendimento efficace e dinamico: da LEGO MINDSTORMSNXT nelle scuole primarie ai laboratori universitari.

D: Perché National Instruments pone tantaenfasi su un programma didattico come

LEGO WeDo?

R:La nostra collaborazione con LEGO Education poggiasulla forza di entrambe le società nel rilascio della

terza piattaforma robotica educativa degli ultimi dieci anni.La cooperazione tra National Instruments e LEGO Educationè iniziata nel 1998 quando ROBOLAB, il software program-mato con LabVIEW e sviluppato dal Centro Universitario diTufts per l’assistenza all’apprendimento ingegneristico, èstato lanciato per il primo software robotico LEGO MIND-

STORMS. Nel 2006, LEGO MIND-STORMS NXT, la piattaforma robo-tica LEGO di ultima generazione, èstata sviluppata congiuntamentedalle due aziende per offrire glistudenti una tecnologia hardwaree software all’avanguardia per larealizzazione di robot autonomiavanzati.

D: Qual è l'importanzadella sperimentazione

pratica nel processo di forma-zione dei futuri ingegneri?

R:National Instruments si èsempre dedicata con passio-

ne alle iniziative che puntano adeducare ed ispirare i giovani aseguire un percorso di studi tecni-co e scientifico, attraverso unapprendimento pratico e basato su progetti. È dimostratoche l'apprendimento sperimentale rappresenta l'approcciomigliore per un insegnamento di qualità. Spesso, i nostriingegneri sono bravi da un punto di vista teorico, ma pos-sono migliorare da un punto di vista pratico. Conl'approccio basato sull'esperienza, l'ap prendimento diventapiù interessante e divertente. Ciò è esattamente quello chevogliamo ottenere con l'Academic Program NationalInstruments. Tramite iniziative di questo tipo, vogliamo alle-vare dei buoni ingegneri. (Per maggiori informazioni sul pro-gramma di relazioni accademiche di National Instruments,potete visitare il sito www.ni.com/academic/i, n.d.r.).

D: Rientra in questo contesto anche la collabo-razione con il programma FIRST?

R:Abbiamo scelto di collaborare con FIRST proprio per-ché crediamo che questo programma scientifico, tec-

nologico, tecnico e matematico potrà avere un impattosostanziale sulla creazione di nuovi tecnici e ricercatori. Inparticolare, aggiungendo CompactRIO e LabVIEW alla piat-

LABVIEW SI ESPANDENEL MONDO ACCADEMICO I l soft ware d i programmazione graf ica d i s i s temi ha tutte le car te in regola per favor i re la d idatt ica ed avvic inare maggiormente g l i s tudent i a l mondo sc ient i f i co e tecnico

Vale

rio

Ale

ssan

dron

i

R ay Almgren, V ice Pres idente del le Relaz ioniAccademiche di Nat ional Instruments : "Nat ionalInstruments s i è impegnata a migl iorarel ' insegnamento tecnico e sc ient i f i co in tutto i lmondo of f rendo a docent i e s tudent i un potentesoft ware per la progettaz ione graf ica d i s i s temi e hardware modulare per co l legare i curr icula con i l mondo reale"

taforma robotica della competizione, FIRST potrà aumenta-re le capacità tecniche dei robot dei vari gruppi partecipan-ti, rendendo nello stesso tempo la programmazione piùaccessibile ad un gruppo più ampio e diversificato di stu-denti, grazie alla facilità d'uso e alla produttività della pro-grammazione grafica LabVIEW".

D: Può descrivere qualche risultato concreto diquesta collaborazione?

R:Le applicazioni robotiche, come sollevare un bracciomentre avanza, sono intrinsecamente parallele e

LabVIEW è un linguaggio a flusso di dati parallelo, che per-mette ai programmatori di eseguire contemporaneamentepiù task. Per esempio, è possibile acquisire un segnale esimultaneamente avviare un motore per fare avanzare ilrobot. Gli studenti possono inoltre scrivere programmi,usando LabVIEW o C ++, che permettono ai loro laptop diricevere e visualizzare informazioni trasmesse in modo wire-less, come immagini dalla telecamera associata al robot,dati sulle prestazioni dei motori, valori di sensori e tensionedella batteria. E possono usare il collegamento wireless peril debugging ed il monitoraggio in tempo reale. In futuro, lacomunicazione wireless potrà essere utilizzata anche diret-tamente fra i robot durante le gare.I partecipanti termineranno le gare con qualche esperienzareale. CompactRIO e LabVIEW sono infatti largamente uti-lizzati nell'industria per risolvere molti problemi, dal con-trollo assi al monitoraggio industriale, all'acquisizione datiall'interno di veicoli. Per esempio, Torc Technologies eVirginia Tech hanno usato CompactRIO nel DARPA UrbanChallenge per creare un sistema 'drive-by-wire' in grado dicontrollare il carburatore, i freni e il volante.

D: Un'altra recente iniziativa di NationalInstruments in ambito educativo è il

DATEx (Digital Analog TelecommunicationsExperimenter). Può fornirci qualche informazionein proposito?

R:Abbiamo introdotto il DATEx in collaborazione conl’Alliance Partner Emona Instruments per NI ELVIS (la

NI Educational Laboratory Virtual Instrumentation Suite),una nuova scheda per telecomunicazioni, nell’ottica di favo-rire l’apprendimento dei concetti fondamentali di telecomu-nicazioni analogiche e digitali. Insieme alla piattaformaintegrata di progettazione e prototipazione NI ELVIS, DATExconsente agli studenti di visualizzare i concetti fondamen-tali di telecomunicazioni in un ambiente di apprendimentopratico. La scheda è compatibile con l’ambiente di sviluppografico NI LabVIEW per offrire un maggiore controllo nellarealizzazione di progetti di telecomunicazioni basati sullaprogettazione grafica di sistemi.

La combinazione di DATEx con la piattaforma NI ELVIS con-sente ai docenti di dimostrare immediatamente i concettiutilizzando segnali reali per fornire agli studenti la capacitàdi progettare sistemi di telecomunicazioni innovativi.L’integrazione con LabVIEW offre un ambiente ideale per losviluppo di componenti per le telecomunicazioni, agevolan-do il trasferimento di progetti realizzati su DATEx dal setto-re accademico a quello industriale.

D: Durante NIWeek 2008 abbiamo sentito par-lare anche del progetto 'Lead the way'. Di che

cosa si tratta?

R:Il progetto, supportato anche dalla Gates Foundation,riguarda nuove forme di insegnamento nelle scuole

superiori ad orientamento scientifico e matematico. Il nostrocontributo al miglioramento dei curricula riguarda soprat-tutto il software. La nostra è un'azienda relativamente pic-cola. Quindi, il contributo che possiamo offrire a questo e amolti altri programmi consiste essenzialmente nel mettere adisposizione la nostra tecnologia, per fare in modo che ven-gano coinvolti gruppi di utenti sempre più ampi. Posso cita-re a questo proposito anche un altro programma, che è par-tito da Austin (Texas) diffondendosi poi in molte altre loca-lità. Il programma, che si sviluppa a livello di college, si chia-ma 'U Teach'. Esso punta a favorire l'ingresso degli studen-ti di ingegneria nel ruolo di insegnanti a studenti più giova-ni. Negli Stati Uniti, pochi ingegneri vogliono fare gli inse-gnanti, perché l'industria offre stipendi migliori. Il program-ma 'U Teach' fa scoprire agli studenti di ingegneria la sod-disfazione di insegnare ciò che hanno imparato ai ragazzidelle scuole superiori.

D: Che cosa c'è dietro l'angolo?

R:C'è un paio di cose su cui stiamo lavorando e che forsenon sono evidenti a tutti. In primo luogo, stiamo pun-

tando all'obiettivo 'LabVIEW Everywhere', e questo è stato unpassaggio molto importante nella nostra strategia. Significainfatti che avremo una 'major release' con nuove caratteristi-che ogni anno, oltre a perfezionare le release precedenti permantenerle molto stabili. Il secondo punto è che stiamo cer-cando di rivolgere LabVIEW a gruppi di utenti sempre piùdiversi: dai tecnici che eseguono misure o utilizzano controlliindustriali, agli utenti di test automatizzati, agli utenti inambito accademico, ecc. Potremmo introdurre una nuova ver-sione di LabVIEW adatta a tutti questi gruppi, ma avremmomolte caratteristiche troppo specifiche, che interesserebberosolo a una parte degli utenti. Con la release 8.6 abbiamo allo-ra deciso di puntare inizialmente su due nuovi settori: quellodelle misure industriali (come si vede chiaramente da caratte-ristiche come la funzione CompactRIO Scan Mode ed i

4

09A T U P E R T U

A T U P E R T U

Function Block 61131-3). E continueremo ad investire su toolper l'area industriale. Il secondo settore è quello della pro-gettazione: grazie alle capacità di matematica testuale all'in-terno dello schema a blocchi LabVIEW, la progettazione e laprototipazione di algoritmi sono diventate più facili. Ed è pos-sibile utilizzare direttamente in real-time i risultati di altri

algoritmi. E, parlando di condivisione di tecnologie, credo chela virtualizzazione sarà un altro obiettivo importante. Essapermetterà di utilizzare due sistemi operativi sullo stesso pro-cessore: per esempio, un sistema operativo real-time eWindows. La virtualizzazione permetterà anche di smussarele differenze fra Windows e Linux.

Chi è Ray AlmgrenRay Almgren, Vice President Product Marketing ed Academic Relations, è responsabile del programma mondiale di relazioni accademiche di National Instruments.Nei suoi oltre 20 anni trascorsi in National Instruments, Almgren ha occupato posizioni nel marketing, nell'R&D e nell'ingegneria applicativa. I suoi ruoli più recentiincludono quelli di Vice Presidente della strategia di prodotto, direttore R&D per il gruppo prodotti di misura e direttore del marketing software.Come direttore del marketing software, Almgren ha contribuito a guidare la famiglia di prodotti LabVIEW fino all'attuale posizione di leader di mercato nella misura enell'automazione. Nel 1994, egli ha inoltre contribuito alla creazione di NIWeek, la conferenza mondiale sul graphical system design di National Instruments.Nel corso della sua carriera in National Instruments, ha dedicato sforzi significativi allo sviluppo della formazione scientifica e tecnica, ispirando molti studenti adintraprendere carriere tecniche. Egli è stato pioniere di molti dei programmi di relazioni accademiche ed universitarie dell'azienda, tra cui il programma LEGOMINDSTORMS Classroom Mentor. Usando LEGO MINDSTORMS e software di programmazione basato su LabVIEW, oltre 200 ingegneri National Instruments lavorano coninsegnanti locali per contribuire all'integrazione di robotica, controllo e progettazione nei curricula scolastici. Almgren è attualmente membro del National EPICS Program Advisory Council presso la Purdue University. Egli collabora con il College of Natural Sciences ExternalAdvisory Board dell'Università del Texas, la Southern Methodist University School of Engineering Executive Board, l'Advisory Committee del Tufts University Center forEngineering Educational Outreach, l'External Advisory Committee for the Electrical and Computing Engineering Department presso l'Università del Texas, l'UTeachAdvisory Board ed il FIRST Executive Advisory Board. Almgren ha tenuto numerose conferenze e presentazioni accademiche ed ha pubblicato una dozzina di articoli.Infine, Almgren è Vice Presidente e membro del consiglio di direzione della National Instruments Foundation, una fondazione privata focalizzata sulla formazione e sullaricerca scientifica e tecnica.

Read

erse

rvic

e.it

n. 9

01

Specialisti nel PROFIBUS

COMSOFT

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

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

Soluzioni National Instruments disponibili con tecnologia PROFIBUS

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

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

readerservice.it n.21777

6

09W H A T ’ S N E W

Con ogni nuovo add-on e upgradedi LabVIEW, sono aumentati itool innovativi messi a disposizio-

ne degli sviluppatori. Le palette diLabVIEW contengono oggi centinaia dielementi, cosa che può rendere labo-riosa la ricerca veloce dei tool che vioccorrono. Con Quick Drop, introdottoin LabVIEW 8.6, potete rapidamentetrovare e piazzare oggetti sul pannellofrontale e sul diagramma a blocchisenza navigare le palette o iniziareuna ricerca.

INTRODUZIONETrovare la funzione o il blocco di codi-ce corretti può essere un problema inqualsiasi linguaggio. Gli ambienti disviluppo basati su testo richiedonouna sintassi corretta e molti ambientidi sviluppo moderni aiutano l’utentecompletando automaticamente le fun-zioni digitate parzialmente utilizzandotesto predittivo.

Benché l'ambiente di sviluppo graficoLabVIEW abbia sempre richiesto unmouse per piazzare e posizionareoggetti, Quick Drop vi aiuta ora a tro-

vare rapidamente il VI corretto conpoche operazioni sulla tastiera primadi piazzare l'elemento con il mouse.

COME FUNZIONA IL QUICK DROPPer iniziare a utilizzare Quick Drop,premete il tasto CTRL e la barra spa-ziatrice. La finestra di dialogo cheappare contiene una lista di tutti i VIdisponibili nelle palette.

Potete filtrare la lista digitando ele-menti contenuti nel nome del VI che vioccorre. Quick Drop supporta il testopredittivo e riduce la lista mano amano che digitate, visualizzando glielementi i cui nomi contengono il testoche inserite.

Nell'esempio della figura 3 l'utente hadigitato 't-r-a-n' nel campo di ricerca eLabVIEW cerca di predire automatica-mente il nome dell'oggetto usando laprima voce corrispondente. La lista fil-trata mostra i candidati che contengo-no la stringa 'tran' in qualche puntodel nome.Quick Drop aggancia automaticamentel'elemento evidenziato al cursore del

mouse, in modo che possiate digitare ilnome di una funzione e cliccare una vol-ta sullo schema a blocchi o sul pannellofrontale per piazzare l'og getto. Se QuickDrop non riesce a predire la vostra ricer-ca, potete selezionare l'elemento corret-to dalla lista di risultati corrispondenti.

AUMENTARE LA PRODUTTIVITÀCON QUICK DROP IN LABVIEW 8.6 Per o l t re 20 anni , Nat ional Instruments ha cont inuamente espanso la p iattaforma di progettaz ione graf ica d i s i s temi LabVIE W con caratter ist iche avanzate

a cu

ra d

i M

atte

o Fo

ini

Figura 1 - I l soft ware NI LabWindows/CVI genera automaticamente una l i s ta d i e lementi corr ispondent i a l testo par z ia lmente inser i to del le funzioni da usare

Figura 2 - Premete CTRL + Space per v isual izzare la f inestra d i d ia logo Quick Drop

7

W H A T ’ S N E W

'TIPS AND TRICKS' PER L'USO DI QUICK DROPPotete anche configurare delle scorcia-toie in Quick Drop per facilitarel'accesso ai VI che utilizzate più spes-so, senza dover scorrere tutti i risulta-ti, cliccando sul pulsante 'Shortcuts'della finestra di dialogo di Quick Drop.

Potete rendere più prontamente dispo-nibili nomi di VI complicati o VI checondividono la prima parte del nomecon altri VI collegandoli a una scorcia-toia di due o tre lettere. Vi raccoman-diamo di utilizzare lettere facilmenteraggiungibili con la vostra mano nondominante per tenere la vostra mano

dominante sul mouse.LabVIEW memorizza le scorciatoie cheavete configurato nel file LabVIEW.ini.Copiate e incollate il valore diQuickDropDiagramShortcuts nel fileLabVIEW.ini per trasferirli in un'altra in -s ta l lazione. Qui sotto potete trovare unalista d’esempio di possibili scorciatoie.

• ad1 = incremento • cs = struttura case • evstr = struttura a eventi • fs = ciclo for• wat = wait • ws = ciclo while

CONCLUSIONESe siete uno sviluppatore neofita, viserviranno ancora le palette per trova-re la funzionalità richiesta entrandonella categoria appropriata. Tuttavia,mano a mano che acquisterete fami-liarità con LabVIEW e i nomi delle fun-zioni, Quick Drop vi permetterà dipiazzare il VI desiderato senza naviga-re nelle palette.

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

Read

erse

rvic

e.it

n. 9

02

F igura 3 - Quick Drop completa automaticamente le richieste con il primo VI che inizia con le stesse lettere e mostra tutte le altre possibili corrispondenze nella lista

Figura 4 - C l iccate i l pulsante 'Shor tcuts ' per def in i re scorc iatoie custom per g l i e lementi del la palette che ut i l i zzate p iù spesso

Figura 5 - Cercate d i def in i re le scorc iatoie usando due o t re lettere

8

09W H A T ’ S N E W

LabVIEW 8.6 offre molte nuovecaratteristiche per gli utenti Mace Linux, inclusi grafici 3D nativi,

supporto per LabVIEW MathScript e ilLabVIEW Control Design andSimulation Module e supporto per idriver GPIB per i Mac basati su Intel.Queste nuove caratteristiche rappre-sentano lo sviluppo e la dedizionecostanti di National Instruments perentrambe le piattaforme.

SUPPORTO PER LABVIEWMATHSCRIPTLabVIEW 8.6 offre un supporto com-pleto per LabVIEW MathScript, cheaggiunge a LabVIEW la programma-zione testuale orientata allamatematica. Pot ete usare LabVIEWMathScript in combinazione con laprogrammazione grafica per definire ilsoftware custom che sviluppate utiliz-zando LabVIEW. Lavorando conLabVIEW, potete scegliere un approc-cio testuale, un approccio grafico ouna combinazione dei due. Poteteselezionare la sintassi più efficace peril calcolo tecnico, sia che stiate svilup-pando algoritmi, esplorando concettidi elaborazione dei segnali o analiz-zando risultati.Al centro di LabVIEW MathScript vi èun linguaggio di programmazione adalto livello basato su testo con sintassie funzionalità che astraggono la com-plessità dei task relativi all'elaborazio-ne dei segnali, all'analisi e alla mate-matica. LabVIEW MathScript include

oltre 700 funzioni integrate per questitask e potete creare vostre nuove fun-zioni personalizzate.

LabVIEW MathScript è generalmentecompatibile con la sintassi di script deifile .m, che è la sintassi ampiamenteutilizzata da altri ambienti di elabora-zione matematica come MATLAB diThe MathWorks ed altri. Tale compati-bilità significa che potete lavorare confile sviluppati in precedenza o disponi-bili nei libri di testo d'ingegneria o susiti Web, che distribuiscono scriptopen-source.

LABVIEW CONTROL DESIGN AND SIMULATIONL'ultima versione di LabVIEW è carat-

terizzata anche dal supporto per ilLabVIEW Control Design andSimulation Module su Mac e Linux.Ora potete analizzare il comportamen-to di modelli ad anello aperto, proget-tare controllori ad anello chiuso esimulare sistemi lineari e non linearionline e offline.• Create modelli usando diverse pos-

sibili rappresentazioni: funzione ditrasferimento, spazio di stato o zeri-poli-guadagno.

• Analizzate interattivamente il com-portamento ad anello aperto e chiu-so con tool di analisi in tempo e fre-quenza, come la risposta al gradinoo il diagramma di Bode.

• Usate i tool integrati per sistemiMIMO (Mul ti ple Input, Mu ltiple

NUOVE CARATTERISTICHEIN LABVIEW 8.6 PER I SISTEMI OPERATIVIMAC E LINUXLanciato in or ig ine su Mac nel 1986, i l soft ware LabVIE W è ut i l i zzato da o l t re 20 anni da una grande base d i utent i Mac e anche l 'adozione di LabVIE W for L inux è aumentata dopo i l suo r i lasc io

a cu

ra d

i M

atte

o Fo

ini

Figura 1 - LabVIE W 8.6 inc lude i l suppor to MathScr ipt Node per Mac e L inux

9

W H A T ’ S N E W

Output) e SISO (SingleInput, Single Output) esfruttate le capacità disimulazione per verifi-care la dinamica disistemi lineari e nonlineari.

• Convertite i vostrimodelli sviluppati inSimulink di TheMathWorks in perusarli in LabVIEW.

GRAFICI 3D NATIVIIn passato, gli utentiMac e Linux avevanosolo grafici 2D per lavisualizzazione dei dati.Ciò perché l'unico tipo di grafico 3Dera un controllo ActiveX, che ne limita-va quindi l'uso a Windows. LabVIEW8.6 include ora grafici 3D nativi cheoffrono una grafica migliore per lepiattaforme Mac e Linux. Con i grafici3D nativi potete ottenere una migliorevisualizzazione dei dati e migliori pre-stazioni grazie al supporto nativo.

DRIVER GPIB PER MAC BASATISU INTELLabVIEW e gli strumenti GPIB possonogià funzionare con Linux e MacPowerPC, ma LabVIEW 8.6 offre lacompatibilità con strumenti GPIB suMac basati su Intel. Con LabVIEW,potete accedere a strumenti GPIB daivostri Mac basati su Intel utilizzandointerfacce PCI, PCI Express, Ethernet eHi-Speed USB. NI, uno dei maggiorifornitori di interfacce GPIB (IEEE 488),offre una varietà ineguagliata di pro-dotti GPIB che vi permettono di rispar-miare tempo e denaro per tutta la vitadel vostro sistema di controllo stru-menti – dallo sviluppo alla produzionee manutenzione. • Eseguite più velocemente le misure

con un throughput hardware senzapari e un driver altamente ottimiz-zato per incrementare l’efficienzacomplessiva.

• Utilizzate hardware altamente affi-dabile e software che funziona per

anni senza errori. • Costruite rapidamente applicazioni

con tool di configurazione, ricercaerrori e debug.

Nota: MATLAB e Simulink sonomarchi commerciali registrati di

The MathWorks, Inc. Linux è il marchio

commerciale registrato di LinusTorvalds negli Stati Uniti e in altriPaesi. Altri nomi di prodotti e aziendeelencati sono marchi commerciali onomi commerciali delle rispettivesocietà.

Figura 2 - LabVIE W Control D es ign and S imulat ion Module 8 .6 per Mac OS X

Figura 3 - Uso d i graf ic i 3D per v isual izzare d inamicamente i dat i in LabVIE W 8.6

Readerser v ice. i t n . 903

10

09W H A T ’ S N E W

Oggi è possibile incorporare facil-mente modelli CAD nell'am-biente LabVIEW per mostrare

meglio come i dati acquisiti corrispon-dono al dispositivo sotto test.

VISUALIZZARE I DATI DI CANALIDAQ SU MODELLI 3DCon l'Express VI 3D Sensor Mapping diLabVIEW, potete importare un modelloCAD definito dall'utente (file VRML oSTL) in LabVIEW, assegnare canali diacquisizione dati reali o sensori simu-lati e visualizzare il modello sul pan-nello frontale di LabVIEW. Questa nuova caratteristica è idealeper visualizzare i dati in applicazionicon un elevato numero di canali, dovedistinguere fra molti canali su un gra-fico è difficile. Essere in grado di distinguere l'uscitadi singoli sensori su un modello rendealtresì più facile la ricerca dei sensoriche non funzionano correttamente,

aumentando quindi l'efficienza deitest. Infine, usando lo stesso modellonelle fasi di progettazione e di test, idiversi team di sviluppo possono cor-relare meglio i risultati previsti con idati effettivi.

USO DELL'EXPRESS VI 3D SENSOR MAPPING Navigate fino al 3D Sensor MappingExpress VI nella Palette dellefunzioni seguendo Programming>>Graphics & So und>>3D PictureControl>>Hel pers>>Sen sor Map -ping.

Quando disponete l'Ex -press VI sullo schema ablocchi, appare la finestradi configurazione. Caricateil vostro modello cliccandoil pulsante 'Load Model...'nella parte superiore e ilmodello apparirà nel 3Dpicture control. L'Express VI3D Sensor Mapping diLabVIEW supporta i tipistandard di modelli VRML eSTL, che rientrano tra leopzioni di esportazione nel-la maggior parte dei pro-grammi CAD, inclusiSolidWorks, AutoCAD ePro/E.

Dal menu a tendina adestra dell'immagine 3D,caricate un qualsiasi TaskDAQmx che avete creato inprecedenza. Tutti i canalidisponibili nel task appaio-no nell'area di dialogo

Channels List sottostante. Cliccate conil tasto sinistro i canali desiderati e tra-scinateli nella posizione dove voletedisporre i sensori corrispondenti.Potete spostare il sensore in seguitocliccando con il tasto sinistro sul sen-sore e trascinandolo in una nuovaposizione o cliccando con il tasto sini-stro sul suo nome nell'area di dialogoChannels List e spostandolo nella nuo-va posizione sul modello.

Potete aggiungere al vostro modellosensori liberi o sensori simulati, se

COLLEGARE I DATI DA SENSORI A MODELLI 3DPer o l t re 20 anni , LabVIE W ha fac i l i tato a tecnic i e r i cercator i la c reaz ione di inter facceutente e la v isual izzaz ione t ramite graf ic i e d iagrammi 2D. LabVIE W 8.6 introduce un nuovo concetto per la v isual izzaz ione dei dat i : la mappatura d i sensor i 3D

a cu

ra d

i M

atte

o Fo

ini

Figura 1 - L'Express VI 3D Sensor Mapping di LabVIEW

Figura 2 - La palette Helpers contenente l'Express VI Sensor Mapping

Figura 3 - Car icate i l vostro model lo nel campo Model Path

11

W H A T ’ S N E W

desiderate simulare dei canali.Disponeteli sul modello cliccando conil tasto destro sulla posizione desidera-ta. Se state usando sensori liberi conun Task DAQmx, dovete appenderequesti canali alla fine dell'arrayd'uscita del vostro DAQmx Read VI sul-lo schema a blocchi. Potete farlocreando un array di controlli numericie utilizzando la funzione Insert IntoArray sulla palette Functions>>Programming>>Array.

Dopo avere disposto i vostri sensori,potete editare i valori massimi e mini-mi ed eventuali preferenze di colore

sul controllo Color Ramp. Quandoavete finito di configurare l'Express VI,premete il pulsante 'OK'. LabVIEWrichiede pochi secondi per eseguiretutti i calcoli eventualmente necessari.Inserite i vostri dati NI-DAQmx, i datisimulati o una combinazione dei duenell'ingresso 'Data' e collegatel'uscita al 3D Picture Control, chepotete trovare sulla paletteControls> >Graphs>>3D PictureControl. Prima di eseguire la vostra applicazio-ne, dovete cliccare con il tasto destrosul 3D Picture Control e selezionareun metodo di interazione dal menu

Camera Controller.CONCLUSIONEUsando l'Express VI 3D SensorMapping di LabVIEW, quello che eraun compito laborioso diventa moltosemplice. Potete ora importare facil-mente un modello CAD, applicare sen-sori ad esso e visualizzare i vostri datimentre la vostra applicazione è in ese-cuzione. Questa nuova caratteristica èun altro esempio di come LabVIEWrende semplice la creazione di inter-facce utente dinamiche per applicazio-ni potenti.

Readerser v ice. i t n . 905

Figura 7 - Cl iccate con i l tasto destro sul 3D Pic ture Controlper impostare lo st i le del vostro Camera Control ler

Figura 4 - Mappate i canal i del Task DAQmxsul vostro modello Figura 5 - Usate la funzione Inser t Into Array per combinare sensori real i e s imulati

Figura 6 - Editate i l range dei dati e le opzioni di colorecon i l control lo Color Ramp

cognome nome

azienda posizione aziendale

settore

indirizzo

città prov cap

e-mail tel fax

Consenso ai sensi dell’art. 23 del D.Lgs n. 196 del 30 giugno 2003. Letta la nota informativa riportata su questa rivista, esprimi il tuo consenso al trattamento, alla comunicazione dei tuoi dati personali ed ai correlati trattamenti ai soggetti che svolgono le attività indicate nella informativa stessa. In mancanza del tuo consenso la registrazione non potrà essere eseguita.

ACCETTO NON ACCETTOEsprimi/nega il tuo consenso alla comunicazione dei dati personali ed ai correlati trattamenti ad aziende terze che ne facciano richiesta ai fini pubblicitari e di marketing.

ACCETTO NON ACCETTO

Compila il coupon e invialo tramite fax al n° 02.36.6092.515 oppure registrati sul sito www.ilb2b.it/vm

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

L’evento Vision for Manufacturing nasce in collaborazione con IMVG, Italian Machine Vision Group e vede il supporto di ASSOAUTOMAZIONE - Associazione Italiana Automazione e Misura, appartenente alla FederazioneANIE (Confindustria), di AIdA-Associazione Italiana di Assemblaggio,di SIRI-Associazione Italiana di Robotica e Automazione, del Polo della Roboticadi Genova e con il patrocinio di EMVA - European Machine Vision Association.

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

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

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

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

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

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

Per informazioniTel. 02.36.6092.563 - 511Fax. 02.36.6092.515Email: [email protected]: www.ilb2b.it/vm

Come arrivare In auto:

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

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

IN COLLABORAZIONE CON: ORGANIZZATO DA:

11 GIUGNO 2009

COU

PON

DI A

DESIO

NE

LA PA

RTECIPA

ZION

E È GR

ATU

ITA

GIOVEDÌ 11 GIUGNO I 2009 CENTRO CONGRESSI QUARK HOTEL MILANO

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

13

Gli ingegneri che sviluppano applicazioni di test usandoprotocolli di comunicazione digitale custom o non sup-portati possono utilizzare il modulo NI LabVIEW FPGA

per implementare o prototipare rapidamente interfacce dicomunicazione differenti sull'hardware di I/O riconfigurabileSerie R basato su Fpga. A differenza di quando si progetta esi costruisce hardware custom come un Asic o si scrive il pro-prio codice Vhdl da eseguire su un Fpga, con il moduloLabVIEW FPGA è possibile sviluppare, testare e mettere apunto facilmente nuova funzionalità senza la necessità ditool di sviluppo specializzati.

LABVIEW FPGAUn'esigenza comune quando si sviluppano sistemi di test neisettori automotive, aeronautico e in molti altri campi indu-striali è quella di sviluppare o implementare interfacce per lacomunicazione digitale fra il sistema di test e altri dispositivi.Tali dispositivi includono altri sistemi di test o computer, stru-menti, DUT, componenti di sistema di basso livello come leECU, e così via.Idealmente, quando sviluppate un nuovo sistema di test,dovreste avere un'interfaccia già pronta per il vostro protocol-lo di comunicazione digitale che include un driver di sempliceuso per il vostro tool di sviluppo delle applicazioni. In molticasi, tuttavia, la realtà è diversa. Potreste infatti trovarvi difronte la necessità di sviluppare una scheda o altra interfacciaper comunicare con il vostro dispositivo esterno. Potete risol-vere il poblema sviluppando il vostro hardware custom fino allimite di progettare il vostro Asic, o almeno assemblando unanuova scheda con componenti di serie. Con l'hardware di I/Oriconfigurabile ed il modulo NI LabVIEW FPGA potete proget-tare il vostro hardware custom usando solo LabVIEW ed i suoitool di programmazione grafica. Il progetto del vostro hard-ware custom è caricato nel chip Fpga dell'hardware di I/Oriconfigurabile per creare la scheda d'interfaccia custom spe-cifica, ritagliata sulla base delle vostre esigenze.Descriveremo come potete utilizzare il modulo LabVIEWFPGA per implementare un'ampia gamma di protocolli dicomunicazione sulla vostra scheda d'interfaccia custom.

Queste tecniche sono utilizzabili sia per le schede di I/O ricon-figurabile plug-in PCI e PXI (Serie R), sia per la piattaforma NICompactRIO, in grado di offrire un sistema robusto per usoindustriale.

PROTOCOLLI DI COMUNICAZIONE DIGITALENei sistemi di test viene utilizzata un'ampia gamma di pro-tocolli di comunicazione, che spaziano da interfacce estre-mamente comuni, come l'RS-232 e la Gpib, a protocollicustom implementati dai singoli fornitori e sviluppatori diapplicazioni. Le interfacce più comuni, benché non siano lar-gamente note, includono l'SPI (Serial Peripheral Interface) el'I2C (Inter-Integrated Circuit), usate per la comunicazioneall'interno e fra dispositivi e sistemi elettronici. Benché sianocomuni nelle applicazioni, questi protocolli potrebbero nonessere sempre supportati dalle interfacce di comunicazionedisponibili in un'ampia gamma di piattaforme ed ambientisoftware. Per queste esigenze, NI LabVIEW FPGA e la piattaforma diI/O riconfigurabile sono un tool ideale per ottenere una solu-zione conveniente.I protocolli di comunicazione digitale possono essere rag-gruppati per aree applicative o settori, nonché sulla basedella natura e delle specifiche tecniche del protocollo stesso.Nei paragrafi seguenti discuteremo in modo approfondito idettagli tecnici e la natura di vari protocolli ed illustreremocome utilizzare LabVIEW per implementarli. Per quantoriguarda le applicazioni ed i settori, qui sotto è riportato uninsieme fondamentale di categorie e protocolli esemplificati-vi che includono interfacce di comunicazione risolte utiliz-zando LabVIEW FPGA

Comunicazione componenti/ICProgettazione elettronica: SPI, I2C, Jtag, PS/2, …Comunicazione di sistemaAerospaziale: MIL-STD-1553, ARINC-429, …Automotive: CAN, Most, KWP, 1939, …TelecomunicazioniComunicazioni satellitari ed aerospaziali: PCM/Telemetria

SVILUPPO DI INTERFACCE DI COMUNICAZIONE DIGITALE CON LABVIEW FPGAVediamo come s i può ut i l i zzare i l modulo LabVIE W FPGA per implementare un'ampia gamma di protocol l i d i comunicaz ione su una scheda d ' inter facc ia custom

a cu

ra d

i Sc

ott

Sava

ge

09

14

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

Elettronica di consumoAudio digitale: S/Pdif, I2SCustomImplementazioni specifiche per il dispositivo

CLASSIFICAZIONE DEI PROTOCOLLII protocolli di comunicazione digitale possono essere classifi-cati sulla base della loro definizione tecnica e dei loro requi-siti. Questo modo di considerare un protocollo, indipendente-mente dall'applicazione, ci aiuta a focalizzarci sui dettagli chesono importanti perselezionare l'implementazione ottimaleusando i tool di sviluppo disponibili. Il seguito di questo arti-colo si concentrerà su questi criteri di classificazione e sul-l'implementazione dei diversi gruppi di protocolli su Fpga.

La maggior parte delle interfacce di comunicazione digitalerientra in due categorie molto generali, seriale e parallela, inbase al numero di segnali di dati fra il trasmettitore ed il rice-vitore. Se i dati sono trasferiti su una singola linea dati si hauna linea dati seriale, dove tutti i bit sono trasmessi sequen-zialmente o in serie. Una linea dati parallela ha più di unalinea dati, spesso un multiplo di otto linee dati. I dati sono tra-sferiti in parallelo, normalmente un byte o parola per volta.Tradizionalmente, sia interfacce seriali (per es. RS-232) siainterfacce parallele (per es. Gpib) sono state utilizzate conlinee di comunicazione parallela per ottenere velocità di tra-sferimento dati più elevate alla stessa frequenza di clock.Quando le velocità in bit possibili su una singola linea datihanno raggiunto l’ordine dei Megabit e dei Gigabit, le lineeseriali sono diventate molto più comuni e dominanti sul mer-cato, perché offrono una soluzione più conveniente, riducen-do il costo dei componenti dell'interfaccia (per es. dei driverdi linea) ed anche il costo del cablaggio. Nelle interfacce dicomunicazione seriali e parallele vi possono essere linee disegnale addizionali usate per il clock e per il trigger, nonchéper la comunicazione di controlli e comandi.Una seconda classificazione fondamentale dell'interfacciafisica di comunicazione è costituita dai livelli di tensione e dalriferimento di terra utilizzati per le linee di segnale digitali. Ibit di dati ed altre informazioni sono trasmesse dai livelli ditensione variabili delle linee di segnale, ma vi può essere unadifferenza significativa nei livelli di tensione usati nei vari tipidi interfacce. In un segnale digitale single-ended, il livello ditensione della linea di segnale viene misurato rispetto ad unriferimento di terra comune. Un segnale digitale differenzialeconsiste di due segnali non referenziati ed il livello di tensio-ne fra le due linee di segnale rappresenta il valore del segna-le. I segnali differenziali sono più immuni al rumore captatodalle linee di segnale e possono essere normalmente utilizza-ti per trasferire segnali su distanze maggiori. Ai livelli di ten-sione specifici usati nella comunicazione digitale fanno riferi-mento standard come TTL, Cmos e Lvds e non vengono presiin considerazione nell'implementazione del protocollo

sull'Fpga. Gli ingressi e le uscite digitali sull'hardware di I/Oriconfigurabili usano livelli di tensione TTL/Cmos compatibili.Se sono richiesti altri livelli, è necessario inserire un traslato-re/convertitore di segnale fra l'hardware dell'interfaccia e lalinea di comunicazione.

SEGNALI E BIT-BANGINGQuando analizziamo un protocollo e consideriamo la suaimplementazione in NI LabVIEW FPGA, dobbiamo identifi-care le varie linee di segnale utilizzate dal protocollo e loscopo di ciascun segnale. Il numero di linee di segnale uti-lizzate dal protocollo determinerà quante risorse hardwaredobbiamo configurare nel progetto LabVIEW e quante lineedigitali utilizzeremo nel diagramma di LabVIEW. Il diagram-ma di temporizzazione riportato nella figura 1, relativo alprotocollo SPI (Serial Peripheral Interface), illustra l'uso del-le tre linee di segnale che dobbiamo gestire nell'implemen-tazione di questo protocollo.

Quando iniziamo l'implementazione ci rendiamo conto cheper convertire il diagramma di temporizzazione nel codiceNI LabVIEW FPGA corrispondente, dobbiamo risolvere dueproblemi – commutare on e off le linee digitali e attenderela quantità di tempo appropriata fra l'impostazione dellostato delle diverse linee digitali. Nelle applicazioni in cui leg-giamo un protocollo digitale dobbiamo leggere lo stato del-le linee digitali e notare la quantità di tempo fra le tran -sizioni su ciascuna linea di segnale.

CLOCKUno dei prossimi criteri che utilizzeremo per classificare unprotocollo è la sorgente di clock utilizzata dal protocollo. Ledue categorie principali sono quelle dei protocolli sincroni easincroni. I protocolli sincroni includono uno specifico segna-le di temporizzazione nel protocollo, mentre i protocolli asin-croni sono temporizzati utilizzando un bit rate definito.Un tipico esempio di protocollo sincrono è il protocollo illu-strato nel diagramma di temporizzazione della figura 1. Il protocollo include un segnale di clock dedicato che per-mette a qualsiasi ricevitore di utilizzare la linea di clockcome base tempi per leggere o scrivere la linea dati. Il pro-tocollo asincrono probabilmente più noto è il bus seriale(RS-232) utilizzato su molti PC. Quando usiamo il bus seria-

Figura 1 - S empl ice d iagramma di tempor izzaz ione del protocol lo SPI con una l inea dat i

15

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

le dobbiamo specificare il baud rate (bit al secondo) del di -spositivo con il quale stiamo comunicando. Il baud rate èutilizzato dal trasmettitore e dal ricevitore per aggiornare oleggere il segnale dati alla stessa velocità. Poiché la sorgen-te temporale non può essere esattamente uguale alle dueestremità della comunicazione, i pacchetti di dati dellacomunicazione asincrona hanno una lunghezza limitata perevitare l'errato allineamento dei bit. La comunicazione asin-crona deve risincronizzarsi frequentemente per tenere con-to di leggere differenze di temporizzazione. I protocolli dicomunicazione sincrona, d'altra parte, possono comunicarecontinuamente perché sono sincronizzati su ogni bit di dati.Quando implementiamo un segnale di clock nell'ambito diun protocollo sincrono, utilizzeremo il clock dell'Fpga perdeterminare la base tempi del protocollo e aggiornare diconseguenza il segnale di clock.

Per un protocollo asincrono non viene generato un segnaledi clock separato, ma si utilizzano il clock dell'Fpga ed unbaud rate definito per determinare quando aggiornare oleggere il/i segnale/i dati.

CODIFICA/DECODIFICA – MODULAZIONE CODIFICATA DI IMPULSIIn base alla velocità specificata dal segnale di clock o dallaspecifica di temporizzazione, i dati sono codificati sul segna-le dati o letti dal segnale dati e decodificati. La codifica dei

dati può essere eseguita in una varietà di formati differenti.Il metodo più comune è quello di rappresentare il valore diun bit di dati con uno o più stati del segnale dati. Questaclasse generale di metodi di codifica è chiamata modulazio-ne codificata di impulsi (Pulse Code Modulation - PCM).Il sottoinsieme di metodi PCM in cui il bit di dati è rappre-sentato con un singolo stato del segnale dati èchiamatoNon-Return to Zero (NRZ). Per esempio, un segna-le dati alto rappresenta un bit '1', mentre un segnale datibasso rappresenta un bit '0'. Questo metodo è chiamatoNRZ-L perché il livello del segnale dati rappresenta il bit didati. In alcuni protocolli, come l'RS-232, questa logica èinvertita. Quindi, lo stato alto rappresenta '0' e lo stato bas-so rappresenta '1'. Questo è chiamato NRZ-I (inverso). Altrisottotipi dell'NRZ sono l'NRZ-M (mark) e l'NRZ-S (space),dove il bit di dati '1' è rappresentato da un cambiamento

del segnale dati (NRZ-M) o uno '0' è rappresentato da uncambiamento del segnale dati (NRZ-S).La modulazione codificata di impulsi include un altro insie-me di schemi di codifica che combina il segnale di clock edil segnale dati in una linea dati; ciascun bit è rappresentatoda stati multipli del segnale dati. Questa codifica è chiama-ta bifase ed il comune schema di codifica Manchester è untipo di codifica bifase.Altri schemi di codifica più avanzati includono diverse formedi codifica a larghezza d'impulso. Lo schema di modulazio-ne a larghezza d'impulso (PWM) comunemente utilizzatoconverte direttamente un valore analogico nella larghezzad'impulso variabile di un treno d'impulsi a frequenzacostante. Altre forme di codifica a larghezza d'impulso usa-no due larghezze d'impulso differenti per rappresentare unbit '0' e un '1' in una sequenza di bit tradizionale.

IMPLEMENTAZIONE IN LABVIEW FPGAOra che abbiamo una nomenclatura base per descrivere iprotocolli comuni possiamo esaminare come implementareprotocolli in NI LabVIEW FPGA. Per implementare un proto-collo in LabVIEW FPGA, inizieremo tipicamente scorrendo ildiagramma di temporizzazione e convertendo i cambiamen-

Figura 3 - Schema NI LabVIEW FPGA per aggiornare la linea datia 4800 baud (8333 cicli di clock Fpga = 208,3 us = 1/4800 Hz)

Figura 4 - Metodi di codifica NRZ (non-return to zero)Figura 2 - Schema NI LabVIEW FPGA per generare un segnale di clock di 10 us (100 kHz)

16

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

ti di stato delle diverse linee di segnale e la temporizzazio-ne fra tali cambiamenti nelle corrispondenti funzioni e strut-ture LabVIEW. Ogni cambiamento di stato di una linea digi-tale è implementato usando il nodo di I/O dell'Fpga e latemporizzazione è implementata usando le funzioni di tem-porizzazione di LabVIEW FPGA (Loop Timer e Wait). I passinel diagramma di temporizzazione che si ripetono più voltesono implementati usando il For Loop o il While Loop. Perprotocolli articolati, gruppi di funzioni e strutture possonoessere incapsulati in subVI per consentire il riutilizzo delcodice e rendere il codice più modulare e gestibile.

USCITA SPICome primo esempio implementeremo il diagramma di tem-porizzazione SPI illustrato nella precedente figura 1. Lacomunicazione con il protocollo SPI consiste in pacchetti didati trasmessi fra due dispositivi. Nella comunicazione SPIc'è un dispositivo master che controlla il segnale ChipSelected il segnale Clock. Possono quindi esserci uno o più dispo-sitivi slave con una linea disegnale ChipSelect dedicatadal master a ciascuno slave eduna linea dati comune per tut-ti i dispositivi. Se l'applicazioneinclude una comunicazione inentrambe le direzioni fra ilmaster e lo/gli slave, normal-mente vengono utilizzate duelinee dati, chiamate MasterOut Slave In (Mosi) e Master InSlave Out (Miso). Nel nostroesempio prenderemo in esameuna sola linea dati.I trasferimenti di pacchettisono sempre iniziati dal dispo-sitivo master, che attiva la linea ChipSelect del dispositivoslave indirizzato. Normalmente, la linea ChipSelect è attivabassa, quindi rimane in uno stato alto quando il sistema èinattivo e viene abbassata dal master per iniziare una tra-smissione. Dopo l'attivazione del segnale ChipSelect, ilmaster aggiorna la linea dati e commuta quindi la linea diclock per trasferire ciascun bit di dati allo slave. Il contenuto

del pacchetto dati èspecifico per l’appli -cazione ed è lasciatoalla definizione dellosviluppatore e delprogettista di dispo-sitivi.

Nello schema NILabVIEW FPGA corri-spondente (figura 6)

ogni trasferimento di dati è iniziato settando il controllo boo-leano 'Write'. Ciò provoca l'esecuzione del caso True.Inizialmente, la linea ChipSelect (SPI CS*) viene attivata for-zando bassa l'uscita digitale. Nello stesso tempo, il valore deldato 'Data Out' è convertito nella corrispondente sequenzadi bit (array booleano). La funzione di attesa di un microse-condo (1us) lascia al dispositivo slave il tempo di prepararsiper i bit di dati che seguono. Viene quindi ripetuta unasequenza di aggiornamento della linea dati e di commuta-zione della linea di clock per 16 volte nel loop For. Ogni bitdell'array booleano viene posto in uscita sulla linea dati (SPIDout), seguito dal settaggio della linea di clock (SPI Sclk) pri-ma allo stato alto e poi allo stato basso. La funzione LoopTimer permette l'esecuzione del loop ad intervalli di 2 us,mentre la funzione Wait controlla la durata della fase alta delsegnale di clock in modo che sia di 1 us, generando unsegnale di clock di 500 kHz con un duty cycle del 50%. Dopola generazione di tutti i 16 bit, le linee Chip Select e dati ven-gono riportate nel loro stato di inattività e inserita la funzio-

ne Wait per un tempo di inattività minimo di 5us. A questopunto l'Fpga è pronto per il prossimo comando Write.In base alla specifica dei dispositivi SPI utilizzati e all'appli-cazione, qualsiasi parametro del-la comunicazione (per es. nume-ro di bit di dati da trasferire, fre-quenza del segnale di clock, ecc.)può essere regolato sullo sche-ma o controllato dinamicamenteusando un controllo sul pannellofrontale del VI LabVIEW FPGA.Se è necessario, è possibileimpostare programmaticamentela direzione di ciascuna dellelinee digitali utilizzate nell'appli-cazione usando il Set OutputEnable Fpga I/O Method Node(figura 7).

Figura 5 - Schema di cablaggio per la comunicazione SPIfra due dispositivi

Figura 7 - Inizializzazione NILabVIEW FPGA di linee digitali

Figura 6 - Schema NI LabVIEW FPGA di una semplice implementazione d'uscita SPI

17

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

INGRESSO SPIL'implementazione della parte di input di un protocollo puòpresentare alcuni problemi unici, perché il codice deve esserepiù flessibile nel rilevamento e nell'elaborazione del protocol-lo. Anziché aggiornare le linee d'uscita digitali ed inserire iritardi appropriati, il codice deve monitorare lo stato di diver-se linee digitali e, se necessario, misurare il tempo fra specifi-che transizioni sulle linee di segnale.L'esempio seguente illustra un'implementazione fondamenta-le di un ingresso SPI, corrispondente al precedente esempiod'uscita SPI. Mentre è nello stato Idle, l'Fpga monitora la lineaChipSelect e rileva eventuali fronti di discesa. In risposta ad unfronte di discesa, esso inizia a monitorare la linea di clock. Perciascuno dei 16 fronti di salita del segnale di clock, l'Fpga leg-ge il segnale dati e memorizza il valore del bit in un array boo-leano preallocato. Al termine del pacchetto dati, dopo 16 ciclidi clock, l'array booleano è convertito in un valore dato inte-ro e reso disponibile sul pannello frontale del VI.

Data la natura del protocollo SPI, questo esempio non richiedel'esecuzione di alcuna misura temporale, perché tutta la tempo-rizzazione è controllata direttamente dai fronti nel protocollo.

CONSIDERAZIONI SULL’IMPLEMENTAZIONEIn questo paragrafo affronteremo una serie di argomentiaddizionali da considere quando si sviluppa un protocollo dicomunicazione digitale usando NI LabVIEW FPGA.

LINEE DI SEGNALE OPEN-COLLECTOR/OPEN-DRAINNei precedenti esempi SPI, ogni linea di segnale è pilotata soloda un singolo dispositivo. In molti protocolli, tuttavia, le lineedi segnale possono essere pilotate o controllate da più di undispositivo, in funzione dello stato del bus o della comunica-zione. Ciò permette a più di un dispositivo di iniziare la tra-smissione sul bus o di utilizzare la stessa linea dati per tra-smettere e ricevere dati. Tipicamente, ciò si ottiene utuilizzan-do un circuito open-collector/open-drain. In questa configura-zione, un dispositivo può soltanto pilotare una linea di segna-le nello stato basso, lasciando fluttuare la linea di segnale sevuole settare la linea nello stato alto o se non vuole pilotare lalinea stessa. Su una linea di segnale, oltre a tutti i dispositivi

collegati, c'è anche un resistore di pull-up ad una tensione pre-fissata per stabilire la tensione alta della linea se nessuno deidispositivi collegati forza il segnale nello stato basso. Usandoquesta configurazione, qualsiasi dispositivo può forzare la lineanello stato basso senza creare una contesa di tensione fra dis-positivi differenti. Questi segnali sono tipicamente definiticome attivi-bassi: ciò significa che la linea è in uno stato altoquando il bus è inattivo e che un dispositivo attiva il segnaleforzando bassa la linea. I segnali attivi-bassi sono spesso indi-cati con una barra attraverso il nome del segnale o un asteri-sco dopo il nome del segnale, come nel caso del segnaleChipSelect* (SPI CS*) utilizzato negli esempi precedenti.

Per implementare un segnale open-collector in NI LabVIEWFPGA utilizziamo la capacità di controllare la direzione dellalinea digitale in modo da distinguere fra il pilotaggio della lineanello stato basso e la sua fluttuazione. In LabVIEW FPGA, si usaun I/O Method Node per abilitare o disabilitare una linea

d'uscita digitale. Mentre una linea è dis-abilitata, l'Fpga non pilota la linea digi-tale e le permette di fluttuare nello statoalto. Per forzare bassa la linea quando èabilitata, impostiamo Output Data suFalse. Output Data è un registro softwa-re che mantiene il suo valore indipen-dentemente dal fatto che la linea siaimpostata per essere pilotata o lasciatafluttuare.Le figure seguenti illustrano un esempiodi configurazione open-collector inLabVIEW FPGA per il protocollo I2C

(Inter-Integrated Circuit). L'I2C è utilizzato in applicazionisimili a quelle dell'SPI per comunicare con diversi tipi di circuitiintegrati, come Eeprom, ADC, DAC, ecc. Il bus I2C ha solo duelinee di segnale, clock e dati, ciascuna delle quali è una lineaopen-collector. Per selezionare il corretto ricevitore per unacomunicazione, il trasmettitore trasmette prima un indirizzo didispositivo unico che specifica il dispositivo ricevente.

Per inizializzare il VI per una comunicazione open-collector, ledue linee di segnale (SCL e SDA) sono disabilitate per portareil bus nello stato inatti-vo. L'Output Data diciascun segnale è impo-stato su False. Da que-sto punto in poi, lo sta-to di ciascuna linea ècontrollato usando ilmetodo Set OutputEnable per abilitare lalinea e forzarla bassa oper disabilitarla elasciarla fluttuare alta.

Figura 8 - Schema NI LabVIEW FPGA di una semplice implementazione d'ingresso SPI

Figura 9 - Configurazione di due linee digitali per la comunica-zione open-collector

18

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

Per iniziare una trasmissione sul bus I2C, il trasmettitore tra-smette una condizione di start forzando bassa la linea dati(SDA) e forzando successivamente bassa la linea di clock (SCL).Per trasmettere un bit di dati sul bus I2C (figura 11), il tra-smettitore aggiorna la linea dati (1° frame) e commuta quin-di la linea di clock da alta (2° frame) a bassa (4° frame).Nel protocollo I2C, dopo il trasferimento di ogni byte di dati(8 bit), viene inserito un ciclo di clock addizionale nellacomunicazione per consentire al dispositivo ricevente diriconoscere l'avvenuta ricezione del byte precedente. A talescopo, il ricevitore forza bassa la linea dati durante il 9° ciclodi clock. Sul lato trasmettitore, nel nostro esempio, ciò èimplementato trasmettendo un bit di dati alto e controllan-do lo stato attuale della linea dati (3° frame) durante il ciclodi clock. Benché il trasmettitore stia lasciando fluttuare altala linea dati, l'effettivo valore del dato dovrebbe essere bas-so, perché il ricevitore sta forzando bassa la linea dati perriconoscere l'ultimo byte di dati.

IL MODELLO DI RIFERIMENTO OSIIl modello di riferimento OSI (Open Systems Interconnection)è una rappresentazione dei diversi strati logici di un proto-collo di comunicazione, inclusa l'applicazione che sta usan-do il protocollo di comunicazione. Esso è utilizzato per defi-nire e comprendere meglio i differenti aspetti di un proto-collo e di una rete.Lo strato 1 è lo strato fisico, riguardante i dettagli elettrici e

meccanici che offrono la possibilità di inviare dati su una por-tante. I semplici pacchetti asincroni operano a questo livello.Lo strato 2 fornisce la definizione base dei dati a livello di bite byte, nonché della modulazione, al di là di NRZ e sincroniz-zazione.Il successivo insieme di strati riguarda l'indirizzamento, ladefinizione dei pacchetti di dati, il controllo degli errori, ecc.Come possiamo vedere dai nostri esempi, l'Fpga opera alloStrato Fisico L1, interfacciandosi direttamente con ciascunadelle linee digitali d'ingresso e d'uscita al livello elettrico.Ciò significa che, come sviluppatori di un protocollo dicomunicazione digitale in NI LabVIEW FPGA, siamo respon-sabili di tutti gli stratidel modello di riferi-mento per quantoriguarda il protocollo el'applicazione. Per mol-ti protocolli più sempli-ci ciò richiede soltantoun po' più di program-mazione, rispetto aquanto abbiamo fattofinora, per aggiungereun'interfaccia in cimaallo strato del proto-collo per consentireall'applicazione diinteragire con l'Fpga eusare il protocollo.Tuttavia, i protocolli più avanzati potrebbero richiedere unaprogrammazione significativamente maggiore per ottenere

questi strati intermedi del protocollo, come il rile-vamento e la gestione degli errori a livello del bus,la costruzione e distribuzione dei pacchetti, lagestione di diversi tipi di pacchetti, ecc.

TEMPORIZZAZIONE E RISOLUZIONECome abbiamo visto, la temporizzazione gioca unruolo molto importante nello sviluppo dell'imple-mentazione di un protocollo. Le linee dati e diclock devono essere aggiornate ad intervalli preci-si. Quando si decodifica il protocollo è importantemisurare con precisione questi stessi intervalli. E’importante tenere presente il comportamento del-la temporizzazione dell'Fpga quando si sviluppano

protocolli di comunicazione, per fare in modo che la propriaimplementazione risponda ai requisiti ed alle specifiche delprotocollo.L'Fpga opera su una frequenza di clock base e tutte le fun-zioni di temporizzazione si basano sulla stessa frequenza diclock. Per NI LabVIEW FPGA, la frequenza di clock di defaultdell'Fpga è di 40 MHz, quindi ogni ciclo di clock ed unità ditempo è pari a 25 nanosecondi (ns). In LabVIEW FPGA pos-

Figura 10 - Implementazione della condizione di Start I2C sul bus

Figura 11 - Trasmissione di un bit di dati sul bus I2C

Figura 12 - Il modello di riferimento OSI

19

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

siamo specificare intervalli di tempo per le funzioni di tem-porizzazione in unità di millisecondi, microsecondi e tick.Ogni tick corrisponde ad un ciclo di clock o 25 ns. Ciò signi-fica che la massima risoluzione di cui disponiamo per speci-ficare qualsiasi ritardo o tempo di iterazione di un loop è di25 ns. Benché questa precisione sembri molto elevata,quando procediamo al contrario e determiniamo le possibi-li frequenze che possiamo generare, vediamo l'effetto che siottiene alle frequenze più alte.Per generare una frequenza di aggiornamento di 1 MHz peruna linea digitale possiamo usare una funzione Loop Timerimpostata per 40 tick.1 MHz => 1 us = 1000 ns1000 ns / 25 ns per tick = 40 tickE se volessimo una frequenza di aggiornamento di 1,25 MHz?1.25 MHz =>0,8 us = 800 ns800 ns / 25 ns per tick = 32 tickPer 1,25 MHz usiamo un ritardo di 32 tick. E se volessimouna frequenza di aggiornamento di 1,1 MHz?1,1 MHz => 0,9091 us = 909,1 ns909,1 ns / 25 ns per tick = 36,36 tickPoiché non possiamo scegliere specifici cicli di clock parzia-li, dovremmo scegliere 36 cicli di clock, pari ad un ritardo di900 ns e corrispondenti ad una frequenza di 1,111 MHz. Lafrequenza inferiore più vicina che potremmo usare è pari a37 tick o 1,081 MHz. Quindi, possiamo vedere che usandoil clock di 40 MHz dell'Fpga possiamo aggiornare le lineedigitali a 1,081 MHz o 1,111 MHz, ma non a frequenzecomprese fra questi due valori.Usando le proprietà dell'Fpga e le risorse di clock nel pro-getto LabVIEW, abbiamo la possibilità di cambiare la fre-quenza clock base dell'Fpga a 80 o 120 MHz. Questo faràfunzionare l'Fpga ad una frequenza più elevata e migliore-rà la risoluzione di temporizzazione delle funzioni di tempo-rizzazione. Tuttavia, la maggiore frequenza di clock avràanche l'effetto di ridurre il livello di complessità utilizzabilenello schema del VI Fpga.Quando si ha intenzione di implementare un protocollo tem-porizzato è necessario determinare se la risoluzione di tem-porizzazione dell'Fpga è adeguata per le esigenze del proto-collo e dell'applicazione. Ciò è particolarmente importanteper la temporizzazione richiesta per generare un protocollo,come i calcoli precedenti hanno dimostrato. Per la lettura e ladecodifica di protocolli spesso è sufficiente essere in grado dileggere le linee di segnale ad una frequenza maggiore dellamassima frequenza di aggionamento del protocollo. Per sicu-rezza, dovremmo riuscire a campionare i segnali ad una fre-quenza almeno doppia di quella di aggiornamento.Se dobbiamo eseguire misure di tempo su un segnaled'ingresso per decodificare i dati contenuti nel protocollo,dobbiamo eseguire calcoli addizionali per determinare larisoluzione di temporizzazione richiesta in modo da decodi-ficare con precisione il protocollo.

MACCHINE A STATILe macchine a stati possono essere una tecnica utile perimplementare la codifica o decodifica di un protocollo dicomunicazione digitale. In LabVIEW, le macchine a stati pos-sono essere facilmente implementate usando il ciclo Whileed una struttura Case per rappresentare i diversi stati.

La macchina a stati aiuta nello sviluppo di protocolli dicomunicazione perché suddivide in modo naturale il dia-gramma di temporizzazione in passi separati, ciascuno deiquali può essere convertito in uno stato separato nello sche-ma NI LabVIEW FPGA. Questo isola ogni passo di program-ma e riduce la complessità della programmazione in ogniparte dell'implementazione. Inoltre, semplifica operazionigeneriche come la gestione degli errori e delle eccezioni,permettendoci di saltare da qualsiasi punto nell'esecuzionedel protocollo a speciali stati di gestione degli errori.Qualche volta, le specifiche del protocollo sono scritte in ter-mini di una macchina a stati, che potete tradurre diretta-mente in un diagramma a stati LabVIEW.Per lo schema di temporizzazione SPI nella figura 1, sonopossibili i passi seguenti per suddividere il diagramma ditemporizzazione in una macchina a stati.• Set ChipSelect low • Set Data (0) • Set Clock high • Set Clock low • Set Data (1) • Set Clock high • Set Clock low

(ripetizione di Data e Clock per i bit 2-15) • Set ChipSelect high Osserviamo che ci sono cinque passi distinti, nonostantealcuni di essi si ripetano per ciascun bit di dati. In origineabbiamo implementato questi passi ripetitivi in un ciclo For.Nella macchina a stati, creiamo uno stato unico per ciascu-no di questi cinque passi e li eseguiamo quindi ciclicamen-te. Per i tre passi ripetitivi che aggiornano la linea dati ecommutano la linea di clock, configuriamo la macchina astati in modo che ripeta questa sequenza 16 volte prima diprocedere all'ultimo passo. Nella macchina a stati LabVIEW,ciò viene implementato usando un contatore nel registro ascorrimento del ciclo While.

USO DEL SINGLE CYCLE TIMED LOOPUn altro vantaggio dell'architettura della macchina a stati èche ci permette di realizzare l'implementazione di un proto-collo all'interno di un Single Cycle Timed Loop (Sctl) NILabVIEW FPGA. L'Sctl assicura un'esecuzione più veloce del-lo schema LV Fpga, permettendo di eseguire ogni ciclo delloop in un ciclo di clock. Questo ci consente di aggiornare unalinea di segnale alla frequenza di clock base dell'Fpga. L'Sctl ottimizza inoltre la generazione di codice, quindi il

20

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

codice sull'Fpga è più efficiente ed utilizza meno risorse fisi-che dell'Fpga. Tuttavia, vi sono varie limitazioni sul codiceimplementato all'interno di un Sctl. Per esempio, possiamoaccedere a ciascuna delle linee di segnale una sola volta periterazione dell'Sctl. Pertanto, dobbiamo definire gli stati del-la nostra macchina a stati in modo da leggere o aggiornareciascuna linea di segnale una sola volta per stato.Gli schemi seguenti (figura 13) illustrano l'implementazionedel protocollo d'uscita SPI usando una macchina a statiall'interno di un Sctl. Lo stato Idle attende che il comandoWrite inizi l'emissione del prossimo pacchetto di dati.Esso converte inoltre il valore del dato in un array booleanoper l'operazione d'uscita. Il passo successivo Set CS attiva lalinea ChipSelect. Inizia quindi l'emissione dei bit di dati. InReset Clock aggiorniamo la linea dati con il valore del pros-

simo bit e resettiamo il segnale di clock. In Set Clock set-tiamo il segnale di clock che fornisce un trigger al ricevitoreper leggere il segnale dati. In questa coppia di stati incre-mentiamo un contatore in un registro a scorrimento, cheseleziona il corretto valore dati dall'array booleano, perinviarlo sulla linea dati. Dopo l'emissione del 16° bit, trans-itiamo nello stato Reset CS che resetta tutte le linee disegnale nello stato di inattività del bus. Da qui torniamonello stato Idle ed attendiamo il prossimo comando Write.

Figura 13 - Implementazione dell'uscita SPI in un Single Cycle Timed Loop

Read

erse

rvic

e.it

n. 9

11

Note sull’autoreScott Savage è il Product Marketing Manager della linea di prodotti di I/O digitale ad alta velocità in National Instruments

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

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

Sei sicuro di quello che vedi?Noi lo siamo sempre, grazie al nostro consolidato know-how

nella distribuzione di componenti e sistemi per la visione artificiale.

readerservice.it n.21841

22

09

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

L’esame ultrasonoro è un metodo molto efficace seabbinato ad un sistema d’ispezione motorizzato. Gliultrasuoni sono onde meccaniche smorzate di fre-

quenza maggiore di 20 kHz e sono generate da una sondapiezo-elettrica.Nella modalità Pulse-echo la sonda è posta sopra (o late-ralmente) al materiale da ispezionare, l’onda prodotta attra-versa il materiale, come il suono che si propaga nell’aria, ela presenza di eventuali difetti all’interno genera delle ondedi riflessione chiamate echi di difetto. La superficie oppostadel pezzo genera un'eco definita 'di fondo'.La sonda, che ha emesso il primo impulso (eco di superfi-cie), riceve tutti gli echi riflessi dai difetti e dal fondo contempi funzione della distanza a cui si trovavano (comel’orecchio riceve gli echi in montagna prima dalle cime vici-ne e poi da quelle lontane). L’insieme degli echi si chiama segnale ultrasonoro o A-scane contiene l’informazione dello spessore (Z) attraversato.Inoltre, dall’ampiezza dell’eco del difetto è possibile deter-minare la sua grandezza geometrica. Il sistema automatico è in grado di acquisire questa infor-mazione per ogni punto della superficie dell’oggetto. Nellamaggior parte dei casi la superficie è piana ed è sufficientemuovere la sonda lungo 2 assi cartesiani per ottenere lascansione della superficie (XY). Utilizzando la potenzialità delcomputer è possibile salvare per ogni punto XY l’intero

A-scan (Z) al fine di ottenere una matrice tridimensionale incui ad ogni terna XYZ è associata l’ampiezza del segnale. Datale ampiezza si può evincere l'entità del difetto (tabella 1).Grazie alle potenzialità di calcolo dei nuovi computer è pos-sibile ricostruire ed interrogare la matrice tridimensionale,che rappresenta il volume del campione, tramite un softwa-re dedicato che estrae la sezione (slice) d’interesse. La tec-nica è paragonabile alla tomografia assiale computerizzataeffettuata con i raggi X. La matrice tridimensionale ottenu-ta può essere rappresentata da una nuvola di punti (cloud)contenuti in un parallelepipedo di dimensione XYZ dove leprime due coordinate rappresentano il piano di scansione ela terza coordinata è lo spessore attraversato dall’ondaultrasonora. È possibile estrarre i dati richiesti dal volume delle sezioni(slice), chiamate mappe ultrasonore. L’interno del campionee le discontinuità in esso presenti verranno così visualizzate

SOFTWARE DI MAPPATURA ULTRASONORA PER COMPONENTI

AERONAUTICI E INDUSTRIALI

An

ge

lo T

atì ENEA ha sv i luppato per le propr ie att iv i tà d i r i cerca sui nuovi mater ia l i e component i ut i l i zzat i

in campo industr ia le e c iv i le, un s istema ed un soft ware d i acquis iz ione ed e laboraz ione dedicat i

a i control l i non distrutt iv i (non destruc t ive test ing)

Figura 1 - Macchina di controllo ad ultrasuoni

Figura 2 - Il tastatore

Ampiezza Bassa Media Alta

Risultatonessun difetto

difetto piccolo (accettabile)

difetto grande (non accettabile)

Tabella 1 – Relazione fra ampiezza del segnale ed entità del difetto

23

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

in pianta o in sezione in immagini in falsi colori a cui latisono riportati i riferimenti spaziali espressi in mm.

SISTEMA A 6 GRADI LIBERTÀNel settore aeronautico il software è stato utilizzato per ilcontrollo dei componenti degli elicotteri. Il software control-la un sistema automatico d’ispezione a 6 gradi di libertà (5lineari, 1 rotativo) ed è stato progettato e costruito in colla-borazione con le ditte Simitecno, Comeb ed Eurosystem.Il software, sviluppato in LabVIEW tramite la scheda NI PCI-7358, controlla e muove i 6 assi, singolarmente o contem-poraneamente, sfruttando le potenzialità del DSP internodella scheda.Il sistema è in grado di apprendere i profili, tramite un tasta-tore dimensionale (testina Renishaw). La testina è collegataal sistema automatico e tramite il software di acquisizione ela scheda NI PCI-7358 cattura le coordinate spaziali del pro-filo direttamente sul pezzo in esame. Se è disponibile un dise-gno su carta, esso verrà digitalizzato e trasformato inun’immagine raster, prendendo i punti direttamente sull’im-magine dello schermo dopo una calibrazione. Inoltre, è statosviluppato un programma che estrae le traiettorie diretta-mente da un file vettoriale (CAD) tramite i coseni direttori

delle unità che formano la tessitura (texture) digitale delcampione.In seguito il sistema calcola, dalle coordinate del profilo delpezzo, la traiettoria che la sonda ultrasonora deve eseguiresul piano XY. Ad ogni punto della traiettoria XY la sonda siposiziona perpendicolarmente alla superficie del campionetramite un asse motorizzato rotativo, ad un certa distanzaimposta e calcolata. Viene eseguita una direttrice verticalelungo l’asse Z. L’insieme delle direttrici di ogni punto resti-tuiscono lo sviluppo della superficie curva del pezzo in esa-me. I segnali ultrasonori vengono acquisiiti tramite la sche-da NI PCI-5112 e processati per ottenere la mappaturaultrasonora finale.Il software di elaborazione elabora l’insieme dei dati ultraso-nori al fine di analizzare l’intero spessore del pezzo parten-do dalla superficie d’ispezione fino alla superficie opposta.

Figura 3 - Software per la scelta dei profili

Figura 4 - Visualizzazione del profilo

Figura 5 - La sonda ultrasonora esegue il controllo

Figura 6 - Software di acquisizione UT per superfici curve c-scan

Note sull’autoreAngelo Tatì – ENEA, FIM Matqual, Dipartimento Tecnologie FisicheAvanzate e Nuovi Materiali, Sezione Matqual, Centro RicercheCasaccia

Rea

ders

ervi

ce.i

t n

. 914

24

09

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

Attorno ad un palmare, Software Engineering ha realizza-to una serie di applicativi e più famiglie di prodotti por-tatili low cost dedicati alle più svariate funzionalità che

vanno dall'emulazione dei classici strumenti da laboratorio aldatalogging di segnali, al condizionamento isolato per diversetipologie di segnali/sensori, dalla diagnostica/assistenza incampo, all’interfacciamentoanche con dispositivi serialidi I/O digitali e dalla comuni-cazione con dispositivi CANbus, alla connessione inte-grata Wi-Fi.La trattazione che segue hacome oggetto un sistemaportatile e leggero con relati-vo applicativo softwaredenominato PAD Mobile.Esso è specificatamente adi-bito al rilievo e all’analisi del-le forze impresse dalle mac-chine comprimitrici (fig. 1)usate nella produzione dicompresse presso i labora-

tori galenici e di tecnica farmaceutica.PAD Mobile è un esempio di ciò che si può fare con un palmareche pesa meno di 200 grammi in abbinamento ad una schedadi acquisizione National Instruments leggermente più grandedi un francobollo (fig. 2). Esso risponde alla esigenza di dis-porre di uno strumento datalogger e di visualizzazione, facile,trasportabile dovunque e sempre pronto all’uso, in grado disorvegliare le forze in gioco in qualsiasi fase del processo pro-duttivo.

UN ACQUISITORE DI SEGNALIPAD Mobile è un acquisitore di segnali in continua con 4canali di ingresso analogici e una frequenza di campiona-mento di 1kS/s.Come premesso, esso si basa su una particolarissima piat-taforma hardware costituita nella configurazione standardda un palmare dotato di interfaccia Wi-Fi, una scheda diacquisizione CompactFlash National Instruments caratteriz-zata da una risoluzione di 14 bit e un Mini box per le con-nessioni a mezzo BNC.PAD Mobile affianca ma non sostituisce analoghe versionidi sistemi PAD realizzati e continuamente aggiornati nelcorso degli anni da Software Engineering e venduti in oltre

UN PALMARE CONTROLLAIL FUNZIONAMENTO DI MACCHINE COMPRIMITRICI

Alv

aro

Tra

vis

i

Un s istema por tat i le e leggero con re lat ivo appl icat ivo soft ware, denominato PAD Mobi le, è spec i f icatamente

adibito a l r i l ievo e a l l ’anal is i del le for ze impresse dal le macchine comprimitr ic i

Fig. 1 - Esempio di macchine comprimitrici di mediedimensioni

25

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

40 esemplari in tutto il mondo.Basati su schede PCI, USB ePcmcia, essi utilizzano ambien-ti di sviluppo LabWindows/CVIe LabVIEW.

IL SOFTWAREIl programma acquisisce,mostra, controlla e analizza iparametri forniti dai sensoriche strumentano le comprimi-trici. L’applicativo, che si artico-la su 4 pannelli di interfaccia

operatore, è stato sviluppato in ambiente LabVIEW PDA(Module) sotto piattaforma Windows Mobile.La realizzazione è frutto della collaborazione fra le ditteSoftware Engineering e Rigamonti Aldo & Figli, impegnatada oltre un decennio nella progettazione e installazione dimacchine comprimitrici.Ogni canale può essere configurato in maniera opportuna.In funzione del trasduttore ad esso collegato; si possonoassegnare, ad esempio, l’unità ingegneristica desiderata, unnome od una etichetta identificativa e i coefficienti di con-versione in E.U.Digitando il numero di punzoni installati e la velocità di rota-zione della machina (rpm), al termine di ogni giro appaionoimmediatamente le caratteristiche curve a 'campana' .Nella specifica pagina di ‘Analisi’ (fig. 3), il programma met-te a disposizione una tabella che riassume e continuamen-te aggiorna, ad ogni giro, il trend dei picchi prodotti dallecompressioni, assieme ai valori massimo, minimo, medio edi deviazione standard .Ugualmente è presente l’esito del calcolo dell’area racchiu-sa di una singola 'curva a campana' (fig. 4) che l’operatorein precedenza ha delimitato semplicemente con una parti-colare funzione di zoom.

Alla fine è consentito ovviamente salvare le acquisizioni in for-mato Ascii e trasferire i file con i dati via Wi-Fi verso altri PC inmodo che possano essere importati in fogli di lavoro (comeExcel) per eseguire ulteriori analisi e/o report personalizzati

LE MACCHINE COMPRIMITRICIIn breve queste macchine, realizzate in conformità alle diret-tive GMP e agli standard internazionali di sicurezza(Marchio CE), dispongono di un motore trifase con regola-zione della velocità del tamburo (o tavola rotante portapunzoni) tramite inverter. Sono inoltre dotate di un gruppodi compressione realizzato con rulli in acciaio trattati adaltissima durezza. Ciò consente loro di scaricare su ogni sin-golo punzone forze di pressione notevoli, sino a 5 tonnella-te. A seconda del modello, le macchine possono montare undiverso numero di stampi (o punzoni), in genere da 8 a 36.Detti punzoni hanno il compito di realizzare materialmentele compresse pressando il prodotto granulare caricato conregolarità in tramoggia; la forma assunta viene determinatada quella dello stampo impiegato Nel corso del loro funzionamento continuo, caratterizzatoda ritmi produttivi piuttosto elevati (in certi casi per le 'mac-chine da laboratorio' la cadenza è superiore alle 60.000compresse/ora, mentre per quelle 'da produzione' superaanche le 200.000), è fondamentale disporre di un sistemain grado di sorvegliare le forze di precompressione, com-pressione, estrazione e di distacco, l’entità dello schiaccia-mento, oltre che, eventualmente, il peso della compressa eil relativo spessore. Per ottenere queste informazioni la mac-china viene strumentata con opportuni sensori (come, inparticolare, celle di carico).

Note sull’autoreAlvaro Travisi - Software Engineering

Rea

ders

ervi

ce.i

t n

. 921

Fig. 2 - Palmare e scheda di acquisizione CompactFlash

Fig. 3 - Esempio di pagine di analisi e di setup

Fig. 4 - Visualizzazione dell'andamento della forza di compressione: curva caratteristica a 'campana '

26

09

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

Negli scorsi anni, il frenetico sviluppo dei differenti stan-dard di telecomunicazione ha imposto l’utilizzo disistemi flessibili, modulari e espandibili per il test e la

verifica durante la fase di produzione. Le proposte hanno spa-ziato nell’intero intervallo delle possibili soluzioni, da quelleottimizzate rispetto al costo, costruite intorno a singole appa-recchiature specifiche, fino a quelle basate su strumentazionevirtuale multi-standard ottimizzate invece rispetto all’hard-ware utilizzato e caratterizzate in base allo specifico softwa-re di personalizzazione relativo allo standard wireless.Se il primo approccio ha mostrato problemi di scalabilità,flessibilità ed impossibilità di adattarsi ai differenti standardsenza un ripensamento radicale dell’architettura di test, ilsecondo scenario, pur permettendo un maggior riutilizzodell’hardware RF di analisi/generazione in base alle diversepersonalità software e potendosi quindi adattare ai mutatistandard, ha mostrato le limitazioni causate dal comporta-mento intrinsecamente fuori linea dell’elaborazione softwa-re che impone di effettuare il test del dispositivo in esame(DUT, Device under test) disaccoppiando la fase di genera-zione e di analisi dei segnali di stimolo e di risposta. L’utilizzo di sistemi di verifica fuori linea è accettabile, infat-ti, solo per il test di dispositivi o sistemi wireless semplicidove il colloquio bidirezionale può sostituito mediante piùconnessioni monodirezionali. A volte, il colloquio bidirezio-nale previsto dallo standard può essere semplificatomediante l’utilizzo di firmware di test sviluppato apposita-mente per la fase di verifica del DUT oppure sfruttandoalcune modalità specifiche (test/custom mode).

STRUMENTAZIONE VIRTUALE DI TEST IN TEMPO REALEL’approccio basato sul paradigma Software Defined Radio(SDR) ha avuto l’innegabile vantaggio di realizzare StrumentiVirtuali fuori linea capaci di riutilizzare in maniera efficienteun medesimo hardware mediante differenti personalità soft-ware. Tali sistemi mostrano però i loro limiti nel caso di stan-dard di comunicazione evoluti e complicati quali WiMAX,Umts/Hspa e LTE, che richiedono un protocollo complesso. Lasituazione diventa ancora più complicata nel caso dei siste-mi multi-standard; si pensi ai dispositivi multimediali quali iPDA dove coesistono dispositivi wireless sia attivi che passi-

vi basati su differenti standard quali Bluetooth, WiFi,Mobile/Fixed WiMAX, GSM, GPS, DAB, DVB-H e Umts/Hspache devono essere verificati in maniera integrata. Per risolvere questi problemi, si richiede al sistema di testnon solo di essere programmabile, flessibile, adattabile econfigurabile ma anche di essere reattivo e di poter elabo-rare in tempo reale il flusso bidirezionale di informazionisecondo i vincoli temporali previsti dallo standard in ogget-to. La soluzione fuori linea deve essere pertanto estesa aquella in tempo reale realizzando le procedure di elabora-zione di banda-base sfruttando la capacità di riprogramma-zione e la riconfigurabilità propria delle schede basate sudispositivi Fpga. Secondo l’architettura illustrata nella figu-ra 1, l’elaborazione del livello fisico (PHY) dello standardwireless in esame è realizzata sul dispositivo Fpga mentre ilivelli superiori del protocollo (MAC & IP Networking) sonorealizzati sul PC che ospita/controlla la scheda Fpga.L’applicativo di test, anch’esso caratteristico dello standardin esame e specificato in base alle richieste della produzio-ne, è realizzato sullo stesso PC oppure su un altro PC colle-gato in rete con il primo.Il livello PHY viene completato dall’hardware RF/IF, cheeffettua la traslazione da frequenza intermedia (IF) a radio-

IL TEST DEI SISTEMI DI TELECOMUNICAZIONI:

SFIDA IN TEMPO REALE

Vit

tori

o R

am

pa

, M

au

ro A

rig

oss

i

La complessità del test e della verifica nei dispositivi wireless di nuova generazione richiede strumenti

capaci di comunicare in maniera trasparente con i dispositivi in fase di test senza perdere la modularità

e la flessibilità tipiche della strumentazione virtuale tradizionale

Figura 1

27

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

Rea

ders

ervi

ce.i

t n

. 922

frequenza (RF). Anche in questo caso, può essere sfruttatasia una configurazione hardware a copertura generale,secondo l’approccio classico Virtual Instrument, sia unasoluzione specializzata (banded) relativa al particolare stan-dard considerato. Ad esempio, nel caso dei sistemi WiMAX,è possibile scegliere un convertitore IF-RF specifico per labanda 2,4 GHz, 3,5 GHz oppure 5,0 GHz.

TEST IN TEMPO REALE DEI SISTEMI MOBILE WIMAXIl protocollo Mobile WiMAX (Ieee 802.16-2005) è il piùcomplicato tra i protocolli wireless attualmente definiti.Permette di realizzare una rete wireless metropolitana(Wman) infrastrutturale con accesso ad alta velocità scala-bile in base all’applicazione fino a 75Mbps incondizioni di propagazione non in vista. Letrasmissioni tra le stazioni base (BS) e quellemobili (SS) avvengono mediante un protocol-lo bi-direzionale differenziato per l’UpLink(dall’SS verso la BS) e il Down Link (in sensoinverso, dalla BS alla SS) basato su trame del-la durata fissa pari a 5ms. La modalità diaccesso di tipo Ofdma (Orthogonal frequencydivision multiple access) permette l’accessomulti-utente anche in condizioni di propaga-zione precarie ed in mobilità.Vista la complessità dei protocolli di UpLink eDownLink, la realizzazione del livello fisico PHYdi un sistema Mobile WiMAX per la verifi-ca/test in tempo reale secondo l’architetturadella fig. 1, pone una serie di problemi da risol-vere tra i quali i più importanti sono legati a: I)la potenza elaborativa, II) l’occupazione/gradodi riempimento e III) l’ottimizzazione e standar-dizzazione delle funzionalità richieste all’Fpgaper la realizzazione dell’elaborazione in banda-base e, infine,iv) il rispetto del vincolo temporale di trama (5 ms). Tale vin-colo impone l’utilizzo di un’architettura hardware/softwarereal-time anche per la realizzazione del livello di accesso.

La figura 2 mostra alcune immagini del sistema WisyMAX-RT: tale sistema, basato sulle schede Fpga IF-RIO di NationalInstruments, implementa i protocolli di UpLink e DownLinkdello standard Mobile WiMAX nell’ambiente di sviluppoLabVIEW. Tutte le funzionalità di banda base sono state rea-lizzate usando blocchi IP (Intellectual Property Cores) descrit-ti in Vhdl e compilati poi per l’ambiente LabVIEW FPGA. Lamodularità del sistema è garantita dall’utilizzo dell’interfac-cia MAC/PHY basata sullo standard Intel SAP che permettel’utilizzo del livello d’accesso MAC fornito da terze parti.Infine, nella figura 3 è mostrato un sistema completo di testin tempo reale per i sistemi Mobile WiMAX che integraWisyMAX-RT come livello PHY: si tratta un Base Station

Emulator (BSE) capace di effettuare, in maniera completa-mente trasparente, il test contemporaneo di più terminalimobili SS riducendo in maniera significativa i tempi di test everifica, senza richiedere specifiche caratterizzazioni dei ter-minali mobili sotto test.

CONCLUSIONIGli Strumenti Virtuali off-line hanno permesso di realizzareapparecchiature di test flessibili, modulari e multi-standard; isistemi wireless di nuova generazione richiedono però stru-mentazione virtuale funzionante in tempo reale per potereffettuare in maniera semplice e trasparente il test dei dis-positivi integrando funzionalità di test del livello PHY e MAC.

Figura 2

Figura 3

Note sull’autoreVittorio Rampa - IEIIT-CNR E WisytechMauro Arigossi – Alfautomazione

28

09

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

Training per principianti

Nella prima parte abbiamo fornito alcune indicazioni perla progettazione di un pannello frontale. Vediamo oraalcuni importanti elementi aggiuntivi.

DIMENSIONOMENTO E POSIZIONAMENTOI pannelli frontali devono adattarsi ad un monitor con risolu-zione standard per la maggior parte degli utenti previsti.Rendete la finestra la più piccola possibile senza affollare icontrolli o sacrificare un layout chiaro. Se i VI sono destinatiall'uso interno e tutti utilizzano impostazioni di visualizzazio-ne ad alta risoluzione, potete progettare grossi pannelli fron-tali. Se dovete fare dello sviluppo commerciale, tenete pre-sente che alcuni display hanno una risoluzione limitata,soprattutto i display LCD e i touchscreen.I pannelli frontali dovrebbero aprirsi nell'angolo superiore sini-stro dello schermo per comodità degli utenti che hanno picco-li schermi. Disponete i gruppi di VI che vengono spesso apertiinsieme in modo che l'utente possa vedere almeno una picco-la parte di ciascuno. Disponete i pannelli frontali che si apronoautomaticamente al centro dello schermo. Centrare i pannellifrontali rende il VI più facile da leggere per gli utenti su moni-tor di varie dimensioni. Usate l'area di dialogo VI Properties percustomizzare l'aspetto e le dimensioni della finestra.

ETICHETTE E DIDASCALIEL'uso efficace di etichette e didascalie può migliorare la faci-lità d'uso dei pannelli frontali dell'interfaccia utente.EtichetteIl nome di un controllo o indicatore dovrebbe descriverne lafunzione. Se il controllo è visibile all'utente, usate didascalieper visualizzare una lunga descrizione ed aggiungeteun'etichetta breve per evitare di utilizzare spazio preziososugli schemi a blocchi. Per esempio, quando etichettate uncontrollo di tipo ring o slide che ha opzioni per volt, ohm oampere, selezionate un nomeintuitivo per il controllo. Unadidascalia come "Sele zionare leunità di visualizzazione" è prefe-ribile rispetto a "V/O/A". Usate iProperty Node per cambiare ledidascalie da programma.

Usate le maiuscole/minuscole in modo coerente ed include-te valori di default ed informazioni sulle unità nei nomi del-le etichette. Per esempio, se un controllo imposta un limitesuperiore di temperatura e ha un valore di default di 75 °F,denominate il controllo temperatura limite superiore(75 gradiF). Se utilizzerete il VI con il controllo su più piat-taforme, evitate di usare caratteri speciali nei nomi dei con-trolli. Per esempio, usate gradiF invece di °F, percché ilsimbolo ° potrebbe non essere visualizzato correttamentesu altre piattaforme.Per i controlli Booleani, usate il nome per fornire un'indi -cazione dello stato che corrisponde a ciascuna funzione eper indicare lo stato di default. Per le caselle di spuntaturae i radio button, l'utente può cliccare il testo Booleano delcontrollo e fare cambiare il valore del controllo Booleano.Etichette libere accanto a un controllo Booleano possonoaiutare a chiarire il significato di ciascuna posizione su uncommutatore.Per esempio, usate etichette libere come Cancellare,Resettare e Inizializzare, che descrivono l'azione svolta.La finestra Context Help visualizza le etichette come par-te del pannello dei connettori. Se il valore di default rappre-senta un'informazione essenziale, disponete il valore fraparentesi accanto al nome nell'etichetta. Includete le unitàdel valore se sono richieste.Le impostazioni Richiesto, Raccommandato,Opzionale dei terminali del pannello dei connettori influi-scono sull'aspetto degli ingressi e delle uscite nella finestraContext Help.Assegnate a ciascun controllo un valore di default ragionevo-le, che permetta l'esecuzione dell'esempio senza che l'utentene modifichi il valore per quanto possibile. Tutti i valori e/o leunità di default dovrebbero essere aggiunti all'etichetta fraparentesi, se appropriato, come illustrato nella figura 6.

PROGETTAREL'INTERFACCIA UTENTESeconda parte

Come abbiamo v isto nel la pr ima par te, i pannel l i f rontal i devono essere bene organizzat i e fac i l i

da ut i l i zzare, perché sono la pr ima cosa che g l i utent i vendono quando lavorano con un VI

a c

ura

di

Ma

tte

o F

oin

i

Figura 6 - Et ichette con unità e va lor i d i default

29

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

DidascalieGli oggetti del pannello frontale possono avere anche dida-scalie. Cliccate con il tasto destro l'oggetto e selezionateVisible Items»Caption dal menu abbreviato per visualiz-zare la didascalia. Potete usare didascalie invece di etichet-te per localizzare un VI senza interrompere il VI stesso.A differenza di un'etichetta, una didascalia non influenza ilnome dell'oggetto e potete usarla come un'etichetta piùdescrittiva dell'oggetto. La didascalia appare solo sul pan-nello frontale.Se assegnate l'oggetto a un terminale del pannello dei con-nettori, la didascalia appare in una striscia di suggerimentoquando usate il tool Wiring per spostare il cursore sul ter-minale sullo schema a blocchi. La didascalia appare ancheaccanto al terminale nella finestra Context Help se spo-state il cursore sul pannello dei connettori o sull'icona del VI.Le didascalie sono utili anche per fornire descrizioni detta-gliate quando il testo dell'etichetta deve essere conciso oper fornire descrizioni concise quando il testo dell'etichet-ta deve essere più dettagliato. Le didascalie sono utilianche quando si creano versioni localizzate delle vostreapplicazioni.

PERCORSI E STRINGHEQuando specificate la posizione di un file o una directory,usate un controllo o indicatore di percorso. I controlli e gliindicatori di percorso hanno un funzionamento simile aquello delle stringhe, ma LabVIEW formatta i percorsi usan-do la sintassi standard per la piattaforma che state usando.Impostate in modo appropriato le opzioni di navigazioneper il pulsante Browse dei controlli di percorso. Per esem-pio, se l'utente deve selezionare una directory, selezionatele opzioni Folders only ed Existing only nella paginaBrowse Options dell'area di dialogo Path Properties.Usate una costante di percorso e il tipo dato path per forni-re un valore costante di percorso allo schema a blocchi. Lacostante e il tipo dato del percorso usano la notazione spe-cifica della piattaforma, a differenza della costante e deltipo dato stringa.

VALORI E CAMPI DI DEFAULTAspettatevi che l'utente possa fornire valori non validi adogni controllo. Potete effettuare una verifica dei valori nonvalidi sullo schema a blocchi o cliccare con il tasto destro sulcontrollo e selezionare Data Range per fare in modo chel’oggetto forzi i valori nell’intervallo desiderato: Minimum,Maximum e Increment.Un VI non dovrebbe fallire quando è eseguito con i valori didefault. Non impostate i valori di default di indicatori comegrafici, array e stringhe senza una buona ragione, perché ciòspreca spazio quando si salva il VI.Usate i valori di default in modo intelligente. Nel caso dimolti VI e funzioni di File I/O, come il VI Write to

Spreadsheet File, la condizione di default è un percorso vuo-to che forza il VI a visualizzare una finestra di dialogo. Inmolti casi, ciò può evitare l'uso di un commutatoreBooleano.Potete gestire da programma le situazioni difficili. Moltistrumenti GPIB limitano le impostazioni ammissibili di uncontrollo in base alle impostazioni di un altro. Per esempio,un voltmetro potrebbe permettete un intervallo di 2.000 Vper la continua ma di soli 1.000 V per la l’alternata. Se icontrolli interessati, come Range e Mode, risiedono nellostesso VI, posizionate lì la logica di interlock.

NAVIGAZIONE DA TASTIERAAlcuni utenti preferiscono usare la tastiera invece del mou-se. In alcuni ambienti, come un impianto di produzione, èdisponibile solo una tastiera.Considerate l'inclusione di scorciatoie da tastiera per i VIanche se è disponibile l'uso di un mouse, perché le scorcia-toie da tastiera aggiungono praticità ai VI. Prestate atten-zione alle opzioni di navigazione da tastiera per gli oggettisul pannello frontale ed impostate l'ordine di tabulazione inmodo da leggere gli oggetti da sinistra a destra e dall'altoal basso.Impostate il tasto <Enter> come scorciatoia da tastiera peril controllo di default del pannello frontale, che è normal-mente il pulsante OK. Tuttavia, se avete un controllo strin-ga multilinea sul pannello frontale, potreste non volere uti-lizzare il tasto <Enter> come scorciatoia.Se il pannello frontale ha un pulsante Cancel, impostate iltasto <Esc> come scorciatoia da tastiera. Potete usareanche tasti funzione come pulsanti di navigazione per pas-sare da schermo a schermo. Se lo fate, accertatevi di utiliz-zare le scorciatoie in modo coerente.Selezionate Edit»Set Tabbing Order per disporre i con-trolli in una sequenza logica quando l'utente deve tabularefra i controlli. Per i controlli che sono fuori schermo, usate iltab Key Navigation della finestra di dialogo Properties persaltare tali controlli in fase di tabbing o per nasconderli.Considerate anche l'uso della proprietà di focus dei tasti perimpostare da programma il focus su uno specifico controlloquando il pannello frontale si apre.

STILI DEGLI OGGETTI SUL PANNELLO FRONTALEQuando costruite un'interfaccia utente, potete scegliere con-trolli ed oggetti da differenti palette. La figura 7 illustra treesempi della stessa interfaccia utente, ciascuno costruitousando controlli e oggetti da palette differenti.Controlli e indicatori del pannello frontale possono apparirenegli stili moderno, classico o di sistema.Molti oggetti del pannello frontale hanno un aspetto moltocolorato. Impostate il monitor in modo che visualizzi almenocolori a 16 bit per un aspetto ottimale degli oggetti. I control-li e gli indicatori situati sulla palette Modern hanno anche

30

09

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

oggetti corrispondenti meno colorati. Usate i controlli e gli indi-catori situati sulla palette Classic per creare VI per le imposta-zioni del monitor a 256 colori e a 16 colori. Il primo esempionella figura 7 usa controlli dalla palette Modern. Il secondoesempio nella stessa figura usa controlli dalla palette Classic.

Usate i controlli e gli indicatori di sistema situati sulla paletteSystem nelle finestre di dialogo che create. I controlli e gliindicatori di sistema sono stati specificamente progettati perl'uso nelle finestre di dialogo e includono ring and spin con-trol, numeric slide, progress bar, scroll bar, listboxe, table,string e path control, tab control, tree control, button, check-boxe, radio button e un'etichetta opaca che si adatta auto-maticamente al colore di sfondo del genitore. Questi controllisi differenziano da quelli che appaiono sul pannello frontalesolo in termini di aspetto. Tali controlli appaiono nei colori cheavete impostato per il vostro sistema.Poiché i controlli di sistema cambiano aspetto in base allapiattaforma sulla quale eseguite il VI, l'aspetto dei controlli neiVI che create è compatibile su tutte le piattaforme LabVIEW.Quando eseguite il VI su una piattaforma differente, i control-li di sistema adattano colore e aspetto in modo da corrispon-dere ai controlli standard delle finestre di dialogo di quellapiattaforma.Usate la palette di controlli System per creare interfacceutente di aspetto più professionale, come nel terzo esempiodella figura 7.

PROTOTIPAZIONE DEL PANNELLO FRONTALEI prototipi di pannello frontale permettono di esaminare piùa fondo l'organizzazione del programma.Supponendo che il programma si basi fortemente sull'inter-faccia utente, potete cercare di creare un'interfaccia fittizia

che rappresenti ciò chel'utente vede.Evitate di implementarediagrammi a blocchi nelleprime fasi di creazionedei prototipi in modo daevitare inutili riscritturedel codice. Al contrario,limitatevi a creare i pan-nelli frontali. Mano a mano che createpulsanti, listbox ed anelli,pensate a ciò che deveaccadere quando l'utenteesegue delle selezioni.Ponetevi domande comele seguenti:

• Il pulsante deve portare ad un altropannello frontale?

• Alcuni controlli sul pannello frontale dovrebbero essere nascosti e sostituiti da altri?

Se vengono presentate nuove opzioni, seguite questeidee creando nuovi pannelli frontali per illustrare i risulta-ti. Questo tipo di prototipazione aiuta a definire i requisi-ti di un progetto, oltre a fornirvi una migliore idea del suoscopo.I sistemi con molti requisiti di interfaccia utente sono per-fetti per la prototipazione. Determinare sulla carta il meto-do che utilizzerete per visualizzare i dati o richiedere impo-stazioni all'utente è difficile. Considerate invece la proget-tazione di pannelli frontali del VI con i controlli e gli indica-tori che vi occorrono. Lasciate vuoto lo schema a blocchi edimmaginate come funzionano i controlli e come le varieazioni richiedono altri pannelli frontali. Per i prototipi piùcomplessi, legate fra loro i pannelli frontali. Tuttavia, nonfatevi sviare da questo processo.Se siete impegnati su un progetto per un cliente, usare pro-totipi dei pannelli frontali è un modo estremamente effica-ce per discutere con il cliente come potete soddisfare i suoirequisiti. Poiché potete aggiungere o rimuovere rapidamen-te controlli, soprattutto se gli schemi a blocchi sono vuoti,potete aiutare i clienti a chiarire i loro requisiti.

Figura 7 - St i l i de i control l i de l l ' inter facc ia utente1 Inter facc ia utente costruita con control l i moderni2 Inter facc ia utente costruita con control l i c lass ic i3 Inter facc ia utente costruita con control l i d i s i s tema

31

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

Limitate la quantità di tempo chededicate alla prototipazione pri-ma di iniziare. I limiti di tempoaiutano ad evitare di fare tropponella fase di prototipazione.Mano a mano che incorporatecambiamenti, aggiornate i requi-siti e il progetto corrente.

ESEMPIO DI INTERFACCIAUTENTEIn assenza di una corretta piani-ficazione, è facile produrreun'interfaccia utente che nonincorpora un pannello frontaleben progettato. La figura 8 illu-stra un esempio di interfacciautente non ben progettata.La figura 9 illustra la stessainterfaccia utente con diversimiglioramenti, come un usoridotto del colore, controlli raggruppati, meno etichette,manopole invece di slide e oggetti ridisposti.

LOCALIZZAZIONE DELL'INTERFACCIA UTENTEMicrosoft Developer Network definisce la localizzazionecome il processo di creazione di un'applicazione utilizza-bile in un contesto e in una cultura differenti.La localizzazione può essere una considerazione impor-tante quando si crea un'applicazione, perché molte appli-cazioni sono usate su scala mondiale. Anche se potete nonlocalizzare immediatamente un'applicazione, consideratela possibilità che l'applicazione stessa venga usata in unaregione o un contesto differente in futuro. Quando si tra-duce un'applicazione in un'altra lingua, spesso si utilizza

una tecnica di traduzione basata sulla forza bruta perconvertire tutte le stringhe sul pannello frontale in una

lingua differente. Usate lelinee guida seguenti per faci-litare la localizzazione:• Lasciate spazio per la

localizzazione. Prevedete una crescita di almeno il 30% nelle stringhe brevi e una crescita del 15% nelle frasi lunghe.

• Non incapsulate le stringhedell'interfaccia utente nelloschema a blocchi. Cercate di trasformare le costanti stringa in controlli stringa sul pannello frontale e nascondeteli.

• Evitate di usare simboli e ico-ne non internazionali in un VI.

• Evitate di usare testo nelle icone quando possibile, inmodo da non dovere localizzare le icone.

• Evitate di usare bitmap in un VI, in modo da non dove-re localizzare eventuale testo nei bitmap.

• Usate un'etichetta per definire il nome di un controlloma rendete sempre visibile la didascalia. Usate la dida-scalia come etichetta per un controllo, perché potetecambiare le didascalie da programma.

Figura 8 - Inter facc ia utente non ben progettata

Figura 9 - Inter facc ia utente migl iorata

Readerser v ice. i t 925

32

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

Training per esperti

Come abbiamo visto nella prima parte, prima di svi-luppare il progetto dettagliato di un sistema, dovetedefinire chiaramente gli obiettivi del sistema stesso.

Questi sono gli argomenti da affrontare:A. RequisitiB. Stima dei tempi e dei costiC. Standard di codifica e stile per un team di sviluppatoriIn questa seconda parte viene descritto il punto B.

B. STIMA DI TEMPI E COSTIUn obiettivo della pianificazione è stimare la dimensionedel progetto e adattare quindi il progetto alle scadenzeLe scadenze guidano parzialmente, se non completamen-te, la maggior parte dei progetti. Scadenze, risorse e requi-siti critici interagiscono per determinare che cosa poteteimplementare in una release

PROGETTI SOFTWARE CHE SUPERANO LE STIME ORIGINALIRagioni per il mancato rispetto del termine ultimo:• Scarsa pianificazione• Idea incompleta degli obiettivi del progetto• Feature creep• Processo di sviluppo basato su 'codifica e correzione'Purtroppo, poche persone riescono a stimare con precisio-ne le scadenze software. Nelle maggiori aziende, qualchevolta i progetti software 'sforano' le stime originali di unanno o più. La scarsa pianificazione o un'idea incompletadegli obiettivi del progetto causano spesso il superamen-to delle scadenze finali. Un'altra causa fondamentale di superamento delle sca-denze finali è quella indicata comunemente come “featu-re creep”: ciò significa che il progetto si espande gradual-mente per includere caratteristiche che non facevano par-te dei requisiti originali. In molti casi, i ritardi nelle sca-denze sono la conseguenza dell'uso di un processo di svi-luppo basato su 'codifica e correzione', anziché di unmodello di sviluppo ben definito.

I PROGETTI SOFTWARE NON SONO QUASI MAI ACCURATILe stime mal pianificate sono raramente accurate per iseguenti motivi:• Le persone sono generalmente ottimiste

Una stima di due mesi sembra inizialmente una quantitàdi tempo infinita. Tuttavia, durante le ultime due settima-ne di un progetto, quando gli sviluppatori si trovano a faremolti straordinari, diventa chiaro che due mesi sono untempo troppo scarso.• Obiettivi, aspetti di implementazione e requisiti di qua-

lità sono capiti maleQuando deve affrontare il compito di creare un sistema dimonitoraggio dati, un tecnico può stimare due settimane.Se il prodotto è progettato dallo sviluppatore e per lo svi-luppatore, questa stima può essere accurata. Tuttavia, se il prodotto è progettato per altri utenti, lo svi-luppatore probabilmente non considera requisiti che unutente meno consapevole assume ma non specifica maichiaramente.I VI devono essere affidabili e facili da usare, perché lo svi-luppatore non può essere sempre disponibile per correg-gerli se si verifica un problema. Ciò richiede molti collaudie documentazione. L'utente deve inoltre salvare risultati su disco, stamparerapporti e visualizzare e manipolare i dati sullo schermo.Se l'utente non discute il progetto in dettaglio con lo svi-luppatore, il progetto può potenzialmente fallire.• Le stime non tengono conto dei compiti di tutti i giorniLe persone spesso dimenticano di tenere conto dei compi-ti di tutti i giorni nelle loro scadenze. Vi sono incontri eriunioni a cui bisogna partecipare, vacanze, rapporti dascrivere, progetti esistenti da mantenere e gli altri compitiche compongono una normale settimana di lavoro.

TECNICHE DI STIMADiscuteremo qui le seguenti tecniche di stima:• Metrica basata sulle dimensioni• Stima degli sforzi• Stima Wideband Delphi

METRICA BASATA SULLE DIMENSIONI• Introduzione• Misure basate su Linee di Codice Sorgente (SLOC)• Metodo popolare perché è facile raccogliere

informazioni• Dipendente dal lavoro precedente• Le misure SLOC in LabVIEW usano il numero di nodi

per la stima

PIANIFICAZIONE DEL SISTEMASeconda parte

D opo avere def in i to i requis i t i d i un progetto soft ware, vediamo come valutare tempi e cost i

a cu

ra d

i M

atte

o Fo

ini

33

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

IntroduzioneLa documentazione dell'ingegneria del software fa spessoriferimento alle linee di codice sorgente (SLOC) come misu-ra, o metrica, della complessità del software. Lo SLOC, comemisura della complessità, è popolare in parte perché è faci-le raccogliere le informazioni. Esistono infatti numerosi pro-grammi per analizzare i linguaggi di programmazione basa-ti su testo e misurarne la complessità. In generale, le misu-re SLOC includono tutte le linee di codice sorgente svluppa-te per un progetto, esclusi commenti e linee vuote. Poteteusare misure SLOC per stimare le revisioni di software esi-stente. In LabVIEW, la misura SLOC usa il numero di nodiper effettuare la stima.

Misura dei nodi in LabVIEWIl tool VI Metrics, incluso nel LabVIEW ProfessionalDevelopment System, offre un metodo per misurare unametrica corrispondente per il codice LabVIEW. Il tool VIMetrics conta il numero di nodi usati all'interno di un VI oall'interno di una gerarchia di VI. Un nodo è pressoché qual-siasi oggetto, incluse funzioni, VI e strutture, come loop esequenze, presente sullo schema a blocchi, escluse etichet-te e grafica.

Misure storichePotete usare il numero di nodi come metodo per stimare glisforzi di sviluppo di un futuro progetto. Affinché ciò sia pos-sibile, dovete raccogliere informazioni in merito a progetticorrenti e passati. Avete bisogno di un'idea della quantità ditempo richiesta per sviluppare nodi di prodotti software esi-stenti e associare tale informazione al numero di nodi usatiin quel componente.

Procedura1. Dividete il progetto in sottoprogetti2. Stimate il numero di nodi richiesti per ogni sottoprogetto3. Producete una stima totale dei nodi e del tempo richiestoper lo sviluppoUsando le informazioni storiche, stimate il numero di nodirichiesti per un nuovo progetto. Non potete farlo immedia-tamente per un intero progetto. Dividete invece il progettoin sottoprogetti che potete confrontare con altri compitiportati a termine in passato. Quando avete dei sottoproget-ti, stimate il numero di nodi richiesti per ogni sottoprogettoe producete una stima totale dei nodi e del tempo richiestoper lo sviluppo.

SfideLa metrica basata sulle dimensioni non è accettata unani-memente nell'ingegneria del software. Molte persone sonofavorevoli alla metrica basata sulle dimensioni perché èrelativamente facile da raccogliere e perché esiste una gran-de quantità di letteratura sulla metrica basata sulle dimen-

sioni. Gli oppositori della metrica basata sulle dimensionimuovono le seguenti obiezioni:• La metrica basata sulle dimensioni dipende dall'organiz-

zazione. Linee di codice e numero di nodi sono utili inun'organizzazione se lavorate con lo stesso gruppo dipersone, che seguono le stesse linee guida di stile. Usarela metrica basata sulle dimensioni di altre aziende o grup-pi può essere difficile a causa di livelli differenti di espe-rienza, differenti aspettative sul collaudo e sulle metodo-logie di sviluppo, e così via.

• La metrica basata sulle dimensioni dipende dal linguag-gio di programmazione. Confrontare una linea di codicein linguaggio assembly con una linea scritta in C è comeconfrontare mele e pere. Le istruzioni nei linguaggi di pro-grammazione ad alto livello possono fornire più funzio-nalità di quelle nei linguaggi di programmazione a bassolivello. Confrontare il numero di nodi in LabVIEW con lelinee di codice in un linguaggio di programmazione basa-to su testo è sbagliato per questo motivo.

• Non tutto il codice è creato con lo stesso livello di quali-tà. Un VI che recupera informazioni da un utente e le scri-ve in un file può essere scritto in modo così efficiente darichiedere una piccola quantità di nodi o essere scrittomale con un elevato numero di nodi.

• Non tutto il codice ha la stessa complessità. Una funzio-ne Add è molto più facile da usare della funzione IndexArray. Uno schema a blocchi con 50 loop annidati è mol-to più difficile da capire di 50 subVI collegati fra loro inlinea.

• La metrica basata sulle dimensioni richiede una solidabase di informazioni che associa la produttività con variprogetti. Per essere accurati, dovete mantenere statisticheper ogni membro di un team a causa dei diversi livelli diesperienza fra i membri del team stesso.

Nonostante questi problemi, molti sviluppatori usano lametrica basata sulle dimensioni per la stima dei progetti.Una buona tecnica è quella di stimare un progetto usandola metrica basata sulle dimensioni insieme ad uno degli altrimetodi. Due diversi metodi possono completarsi a vicenda.Se trovate differenze fra le due stime, analizzate le ipotesi inciascuna di esse per determinare la sorgente della discre-panza.

STIMA DEGLI SFORZI

ProceduraLa stima degli sforzi è simile per molti aspetti alla stima delnumero di nodi. Dovete dividere il progetto in componentipiù facili da stimare. Una buona linea guida è quella di divi-dere il progetto in componenti che non richiedono più diuna settimana per essere portati a termine. È difficile stima-re accuratamente compiti più complicati.Dopo avere diviso il progetto in compiti, potete stimare il

34

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

tempo per portare a termine ciascun compito e sommare irisultati per calcolare il costo complessivo.

STIMA WIDEBAND DELPHI

IntroduzioneRand Corporation ha sviluppato la stima Wideband Delphinegli anni '40. Questo metodo è molto utile per un proget-to software. Alla fine del processo di stima, il responsabiledel progetto riceve una stima del tempo e dei compiti daportare a termine.

Procedura1. Riunire le parti interessate2. Incontro di kickoff3. Le singole parti interessate stimano il tempo4. Riconvocare le parti interessate per una sessione di stima5. Raggiungere la convergenzaLa stima Wideband Delphi coinvolge più parti interessate,che contribuiscono al processo di stima. La procedura di sti-ma richiede un lavoro di gruppo ed incontri con le parti inte-ressate per raggiungere una convergenza sulla stima.

Prima fase: riunire le parti interessateLa prima fase nella stima è riunire un gruppo di parti inte-ressate che possa contribuire al successo del progetto. Tuttele parti interessate, incluse quelle che non sono direttamen-te coinvolte nell'attuale sviluppo software, devono fare par-te del processo. Le parti interessate includono il team ditest, scrittori tecnici, manager e progettisti. Dopo avere sta-bilito il team, fornite al team un documento di scopo chedescrive il software, per consentire al team di cominciare aragionare sul progetto. Lo scopo della stima WidebandDelphi è raggiungere un completo supporto da parte di tut-te le parti interessate che partecipano allo sviluppo del pia-no del progetto.

Nota: Se siete il solo sviluppatore della vostra orga-nizzazione, potete riunire un gruppo di utenti per col-

mare il ruolo delle parti interessate nella stima WidebandDelphi.

Seconda fase: incontro di kickoffPrima di tenere l'incontro di kickoff, accertatevi di avere undocumento completo dei requisiti per il progetto.Nell'incontro di kickoff, dividete il progetto nei compiti piùimportanti con le parti interessate.Evitate di discutere le stime di tempo durante questa dis-cussione iniziale.Durante l'incontro di kickoff concordate i compiti principali.

Terza fase: le singole parti interessate stimanoil tempoOgni parte interessata stima separatamente il tempo neces-

sario per portare a termine ogni compito usando come uni-tà di stima giornate lavorative di 8 ore senza interruzioni.Fate in modo che le parti interessate elenchino tutte le ipo-tesi fatte durante la formazione delle stime.

Quarta fase: riconvocare le parti interessate peruna sessione di stimaRiconvocate il gruppo per tracciare un grafico delle singolestime come range di valori. Mantenete anonime le stime escegliete una persona esterna al team di sviluppo per gui-dare questa riunione.

Quinta fase: raggiungere la convergenzaDopo avere messo su un grafico il set di valori originale,ogni parte interessata riferisce le eventuali ipotesi fatte nel-la determinazione delle stime. Per esempio, una parte inte-ressata potrebbe avere ipotizzato che il progetto di un cer-to VI sfrutti librerie esistenti. Un'altra parte interessatapotrebbe sottolineare che uno specifico VI è più complicatodel previsto perché implica la comunicazione con un'altraapplicazione o con una libreria condivisa. Un altro membrodel team potrebbe essere consapevole di un compito cheimplica un'ampia quantità di documentazione e collaudo.Dopo avere reso note le ipotesi, le parti interessate riesami-nano e aggiustano le stime. Quindi, il gruppo mette su ungrafico e discute le nuove stime. Questo processo può pro-seguire per tre o quattro cicli.Nella maggior parte dei casi, convergerete su un piccolorange di valori. Non è richiesta l'assoluta convergenza.Dopo l'incontro, lo sviluppatore responsabile del progettopuò utilizzare la media dei risultati ed ignorare certi valoriisolati per creare una stima. Se qualche compito si rivelatroppo costoso per il tempo concesso, lo sviluppatore puòconsiderare l'aggiunta di risorse o la riduzione del progetto.Anche se la stima è sbagliata, la discussione derivante daquesti incontri offre un'idea migliore dello scopo del pro-getto. La discussione serve come strumento esplorativodurante le parti di specifica progettazione del progetto, inmodo da evitare problemi in una fase successiva.

ALTRE TECNICHE DI STIMA• Stima Punti-Funzione• Stima COCOMOEsistono molte altre tecniche per stimare il costo dello svi-luppo. Qui sotto descriviamo brevemente alcune tecnichepopolari:

Stima Punti-FunzioneLa stima Punti-Funzione differisce notevolmente dalle tecni-che di stima basate sulle dimensioni descritte in preceden-za. Anziché dividere il progetto in compiti che vengono sti-mati separatamente,i punti funzione si basano su una formula applicata ad una

35

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

suddivisione in categorie dei requisiti del progetto.Questo metodo analizza i requisiti esaminando caratteristi-che come ingressi, uscite, interrogazioni dell'utente, file edinterfacce esterne. Queste caratteristiche sono suddivise epesate. I risultati producono un numero che rappresenta lacomplessità del progetto. Potete confrontare questo nume-ro con stime punti-funzione di progetti precedenti per deter-minare una stima.Le stime Punti-Funzione funzionano al meglio con applica-zioni database ma sono applicabili anche ad altre aree soft-ware. La stima punti-funzione è popolare come un metododi stima approssimativa, perché è utile nelle prime fasi delprocesso di sviluppo sulla base dei documenti dei requisiti.Tuttavia, la precisione dei punti-funzione come metodo distima non è stata ancora analizzata a fondo.

STIMA COCOMOIl COnstructive COst MOdel (COCOMO) è un metodo di sti-ma basato su una formula che permette di convertire le sti-me basate sulle dimensioni del software in stime del tempodi sviluppo. COCOMO è un set di metodi che spaziano dabase ad avanzato. Il COCOMO base esegue una stimaapprossimativa sulla base di una stima delle dimensioni euna semplice classificazione del tipo di progetto e del livel-lo di esperienza del team. Il COCOMO avanzato tiene inconsiderazione requisiti di affidabilità, caratteristiche e vin-coli hardware, esperienza di programmazione in una varie-tà di aree, nonché tool e metodi usati per sviluppare e gesti-re il progetto.

MAPPATURA DELLE STIME SUI PIANI PROGRAMMATIUna stima della quantità di sforzo richiesta per un progettopuò differire notevolmente dal tempo di calendario richiestoper portare a termine il progetto. Anche se potete accurata-mente stimare che un VI richiede solo due settimane per esse-re sviluppato, dovete comunque adattare tale sviluppo allescadenze complessive. Ricordate che, durante il periodo disviluppo, avrete riunioni ed altri eventi. Se avete altri proget-ti da portare a termine prima, o se volete aspettare che unaltro sviluppatore termini il suo lavoro prima di iniziare il pro-getto, dovete aggiungere un tempo extra alla data di sca-denza.Stimate il tempo di sviluppo del progetto separatamente dal-la sua schedulazione nel vostro calendario di lavoro.Considerate la stima dei compiti in giornate di lavoro ideali,che corrispondono a otto ore di sviluppo senza interruzioni.Dopo avere stimato il tempo del progetto, cercate di svilup-pare una scadenza che tenga conto delle stime di overhead edelle dipendenze del progetto. Ricordate le altre vostreresponsabilità e i vostri compiti, come le riunioni settimanali,i progetti esistenti da supportare e i rapporti da scrivere.Tenete una registrazione dei progressi che fate nel rispettarele stime dei tempi di riunione e le stime delle scadenze. Tenetetraccia del tempo del progetto e del tempo dedicato ad altricompiti ogni settimana. Queste informazioni probabilmentevariano da una settimana all'altra, ma stabilire una mediarappresenta un utile riferimento per le schedulazioni future.Registrare queste informazioni vi aiuterà a pianificare accura-tamente i futuri progetti. Re

ader

serv

ice.

it 9

26

SCELTI PER TE

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

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

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

Altre risorseLabVIEW Tutorials for LabVIEW Developers http://labview-tutorial-for-developers.blogspot.com/VI Roadshow, un blog interamente fatto di video, suLabVIEW e non solo http://www.viroadshow.com/Engineering TV, un portale dedicato alle tecnologieemergenti, nuovi prodotti, best practices interamentededicati al mondo dell’ingegneria http://engineeringtv

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

36

09D 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 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

L'algoritmo di criptazione BlowfishBlowfish è stato progettato nel 1993 da Bruce Schneier come alternativa veloce e gratuita agli algoritmi di criptazioneesistenti. Da allora è stato analizzato a fondo e sta lentamente guadagnando la fama di robusto algoritmo di criptazione.Blowfish non è brevettato, non richiede una licenza ed è disponibile gratuitamente per tutti gli usi. Questa è un'implementazione dell'algoritmo Blowfish in LabVIEW. Con questo set di subvi, è possibile criptare dati in LabVIEWsenza la necessità di software esterno. Ciò può servire per inviare dati con sicurezza su Data Socket o comunicazioni TCP e UDP.Inoltre, esso protegge i sistemi di controllo remoto contro gli accessi non autorizzati, criptando le comunicazioni di controllo.

Link alla pagina:

http://ni .com/info infocode: i t rasu

Uso di LabVIEW per l'analisi di segnali vocaliI segnali vocali, contenenti eventuali informazioni patologiche, giocano un ruolo importante nell'odierna diagnosi clinica.Potete utilizzare l'Advanced Signal Processing Toolkit di LabVIEW per progettare applicazioni di analisi dei segnali vocali.L'articolo descrive alcuni esempi pratici di analisi dei segnali vocali utilizzando l'Advanced Signal Processing Toolkit.

Link alla pagina:

http://ni .com/info infocode: i t rasu

Libreria Modbus per LabVIEWLa libreria Modbus è un set di VI gratuiti e scaricabili che permettono la comunicazione Modbus da qualsiasi porta Etherneto seriale standard. La libreria LabVIEW implementa il protocollo Modbus a livello software e offre funzionalità master eslave. Usando la libreria Modbus, i controllori PAC (Programmable Automation Controller) possono comunicare condispositivi gateway che forniscono connettività a un'ampia gamma di reti industriali, come Profibus, EthernetIP e DeviceNet.

Link alla pagina:

http://ni .com/info infocode: i t rasu

Gestione di eventi .NET in LabVIEWL'esempio allegato mostra come registrare e gestire un evento .NET in LabVIEW. L'esempio contiene una .NET User Control Library(Assembly) sulla quale è presente un pulsante. Questa User Control Library è incorporata nel Front Panel di LabVIEW in un .NETContainer. Nello schema a blocchi otteniamo una reference al pulsante, registriamo l'evento di click sul pulsante e specifichiamoun VI di callback per gestire l'evento. Ciò può essere fatto anche con una normale .NET Assembly che non contenga una UI.

Link alla pagina:

http://ni .com/info infocode: i t rasu

37

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

Registratore di eventi digitali in LabVIEW FPGAQuesto esempio illustra due variazioni di un registratore di sequenze di eventi implementata in LabVIEW con un VI FPGAed un VI host Windows o Real-Time. Il registratore di eventi monitora un certo numero di linee digitali d'ingresso e rilevaeventuali cambiamenti (eventi) su tali linee. Anziché registrare tutte le linee a intervalli regolari, solo le variazioniricevono un timestamp e vengono registrate, riducendo il volume complessivo dei dati da elaborare e registrare.

Link alla pagina:

NI Musical Instrument TunerIl VI niMusicalInstrumentTuner è un supporto per accordare gli strumenti musicali. Esso esemplifica come usare unLabVIEW object come reference object. Un reference object è un'entità a cui potete accedere usando un riferimento diqualche tipo. Poiché LabVIEW è un linguaggio a flusso di dati, in LabVIEW normalmente fate riferimento agli oggettiattraverso il loro valore. Un filo è una copia del dato effettivo. Se dividete un filo, ottenete una copia completamente nuovadel dato. Al contrario, un oggetto di tipo reference consiste di due parti – il dato effettivo e un riferimento a tale dato. Seeffettuate una copia del riferimento, esisterà solo una copia del dato. Ciò è utile per comunicazioni interprocesso e grosseapplicazioni dati.

Link alla pagina:

http://ni .com/info infocode: i t rasu

Accodamento di eventi in LabVIEW

È facile costruire applicazioni guidate da eventi in LabVIEW usando la struttura ad eventi. Tuttavia, anche se la strutturamonitora e accoda gli eventi così come si verificano, essa non fornisce informazioni sugli eventi che sono in attesa del loroturno per essere eseguiti. Nello specifico, se triggerate un evento e il codice associato a tale evento richiede diversi minutiper terminare, potete triggerare altri eventi nel tempo che occore per terminare l’esecuzione di tale codice. Gli eventitriggerati nel frattempo aspetteranno che il codice del primo evento si completi prima di essere eseguiti. Purtroppo, lastruttura ad eventi non vi offre alcun modo per vedere quali eventi sono in attesa o quanti eventi sono in attesa, né vipermette di manipolare gli eventi in attesa. Questo esempio vi illustra come potete implementare la vostra personale codada utilizzare con una struttura ad eventi.

Link alla pagina:

http://ni .com/info infocode: i t rasu

http://ni .com/info infocode: i t rasu

Velocità ed accelerazione di un encoder in quadratura con LabVIEW FPGA

Questo esempio mostra come stimare la velocità e l'accelerazione di un encoder in quadratura utilizzandohttp://www.ni.com/fpga e http://www.ni.com/compactrio. L'esempio consiste di un VI FPGA, l'Encoder Position & Velocity(FPGA).vi, che viene eseguito sulla piattaforma FPGA, e un VI host, l'Encoder Position & Velocity (Host).vi, che vieneeseguito sulla macchina host. L'esempio è stato progettato per un dispositivo FPGAhttp://sine.ni.com/nips/cds/view/p/lang/en/nid/13862 e uno chassis di espansione Serie R con un modulo dihttp://sine.ni.com/nips/cds/view/p/lang/en/nid/14171 nello slot 1. Il vi può essere facilmente modificato per essereeseguito su qualsiasi altra piattaforma cRIO FPGA.

Link alla pagina:

http://ni .com/info infocode: i t rasu

Inviato: Ven Dic 26, 2008 10:40 am

Scusate la domanda forse banale: in un VI fatto con la

versione 7 ho trovato un esempio di flat sequence nel

quale c'è un collegamento fra il primo frame e il terzo.

Visto che per gli alunni ho la versione 6 dove mi sembra

ci sia un sol tipo di sequence (dove i frame non sono

visibili tutti insieme ma uno alla volta) vorrei sapere

come faccio a collegare due frame fra loro se ne vedo uno

alla volta, in particolare se i frame non sono consecutivi ?

martino

Non puoi, la flat sequence è una struttura inserita nella

versione 7 per facilitare la visualizzazione del codice. In

ogni caso se il problema della visualizzazione è del tipo

didattico, ovvero devi inserire che so i vari stati della

sequenza in una relazione tecnica, semplicemente li puoi

copiare come immagine direttamente in word.

nicola

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

mar t ino

Struttura sequence in versione 6

38

09L 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: Gio Dic 11, 2008 1:02 pm

Salve a tutti, ho bisogno del vostro aiuto, ho costruito un

sub-Vi per un progetto, nel sub-Vi è previsto l'uso della

struttura case, solo che ora mi da problemi mi dice che ci

deve essere una condizione per ogni caso, però io le

condizioni le ho messe. Allego al messaggio il file che ho

fatto.

Electra

Se colleghi un numerico al case selector, devi o stabilire

un case di default oppure aggiungere due punti ".."

prima o dopo un numero per dire che quel case

considerea tutti i valori maggiori o minori di quello

indicato.

Nel tuo caso hai fatto un po' di casino.

Hai un case structure con collegato un booleano, pero'

con 6 case, mentre il booleano puo' avere solo due valori.

Elimina i case in cui il selettore è vuoto e vedrai che si

sistema tutto.

gepponline

grazie mille per l'aiuto ho provato a fare come mi hai

consigliato e credo che ora funzioni! Ancora grazie!

Electra

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

Elec tra

Struttura case

Inviato: Mar Dic 30, 2008 12:29 am

Buonasera

E' possibile utilizzando forse una struttura ciclica aprire,

dati n gradi di libertà di un problema, n file per scrivere

su ciascuno di essi i dati di una simulazione numerica

relativi a ciascuno degli n gradi di libertà?

Ad esempio potrei avere un programma il cui algoritmo

principale gira in matlab con cui dialogo con labview

tramite i matlab script node, che prevede la possibilità di

avere n gradi di libertà decisi dall'utente, per cui mi

occorre poter aprire secondo esigenza n file di scrittura in

labview dei risultati per ciascuno degi n gradi di libertà

del problema utilizzando in labview n

open/create/replace file, write to text file,close file.

Grazie tante

cromax

Sì, non c'è alcun problema, puoi aprire tutti i file

necessari: ti conviene usare uno stesso sub-vi per

richiamare le operazioni sui file così se devi modificare

qualcosa lo fai una sola volta nel subvi.

ciao

antea06

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

cromax

Aprire per scrittura risultati, n nuovi text file in labview

39

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

Pio

Ordinare array di nomi file

Inviato: Mar Dic 23, 2008 12:37 pm

Buongiorno a tutti.

Con "recursive file list" vado a leggere tutti i file di testo

in una cartella che hanno una struttura del tipo "misura

1.txt, misura 2.txt.... misura 11.txt" ecc ecc.

Quando vado a estrarre i dati, il file "misura 11.txt" mi

viene listato prima di "misura 2.txt". Come posso

riordinare l'array in modo che i files mi vengono

sequenziati? Mi non vorrei aggiungere degli zeri davanti

al numero perchè non so quanti files mi comporranno il

pacchetto di misure a priori.

Per ora buon Natale e felice Gimondi a tutti!!!

Pio

Potresti verificare la lunghezza della stringa.

Se i tuoi file vengono nominati in automatico potresti crearti

diversi array divisi per lunghezza di nome ed ordinati.

Oppure dovresti convertire il numero nel nomefile ed

ordinare gli array tramite quello.

Buongiorgio a Tutti.

Caro Pio, trovo che non mettere gli "0" davanti al numero

presente all'interno dei nomi dei file sia una pessima

scelta. Tra l'altro utilizzare nomi file contenenti degli

spazi " " è una scelta altrettanto pessima.

Detto questo, io farei così:

SortAndRename.vi

LV7.1

(43.47 KiB) Scaricato 6 volte

Questo sfruttando la peculiarità della funzione di sort

che sfrutta il "Cluster order" per stabilire in base a quale

'campo' del cluster fare l'ordinamento. Come puoi vedere

la parte numerica è individuata come primo carattere

numerico presente nel nome file e termina con l'ultimo

carattere numerico in sequenza.

Ti consiglio, al limite, l' esecuzione di un .bat contenente

il testo generato per sistemare i nomi dei file.

Per finire, ti consiglierei di NON mostrare un

insignificante nome file con numerazione prograssiva

all'operatore che deve scegliere una misura della lista,

ma piuttosto una lista di info che avrai cura di mettere

nella parte iniziale del file di misura. Per esempio un

timestamp, nome operatore, commento operatore, nome

del campione ecc. Tutte queste info puoi metterle ben

incolonnate in una comoda Multicolumn listbox.

La scelta a questo punto risulterà più semplice

all'operatore all'interno del Tuo Programma, mentre da

un qualunque gestore di Risorse di sistema vedrai i nomi

dei file (con gli "0" al posto giusto) ordinati sia

cardinalmente che alfabeticamente.

paracarro

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

sk iokka.rosa

Ring...

Inviato: Mer Dic 17, 2008 11:36 am

Salve a tutti.

Ho un ring che mi seleziona dei campi che vanno in una

struttura case. Ad ogni campo è caricato un file. In

sostanza scelgo una voce, premo il pulsante "Load" e mi

carica un file.

Volevo sapere se potevo evitare il pulsante "Load", ma

entrare nel case solo CAMBIANDO la scelta nel Ring.

Grazie in anticipo.

skiokka.rosa

Per queste cose servono le "Event structure" (trovi

abbastanza info su di loro nell'help di Labview).

In questo caso devi aggiungere un Event case dove Source

è il tuo ring, e l'evento è Value Change

Snamprogetti

Però se devi caricare file forse conviene mantenere il

pulsante... Così l'operazione di caricamento viene

eseguita solo quando serve, quando l'utente ha deciso

quale file usare. Altrimenti ad ogni cambio viene chiuso il

file attuale e caricato il nuovo file. Potresti collegare il

Ring al nome del file anzichè alla sua apertura: allora il

pulsante non serve e ad ogni cambio di valore viene

modificata la stringa che contiene il nome del file.

Quando l'utente ha deciso questa stringa porta

all'apertura del file corrispondente.

Ciao!!

MagicBotolo

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

Fate sentire la vostra voceStiamo per proporvi, sul sito ILVG.it, una piccola inchiesta per conoscere meglio le vostre esigenze di lettura e approfondimento. Le risposte che darete ad alcune semplici domande ci permetteranno di calibrare meglio la rivista, rendendola più aderente ai vostri interessi. Vi invitiamo quindi a visitare il sito in questione: dedicandoci pochi minuti del vostro tempo potrete contribuire a trasformare LabVIEW World!

40

09E V E N T I

L’Italia rimane stabile tra i primi posti al mondoper robotizzazione del settore manifatturiero.L’acc elerazione produttiva è alimentata sia dall’in-

cremento dei consumi interni, che da una notevole cresci-ta delle esportazioni. Due fenomeni diversi la cui sommaha generato il balzo del mercato italiano. Da qui la neces-sità di incrementare l’offerta di seminari tecnologici ingrado di illustrare lo stato dell’arte delle ultime innova-zioni nel settore.Il seminario con taglio tecnico-formativo, organizzato daNational Instruments in collaborazione con ImagingLab,patrocinato da SIRI - Associazione Italiana di Robotica e

Automazione e da AIdA - Associazione Italiana diAssemblaggio e con la sponsorizzazione dei più noticostruttori di robotica (tra cui DENSO, Mitsubishi e KUKA),si è proposto l’obiettivo di illustrare l’utilizzo di NI LabVIEWcome ambiente di programmazione integrata per sistemi dirobotica che fanno uso di sistemi di visione artificiale.L’evento ha avuto luogo lo scorso dicembre presso'Kilometro Rosso', il Parco Scientifico Tecnologico diStezzano (Bergamo), che ospita aziende, centri di ricerca,laboratori e attività di produzione hi-tech. Per via dell’inat-teso numero di partecipanti, che ha oltrepassato notevol-mente la capienza della sala, l'evento è stato replicato adistanza di una settimana presso la sede di NationalInstruments di Milano.Durante la data di Bergamo, davanti a una sala gremita da110 partecipanti appartenenti sia al mondo accademico siaal settore della progettazione, gli ingegneri IgnazioPiacentini e Francesco Romanò di ImagingLab, insieme aRoberto Isernia, Technical Marketing Engineer di NationalInstruments, hanno illustrato il tema dell’integrazione stret-ta di visione e robotica nella progettazione e realizzazione

di macchine automatiche in settori industriali comel’assemblaggio, il packaging e il testing, dimostrando comela scelta di una piattaforma software unica e integrata nonsolo possa ridurre i tempi di sviluppo e semplificare la pro-grammazione dei robot in applicazioni avanzate, ma possaanche permettere di ottenere prestazioni complessivemigliori con una ottimizzazione sia dei tempi ciclo che dellaflessibilità intrinseca delle macchine automatiche.infatti, il leitmotiv del seminario è stato: 'una piattaforma,infinite soluzioni', vale a dire la possibilità di combinare dif-ferenti tecnologie e periferiche sotto la medesima piattafor-ma: LabVIEW. “In questo modo è possibile rimuovere la

complessità della sintassi specifica diogni tipologia di robot astraendo il sin-golo comando sotto la comune interfac-cia di programmazione”, ha commen-tato Piacentini. Partendo dalla definizione di meccatro-nica, intesa come approccio a livello disistema per la progettazione di sistemi

elettromeccanici che inglobano componenti meccanici, elet-trici, sistemi di controllo e progettazione di software embed-ded, lo speech di Roberto Isernia ha messo in evidenza lacapacità di LabVIEW nel fungere da unico ambiente, apertoe flessibile, per la prototipazione della macchina virtuale tra-mite diversi strumenti di progettazione. Il discorso si è con-cluso con una panoramica sull'ecosistema di visione diNational Instruments.Gli interventi sono stati accompagnati da esempi pratici dimacchine già realizzate tra cui un’applicazione per il test dimoduli di memoria DIMM e un robot per il packaging e iltracking di prodotti cosmetici.Durante la propria sessione l’ing. Ignazio Piacentini e l’ing.Francesco Romanò hanno poi presentato una libreria / tool-kit per la robotica in LabVIEW, che già disponeva di una ric-ca libreria per l’integrazione di sistemi di visione nel mondodelle ‘macchine’. ImagingLab ha però completato l’offertadi NI con lo sviluppo di una libreria / toolkit specifico per larobotica, che permette di dialogare e controllare robot ditipologie e produttori diversi direttamente in LabVIEW.

ITALIA & ROBOT: UN BINOMIOCHE SI CONFERMA VINCENTELabVIE W entra nel mondo del la robot ica. L’ integraz ione di v is ione e robot ica per l ’automazione avanzata del l ’assemblaggio, nel packaging e nel test ing i l tema conduttore del l ’evento “ Vis ione, Robot ica e Automazione nel mondo del Flex ib le Manufac tur ing"

Nad

ia A

lbar

ello

Read

erse

rvic

e.it

n. 9

62

41

National Instruments offre un’ampia gamma di servizidi supporto tecnico, di manutenzione e programmi diformazione per consentire ai propri clienti di intra-

prendere rapidamente lo sviluppo delle applicazioni e inte-grazione dei propri sistemi di misura e controllo. Mediante le proposte di formazione e certificazione offer-te, i servizi per la manutenzione dell’hardware, i servizi di

supporto tecnico e consulenza specialistica, NationalInstruments si impegna a soddisfare le diverse necessità disupporto nel corso delle attività di progettazione, sviluppoe installazione delle apparecchiature di misura e controlloper garantirti un successo duraturo nell’impiego e nellamanutenzione dei sistemi. I servizi messi a disposizione da National Instruments nellediverse fasi di progetto, dall’avviamento (startup) dell’ap-plicazione, allo sviluppo, fino all’installazione e all’utilizzo(mantenimento) dei sistemi, permettono di:

• ridurre i tempi di sviluppo e i costi di manutenzione;• mantenere costantemente aggiornati software e hard-

ware impiegati con le funzionalità più recenti;• garantire l’accuratezza e l’attendibilità delle prestazioni

di misura durante tutto il ciclo vita dei sistemi sviluppati;• evitare costi inaspettati per la manutenzione dell’hard-

ware; • limitare i tempi di fermo macchina riducendo al minimo

le spese di disservizio a seguito di guasti;• sviluppare e accrescere le competenze del personale tec-

nico per sfruttarne al meglio le capacità.Per avere maggiori informazioni relative ai servizi offerti daNational Instruments, partecipate a NIDays 2009 – ForumTecnologico sulla Progettazione Grafica di Sistemi(ni.com/italy/nidays).

Avrete la possibilità diincontrare gli NI ApplicationEngineer allo stand Servizi eSupporto Tecnico dell’areaespositiva e di scoprire le ultimenovità sui servizi hardware e soft-ware, la formazione e il programma dicertificazione.

Maggiori informazioni disponibili alla pagina webni.com/services/i

SERVIZI E SUPPORTODI NATIONAL INSTRUMENTS

Nad

ia A

lbar

ello

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

Rea

ders

ervi

ce.i

t n

. 963

E V E N T I

42

09L A F O R M A Z I O N E D I N A T I O N A L I N S T R U M E N T S

Come sempre, vi segnaliamo i prossimi corsi di formazione di LabVIEW e i principali eventi internazionali che vedranno la partecipazione di National Instruments

LABVIEW BASE I: INTRODUZIONEMilano: 6-8 aprile

11-13 maggio

22-24 giugno

Roma: 18-20 maggio

Padova: 16-18 giugno

LABVIEW BASE II: SVILUPPOMilano: 14-15 maggio

25-26 giugno

Roma 21-22 maggio

Padova 23-24 giugno

LABVIEW INTERMEDIATE I: TECNICHE DI DESIGN PROFESSIONALIMilano: 27-29 aprile

Roma: 30 marzo-1 aprile

LABVIEW INTERMEDIATE II: CONNETTIVITÀMilano: 21-22 maggio

Roma: 2-3 aprile

Padova: 12-13 maggio

LABVIEW ACQUISIZIONE DATI E CONDIZIONAMENTO DEI SEGNALIMilano: 21-22 aprile

Roma: 22-24 giugno

ACUSTICA & VIBRAZIONI BASEMilano: 2-3 aprile

LABWINDOWS/CVI I: INTRODUZIONEMilano: 6-8 maggio

LABVIEW COMPACTRIOMilano: 15-17 giugno

LABVIEW REAL-TIMEPadova: 19-21 maggio

Verificate il calendario aggiornato alla pagina web

ni.com/training/i

SEDI DEI CORSI

MILANO

presso gli uffici National Instruments Italy srl

Via Anna Kuliscioff 22, 20152

Tel.: 02-41309217

Fax: 02-41309215

Email: [email protected]

PADOVA

presso il Centro di Formazione Certificato NI

di I.R.S. Srl, Via Vigonovese 81/A, 35127

Tel.: 049-8705156

Fax: 049-7625206

Email: [email protected]

ROMA - presso Pick Center

Piazza Marconi 15, 00192

Tel.: 02-41309217

Fax: 02-41309215

Email: [email protected]

NOVITÀ!

CORSI DI FORMAZIONE SULLE MISURE CON L’UTILIZZO DEL PERSONAL COMPUTERNational Instruments ha ampliato l’offerta formativa

disponibile con una serie di corsi orientati ai metodi

di misura tramite l’utilizzo di strumentazione basata

su Personal Computer. Di seguito i dettagli e le date

aggiornate dei prossimi corsi in programma.

LA MISURA CON IL SUPPORTO DEL PERSONAL COMPUTERCorso per non esperti di informatica, della durata complessiva

di due giorni, dedicato a chi intende sviluppare competenze

utili a confrontarsi con sviluppatori, progettisti di sistemi

e fornitori di componenti per misura e acquisizione dati.

È richiesta una conoscenza di base di teoria della misura

e alfabetizzazione informatica. Obiettivo del corso è di fornire

ai partecipanti, responsabili o tecnici di laboratorio

e di produzione, le basi per poter affrontare le problematiche

relative all’utilizzo del PC per la gestione di misure

di qualsiasi genere.

43

L A F O R M A Z I O N E D I N A T I O N A L I N S T R U M E N T S

CORSO SPECIALISTICO: MISURE ELETTRICHECON IL SUPPORTO DEL PERSONAL COMPUTERCorso specialistico dedicato a tecnici che necessitano

di informatizzare la misura di grandezze elettriche, siano queste

specifiche o generali tramite l’utilizzo del Personal Computer.

Obiettivo del corso è fornire ai partecipanti tutte le conoscenze

utili a definire completamente da un punto di vista informatico

le migliori soluzioni per effettuare misure elettriche. Il corso,

della durata di un giorno, è dedicato a tecnici di laboratorio

o di produzione, che abbiano già una formazione di base

di misure elettriche e che intendano sfruttare le potenzialità

dei sistemi di acquisizione dati. Questo per risolvere

problematiche di misura digitale di segnali elettrici, assieme

alla possibilità di archiviazione, visualizzazione ed analisi

dei segnali. Prerequisiti: frequentazione del corso la misura

con il supporto del Personal Computer o competenze equivalenti.

CORSO SPECIALISTICO: MISURE TERMOTECNICHE CON IL SUPPORTO DEL PERSONAL COMPUTER Dedicato a tecnici che necessitano di informatizzare

le misure di temperatura e termotecniche più in generale,

per applicazioni nei settori più svariati.

Obiettivo del corso è fornire ai partecipanti tutte le conoscenze

utili a definire completamente da un punto di vista informatico

le migliori soluzioni per effettuare misure di temperatura,

di umidità, pressione e portata.

Il corso è dedicato a tecnici di laboratorio o di produzione che,

intendano sfruttare le potenzialità dei sistemi di acquisizione dati

con il supporto del Personal Computer per risolvere problemi di

misura digitale di grandezze termotecniche, assieme alla

possibilità di archiviazione, visualizzazione ed analisi dei segnali.

CORSO BASE:

La misura con il supporto del Personal Computer

Roma: 25-26 maggio

CORSO SPECIALISTICO:

Misure Elettriche con il supporto del Personal Computer

Roma: 27 maggio

CORSO SPECIALISTICO:

Misure Termodinamiche con il supporto del Personal Computer

Roma: 28 maggio

CORSO BASE:

La misura con il supporto del Personal Computer

Padova: 9-10 giugno

CORSO SPECIALISTICO:

Misure Elettriche con il supporto del Personal Computer

Padova: 11 giugno

CORSO SPECIALISTICO:

Misure Termodinamiche con il supporto del Personal Computer

Padova: 12 giugno

Verificate il calendario aggiornato alla pagina web

ni.com/training/i

ALTRI APPUNTAMENTI

MOSTRE CONVEGNOVFM - VISION FOR MANUFACTURING

Mostra-Convegno focalizzata sulla tecnologia

della visione artificiale

Milano: 11 giugno

FIEREMEC-SPE, MECCANICA SPECIALIZZATA

Parma: 19-21 marzo

AEROSPACE TESTING

Monaco: 21-23 marzo

IPACK-IMA

Milano: 24-28 marzo

AFFIDABILITÀ & TECNOLOGIE

Torino: 7-8 aprile

HANNOVER MESSE

Hannover: 20-24 aprile

EVENTI NATIONAL INSTRUMENTSNIDAYS SPAIN

Barcellona: 12 marzo

Bilbao: 17 marzo

NIDAYS ROADSHOW

Aprile/Maggio

AEROSPACE FORUM

Roma: 28 maggio

Verificate il calendario aggiornato degli eventi National

Instruments alla pagina web ni.com/italy/eventi

44

09

INTERVISTAAlessandro Gasparetto è Professore Straordinario diMeccanica Applicata alle Macchine presso ilLaboratorio di Meccatronica di Pordenone delDipartimento di Ingegneria Elettrica, Gestionale eMeccanica dell'Università di Udine.

D:Ci descriva l’utilizzo di NI LabVIEW inambito accademico, e nello specifico,

nel suo programma didattico…

R:Nell’ambito della Meccanica Applicata,l’utilizzo di LabVIEW e della strumentazione

National Instruments è storicamente collegato alcorso di Meccanica delle Vibrazioni. Oltre alla partedi teoria, il corso comprende una parte sperimentalenella quale gli studenti apprendono le tecniche diacquisizione dei segnali vibratorie familiarizzano con gli strumen-ti di misura e di analisi. Nell’ultimo decennio, conl’introduzione dei corsi universi-tari di Meccatronica, l’utilizzo diLabVIEW, dei suoi toolkit e dellastrumentazione NI, ha avuto unulteriore sviluppo. La meccatroni-ca abbraccia infatti numerosiaspetti che vanno dalla progetta-zione meccanica alla progetta-zione elettronica e del software,passando per il controllo intempo reale, i sistemi di visione,la programmazione di microcontrollori, ecc. LabVIEWrappresenta uno strumento didattico ideale, nelquale tutti i vari aspetti della meccatronica possonoessere appresi, studiati e analizzati, all’interno di ununico ambiente di sviluppo. Un analogo ragionamento vale anche per il corso diMeccanica dei Robot. In questo caso l’ambienteLabVIEW serve come strumento di simulazione cine-matica e dinamica dei robot, nonché per la pianifica-zione delle traiettorie e per la simulazione delle leggidi controllo degli assi.Oltre ai citati corsi di Meccanica delle Vibrazioni,Meccatronica e Meccanica dei Robot, nella sede diPordenone, stiamo introducendo l’ambienteLabVIEW anche nel corso di Fondamenti diMeccanica Teorica e Applicata e nel corso diMeccanica Applicata alle Macchine.

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

apprendimento?

R:LabVIEW è uno strumento che permettel’integrazione di numerosi tool di sviluppo

ingegneristico, che vanno dall’acquisizione deisegnali, alla simulazione e al controllo di sistemi, iltutto in un unico ambiente di programmazione intui-tivo, semplice all’uso e robusto. L’acquisizione disegnali reali sul campo o la generazione di segnalivirtuali è resa molto semplice anche per studenti che,magari, non hanno competenze elettroniche o diprogrammazione specifiche. Tale facilità permetteallo studente di concentrare l’attenzione sull’analisidei segnali o nello sviluppo di tecniche opportune dicontrollo, più che allo sviluppo di sistemi di acquisi-zione dedicati.

D:In che modo NI LabVIEWfacilita o velocizza

l’acquisizione dei concettichiave del percorso di studiofferto?

R:La facilità con la quale si puòrealizzare un sistema di

acquisizione o un dispositivo dicontrollo, permette agli studenti diverificare sperimentalmente quan-to viene descritto nelle lezioni teo-riche dal docente. Infine, la piatta-forma didattica ELVIS è uno stru-

mento indispensabile nel nostro corso diMeccatronica nella sede di Pordenone. Qui gli stu-denti sono chiamati a progettare e realizzare ex-novo robot mobili. Sulla piattaforma ELVIS vengonoprogettati e provati i circuiti dell’elettronica dipotenza e di controllo prima della realizzazione delprototipo.

D:Quali sono le prospettive di carrieraconcrete che si profilano dopo aver

terminato il percorso?

R:Al termine dei nostri corsi, lo studente è ingrado di maneggiare agevolmente sia strumen-

ti di progettazione meccanica, sia elettronica e dicontrollo. Ha in questo modo una visione globale delsistema meccatronico o del processo industriale con

I N T E R V I S T A

45

I N T E R V I S T A

il quale si troverà ad interagire. È questa la richiestache ci viene da importanti settori industriali dellazona.

D:Crede che LabVIEW possa, per lo meno,rappresentare o un vantaggio tangibi-

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

R:Proprio in questo periodo abbiamo avuto uncospicuo finanziamento grazie ad

un’importante azienda del Pordenonese interessataalla competenza del nostro gruppo di ricerca con isistemi Hardware In the Loop (HIL). Questa tecnicapermette di ridurre notevolmente i tempi di test deiprodotti industriali e il cosiddetto 'time to market'. LabVIEW e la strumentazione NI rappresentanoun’ottima piattaforma per lo sviluppo della tecnolo-gia HIL e quindi risultano di notevole interesse per ilmondo industriale, e chi ha competenze pregresse intale settore non può che rimanerne avvantaggiato.

D:Ci descriva la collaborazione del -l’Università di Udine con National

Instruments in merito al coinvolgimento alseminario tecnico Automazione Avanzataper i Costruttori di Macchine, che ha toccatonove città italiane, proponendosi di illu-strare come ridurre i costi di progettazioneper i costruttori di macchine industriali.

R:L’idea di collaborazione è nata la scorsa estatead Austin, dopo la presentazione, in occasione

dell’NIWeek08 a cui ha partecipato il mio collabora-tore ing. Vanni Zanotto, della versione alpha del nuo-vissimo Mechatronics toolkit di LabVIEW. Sono rimasto favorevolmente colpito dalle caratteri-

stiche di questo toolkit. Con il mio gruppo di ricercaabbiamo cominciato quindi a studiare il software e avalutarne le caratteristiche. Abbiamo riprodottoalcuni 'test-case' relativi ad esempi reali di proget-tazione, relativi sia ad applicazioni in ambito indu-striale, sia ad applicazione di ricerca. I risultatihanno evidenziando le caratteristiche del toolkitche, seppur ancora con certe limitazioni, dimostraottime potenzialità. Il toolkit rappresenta la chiave di volta per la pro-gettazione meccatronica di macchine automaticheintesa come sinergia e interazione reale tra le variestrutture aziendali che concorrono alla progettazio-ne della macchina. LabVIEW possiede da temponumerosi toolkit per la simulazione dinamica, la pro-gettazione elettronica e lo sviluppo di applicativi perl’acquisizione di segnali e il controllo di processo,tutto all’interno di un unico frame work. Tuttaviamancava il collegamento di questi tool con il proto-tipo virtuale della macchina. Il progettista del con-trollo, quello del software e quello elettronico hannonecessità, come detto, di intervenire si dall’inizionella progettazione della macchina, per evidenziareal progettista meccanico le proprie necessità proget-tuali e suggerire miglioramenti. Con il toolkit di mec-catronica ora questo è possibile. Il Mechatronics toolkit infatti permette al frame workdi LabVIEW di interagire con il software di progetta-zione CAD SolidWorks e l’ambiente di simulazionedinamica CosmosMotion. In questo modo tutti glistrumenti di LabVIEW possono effettivamente intera-gire con il prototipo virtuale della macchina. In questi seminari abbiamo quindi cercato di mostra-re ai responsabili di progetto presenti, quali sianoeffettivamente i vantaggi di una progettazione mec-catronica.

Chi è Alessandro GasparettoNato a Rovigo il 26 ottobre 1968, Alessandro Gasparetto è attualmente professore straordinario del settore scientifico-disciplinare ING-IND/13 (Meccanica Applicata alle Macchine) presso la Facoltà di Ingegneria dell’Università di Udine, di cui faparte dal 1995. Presso questa Facoltà, nelle due sedi di Udine e Pordenone, tiene i corsi di Meccanica dei Robot, Meccatronica,Dinamica e Vibrazioni, Meccanica Applicata alle Macchine, Fondamenti di Meccanica Teorica ed Applicata.Gli attuali temi di ricerca del prof. Gasparetto si collocano nell’ambito della Meccatronica e della Robotica, in collaborazionecon altri atenei italiani ed esteri, nonché con importanti realtà industriali e centri di ricerca internazionali. Il prof. Gasparetto èautore di circa 80 pubblicazioni scientifiche internazionali, e coinventore di alcuni brevetti nel settore dell’automazioneindustriale. Tiene regolarmente corsi e seminari di Robotica presso l'Université Blaise-Pascal di Clermont-Ferrand (Francia), laUniversidad de Murcia (Spagna) e la Politehnica Timisoara (Romania); ha inoltre collaborazioni didattiche e di ricerca connumerose altre Università europee ed extraeuropee.Sito web: www.mechatronics.it -> personale -> Gasparetto

Readerser v ice. i t n . 970

46

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

INGEGNERE ELETTRONICO

Azienda leader nel settore metalmeccanico

con sede a Legnago (Verona), ricerca urgen-

temente Ingegnere Elettronico (rif. BER/2-

VR-HJ). La risorsa verrà inserita nella funzio-

ne di ricerca e sviluppo per la progettazione

di schede elettroniche. E’ richiesta laurea

tecnica, conoscenza dei linguaggi di pro-

grammazione C++ e LabVIEW e un’espe -

rienza lavorativa di almeno 1 anno.

Sede di lavoro: Legnago.

Gli interessati/e (l. 903/77), previa consul-

tazione delle comunicazioni inerenti la pri-

vacy (D.Lgs. 196/2003), possono inviare il

curriculum a:

Unimpiego Confindustria S.r.l. sede di

Verona, Via Caserma Ospital Vecchio angolo

Piazza Cittadella, 37122 Verona

fax: 045.8026910

oppure a: [email protected]

indicando sulla busta o nell'oggetto dell’e-

mail il riferimento.

Data di pubblicazione: 24/12/2008

www.unimpiego.it

ELECTRONICS DEVELOPER JUNIOR

Per nostro cliente, azienda leader nella pro-

duzione di macchine di alto contenuto tec-

nico, ricerchiamo un Electronics Developer

Junior. La persona andrà a far parte del

team Sviluppo Prodotto riportando al rela-

tivo responsabile.

Sarà impegnato nella gestione delle proble-

matiche elettroniche applicate alle macchi-

ne: hardware, firmware e software; parteci-

perà direttamente e operativamente allo

sviluppo delle tecnologie elettroniche e a

quello delle macchine (supporto all’esecu-

zione delle prove, formalizzazione degli stati

di avanzamento, validazione prototipi…).

Il candidato ideale ha i seguenti requisiti:

Laurea in Ingegneria Elettronica; esperien-

za specifica nel campo dell’elettronica

applicata alle macchine.

Costituiranno titolo di preferenza:

• la conoscenza delle logiche di programma-

zione software LabVIEW, LabWindows/CVI,

sistemi real-time, Visual C/ C++;

• la conoscenza delle logiche di program-

mazione firmware e dei relativi linguaggi;

• brevi esperienze pregresse con ruoli tecni-

co-trasversali.

L’azienda offre un contratto a tempo inde-

terminato, nonché un ambiente stimolante

e confrontativi, con ottime opportunità di

crescita professionale.

Sede di lavoro: Cernusco sul Naviglio (MI).

Gli interessati possono inviare CV al seguente

indirizzo mail: [email protected]

o via fax allo 02/20402953 specificando il

RIF. EDJ. I dati saranno trattati secondo la

legge 196/03.

Data di pubblicazione: 31/12/2008

www.consulemme.com

RESPONSABILE INDUSTRIALIZZAZIONE

Per azienda operante nel settore della com-

ponentistica oleodinamica, selezioniamo un

responsabile industrializzazione. Il candida-

to diplomato laureato in ingegneria mecca-

nica, 30/35 anni, rispondendo al direttore

tecnico, si occuperà della progettazione e

sviluppo di componenti oleodinamici non-

ché dell’industrializzazione del prodotto.

Esperienza lavorativa: la risorsa ha matura-

to un'esperienza significativa nella proget-

tazione meccanica nel settore oleodinami-

co, conosce i software Inventor e LabVIEW e

possiede una buona conoscenza della lin-

gua inglese. Completano il profilo dinami-

smo, determinazione e intraprendenza,

ottima capacità di lavoro in autonomia e

spiccate doti di problem-solving.

Titolo di studio: diploma o laurea in inge-

gneria meccanica.

Lingue conosciute: inglese buono.

Età: 30/35 anni.

Luogo di lavoro: Milano ovest.

Tipo di contratto: interminato.

RIF: RH478/08

L'offerta si intende rivolta a candidati di

ambo i sessi ai sensi della Legge n° 903/77.

Inviare curriculum con autorizzazione al

trattamento dei dati personali ai sensi del

Dlgs 196/03.

Data di pubblicazione: 30/12/2008

www.incontro-lavoro.it

TEST ENGINEERS

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.); expe-

rience with serial-mass production and

mechanical structures. good analytical and

problem solving skills; knowledge of test

methodology, planning and execution; pro-

duction tests; making testing equipment for

production tests; automatic reading/tests

with i.e. LabVIEW; programming in LabVIEW

and preferably also C++ and C#.

Contact: [email protected]

Country: Denmark

Sector: IT and Telecommunications

Ref. DKIT25948

Data di pubblicazione: 24/12/2008

www.chronosconsulting.com

IMPIEGATO TECNICO

Per azienda in zona Mestrino (PD), ricer-

chiamo un Impiegato Tecnico in possesso di

laurea in ingegneria elettronica o di diplo-

ma di perito elettronico, preferibilmente

con minima esperienza e conoscenza base

di LabVIEW. Prospettive di assunzione a

tempo indeterminato.

Offerta numero: 13309; Filiale: Mestrino;

indirizzo: Via IV Novembre 13 - 35035

Mestrino (PD) Telefono: 049/9005141;

e-mail: [email protected].

Data di pubblicazione: 09/01/2009

www.umana.it

0236519123

READER SERVICE

Dati sul lettore

Nome

Cognome

Azienda

Indirizzo Azienda

Cap Città

Prov. Nazione

Tel.

Fax

e-mail

Consenso ai sensi dell’art.23 del D.Lgs. n.196 del 30 giugno 2003 (riportati anche sul Vs. sito

www.ilb2b.it), esprimo il consenso a che i dati qui contenuti vengano trattati, comunicati e diffusi da voi

e/o da Vs. aventi causa per l'attività di promozione e diffusione dei Vs. prodotti ed anche messi a dispo-

sizione di operatori qualificati e/o aziende del settore.

Sempre più al passo con i tempi, LabVIEW WORLD è la prima rivista

in Italia a fornirvi il servizio di reader service on line. Ora è possibile rice-

vere maggiori informazioni su prodotti e servizi presentati negli articoli

e/o inserzioni pubblicitarie LabVIEW WORLD semplicemente regi-

strandosi al sito:

WWW.READERSERVICE.IT Compilate la cartolina virtuale e noi provvederemo a inoltrare

tempestivamente la richiesta all'azienda interessata, che invierà

al vostro indirizzo tutta la documentazione disponibile.

In alternativa compilate questa scheda e inviatela al numero di fax:

NUMERO DELLA RIVISTA:

NUMERI DI READER SERVICE

9

www.READERSERVICE.IT

IL READER SERVICE E’ ON LINE!

IL READER SERVICE E’ ON LINE!

EDIZIONI FIERA MILANO EDI

FIERA MILANO EDIZION

MILANO EDIZIONI F

FIERA MILANO

EDIZIONI F

FIERA

READE

VICE

SERVICE

READER SE

DER SERVICE

READER SERVICE

READER SERVICECE

READER SERVICE READ

IL SERVIZIO È GRATUITO

La carta ti va stretta?Raddoppia il tuo business

BIM

AG

E.IT

4 canali tematici:Elettronica, Automazione, Meccanica, Ambiente/Chimica

4 newsletter1.597.283 page views*

365.421 visitatori unici***Fonte: Google Analytics, novembre 2007 - ottobre 2008

www.ilb2b.it è il portale dedicato al mondo dell'industria dove il

visitatore può leggere le più importanti notizie, effettuare ricerche

mirate di prodotti e aziende, accedere ad approfondimenti,

recensioni, e altre informazioni qualificate.

Parte integrante dei servizi informativi de ilb2b sono: le newsletter.

Moderno strumento di informazione curato dalle redazioni delle

riviste tecniche più autorevoli nei rispettivi settori.

ELETTRONICA E AUTOMAZIONE27.000 lettorinewsletter quindicinale - 19 numeri/annowww.ilb2b.it/newsletter_elettronica_automazione.asp

MECCANICA, PROGETTAZIONEE COMPONENTISTICA28.000 lettorinewsletter mensile - 11 numeri/annowww.ilb2b.it/newsletter_meccanica.asp

AMBIENTE ENERGIA E CHIMICA12.000 lettorinewsletter mensile - 11 numeri/annowww.ilb2b.it/newsletter_ambiente.asp

SOLUZIONI SOFTWARE PER L’INDUSTRIA14.000 lettorinewsletter mensile - 11 numeri/annowww.ilb2b.it/newsletter_software.asp

Per maggiori informazioni: [email protected] Tel. 02 366092.526

readerservice.it n.22988

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

©2008 National Instruments. Tutti i diritti riservati. CompactRIO, LabVIEW, National Instruments, NI e ni.com sono marchi commerciali di National Instruments. Altri prodotti e nomi aziendali citati sono marchi commerciali delle rispettive aziende. 2008-10121-821-122

02 41.309.1>> Scopri come semplificare la tua progettazione embedded

alla pagina web ni.com/embedded/i

Progettazione Embedded.

Più semplice di così...

Preparati ad affrontare il mercato più velocemente con la progettazione grafica di sistemi, un approccio che integra

software grafico aperto e hardware commerciale e che ti permette di progettare in modo iterativo e di implementare

semplicemente e velocemente il tuo progetto sulla piattaforma embedded di National Instruments. Il sistema

NI CompactRIO ti offre una piattaforma ideale per la prototipazione e la produzione in serie grazie a microcontrollore

integrato, RTOS, FPGA programmabile, condizionamento di segnale integrato, I/O modulari e un’integrazione

completa con l’intuitivo software NI LabVIEW.

Strumenti tradizionali di

progettazione di sistemi

Piattaforma di progettazione

grafica di sistemi

readerservice.it n.22313


Recommended