Professional Documents
Culture Documents
05
E 5,00 L A P R I M A R I V I S TA I TA L I A N A P E R L A CO M U N I T L A BV I E W
FEBBRAIO
2008
IL FUTURO DI LABVIEW PROGETTAZIONE DI SOFTWARE PER IL CONTROLLO MACCHINA RICHIAMARE SHARED LIBRARY IN LABVIEW
In caso di mancata consegna restituire alleditore che si impegna a pagare la relativa tassa presso il CMP di Roserio - Milano
readerservice.it n.19995
SCENARIO
05
SOMMARIO
05
SHARED LIBRARY 29 RICHIAMARE IN LABVIEW
Vediamo come utilizzare il Call Library Function Node per richiamare DLL su Windows
03 IL FUTURO DI LABVIEW
44 APPUNTAMENTI 45 INTERVISTA
Oltre ad organizzare propri corsi e seminari, National Instruments sar presente a numerosi eventi
25 MIGLIORARE UN VI ESISTENTE
47 LABVIEW E LAVORO
SEI UN FAN DI LABVIEW?
AAA
Per il contributo apportato al progetto LabView World, si ringraziano: Valerio Alessandroni, Lino Fiore, Matteo Bambini, Nadia Albarello, Matteo Foini, Alessandro Ricco. Progetto grafico e impaginazione: Bimage.it
A TU PER TU
05
IL FUTURO DI LABVIEW
Valerio Alessandroni
In occasione degli NIDays, e prima dellannuale conferenza NIWeek di Austin, abbiamo lonore di ospitare sulle nostre pagine James Truchard, il mitico Dottor T, cofondatore di National Instruments e ideatore, insieme a Jeff Kodosky, di LabVIEW
Pur senza entrare nel merito di progetti straD : tegici delicati, che non possono essere ovviamente divulgati, pu descriverci a grandi linee che cosa possiamo attenderci, da oggi al 2010, in termini di nuovi prodotti e tecnologie?
R:
Grazie alla nostra visione di progettazione grafica di sistema, abbiamo un focus ben definito sullinnovazione in alcune aree. Per esempio, contiamo di ampliare laccessibilit agli Fpga per gli esperti dei singoli settori, offrendo loro nello stesso tempo maggiori prestazioni. Vi quindi il settore della strumentazione RF, dove introdurremo prodotti di prima classe ed aumenteremo le capacit software. Quindi, metteremo a disposizione piattaforme di rilascio pi complete, per la nostra crescente base di clienti OEM, basate sulla nostra piattaforma RIO differenziata. Infine, continueremo ad offrire, agli esperti dei singoli settori, tool intui-
tivi che permetteranno loro di accedere alle tecnologie pi avanzate e pi importanti nei campi del test, del controllo e della progettazione. I prossimi anni saranno molto interessanti, perch il ritmo di innovazione tecnologica, in continuo aumento (soprattutto per quanto riguarda le tecnologie embedded), render possibili sistemi ciber-fisici che miglioreranno la nostra vita in molti modi diversi, assai pi di quanto sia avvenuto in passato. Lapplicazione dei sistemi embedded si estender in nuove aree e, nello stesso tempo, diventer pi complessa che in passato. Molte di queste nuove applicazioni sono inimmaginabili persino oggi, ma la velocit dellinnovazione accelerer ed avr un impatto globale, a cui sar entusiasmante prendere parte. La chiave di volta nei tool software, che offriranno agli esperti dei singoli settori la produttivit necessaria per sfruttare pienamente le nuove opportunit dei sistemi embedded. Il ruolo che NI giocher si baser sul nostro approccio di progettazione grafica di sistema. Esso focalizzato su un obiettivo molto chiaro: mettere in grado gli esperti dei singoli settori, in tutti i campi, di essere il pi possibile produttivi nella progettazione e nellinstallazione di questi sistemi.
Nel 2008 verranno introdotte release imporD : tanti? Che cosa possiamo attenderci dalla nuova versione di LabVIEW che verr lanciata questanno?
R:
Afferma James Truchard: I prossimi anni saranno molto interessanti, perch il ritmo di innovazione tecnologica render possibili sistemi ciber-fisici che miglioreranno la nostra vita in molti modi diversi
Il nostro attuale sviluppo di LabVIEW si basa su un ottimo equilibrio tra feedback degli utenti esistenti, utilizzabilit, stabilit ed integrazione di tecnologie di punta, incluse le piattaforme multicore e le capacit wireless. Il team di sviluppo di LabVIEW sta anche lavorando con impegno per sfruttare molti degli attuali trend industriali nel mercato embedded, creando e favorendo uno sviluppo allinterno della comunit finalizzato a capacit avanzate IP (intellectual property) e a virgola fissa, integrando il silicio di prossima generazione ed assicurando una stretta connettivit con tecnologie e prodotti complementari. La piattaforma LabVIEW continua inoltre a svilupparsi sui modelli di calcolo espansivi offerti dalla messa a punto dei nostri moduli, incluse le capacit di statechart, real-time, Fpga, simulazione e LabVIEW MathScript. Infine, potremo vedere che LabVIEW continuer ad aiutare gli esperti di settore a sviluppare in modo pi rapido ed efficiente in
A TU PER TU
05
BIOGRAFIA
Il dr. James Truchard, presidente e CEO di National Instruments, stato cofondatore dellazienda nel 1976, mentre lavorava presso lUniversit del Texas ad Austin. Sotto la guida di Truchard, National Instruments ha pionierizzato lo sviluppo del software e dellhardware della strumentazione virtuale, che ha rivoluzionato il modo con il quale i tecnici approcciano le applicazioni di misura e automazione. Nel 1986, Truchard e Jeff Kodosky hanno inventato il software di sviluppo grafico LabVIEW. Mentre NI cresciuta, passando da un team di soli tre uomini ad unorganizzazione globale che ha oggi oltre 4.000 dipendenti, Truchard ha gestito lazienda con un approccio deliberatamente conservativo, che ha portato ad un costante successo. Egli ha promosso linnovazione, la crescita e lespansione in unimpresa mondiale di grande successo, pur mantenendo lo spirito imprenditoriale che aveva caratterizzato i primi anni di attivit di National Instruments. Grazie a ci, NI cresciuta costantemente nella sua storia ormai trentennale. Truchard ed il suo team di management hanno creato una cultura aziendale vincente, tanto che la rivista Fortune ha assegnato a NI il titolo di una delle 100 migliori aziende per cui lavorare in America negli ultimi otto anni. Truchard anche un leader industriale riconosciuto. Nel 2007 stato eletto membro della National Academy of Engineering, cosa che largamente considerata la massima onorificenza nella professione ingegneristica. Egli uno dei soli 156 Texani ad essere stato eletto nella storia dellAccademia. Truchard stato anche nominato The University of Texas Distinguished Engineering Graduate e, nel 2003, stato ammesso alla Royal Swedish Academy of Engineering Sciences. Nel 2002, la rivista di elettronica Electronic Design ha inserito Truchard nella sua Engineering Hall of Fame e, nel 2001, la societ di consulenza di mercato Frost & Sullivan ha onorato Truchard come CEO of the Year per il settore del test and measurement. Inoltre, la rivista Worth ha eletto Truchard uno dei migliori CEO per tre anni consecutivi, sottolineando il suo focus su crescita e innovazione a lungo termine. Mentre dirige con successo linnovazione dellazienda nel software e nellhardware, Truchard partecipa a molte organizzazioni comunitarie. Per esempio, egli membro ed ex presidente dellEngineering Foundation Advisory Council, collabora strettamente con lUniversity of Texas ad Austin come membro del Chancellor's Council ed membro dellElectrical and Computer Engineering Visiting Committee delluniversit. Truchard anche membro fondatore dellAustin Software Council ed stato membro dellAdvisory Council del Governatore del Texas Rick Perry sulla Digital Economy. Truchard anche un sostenitore attivo del programma NI LEGO Mindstorms che, insieme alla Tufts University ed alla Pitsco LEGO Educational Division, cerca di introdurre gli studenti di ogni et alle basi dellingegneria e dellinformatica. Nel 2005, il Governatore Perry ha chiesto a Truchard di presiedere il Texas Science, Technology, Engineering, and Math Industry Advisory Council, che affronta direttamente il declino di interesse e di preparazione dei giovani nei confronti di una carriera in campi tecnici. Prima di fondare NI, Truchard ha lavorato come managing director della divisione misure acustiche degli Applied Research Laboratories presso lUniversity of Texas ad Austin. Truchard ha un dottorato in ingegneria elettrotecnica, nonch un Master of Science ed un Bachelor of Science in fisica, tutti conseguiti presso lUniversity of Texas ad Austin. Nella comunit NI, James Truchard familiarmente noto come Dottor T.
anche principali fornitori di silicio, come Analog Devices, ARM e Freescale Semiconductor. Infine, mentre NI continua ad estendere la portata delle sue applicazioni, anche il ruolo del programma Alliance Partner di National Instruments in espansione e della fedele comunit LabVIEW cresce per importanza ed impatto. Per facilitare questa crescita nel futuro, abbiamo costruito una rete di tool di terze parti supportati per organizzare, certificare e promuovere questi tool di terze parti.
R:
Negli ultimi 22 anni, la risposta migliore a questa domanda lhanno data gli utenti LabVIEW - portando LabVIEW nel Large Hadron Collider del CERN, sotto loceano, nello spazio ed in modo autonomo in territori vergini. Parlando in modo pi formale, siamo entusiasti delle nuove capacit di LabVIEW che lo rendono ideale per nuove aree come la progettazione ed i test di alto livello nel campo delle comunicazioni, la vera progettazione embedded, la robotica e la fisica delle alte energie. Ma LabVIEW sta trovando applicazione anche come piattaforma per lingegneria verde a livello globale, permettendo di risparmiare energia e di prevenire linquinamento.
Oggi, LabVIEW un linguaggio universale D : che permette agli sviluppatori ed ai tecnici di tutto il mondo di parlare fra loro, scambiare idee e capirsi. Avevate previsto un tale successo planetario? Che responsabilit sentite di avere per mantenere e migliorare ulteriormente un risultato di questa rilevanza?
tutto il mondo, permettendo a tecnici e ricercatori meccanici, meccatronici, elettrici, biomedicali e di altre specializzazioni di accedere ai progressi tecnologici pi avanzati.
D:
R:
La piattaforma LabVIEW sta diventando sempre pi integrata con prodotti di terze parti. Questa tendenza allintegrazione sar confermata anche in futuro? In caso affermativo, che tipo di tool state attualmente prendendo in considerazione?
R:
Fin dallinizio, LabVIEW ha sempre fatto da battistrada al mercato del test e della misura con driver per strumentazione e connettivit pronti alluso. Infatti, questanno raggiungeremo la quota record di ben 6.000 driver sulla nostra rete di driver per strumentazione, compresa la connettivit con oltre 250 fornitori differenti. Mano a mano che la nostra visione e le capacit dei nostri prodotti sono evolute oltre il test and measurement, il nostro focus sulla progettazione grafica di sistema ha facilitato la creazione ed il continuo supporto di tool embedded e di progettazione di terze parti, tra cui il software Simulink e MATLAB di The MathWorks, SolidWorks ed
Effettivamente, ci eravamo preparati a raggiungere qualcosa di cos importante come LabVIEW diventato semplicemente non sapevamo sempre come arrivarci. Prima che LabVIEW fosse concepito nelle menti di Jeff Kodosky e mia, mi ero prefisso il semplice obiettivo di Fare per i tecnici ci che il foglio di calcolo aveva fatto per gli analisti finanziari. Nei primi anni 80 il settore finanziario iniziava a vedere i benefici offerti dalluso del software per eseguire calcoli che in precedenza erano impossibili o irragionevolmente improduttivi. Tenendo presente questo obiettivo, abbiamo riunito alcuni degli sviluppatori pi capaci per creare quello che oggi conosciamo come LabVIEW. Ma, ancora una volta, siamo soprattutto entusiasti ed orgogliosi dei nostri clienti per quello che sono riusciti a fare con la piattaforma LabVIEW. Sentiamo assolutamente una grande responsabilit non solo nel proseguire un costante miglioramento, ma anche nellintrodurre importanti innovazioni per rendere ancora pi autonoma la comunit. Finch i nostri tecnici rimarranno entusiasti della tecnologia e cercheranno di migliorare la nostra vita
Brad
{
QUI LA VITA DURA.
Pi lambiente industriale lavora in condizioni difcili e pi aumenta la necessit di disporre di prodotti Brad allinterno della rete. Forniamo i prodotti pi resistenti e afdabili adatti alle applicazioni pi esigenti. Offriamo una gamma completa di prodotti per tutte le reti, quali, ad esempio, DeviceNet , PROFIBUS e lemergente Industrial Ethernet per il plant oor. Indipendentemente dai componenti che utilizzate nelle Vostre applicazioni, consentiteci di diventare il Vostro partner principale: BradCommunications, BradConnectivity , BradControl e BradPower.
A presto 25-30 Maggio 2008 Fieramilano, Rho
Brad: il potenziamento dellinfrastruttura industriale tramite prodotti e soluzioni...tramite lautomazione, linnovazione risultati e i.
readerservice.it n.19890
woodhead.com/automation
2008 Molex
W H AT S N E W
05
Molte operazioni comuni in LabVIEW, come manipolare un elemento di un array e inserire il valore risultante nello stesso punto, richiedono la creazione di copie dei dati e il mantenimento di tali valori in memoria. Questo aumenta luso della memoria
on LabVIEW 8.5, potete utilizzare la struttura In Place Element per accedere in modo efficiente agli elementi presenti allinterno di complesse strutture dati: per esempio, eseguire operazioni su un elemento presente allinterno di un array, un cluster,
un variant o una forma donda senza che il compilatore di LabVIEW debba fare copie dei dati e mantenerle in memoria. La struttura In Place Element opera infatti sui dati e li restituisce a livello della stessa locazione di memoria.
Figura 1 - Limmagine descrive una semplice situazione nella quale vengono eseguite operazioni su un elemento di un array ed il risultato viene riposizionato nella stessa posizione dellarray
Figura 2 - Potete guadagnare efficienza rimpiazzando un elemento di un array con la struttura In Place Element
mazione LabVIEW. La fig. 1 descrive uno scenario nel quale potete utilizzare la struttura In Place Element per migliorare lefficienza di un VI. LabVIEW indicizza un array di interi a 32 bit senza segno, incrementa il terzo elemento dellarray e rimette lelemento nella stessa posizione dellarray. Per rimettere il nuovo valore nello stesso array, la funzione Replace Array Subset richiede che colleghiate larray ed i valori degli indici dellarray agli ingressi array ed index della funzione. Quando eseguite il VI, LabVIEW esegue una nuova copia dellarray e la mette in memoria. Potete utilizzare la
W H AT S N E W
a blocchi del primo esempio. In questo caso, tuttavia, LabVIEW non deve creare o immagazzinare copie addizionali dei valori dellarray in memoria. La struttura In Place Element richiede che ogni elemento indicizzato nellarray venga sostituito a livello del nodo presente sul lato destro della struttura. Poich il compilatore LabVIEW sa quale elemento sostituire, LabVIEW non deve creare o immagazzinare copie addizionali dei valori dellarray in memoria.
uno schema a blocchi. La fig. 3 visualizza una struttura In Place Element vuota su uno schema a blocchi. La struttura In Place Element utilizza nodi fissati sulla cornice per eseguire operazioni sui dati. Potete cliccare con il tasto destro sul bordo della struttura e selezionare il nodo appropriato in base al tipo di operazione che desiderate eseguire (fig. 4). Ogni nodo consiste di un terminale sul lato sinistro e uno sul lato destro della struttura (fig. 5). Dopo avere scelto un nodo e collegato un ingresso (un array, un cluster, un variant o una forma donda), potete selezionare un elemento sul lato sinistro della struttura, eseguire operazioni sullelemento allinterno della struttura e collegare il valore risultante sul lato destro per sostituire il valore nella locazione esistente (fig. 6).
struttura In Place Element per evitare di eseguire copie addizionali dellarray e dei valori degli indici, come illustrato nello schema a blocchi di fig. 2. Il nodo Array Index/Replace Elements presente sulla cornice della struttura In Place Element indicizza un array di interi a 32 bit senza segno, incrementa il terzo elemento dellarray e rimette lelemento nella stessa posizione dellarray, analogamente allo schema
W H AT S N E W
05
Figura 7 - Potete utilizzare una struttura In Place Element annidata con For Loop per eseguire operazioni in modo efficiente su tipi di dati estremamente complessi
del cluster o della forma donda a cui la struttura accede semplice (come un I32 o DBL), il guadagno di prestazioni piccolo. In generale, comunque, con la struttura In Place Element potete eseguire operazioni su strutture dati complesse in modo pi efficiente rispetto ai tradizionali metodi di programmazione di LabVIEW. Per esempio, consideriamo il caso di un array di cluster, ciascuno utilizzato per descrivere una persona. Il cluster composto da campi come
Nome, Data di nascita e Occupazione e da un array delle caratteristiche della persona. Per eseguire unoperazione su un singolo campo in tutti i cluster, potete utilizzare la struttura In Place Element ed un For Loop (fig. 7). Senza la struttura In Place Element, LabVIEW eseguirebbe una copia del cluster ad ogni iterazione del For Loop. Questo comporterebbe anche la copia di Nome, Data di nascita e cos via, anche se non dovete eseguire operazio-
ni su tali campi. Non si ottiene un incremento di velocit in tutte le applicazioni, ma la struttura In Place Element comoda quando dovete estrarre un elemento da un tipo di dati complesso, modificarlo e rimetterlo nellarray.
Note sullautore
Laureato in ingegneria nucleare al Politecnico di Milano, Matteo Foini lavora in qualit di Technical Marketing Engineer presso National Instruments Italy
W H AT S N E W
05
Insieme a molti altri miglioramenti e nuove caratteristiche, LabVIEW 8.5 include tool destinati ad aiutare gli sviluppatori a prevenire il cross-linking
uando un VI in memoria fa riferimento ad un subVI diverso da quello presente durante lultimo salvataggio (in altri termini, uno a cui non intendevate fare riferimento), si verifica il problema di cross-linking. Per esempio, LabVIEW potrebbe caricare accidentalmente una revisione passata dello stesso codice e lapplicazione, di conseguenza, presenterebbe un comportamento imprevisto, difficile da capire e correggere: un problema che ha frustrato anche gli utenti di LabVIEW pi esperti.
menti di LabVIEW in memoria hanno un nome unico, ma su disco possono esistere pi VI con lo stesso nome. Di conseguenza, quando si cerca di caricare un VI da disco, LabVIEW controlla innanzitutto se un VI gi presente in memoria ha lo stesso nome e, in base al risultato, chiede di utilizzare il VI in memoria o di scartarlo e utilizzare il VI che sta su disco. Per i subVI per LabVIEW non chiede allutente se vuole usare il VI in memoria o il VI di uguale nome su disco ma aggancia il VI presente in memoria e mostra un messaggio di avvertimento, dove afferma che LabVIEW ha caricato dei VI da posizioni impreviste. Bench sia facile definire il cross-linking, prevenirlo comunque difficile.
Una pratica comune fra gli utenti LabVIEW creare dei backup progressivi di tutte le directory di lavoro; di conseguenza, su una macchina di sviluppo vi sono spesso molte copie di ogni VI. Tra i problemi che il cross-linking pu causare agli utenti ricordiamo: Un comportamento imprevisto del sistema, introdotto dal caricamento di un subVI che ha una funzionalit diversa da quella del subVI che si intendeva richiamare Modifiche accidentali che risultano dalla modifica di un VI diverso da quello previsto o dal salvataggio non intenzionale di VI in versioni pi recenti di LabVIEW
W H AT S N E W
05
Una ridotta produttivit causata dallo spreco di tempo nella ricerca e soluzione del cross-linking e nel ripristino dei VI.
Nuove funzionalit di LabVIEW 8.5 vi aiuteranno a prevenire il cross-linking ed eliminare i conflitti: 1. Opzione Show Full Paths migliorata 2. Nuova pagina Files 3. Nuova finestra di dialogo Resolve Project Conflicts 4. Possibilit di sostituire facilmente un VI in un LabVIEW Project 5. Nuove finestre di dialogo Find Callers e Find SubVIs Per spiegare come potete sfruttare questi nuovi tool con il LabVIEW Project per risolvere i conflitti, esaminiamo ogni nuova caratteristica con un semplice esempio per illustrare ciascun punto.
maticamente la gerarchia di ogni elemento che viene incluso nel LabVIEW Project. Quando aprite un VI da un progetto, LabVIEW aggiunge nelle Dependencies tutti i membri della gerarchia del VI che non sono gi presenti nel LabVIEW Project. LabVIEW organizza le Dependencies in tre cartelle - vi.lib, user.lib e Items in Memory. Quando aprite un VI che non attualmente nel LabVIEW Project, LabVIEW aggiunge il VI dentro Items in Memory. La sezione Dependencies si aggiorna quando aggiungete, rimuovete o salvate un elemento nel LabVIEW Project (fig. 2).
DEPENDENCIES
Potete esaminare i file a cui il LabVIEW Project fa riferimento per localizzare la sorgente del conflitto. Per aiutare a prevenire i conflitti, LabVIEW traccia auto-
10
W H AT S N E W
Figura 6 - Cliccate con il tasto destro su un File e selezionate Replace with per scegliere un nuovo file
modo i percorsi corretti (fig. 5). Questa finestra di dialogo visualizza tutti i conflitti presenti in un progetto. Allinterno della finestra potete confrontare due VI in conflitto con lo stesso nome (si pu richiamare lo strumento di differenziazione grafica esistente in LabVIEW). Potete anche osservare i dettagli di ogni elemento che selezionate, come percorso dellelemento, nome, data di creazione e data di modifica. Mano a mano che risolvete ciascun conflitto nellarea di dialogo, lelenco si aggiorna automaticamente.
CONCLUSIONE
LabVIEW 8.5 ha aggiunto nuove importanti caratteristiche al LabVIEW Project. Tali caratteristiche riguardano anche la risoluzione del cross-linking, un vecchio problema per molti sviluppatori che utilizzano LabVIEW (specialmente per grandi applicazioni). Grazie a queste nuove funzionalit, avete a disposizione vari modi con cui predire, evitare e riparare le situazioni di crosslinking, ottenendo maggiore produttivit e ridotti tempi di debugging.
REPLACE WITH...
Se rilevate che uno o pi VI fanno riferimento erroneamente a subVI sbagliati e non desiderate utilizzare larea di dialogo Resolve Project Conflicts per correggere il problema, avete altre opzioni per eliminare il conflitto. Potete ridirigere tutti i chiamanti in modo che facciano riferimento ad un subVI con un percorso differente cliccando con il tasto destro su un VI in conflitto nel LabVIEW Project e selezionando Replace with dal menu abbreviato per scegliere il corretto subVI su disco (fig. 6). LabVIEW aggiorna automaticamente tutti gli elementi che fanno riferimento al percorso errato con il nuovo percorso.
Figura 5 - La finestra di dialogo Resolve Project Conflicts offre un metodo automatizzato per rimuovere i conflitti dal LabVIEW Project
11
W H AT S N E W
05
LE NOVIT DEL
Il modulo per PDA di LabVIEW 8.5 contiene molte nuove funzionalit e correzioni di bug programmate
saminiamo le nuove funzionalit e correzioni di bug programmate contenute nel modulo per PDA di LabVIEW 8.5.
Figura 1 - Configurazione di un grafico denominato Data per leggere il valore di una forma donda da una shared variable pubblicata in rete
Properties del grafico, non occorre alcun collegamento sullo schema a blocchi per portare i dati nel grafico.
Figura 2 - Dopo la configurazione tramite il men Proper ties del grafico, non occorre alcun collegamento sullo schema a blocchi per por tare i dati nel grafico
12
W H AT S N E W
blocchi (fig. 3). LInline C Node simile al Formula Node di LabVIEW, con supporto e funzionalit addizionali per
la programmazione a basso livello. Potete utilizzare lInline C Node per brevi blocchi di codice che non potete implementare facilmente in VI grafici. LInline C Node supporta qualsiasi porzione di codice C, i n c l u s e direttive assembly e #define, che sinFigura 3 - Si pu utilizzare lInline C Node per aggiungere codice C tatticamente allo schema a blocchi stia fra parentesi graffe in un file C. La verifica sintattica di un Inline C Node avviene in fase di editazione e gli errori vengono indicati da punti rossi sulla barra sinistra dellInline C Node. Alcuni errori, come funzioni o variabili indefinite, non possono essere rilevati prima della compilazione del codice C generato per il VI.
Figura 4 - Il PDA Module suppor ta ora sei tipi di azioni meccaniche per controlli booleani
RUN APPLICATION VI
Potete utilizzare il VI Run Application per e s e g u i r e unapplicazione PDA specificata (fig. 6). Questo VI vi permette di richiamare facilm e n t e unapplicazione su PDA, senza dovere utilizzare una chiamata a DLL o lInline C Node.
Figura 7 - Il PDA Module include ora VI e funzioni per manipolare dati LabVIEW in formato XML
FUNZIONI XML
Il PDA Module include ora i VI e le funzioni Escape XML, Flatten To XML, Read From XML File, Unescape XML, Unflatten From XML e Write to XML File (fig. 7). Potete utilizzare questi VI e funzioni per manipolare dati LabVIEW in formato XML.
Figura 8 - Il PDA Module suppor ta laccensione intermittente per tutti i controlli e gli indicatori booleani, esclusi i controlli di sistema
Figura 9 - E possibile impostare la giustificazione del testo e sottolineare il testo di pulsanti e di controlli e indicatori di tipo stringa, time stamp e numerici
Figura 6 -Potete utilizzare il VI Run Application per eseguire unapplicazione PDA specificata
13
05
Questo ar ticolo illustra una possibile architettura di progettazione software per il controllo macchina, basata sulle macchine a stati
lizzare applicazioni di controllo su controllori LabVIEW Real-Time, inclusi CompactRIO, Compact FieldPoint e PXI. La stessa architettura di base pu funzionare anche su altre piattaforme, come controllori basati su Windows. LabVIEW Real-time un linguaggio di programmazione completo, che offre agli sviluppatori numerose opzioni su come costruire un controllore e permette loro di creare sistemi molto flessibili e complessi. I controllori LabVIEW Real-Time sono utilizzati in applicazioni che spaziano dal controllo delle barre in centrali nucleari, al collaudo Hardware-in-theLoop per le ECU dei motori, dal controllo adattativo per la trivellazione di pozzi petroliferi, al monitoraggio delle vibrazioni ad alta velocit per la manutenzione predittiva. Tuttavia, la grande flessibilit di LabVIEW Real-Time potrebbe anche scoraggiare linizio di una nuova applicazione, specialmente per i programmatori che non hanno familiarit con LabVIEW o con la programmazione di sistemi real-time. Questo articolo non ha lo scopo di fornire unarchitettura valida per ogni applicazione e non vuole sostituirsi ai corsi di formazione su LabVIEW RealTime. E stato scritto per offrire uninfrastruttura operativa ai progettisti di applicazioni di controllo industriale e specialmente a chi ha familiarit con luso dei PLC. Larticolo stato concepito per spiegare come costruire facilmente applicazioni LabVIEW Real-Time in grado di offrire anche la flessibilit necessaria a gesti-
re applicazioni non tradizionali, come I/O bufferizzati ad alta velocit, data logging e visione artificiale.
TERMINOLOGIA
Nonostante vi siano molti modi per costruire unapplicazione di controllo in LabVIEW Real-time, necessario iniziare dalla comprensione di alcuni concetti fondamentali relativi alla programmazione real-time e alle applicazioni di controllo. Responsivit: Unapplicazione di controllo deve essere in grado di intervenire nel caso di eventi come un cambiamento di I/O, un input dal dispositivo HMI o un cambiamento di stato interno. Il tempo richiesto per eseguire unazione dopo un evento noto come responsivit e applicazioni di controllo differenti avranno tolleranze differenti per la responsivit, che possono variare da microsecondi a minuti. La maggior parte delle applicazioni industriali ha requisiti di responsivit compresi fra il millisecondo e qualche secondo. Un criterio di progettazione importante per unapplicazione di controllo la responsivit richiesta, perch essa determiner le velocit dei loop di controllo e influir sulle decisioni a livello di I/O, processore e software. Determinismo e jitter: Il determinismo consiste nella garanzia di ripetibilit dei tempi di un loop di controllo. Il jitter rappresenta una misura del determinismo, cio lerrore che si ha nel mancato rispetto dei tempi-ciclo. Per esempio, se un loop impostato per essere eseguito ogni 50 ms ma
qualche volta viene eseguito a 50,5 ms, il jitter di 0,5ms. Determinismo e affidabilit pi elevati sono i vantaggi primari di un sistema di controllo realtime: un buon determinismo critico per applicazioni di controllo stabili. Un basso determinismo porta a un cattivo controllo analogico e pu rendere un sistema non responsivo. Priorit: La maggior parte dei controllori usa un singolo processore per gestire tutti i task di controllo, monitoraggio e comunicazione. Essendoci cos una singola risorsa (il processore) con pi richieste in parallelo, il programmatore deve trovare il modo per gestire quelle pi importanti. Impostando i loop critici di controllo in alta priorit, ottenete un controllore che presenta ancora buon determinismo e responsivit. Per esempio, in unapplicazione con un loop di controllo della temperatura e funzionalit di logging embedded, il loop di controllo pu essere impostato a priorit pi elevata rispetto alloperazione di logging per ottenere un controllo deterministico della temperatura. Ci fa s che i task di priorit inferiore (logging dei dati, web server, HMI, ecc.) non influiscano negativamente sui controlli analogici o sulla logica digitale.
14
LabVIEW che molto facile costruire ed eseguire un semplice programma. Per esempio, vediamo la logica di un semplice loop PID eseguito su un sistema Compact FieldPoint.
Purtroppo, costruire sistemi pi complessi in LabVIEW richiede unarchitettura pi sofisticata che permetta un migliore riutilizzo del codice, scalabilit e gestione del flusso di esecuzione. Questo paragrafo descrive ed insegna a costruire unarchitettura di base per le applicazioni di controllo ed esegue lo stesso loop PID utilizzando tale architettura. Il controllore pi semplice ha tre sequenze o routine fondamentali: 1. Routine di inizializzazione 2. Routine di controllo 3. Routine di chiusura
inserita nel loop di controllo principale. La routine di inizializzazione dovr quindi: 1. Impostare allo stato di default tutte le variabili interne, incluse le variabili duscita nella tabella di memoria degli I/O. 2. Creare tutte le code necessarie, le FIFO RT, i VI Refnum e scaricare ogni bit file negli FPGA. 3. Eseguire eventuale logica aggiuntiva definita dallutente per rendere operativo il controllore, come la preparazione dei file di log.
lore rileva una condizione di errore, esso interrompe lesecuzione del loop di controllo principale ed esegue una routine di chiusura. La routine ferma il controllore e lo mette in sicurezza: serve solo per lo shutdown del controllore e non la sede per le routine di chiusura della macchina, che invece vanno inserite nel loop di controllo principale. La routine di chiusura deve: 1. Impostare tutte le uscite a uno stato di sicurezza 2. Interrompere tutti i loop paralleli in esecuzione 3. Eseguire qualsiasi logica aggiuntiva come quella di notifica alloperatore di un guasto al controllore o informazioni sullo stato del logging
ROUTINE DI CONTROLLO
La routine di controllo il cuore del controllore, dove viene eseguita tutta la logica utente in forma di loop multipli paralleli. Anche se potete schematizzarla come un loop che esegue lI/O Scan Task, i task ad alta priorit e quindi i task a bassa priorit, in realt si tratta di loop multipli sincronizzati.
Tali routine riguardano lo stato del controllore. Dato che i controllori realtime di National Instruments vi permettono di definire le capacit complete del vostro sistema, dovrete costruire le sequenze in LabVIEW.
ROUTINE DI INIZIALIZZAZIONE
Prima di eseguire il loop di controllo principale, il programma deve eseguire una routine di inizializzazione che prepara il controllore per lesecuzione. Non qui che trova posto la logica di gestione della macchina (come la logica di startup o di inizializzazione della macchina); tale logica dovrebbe essere
Il primo loop scrive e legge gli I/O fisici in una tabella di memoria e viene eseguito per primo. Quindi, i task successivi eseguono la logica utente dalla priorit pi elevata a quella pi bassa, terminando con i task di comunicazione e operazioni ausiliarie che funzioneranno alla minima priorit. Per servire questi ultimi task efficacemente, dovete verificare di avere programmato il vostro controllore garantendo un tempo sufficiente di inattivit del processore.
ROUTINE DI CHIUSURA
Quando si comanda al controllore di interrompere lesecuzione o il control-
15
05
riutilizzo di subVI e funzioni (no hard coding degli I/O) Basso overhead Funzionamento deterministico Facile transizione fra piattaforme hardware Supporto per la simulazione Supporto per interlocks e forcing Eliminazione del rischio legato al cambio degli I/O durante lesecuzione della logica
Nota: Bench non sia intuitivo, scrivere prima sugli output aiuta ad assicurare il funzionamento deterministico e permette di ottenere un programma pi pulito per la gestione degli errori e la transizione a uno stato di shutdown.
to. Un cluster locale permette di offrire scalabilit per task multipli e di utilizzare il modulo LabVIEW StateChart. 2. Eseguire la logica - Gli I/O vengono letti e scritti nei cluster locali per ingressi e uscite 3. Copiare il cluster locale nella tabella di memoria degli I/O - Il cluster locale degli output (strict type def) viene letto e scritto nella tabella di memoria degli I/O. Anche in questo caso, un cluster locale permette di offrire scalabilit per task multipli e di utilizzare il modulo LabVIEW StateChart.
16
ma e configurate il rate in funzione del tempo-ciclo richiesto dalla vostra applicazione. 3. Sullo schema, create due subVI:
scrivere valori di sicurezza sulle uscite alla chiusura e salvate il subVI. Invece di scrivere i valori duscita dalla tabella di memoria degli I/O, scriverete i valori duscita di sicurezza. In questo caso, il riscaldatore dovrebbe spegnersi se si esce dal programma, quindi il valore Output_Heater viene sostituito
Nota: Il comportamento in fase di chiusura definito dal programmatore. Potete decidere di ignorare certi errori o di riprovare a eseguire le operazioni prima della chiusura. 9. Nel top level vi utilizzate il Fault Ma-
Write Outputs e Read Inputs. 4. Aprite Write Outputs. Sullo schema a blocchi, inserite la variabile globale IO Table Global.vi e la logica per scrivere gli output fisici. Questo esempio programmato per FieldPoint, quindi utilizza un FP Write VI. La stessa architettura potrebbe essere facilmente utilizzata per programmare CompactRIO,
PXI o DAQ. 5. Aprite Read Inputs. Sullo schema a blocchi, inserite la variabile globale IO Table Global.vi e la logica per gli
con una costante zero. 8. A livello di top level vi dovete ora aggiungere della logica per decidere quando eseguire la chiusura. Questa chiusura ferma il controllore. Nella maggior parte dei casi, ci dovrebbe avvenire solo al verificarsi di un errore o se il controllore deve essere riprogrammato. Per questo esempio eseguiremo la chiusura in presenza di un errore. Abbiamo creato un cluster di errore globale che ci permette di raccogliere eventuali errori da pi task paralleli. Abbiamo creato due subVI per gestire e gli errori: Fault Manager.vi
nager.vi e il Fault Merge.vi per rilevare gli errori e controllare la struttura case per effettuare lo shutdown in caso di errore. Notate che per ogni task dobbiamo assegnare un Task #: utilizzeremo 0 per la routine di inizializzazione e 1 per il Task di scansione degli I/O.
input fisici. 6. Salvate e chiudete i due subVI. Sul top level vi disponete una struttura case intorno ai subVI Write Outputs e Read Inputs. Nel caso false create un nuovo subVI chiamato Shutdown Outputs, dove entrerete nel caso in cui il controllore debba essere fermato. 7. Aprite Shutdown Outputs.vi e aggiungete la logica necessaria per
e il Fault
Merge.vi.
17
05
impostare la tabella di memoria degli I/O con i valori di default. Vogliamo che il comportamento di default delluscita del riscaldatore sia off, quindi creeremo una costante 0 e la collegheremo alla variabile condivisa Output_Heater. 4. Aggiungete lerror trapping con il
e output) che sono strict type def. 1. In primo luogo viene creato un controllo strict type def custom chiamato Input Cluster.ctl. Nel controllo custom aggiungiamo un cluster e creiamo un controllo chiamato Input_TC. 2. Viene quindi creato un controllo strict type def custom chiamato Output Cluster.ctl. Nel controllo custom aggiungiamo un cluster e creiamo un controllo chiamato Output_Heater.
Fault Merge.vi ed usate il Task #0. 5. Sul top level vi aggiungete una struttura a sequenza (sequence structure) a sinistra dellI/O Scan Task. Collegate il cluster di errore da Default Outputs.vi al bordo del Timed Loop per assicurare lordine di esecuzione. 6. Per la routine di chiusura aggiunge-
Suggerimento: Se utilizzate lo StateChart Module, esso creer automaticamente uno strict type def Input Cluster.ctl e Output Cluster.ctl.
te una sequence structure a destra dellI/O Scan Task e collegate il cluster di errore al bordo della struttura. Aggiungete leventuale logica di chiusura allinterno della struttura. In questo esempio non abbiamo routine di chiusura. 7. Ora avete una routine completa di inizializzazione, scansione degli I/O e chiusura. A questo punto dovete aggiungere i vostri task logici.
Table Global e la logica per leggere gli ingressi e scriverli nel cluster. 6. Salvate e chiudete i due subVI. Sul top level vi disponete una struttura case e la gestione degli errori. Notate che per Fault Merge.vi questo il Task #2. 7. Ora create un subVI chiamato Logic.vi. In questo vi cablerete in ingresso e in uscita i cluster di errore e metterete la vostra logica. Ricordate che la logica deve: Essere eseguita in meno tempo di quello richiesto dal Timed Loop Non accedere direttamente allhardware per letture e scritture degli I/O Non usare while loop se non per mantenere informazioni di stato negli shift register Non usare for loop se non negli algoritmi Non usare wait (attese), ma funzioni di temporizzazione o Tick Count per la logica di timing Non eseguire operazioni non deterministiche, di logging o su forme donda
8. Inserite un vi PID sullo schema a blocchi e collegate le costanti per impostare lintervallo duscita a [10, 0], i guadagni del PID a [10, 0,1, 0] e il setpoint a 350. I guadagni ed il setpoint del PID avrebbero potuto anche essere cablati ad elementi della tabella di memoria degli I/O e pubblicati su un terminale operatore
3. Sullo schema create due subVI, uno chiamato Read Inputs Local e uno chiamato Write Outputs Local. 4. Aprite Read Inputs Local. Sullo
18
componenti per la gestione degli errori. Suggerimento: Si possono utilizzare StateChart per applicazioni di controllo sequenziale, controllo batch o controllo macchina. 9. Sul top level vi collegate il cluster di errore dalla routine di inizializzazione sul bordo del Timed Loop, quindi salvate ed eseguite lapplicazione. Ora possiamo eseguire il programma
serbatoio sulla base delluscita di un totalizzatore di flusso (due processi paralleli, uno per ciascun flusso chimico) 3. Dopo il riempimento del serbatoio, avviare un miscelatore ed aumentare la temperatura 4. Quando la temperatura ha raggiunto 200 gradi, il sistema disattiva i miscelatori e tiene costante la temperatura per 10 secondi 5. Pompare il contenuto in un serbatoio di contenimento 6. Tornare allo stato di attesa Notate che, per semplicit, in questa applicazione le portate dei flussi chimici sono stato codificate a 850, la temperatura a 200 e il tempo a 10 secondi. In unapplicazione reale questi valori potrebbero essere caricati da una procedura o immessi da un operatore.
di controllo della temperatura. Esso ha procedure di avviamento e chiusura, unarchitettura a scansione, subVI riutilizzabili e la gestione degli errori. Questa larchitettura fondamentale per il controllo di macchine utilizzata nel presente articolo. Esamineremo ora un esempio pi complesso che evidenzia i benefici di questo tipo di architettura.
Poich utilizziamo la macchina a stati allinterno della nostra pi ampia architettura di controllo macchina, essa non pu usare istruzioni di attesa n loop, se non per mantenere uno stato o eseguire algoritmi, come un for loop usato per la manipolazione di array. Usate la macchina a stati nelle applicazioni dove esistono stati distinti. Ogni stato pu portare ad uno o pi stati o terminare il flusso del processo. Una macchina a stati si basa sugli input dellutente o su calcoli effettuati allinterno dello stato per determinare in quale stato andare successivamente. Molte applicazioni richiedono uno stato di inizializzazione, seguito da uno stato di default, dove possibile eseguire molte azioni differenti. Le azioni eseguite possono dipendere da input precedenti e correnti, nonch da altri stati. Per eseguire le azioni di azzeramento viene utilizzato comunemente uno stato di chiusura.
MACCHINE A STATI
La maggior parte delle applicazioni di controllo reali molto pi complessa della semplice applicazione PID costruita nellesempio precedente. Bench si possa utilizzare il PID per controllare un setpoint di temperatura, esso sar solo un piccolo componente nellapplicazione. Un esempio un po pi realistico pu essere quello di un reattore chimico. In questa applicazione immaginaria, il controllore deve: 1. Attendere dalloperatore un comando di partenza con la pressione di un pulsante 2. Misurare due flussi chimici in un
19
05
Per costruire questa applicazione, il primo passo quello di mappare la logica e i punti di I/O. Poich questa applicazione implica una sequenza di passi, uno schema di flusso un ottimo tool per pianificare lapplicazione stessa. Qui sotto sono riportati uno schema di flusso per lapplicazione e un elenco dei segnali di I/O. Ogni stato in una macchina a stati esegue unazione unica e richiama altri stati. Le transizioni fra gli stati dipendono dal verificarsi o meno di qualche condizione o sequenza. Tradurre il diagramma di transizione di stato in uno schema a blocchi LabVIEW richiede i seguenti componenti: Case structure - Contiene un caso per ogni stato e il codice per eseguire ciascuno stato Shift register (registro a scorrimento) - Contiene le informazioni di transizione fra gli stati State functionality code Implementa la funzione dello stato Transition code - Determina lo stato successivo nella sequenza Per questo esempio utilizzeremo I/O simulati invece di I/O fisici, in modo da
tori interattivi prima della distribuzione sullhardware. La capacit di simulare facilmente I/O un vantaggio di que-
sta architettura. Poich uno stato nella nostra macchina presenta processi paralleli, costruiremo una seconda macchina a stati per rappresentare la logica parallela e richiamarli in quello stato. Usciremo dallo stato solo quando entrambi i processi paralleli saranno terminati.
modo che esegua una transizione da qualsiasi stato e di dare priorit alle transizioni in modo che il comando di interruzione venga eseguito anche se altre transizioni vengono attivate nello stesso tempo. Tutte le funzionalit dello StateChart Module possono essere programmate in LabVIEW, ma il modulo StateChart migliora nettamente il tempo di sviluppo ed molto pi facile da leggere e correggere rispetto alle macchina a stati tradizionali scritte in LabVIEW. Si raccomanda quindi fortemente a chiunque abbia necessit di costruire applicazioni di controllo macchina.
MODIFICA DELLESEMPIO
Il modo pi semplice per iniziare questo progetto quello di modificare lesempio esistente. In questo paragrafo procederemo con la modifica del precedente esempio della miscelazione chimica, dove stato utilizzato il diagramma di stato per costruire lapplicazione. Ci sono quattro passi principali: 1. Modificate I/O Scan Task per leggere e scrivere sugli I/O fisici della vostra applicazione. 2. Modificate la routine di inizializzazione per scrivere i valori di default dei vostri output fisici. 3. Modificate il Task 1 per mappare gli I/O. Cambierete lo StateChart, il Read Inputs Local.vi e il Write Inputs Local.vi. 4. Modificate/riscrivete lo StateChart per adattarlo alla vostra applicazione.
potere testare la nostra logica. A tale scopo, utilizzeremo una variabile globale invece di VI di lettura/scrittura. Questo un modo comodo per testare la nostra logica con controlli e indica-
20
ce degli I/O simulati. 5. Aprite Shutdown Outputs.vi. Modificate il VI in modo che scriva sui vostri I/O fisici invece degli I/O simulati.
Nota sullautore
Chris Washington Product Manager di LabVIEW in National Instruments
SCELTI PER TE
Abbiamo scelto per te alcune risorse utili per approfondire le tua conoscenza di LabVIEW.
Forum ILVG.it www.ilvg.it LabVIEW www.ni.com/labviewzone LAVA - LabVIEW Advanced Virtual Architects http://forums.lavag.org/home.html Community DevZone www.zone.ni.com Community on ni.com http://community.ni.com/ Mindstorm NXT http://www.ni.com/academic/mindstorms/community.htm Contenuti LabVIEW on ni.com www.ni.com/labview LabVIEW on ni.com/italy www.ni.com/labview/i LabVIEW Jobs http://www.labviewjobs.com/ The VI Road Show http://viroadshow.blogspot.com/
21
D A L L A T E O R I A A L L A P R AT I C A
05
ROTANTE
L
R. Russo
Il monitoraggio delle vibrazioni ampiamente impiegato per identificare i malfunzionamenti o per effettuare la manutenzione su condizione del macchinario rotante
INTRODUZIONE
Il monitoraggio delle vibrazioni ampiamente impiegato per identificare i malfunzionamenti o per effettuare la manutenzione su condizione del macchinario rotante. I sistemi disponibili sul mercato non sempre consentono di effettuare in modo semplice, intuitivo e soprattutto a costi contenuti le funzioni tipiche di questo processo, quali: configurazione per il tipo di macchinario, sorveglianza in tempo reale, identificazione dellavaria su segnalazione di allarme,
macchinario rotante, facilmente configurabile per ogni applicazione, eseguire in tempo reale la sorveglianza con visualizzazione allarmi ed identificazione di eventuali inconvenienti attuali o imminenti ed analizzare i dati in post processing con emissione report dello stato del macchinario, il tutto con un sistema a basso costo ma con prestazioni adeguate per il tipo di macchina sotto esame.
22
D A L L A T E O R I A A L L A P R AT I C A
Figura 1
o previsione anticipata di un eventuale guasto futuro, analisi dei dati acquisiti e generazione del report sulla stato della macchina. Il sistema qui illustrato costituito da una scheda multifunzione National Instruments e da un insieme di software applicativi sviluppati in NI LabVIEW. Lacquisizione si basa sulla scheda NI PCI-6284 scelta per numero di canali di ingresso (32 ADC), risoluzione (18 bit), banda passante (500 kHz distribuibili su uno o pi canali), filtro passa basso a 45 kHz, immunit dalle interferenze elettromagnetiche presenti nel PC, interfaccia con i frontend NI BNC-2090, possibilit di acquisizione sincrona con encoder ed infine per il suo costo contenuto. Il programma sviluppato con NI LabVIEW si basa su tre moduli aventi le funzioni principali di: configurazione, acquisizione/monitoraggio ed analisi/reporting. Nella fig. 1 illustrato il pannello real time del sistema.
scelta macchinario da monitorare; scelta condizione di funzionamento; scelta dei parametri da acquisire; metodo di salvataggio dei segnali temporali o degli spettri; frequenza di campionamento, righe spettrali, finestra temporale; caricamento degli spettri di riferimento e definizione della curva limite con cui deter minare le soglie di allarme per ogni punto di misura Durante lacquisizione, lo spettro di riferimento viene sincronizzato con quello di prova, ed in questa fase possibile: effettuare lautorange di ogni canale; visualizzare, su dei grafici da uno a 16: il segnale temporale, lo spettro istantaneo o medio, con scala in velocit o accelerazione; sovrapporre allo spettro in acquisizione la relativa curva limite ricavata dallo spettro di riferimento; visualizzare gli allarmi di superamento curva limite; identificare i picchi dello spettro con: rotazione alberi, ingranamenti, modulazione di fase, modulazione di ampiezza, frequenze tipiche dei cuscinetti (Bpfo, Bpfi, BSF, FTF) e relative armoniche; rilevare i parametri statistici dei segnali in acquisizione (rms, kurtosis, ecc.); rappresentare i diagrammi ad orbita di due trasduttori ortogonali per identificare squilibrio o disallineamento; salvare gli spettri in modo: singolo, continuo o circolare; memorizzare e visualizzare landamento dei picchi dello spettro relativo al cinematismo del macchinario.
MODULO DI CONFIGURAZIONE
Il modulo di configurazione legge da un file Excel la specifica del monitoraggio, definita da: identificazione del macchinario: tipo, modello, ubicazione; modello matematico del cinematismo: rotismi, cuscinetti; punti di misura, tipo di trasduttori, (accelerometri o spostamento a laser) e curva di taratura; condizioni di funzionamento Tali parametri, convertiti in un file binario, vengono associati al macchinario da monitorare al momento in cui viene attivato il modulo di acquisizione.
Note sullautore
R.Russo, AgustaWestland
23
readerservice.it n.15555
SCUOLA DI LABVIEW
05
MIGLIORARE UN VI ESISTENTE
a cura di Matteo Foini
Quando si eredita un VI da altri sviluppatori, questi possono aver aggiunto delle funzionalit senza fare attenzione al progetto, rendendo sempre pi difficile aggiungere in seguito nuove caratteristiche al VI
obsolescenza del software un problema comune quando ereditate un VI da altri sviluppatori. Esso nasce dal fatto che gli altri sviluppatori possono aver aggiunto delle funzionalit senza fare attenzione al progetto, rendendo cos sempre pi difficile aggiungere in seguito caratteristiche nuove al VI stesso. Una soluzione allobsolescenza quella di effettuare il refactoring del software: un processo di riprogettazione attuato per renderlo pi leggibile e manutenibile, in modo tale che il costo del cambiamento non aumenti nel tempo. Il refactoring cambia la struttura interna di un VI per renderlo pi leggibile e manutenibile, senza cambiarne il suo comportamento osservabile. Questo articolo analizza dei metodi per effettuare il refactoring, presentando alcuni problemi tipici della gestione del codice ereditato.
Figura 1 - VI ereditato
25
SCUOLA DI LABVIEW
05
Considerate il VI ereditato presente nella fig. 1. Potete eseguire il refactoring del codice come mostrato nella fig. 2. Il codice che ha subito il refactoring fa le stesse cose del codice ereditato, ma pi leggibile. Il codice ereditato vola molte delle linee guida che avete appreso sullo sviluppo dello schema a blocchi. Attraverso il refactoring, potete riprogettare un VI difficile da leggere e manutenere e renderlo leggibile e manutenibile. Questo ne aumenta il valore perch diventa pi facile aggiungere delle caratteristiche o farne il debug. Il processo di refactoring non cambia il comportamento osservabile. Cambiare il modo in cui il VI interagisce con altri client (utenti o altri VI) introduce dei rischi che non sono presenti quando vi limitate a cambiamenti visibili solo agli sviluppatori. Il beneficio di mantenere i due tipi di cambiamenti separati risiede nel fatto che potete gestire meglio i rischi potenziali.
B. PROBLEMI TIPICI
Quando effettuate il refactoring di un VI, gestite il rischio di introdurre dei bachi facendo piccoli cambiamenti incrementali al VI e verificando il VI dopo ogni cambiamento. Per migliorare lo schema a blocchi, fate piccoli cambiamenti cosmetici prima di affrontare problemi pi impegnativi. Per esempio, pi facile trovare del codice duplicato se lo schema a blocchi ben organizzato e i terminali sono ben etichettati. Sono molti i problemi che possono complicare il lavoro con un VI ereditato. Lelenco seguente descrive problemi tipici e soluzioni di refactoring per rendere i VI ereditati pi leggibili. Lo schema a blocchi troppo disorganizzato Migliorate la leggibilit di un VI disorganizzato spostando degli oggetti allinterno dello schema a blocchi. Per sezioni del VI che sono disorganizzate potete anche creare dei subVI. Per migliorare la leggibilit del VI inserite dei commenti sulle aree che sono disorganizzate.
26
SCUOLA DI LABVIEW
Lo schema a blocchi usa nomi di oggetti scorretti e icone poco significative I VI ereditati spesso contengono controlli e indicatori che non hanno nomi significativi. Per esempio, il nome del controllo numero 1, mostrato nella fig. 3, non indica il suo scopo. Il controllo 2 lo stesso controllo, rinominato per rendere lo schema a blocchi pi leggibile e comprensibile.
mi chiamanti aperti del VI con il nuovo nome. Acq Window Temperature.vi un nome pi significativo per il VI. Anche licona del VI dovrebbe chiarire lo scopo del VI. Le icone di default usate per i VI 1 e 2 nella fig. 4 non rappresentano lo scopo del VI. Potete migliorare la leggibilit del VI assegnandogli unicona significativa, come mostrato per il VI 3. Rinominando i controlli e i VI e creando icone dei VI significative, potete migliorare fortemente la leggibilit di un VI ereditato. Il diagramma a blocchi utilizza logica superflua Leggendo lo schema a blocchi nella fig. 5, notate che esso contiene della logica superflua. Se una porzione dello schema a blocchi non va in esecuzione, cancellatela. Capire il codice che va in esecuzione difficile, ma cercare di capire il codice che non va mai in esecuzione inefficiente e rende inutilmente complicato lo schema a blocchi.
Figura 3 - Assegnazione del nome ai controlli 1 Controllo privo di un nome significativo 2 Controllo rinominato in modo pi efficiente
Anche i nomi e le icone dei VI sono importanti per migliorare la leggibilit di un VI. Per esempio, il nome My Acqu.vi, mostrato in alto nella fig. 4, non fornisce alcuna informazione sugli scopi del VI. Potete dare al VI un nome pi significativo salvando una copia del VI con un nuovo nome e sostituendo tutte le istanze del VI con il VI ribattezzato. Un metodo pi semplice consiste nellaprire tutti i programmi chiamanti del VI che volete rinominare, quindi salvare il VI con un nuovo nome. Quando usate questo metodo, LabVIEW cambia automaticamente i link di tutti i programFigura 5 - Logica super flua
Lo schema a blocchi presenta logica duplicata Se un VI contiene della logica duplicata, dovreste sempre effettuare il refactoring del VI creando un subVI per la logica duplicata. Questo pu migliorare la leggibilit e verificabilit del VI. Lo schema a blocchi non impiega la programmazione a flusso di dati Se nello schema a blocchi ci sono strutture sequenziali e variabili locali, il VI con ogni probabilit non fa uso del flusso di dati per determinare il flusso di programmazione. Dovete sostituire la maggioranza delle strutture sequenziali con schemi di progetto basati su macchine a stati. Cancellate le variabili locali ed effettuate collegamenti diretti quando possibile. Luso pi accettabile delle variabili locali quello di far diventare indicatore un controllo.
Figura 4 - Migliorare il nome e licona di un SubVI 1 VI chiamato in modo non significativo 2 VI rinominato in modo pi efficiente 3 Nome e icona del VI significativi
Lo schema a blocchi utilizza algoritmi complicati Gli algoritmi complicati possono rendere un VI difficile da leggere.
27
SCUOLA DI LABVIEW
05
Quando fate il refactoring di un algoritmo complicato effettuate piccoli cambiamenti per volta e verificate frequentemente il codice, essendo alta la probabilit di introdurre errori. In alcuni casi potete fare il refactoring di un algoritmo complicato usando funzioni integrate in LabVIEW. Per esempio, il VI nella fig. 6 effettua il controllo di nome utente e password rispetto a un database. Potreste effettuare il refactoring di questo VI utilizzando delle funzioni integrate per cercare stringhe, come indicato nella fig. 7. Lo schema a blocchi troppo grande Un VI che ha uno schema a blocchi pi grande della dimensione dello schermo difficile da leggere. Dovete effettuare il refactoring del VI per renderlo pi piccolo. Lazione di scorrimento (scrolling) complica la lettura di uno schema a blocchi e la comprensione del codice.
Potete migliorare uno schema a blocchi troppo grande spostando gli oggetti. Unaltra tecnica per ridurre lo spazio sullo schermo che uno schema a blocchi occupa di creare dei subVI per sezioni di codice allinterno dello schema a blocchi. Se non potete ridurre lo schema a blocchi in maniera da far lo entrare nello schermo, limitate lo scorrimento ad una direzione.
Note sullautore
Laureato in ingegneria nucleare al Politecnico di Milano, Matteo Foini lavora in qualit di Technical Marketing Engineer presso National Instruments Italy
28
SCUOLA DI LABVIEW
05
Vediamo come utilizzare il Call Library Function Node per richiamare Dynamic Link Library (shared library) su Windows
Mediante protocolli specifici (platform-specific). Mediante il Call Library Function Node per richiamare i seguenti tipi di shared library: - Dynamic Link Library (DLL) su Windows - Framework su Mac OS - Shared Library su Linux Questo articolo tratta luso del Call Library Function Node per richiamare Dynamic Link Library (shared library) su Windows.
possibile utilizzare LabVIEW per richiamare codice scritto in altri linguaggi nei modi seguenti:
29
SCUOLA DI LABVIEW
05
zioni. LabVIEW non pu interrompere il codice oggetto in esecuzione, pertanto non potete resettare un VI che sta eseguendo una shared library finch lesecuzione non termina. Se volete scrivere una shared library che esegue un lungo task, fate attenzione al fatto che LabVIEW non pu eseguire altri task nello stesso thread mentre tali oggetti vengono eseguiti.
Calling Conventions della finestra di dialogo Call Library Function. La convenzione di default C. (Windows) Potete anche utilizzare la convenzione Windows standard, stdcall.
TIPO DI RITORNO
Come tipo di ritorno possibile impostare Type a Void, Numeric o String. Void disponibile solo per il tipo di ritorno e non disponibile per i parametri. Utilizzate Void per il tipo di ritorno se la vostra funzione non restituisce alcun valore. Anche se la funzione che richiamate restituisce un valore, potete utilizzare Void per il tipo di ritorno. Quando la funzione restituisce un valore e selezionate Void come tipo di ritorno, il valore restituito dalla funzione viene ignorato. Nota Se la funzione che state richiamando restituisce un tipo di dato non elencato, scegliete un tipo di dato di ritorno che abbia le stesse dimensioni dati di quello restituito dalla funzione. Per esempio, se la funzione restituisce un tipo dato char, utilizzate un intero senza segno di 8 bit. Una chiamata a una funzione in una DLL non pu restituire un puntatore, perch non vi sono tipi puntatore in LabVIEW. Tuttavia, potete specificare il tipo di ritorno come un intero avente le stesse dimensioni del puntatore. LabVIEW tratta quindi lindirizzo come un semplice intero, che potete passare a future chiamate della DLL.
30
SCUOLA DI LABVIEW
Array String Waveform Digital Waveform Digital Data ActiveX Adapt to Type Instance Data Pointer Dopo avere selezionato una voce dal men a tendina Type, vedrete comparire altri elementi che potete utilizzare per indicare dettagli circa il parametro e la modalit di passaggio dei dati alla funzione di libreria. Il Call Library Function Node ha una serie di diversi elementi per i tipi di parametri, a causa della variet di tipi di dati richiesti da librerie differenti. Consultate la documentazione della libreria che richiamate per determinare quale tipo di parametro utilizzare. I paragrafi seguenti discutono i differenti tipi di parametri disponibili. (Windows) Consultate labview\examples\dll\data passing\Call Native Code.llb per un esempio duso dei tipi di dati nelle shared library.
Nota Non cercate di ridimensionare un array con funzioni di sistema, come realloc, altrimenti potreste mandare in crash il vostro sistema. Utilizzate invece una delle funzioni di gestione del Code Interface Node (CIN), come NumericArrayResize.
STRING
Utilizzate il men a tendina String format per indicare il formato stringa. Potete scegliere fra i seguenti formati stringa: C String Pointer - una stringa seguita da un carattere nullo (null character) Pascal String Pointer - una stringa preceduta da un byte di lunghezza String Handle - un puntatore a un puntatore a quattro byte per linformazione di lunghezza, seguito dai dati della stringa String Handle Pointer Selezionate un formato stringa che la funzione di libreria si aspetta. La maggior parte delle librerie standard si aspetta una stringa C o una stringa Pascal. Se la funzione di libreria che state chiamando scritta per LabVIEW, potreste preferire luso del formato string handle. Nota Non cercate di ridimensionare un array con funzioni di sistema, come realloc, altrimenti potreste mandare in crash il vostro sistema.
NUMERIC
Per i tipi di dati numerici, dovete indicare lesatto tipo numerico utilizzando il men a tendina Data Type. Potete scegliere fra i seguenti tipi di dati: interi a 8, 16, 32 e 64 bit con segno e senza segno numeri a 4 byte, in singola precisione numeri a 8 byte, in doppia precisione Nota I numeri a precisione estesa ed i numeri complessi possono essere passati selezionando Adapt to Type dal men a tendina Type. Tuttavia, le librerie standard generalmente non utilizzano numeri a precisione estesa e numeri complessi. Utilizzate il menu a tendina Pass per indicare se volete passare il valore o un puntatore al valore.
OPZIONI STRINGA
LabVIEW memorizza le stringhe come array, ossia come strutture puntate da handle. Il Call Library Function Node pu utilizzare puntatori a stinga in stile C e Pascal o LabVIEW string handle. La figura 3 mostra un esempio di LabVIEW string handle.
ARRAY
Utilizzate il men a tendina Data Type per indicare il tipo di dato dellarray. Potete scegliere fra gli stessi tipi di dati disponibili per i parametri numerici. Specificate le dimensioni dellarray in Dimensions. Utilizzate il men a tendina Array format per eseguire una delle scelte seguenti: Array Data Pointer passa un puntatore unidimensionale al dato array. Array Handle passa un puntatore a un puntatore che punta ad un valore a quattro byte per ogni dimensione, seguito dai dati. Array Handle Puntatore passa un puntatore a un array handle.
Figura 3 - Esempio di LabVIEW string handle
Si pu pensare ad una stringa come ad un array di caratteri. Assemblando i caratteri in ordine si forma una stringa. LabVIEW memorizza le stringhe in uno speciale formato, nel quale i primi quattro byte dellarray di caratteri formano un intero a 32 bit con segno che memorizza la quantit di caratteri che appare nella stringa. Quindi, una stringa con n caratteri richiede n + 4 byte per essere memorizzata in memoria. Per esempio, la stringa text contiene quattro caratteri.
31
SCUOLA DI LABVIEW
Quando LabVIEW memorizza la stringa, i primi quattro byte contengono il valore 4 come numero a 32 bit con segno e ciascuno dei successivi quattro byte contiene un carattere della stringa. Il vantaggio di questo tipo di memorizzazione della stringa che nella stringa sono ammessi caratteri NULL. Il formato stringa Pascal quasi identico al formato stringa di LabVIEW, ma invece di memorizzare la lunghezza della stringa come un intero a 32 bit con segno, utilizza un intero a 8 bit senza segno. Ci limita la lunghezza di una stinga tipo Pascal a 255 caratteri. In figura 4 riportata una rappresentazione grafica di una stringa Pascal. Una stringa Pascal lunga n caratteri richiede n + 1 byte di memoria per essere memorizzata.
Tuttavia, se state acquisendo dati da uno strumento che restituisce dati numerici sotto forma di una stringa binaria, come comune con gli strumenti seriali o GPIB, sono possibili valori uguali a zero nella stringa. Per i dati binari dove potrebbero essere presenti dei NULL, dovreste utilizzare un array di interi a 8 bit senza segno. Se trattate la stringa come una stringa tipo C, il programma ritiene erroneamente che sia stata raggiunta la fine della stringa, mentre in effetti lo strumento sta restituendo un valore numerico pari a zero.
WAVEFORM
Quando richiamate una shared library che include un tipo dati waveform, non dovete specificare un valore numerico dal menu a tendina Data Type; il valore di default 8-byte Double. Tuttavia, dovete specificare un valore in Dimensions. Specificare 0 per una singola forma donda, 1 per un array di forme donda. LabVIEW non supporta array di forme donda di dimensione maggiore a 1.
Le stringhe C sono probabilmente il tipo di stringhe con le quali avrete a che fare pi spesso. Le analogie fra la stringa stile C e i normali array numerici in C diventano molto pi chiare se notate che le stringhe C sono dichiarate come char *. Le stringhe C non contengono alcuna informazione che indichi direttamente la lunghezza della stringa, al contrario delle stringhe LabVIEW e Pascal. Le stringhe C utilizzano un carattere speciale, chiamato carattere NULL, per indicare la fine della stringa, come illustrato in figura 5. NULL ha un valore zero nel set di caratteri ASCII. Notate che questo il numero zero e non il carattere 0.
ACTIVEX
Selezionate uno dei seguenti elementi dal menu a tendina Data Type: ActiveX Variant Pointer passa un puntatore a dati ActiveX. IDispatch* Puntatore passa un puntatore allinterfaccia IDispatch di un server ActiveX Automation. Iunknown* Puntatore passa un puntatore allinterfaccia IUnknown di un server ActiveX Automation.
ADAPT TO TYPE
Utilizzate Adapt to Type per passare tipi di dati LabVIEW arbitrari a DLL. I tipi di dati LabVIEW arbitrari vengono passati alle DLL nei modi seguenti: Gli scalari sono passati per riferimento. Alla libreria viene passato un puntatore allo scalare. Gli array e le stringhe sono passati in base allimpostazione di Data Format. Potete scegliere fra le seguenti opzioni di Data Format: - Handles by Value passa lhandle alla libreria. Lhandle non NULL.
Pertanto, in C, una stringa contenente n caratteri richiede n + 1 byte di memoria per essere memorizzata, n byte per i caratteri nella stringa ed un byte addizionale per il carattere di terminazione NULL. Il vantaggio delle stringhe tipo C che sono limitate nelle dimensioni solo dalla memoria disponibile.
32
TRI-VENETO IDELFONSO ELBURGO VIA PIRANO, 15 35135 PADOVA TEL. 049 8642988 - FAX 049 8642989 e-mail: ielburg@tin.it
PIEMONTE-LIGURIA-VALLE DAOSTA ROSARIO ROMEO - PUBLIKAPPA VIA SAGRA S. MICHELE, 37 10139 TORINO TEL./FAX 011 723406 e-mail: publika@tin.it
Note sullautore
Laureato in ingegneria nucleare al Politecnico di Milano, Matteo Foini lavora in qualit di Technical Marketing Enginee presso National Instruments Italy.
Sede legale - Via Salvatore Rosa, 14 - 20156 Milano, tel +39 02 366092.1 - fax +39 02 366092.280 Sede operativa - Viale Espinasse, 141- 20156 Milano, tel.+39 02 366092.1 - fax +39 02 366092.525 www.ilb2b.it - www.fieramilanoeditore.it
33
D A L L A C A RTA A L W E B
05
HTTP://WWW
Quando le nostre pagine non bastano, lenorme serbatoio del web pu dare una mano. Su una rivista c ar tacea, anche la pi voluminosa, sarebbe impossibile trattare per esteso tutti gli argomenti relativi a LabVIEW. In molti casi, tuttavia, sul web sono disponibili ar ticoli esaustivi o altri documenti, a cui rimandiamo i lettori interessati Questo VI vi dice quali versioni di LabVIEW sono presenti sul computer dal quale il programma viene eseguito. Oltre alla versione, esso elenca il tipo di ambiente di sviluppo installato (Base, Full o Professional). Rileva inoltre se installata una versione di valutazione di LabVIEW. Il programma scansiona il registro di Windows per le differenti versioni di LabVIEW installate e visualizza le informazioni sulla versione nellindicatore del pannello frontale. Il programma rileva solo le principali versioni di LabVIEW, non i patch. Se stato installato un patch (per es. 7.1.1), esso visualizza solo la versione LabVIEW principale per il patch (7.1). Link alla pagina: ni.com/italian infocode: it3nch
34
D A L L A C A RTA A L W E B
Trasformare un VI LabVIEW in una finestra figlia integrata in una finestra dinterfaccia utente Visual C#
Questo esempio dimostra come trasformare un VI LabVIEW in una finestra figlia integrata di un Windows Form in unapplicazione Visual C#. Quando si esegue Embedded.exe, esso apre un Windows Form .NET, che uninterfaccia utente Visual C#. Il Windows Form include due pulsanti. Quando si clicca il pulsante Open VI, lapplicazione apre test.vi e lo mette in un proprio form come finestra figlia. Quando si finisce di usare il VI sul Windows Form, si deve cliccare il pulsante Stop per chiudere il VI. Cliccate nuovamente il pulsante Open VI per riaprire il VI. Quando avete terminato di usare lapplicazione, cliccate il pulsante Close per uscire dallapplicazione. Link alla pagina: ni.com/italian infocode: it3nch
35
05
Vi presentiamo una selezione di argomenti di discussione sul Forum di ILVG.it
36
37
EVENTI
05
l mondo della strumentazione in fase di profonda e rapida innovazione e in questi cambiamenti coinvolge l'industria di processo, i laboratori di test e sperimentazione e tutti gli altri numerosi campi applicativi. Queste novit saranno al centro dellattenzione di Bias 2008, la Biennale Internazionale dellAutomazione, Strumentazione, Microelettronica e ICT per lIndustria, che proprio nella strumentazione ha uno dei suoi punti di forza. La prossima edizione di Bias e Bias Manuf@cturing Solutions (Biennale delle Soluzioni Globali di Information Technology per lIndustria) si svolger dal 27 al 30 maggio 2008 presso il polo fieristico fieramilano di Rho, alle porte di Milano. Allevento parteciper National Instruments. I principali motivi del cambiamento in atto nel mondo della strumentazione sono le continue innovazioni tecnologiche e le modifiche alle normative e agli standard. L'avanzata dei sistemi wireless, ad esempio, che soprattutto nell'industria di processo acquisiscono una posizione sempre pi rilevante, consente ormai di inserire un modulo di trasmissione su strumenti di misura da collocare in posizioni difficili e permette di far dialogare tutta la strumentazione con il sistema di controllo. Questo apre nuove possibilit per quanto riguarda l'ottimizzazione del processo produttivo in s e per la garanzia di sicurezza, intesa sia come safety sia come security. Grazie alla possibilit di sfruttare gli avanzati metodi di diagnostica e di simulazione, la manutenzione e la gestione degli asset pu diventare in questo modo capillare e predittiva. Sempre nell'ambito della comunicazione, procede a grandi passi la diffusione delle reti Ethernet, ormai diventate il sistema nervoso delle fabbriche. Esse consentono, infatti, di connettere la strumentazione da campo con i sistemi di supervisione e di portare poi le informazioni ai livelli superiori, fino ai sistemi gestionali dell'intera azienda. Per quanto concerne il collegamento tra gli strumenti, cresce l'esigenza di ridurre la variet dei sistemi di fieldbus e degli standard pi in generale, mentre si rafforzano e trovano crescenti adesioni i liberi consorzi, come il gruppo FDT (Field Device Tool), che applicano soluzioni innovative hardware e software per assicurare e facilitare l'interoperabilit e il dialogo tra le apparecchiature in campo. Bisogna considerare, infine, che le sempre maggio-
ri esigenze di sicurezza e tutela ambientale, che trovano riscontro in normative in continua evoluzione, richiedono anche agli strumenti prestazioni e funzionalit particolari e stimolano linnovazione. Tutte queste premesse comportano l'esigenza di introdurre nuova strumentazione o di sostituire la precedente. Una situazione che impone alle aziende del settore di cercare momenti in cui incontrare i propri clienti e presentare i vantaggi competitivi della propria offerta e che fa di Bias, unico evento internazionale dedicato al mondo dellautomazione e dellelettronica in tutto il 2008, il contesto migliore per proporre le ultime novit tecnologiche e dare voce ai protagonisti e agli esperti attraverso workshop mirati e convegni di livello internazionale, realizzati in collaborazione con le principali associazioni del settore, che saranno unopportunit unica di aggiornamento professionale e confronto. Unoccasione che gi molte aziende hanno colto: proseguono con trend positivo le adesioni di espositori sia italiani che esteri. Numerose realt hanno infatti gi confermato la propria presenza da Stati Uniti, Giappone ed Europa, ma anche dallAsia, in particolare da Cina, Corea e Taiwan. Anche per il 2008 Bias, dati i positivi ritorni della scorsa edizione, si svolger in concomitanza con altre tre importanti manifestazioni: Fluidtrans Compomac (Biennale Internazionale della Fluidotecnica, Trasmissioni di Potenza e Movimento, Comandi, Controlli, Progettazione), Mechanical Power Transmission & Motion Control (Biennale Internazionale dei Sistemi di Controllo del Movimento, Tecniche di Azionamento e Trasmissioni Meccaniche) e Bi.Man (Biennale della Manutenzione Industriale), creando unofferta espositiva completa di tutta la filiera di prodotti e soluzioni per lindustria di processo e manifatturiera. Bias e Bias Manuf@cturing Solutions 2008 sono organizzate da Fiera Milano Tech, in collaborazione con F&M Fiere & Mostre. Manifestazioni di riferimento per automazione, strumentazione, elettronica e soluzioni IT per lindustria, godono del supporto delle maggiori associazioni nazionali ed internazionali di settore: AIM, Association for Automatic Identification & Mobility; AIS, Associazione Italiana Strumentisti; Anipla, Associazione Nazionale Italiana per lAutomazione; Assintel, Associazione Nazionale delle Imprese ICT; Assipe, Associazione Italiana Progettazione Elettronica; Assodel, Associazione Nazionale Fornitori Elettronica; Fast, Federazione delle Associazioni Scientifiche e Tecniche; Gisi, Associazione Imprese Italiane di Strumentazione e ISA-Italy Section, The Instrumentation, Systems, and Automation Society.
38
readerservice.it n.19870
REPORT
05
La quar ta edizione dellevento annuale organizzato da National Instruments si spostata online per offrire un accesso comodo alle ultime tendenze tecnologiche sulla progettazione di sistemi di test automatizzati
hi ha superato la ritrosia e lo scetticismo iniziali - comprensibili per chi non aveva mai partecipato ad un evento virtuale - e ha preso parte al primo simposio virtuale sulle piattaforme di test organizzato da National Instruments (in tempo reale per la fascia oraria europea), ha potuto visitare la nuova frontiera degli eventi on-line. bastato un click per completare la preregistrazione e catapultarsi in un ambiente 3D che ricorda da vicino ambientazioni virtuali che mirano a simulare la vita reale come secondlife (www.secondlife.com). National Instruments, sempre attenta alle pi recenti rivoluzioni tecnologiche, ha immediatamente colto in questa il potenziale per realizzare eventi di nuova generazione, in grado di coinvolgere in prima persona i visitatori non fisicamente presenti alla manifestazione: una vera rivoluzione. Il visitatore, infatti, vi ha potuto partecipare comodamente dal proprio ufficio o da casa, senza spostarsi : unica prerogativa, possedere un accesso ad Internet. Organizzato come una mostra convegno in piena regola, Automated Test Summit dello scorso 27 novembre, ha alternato presentazioni live nella parte convegnistica a momenti di incontro, interazione ed autentica socializzazione virtuale sia durante gli approfondimenti in chat room a seguire (dal vivo con consulenti tecnici di National Instruments in lingua italiana), che allinterno dell'area espositiva. I visitatori hanno infatti potuto interagire dal vivo con gli espositori di alcune delle maggiori aziende di test grazie ad un ambiente espositivo virtuale e richiedere informazioni attraverso una chat. Aziende del calibro di Microsoft, Intel, Tektronix, Averna e BAE Systems hanno partecipato allevento per condividere competenze tecniche ed esperienze sul campo. Le presentazioni tecniche della mattina hanno illustrato le migliori tecniche e strategie per la progettazione di sistemi di test in due appuntamenti: la Keynote e le sessioni tecniche. La prima, focalizzata sulla progettazione di sistemi di test di ultima generazione, su casi applicativi concreti e come sviluppare un programma di test globale. A seguire, le sessioni tecni-
che hanno affrontato come applicare strategie vantaggiose per la progettazione di sistemi di test, analizzato come utilizzare i migliori strumenti di progettazione per la creazione di sistemi di test riutilizzabili, esaminato le tecniche per lottimizzazione dei sistemi di test, quelle per mantenere lesattezza e la validit del sistema e discusso sullintegrazione di piattaforme di strumentazione diverse. Ogni anno National Instruments collabora con le aziende leader nel mercato tecnologico e dei prodotti ATE (Automated Test Equipment) per la buona riuscita dellAutomated Test Summit, ovvero la pi avanzata occasione di aggiornamento su strategie e tecnologie nel settore del test automatizzato rivolta a tecnici e management delle principali aziende di elettronica, ha dichiarato Kevin Bisking, Automated Test Product Manager di National Instruments. Lidea di rendere levento disponibile ai frequentatori del Web nata a fronte del crescente numero di impegni di tecnici ed ingegneri di oggi. I partecipanti allevento avranno la possibilit di imparare dalle best practice per applicazioni di test in tutta comodit dalla propria postazione. Levento si confermato un successo con oltre 700 partecipanti. Vi aspettiamo alla prossima edizione di giugno!
Note sullautore
Nadia Albarello, laureata in Lingue Moderne e Comunicazione alla Karl Franzens Universitt di Graz, Austria, lavora in qualit di Marketing Communications Manager presso National Instruments Italy.
40
BS_210x297
18-10-2007
15:39
Pagina 1
27-30
maggio
2008
- Rho
Il mondo dellautomazione, strumentazione, elettronica e delle soluzioni informatiche per lindustria si d appuntamento a fieramilano per unimperdibile opportunit di business, aggiornamento professionale e confronto con il mercato. In pi la rinnovata concomitanza con Fluidtrans Compomac, Mechanical Power Transmission & Motion Control e BI.MAN creer un unico grande evento fortemente sinergico, la Technology Exhibitions Week, che riunir tutta la filiera di prodotti e soluzioni per lindustria di processo e manifatturiera.
Per informazioni
F&M Fiere & Mostre Srl - Via Caldera 21/C - 20153 Milano Tel. +39 02 40922560 - Fax +39 02 40922599 promo.bias@fieremostre.it readerservice.it
n.19545
www.fieremostre.it
In contemporanea con
REPORT
05
Un archivio centralizzato per oltre 400 strumenti specifici e componenti aggiuntivi di LabVIEW
ational Instruments ha annunciato lespansione di LabVIEW Tools Network, un portale online che rappresenta la maggiore risorsa di componenti aggiuntivi e prodotti per la connettivit per LabVIEW. Nel 2007 sono stati inseriti oltre 100 nuovi strumenti sviluppati da National Instruments e da venditori di terze parti. Il recente ampliamento del network fornisce a tecnici e ingegneri laccesso a oltre 400 prodotti da utilizzare con LabVIEW, come un toolkit in grado di visualizzare le interfacce utente in qualsiasi lingua e uno strumento che automatizza la generazione di modelli, la progettazione di controlli e la regolazione dei parametri di un controllore. La crescita impressionante di LabVIEW Tools Network conferma laumento della popolarit della pittaforma di progettazione grafica LabVIEW", ha affermato Jack Barber, manager del programma Alliance Partner di National Instruments. La comunit di LabVIEW prosegue nella realizzazione di nuovi prodotti che arricchiscono la piattaforma e ne estendono le funzionalit verso nuove aree applicative. LabVIEW Tools Network garantisce agli utenti LabVIEW una corretta identificazione degli strumenti adatti al miglioramento dei propri progetti di sviluppo. Il network online consente di effettuare ricerche tramite parole chiave o di filtrare per funzione/industria, al fine di trovare i prodotti specifici per la propria applicazione. Tra i prodotti disponibili sul network vi sono strumenti che consentono, ad esempio, la conversione di tutti gli elementi testuali presenti nel codice, come il LabVIEW Localization Toolkit realizzato da S.E.A. Datentechnik GmbH e altri componenti aggiuntivi che permettono di effettuare operazioni
avanzate di modellazione, controllo e parametrizzazione su sistemi di misura real-time, tipo ICP per LabVIEW sviluppato da ExpertControl GmbH. LabVIEW Tools Network rappresenta una vetrina per i venditori di terze parti che vogliono mostrare i propri toolkit e componenti aggiuntivi a migliaia di utenti LabVIEW. I venditori hanno inoltre la possibilit di aggiungere un elemento di distinzione ai loro prodotti, validandoli come Compatibile con LabVIEW, grazie a una campagna recentemente annunciata da National Instruments. Le societ partecipanti valutano i propri prodotti in base a una lista di requisiti che include specifiche su documentiazione, stile e funzionalit. Essa viene successivamente sottoposta a National Instruments per lapprovazione (a sua discrezione). Il programma Compatibile con LabVIEW consente ai clienti di effettuare acquisti consapevoli e spinge i venditori di terze parti a realizzare prodotti di alta qualit. Per maggiori informazioni sugli oltre 400 componenti aggiuntivi presenti su LabVIEW Tools Network e per iscriversi al programma Compatibile con LabVIEW visitate il sito www.ni.com/labviewtools.
Note sullautore
Nadia Albarello, laureata in Lingue Moderne e Comunicazione alla Karl Franzens Universitt di Graz, Austria, lavora in qualit di Marketing Communications Manager presso National Instruments Italy.
42
La mostra
In uno spazio specifico sar allestita unesposizione a cura delle aziende partecipanti, in cui sar possibile toccare con mano lattuale offerta commerciale.
Il convegno
Nel corso della giornata si susseguiranno seminari tecnici tenuti dalle aziende espositrici della durata di 30 minuti ciascuno.
I contenuti
VforM - Vision for Manufacturing la terza mostra convegno dedicata alla tecnologia della visione artificiale. Organizzato con il contributo delle riviste SdA-Soluzioni di Assemblaggio, Automazione Oggi e Automazione e Strumentazione. Levento Vision for Manufacturing nasce in collaborazione con IMVG, Italian Machine Vision Group e vede il supporto di ASSOAUTOMAZIONE Associazione Italiana Automazione e Misura, appartenente alla Federazione ANIE (Confindustria), di AIdA-Associazione Italiana di Assemblaggio, di SIRI-Associazione Italiana di Robotica e Automazione, del Polo della Robotica di Genova e con il patrocinio di EMVA - European Machine Vision Association. VforM si rivolge a progettisti, system integrator, responsabili e tecnici della produzione che necessitano di risolvere problematiche in ambito manifatturiero legate a: ispezione e controllo della qualit, guida robot, rilevamento presenza, posizione e orientamento, controllo dimensionale, identificazione e OCR ecc.
Il programma, lagenda e i titoli dei seminari saranno aggiornati, man mano che verranno confermati, sul sito www.ilb2b.it/vm
Per aderire
on line allindirizzo www.ilb2b.it/vm e via fax compilando il coupon allegato e inviandolo allo 02.36.6092.515 La partecipazione ai seminari e alla mostra gratuita, cos come la documentazione e il buffet.
Per informazioni
Tel. 02.36.6092.510 - 511 Fax. 02.36.6092.515 Email: vm@fieramilanoeditore.it Web: www.ilb2b.it/vm
Come arrivare
In auto: da Venezia: autostrada A4 uscita Brescia est da Mantova: statale Goitese da Parma: statale Asolana da Cremona: autostrada A21 uscita Brescia est In treno: stazione di Brescia 15 km dal Centro Fiera di Montichiari stazione di Desenzano del Garda 10 km dal Centro Fiera di Montichiari
IN COLLABORAZIONE CON:
ORGANIZZATO DA:
24 GIUGNO 2008
prov tel
cap fax
Consenso ai sensi dellart. 23 del D.Lgs n. 196 del 30 giugno 2003. Letta la nota informativa riportata su questa rivista, esprimi il tuo consenso al trattamento, alla comunicazione dei tuoi dati personali ed ai correlati trattamenti ai soggetti che svolgono le attivit indicate nella informativa stessa. In mancanza del tuo consenso la registrazione non potr essere eseguita. ACCETTO NON ACCETTO Esprimi/nega il tuo consenso alla comunicazione dei dati personali ed ai correlati trattamenti ad aziende terze che ne facciano richiesta ai fini pubblicitari e di marketing. ACCETTO NON ACCETTO
Compila il coupon e invialo tramite fax al n 02.36.6092.515 oppure registrati sul sito www.ilb2b.it/vm
A P P U N TA M E N T I
05
Come sempre, vi segnaliamo i prossimi corsi di formazione di LabVIEW e i principali eventi internazionali che vedranno la partecipazione di National Instruments
CORSI DI LABVIEW
LABVIEW BASE 1: INTRODUZIONE
Milano: 3, 4, 5 Marzo 14, 15, 16 Aprile 19, 20, 21 Maggio 23, 24, 25 Giugno Roma: 26, 27, 28 Maggio Padova: 6, 7, 8 Maggio
CENTRI DI FORMAZIONE
Sede NI di Milano Via Anna Kuliscioff, 22 - 20152 Milano Tel: +39 02 41309217 - Fax: +39 02 41309215 E-mail: ni.italy@ni.com Filiale di Roma Pick Center Piazza Marconi, 15 - 00192 Roma Tel: +39 02 41309217 - Fax: +39 02 41309215 E-mail: ni.italy@ni.com Sede Corsi Padova Presso il Centro di Formazione Certificato NI di I.R.S. srl Via Vigonovese 81/A - 35127 Padova Tel: +39 049-8705156 - Fax: +39 049-7625206 E-mail: osgualdo@irsweb.it Visitate ni.com/training/i per le descrizioni dettagliate dei corsi e per iscrivervi.
NIDAYS 08 SPAGNA
Madrid 13 Marzo
NI ROADSHOW
Padova 2 Aprile Bologna 8 Aprile Ancona 10 Aprile Catania 16 Aprile
NI AUTOMOTIVE FORUM
Torino 12 Giugno
NI AUTOMOTIVE FORUM
Barcellona 22 Giugno
NI AUTOMOTIVE DAY
Monaco 3 Giugno
44
I N T E R V I S TA
05
orthrop Grumman ha partecipato a corsi in sede dedicati a LabVIEW. Abbiamo intervistato Ermanno Pieragostini, progettista sistemi di collaudo presso lazienda. Salve a tutti, sono Ermanno Pieragostini dipendente di Northrop Grumman Italia, azienda operante nel settore difesa. La mia mansione quella di Progettista Senior Test Equipment. Il mio reparto fa parte della direzione operazioni. Abbiamo il compito di progettare e produrre sistemi di collaudo automatizzati che vanno installati nelle linee collaudo di produzione. Sono utente LabVIEW da molti anni. Ho partecipando a molti corsi NI (Base, Intermediate, NI-DAQ, ecc.). I corsi vengono programmati in base alle nostre esigenze lavorative e/o dal progetto da svolgere, nonch alladdestramento di nuove figure che vengono a far parte del reparto, siano esse tecnici o ingegneri. Il contatto con il personale National Instruments rimane aperto anche dopo che si effettua un corso, per chiarimenti o dubbi successivi che ci possono sorgere. Lo scambio di know how comunque continuo allinterno del nostro team di lavoro.
Sviluppiamo le nostre applicazioni con LabVIEW sin dalla versione 5.0. Nel tempo abbiamo sperimentato e usato tutte le versioni fino alla attuale 8.50. Questa evoluzione, aggiunta ai corsi di formazione svolti, ha fatto crescere le performance e le funzionalit del prodotto sviluppato. Inoltre, la standardizzazione di LabVIEW per mezzo della VLA ha permesso di raggiungere delle economie di scala, riducendo i costi di sviluppo, integrazione e training. Per far s che il know how acquisito venga subito messo in pratica, i corsi di formazione vengono organizzati prima di iniziare un nuovo progetto.
D:Perch LabVIEW? R:
Insieme al personale NI si trova la soluzione pi appropriata per poi adottarla, quindi la soluzione al problema. Un esempio pratico poterebbe essere quello di aver acquisito il modo di sviluppare il software con unarchitettura chiara, cos da portare vantaggio in tempi di sviluppo a modifiche successive effettuate da unaltra persona. Essendo io la persona con pi anni di esperienza nellutilizzo di LabVIEW allinterno della nostra azienda, mi accorgo chi partecipa ad un corso di formazione viene da me meno frequentemente a chiedere consigli relativi allo sviluppo software. Ci evidenzia leffetto ottenuto dai corsi.
S, viene compilato il modulo di fine corso per verificare il grado di efficienza/soddisfazione dei corsi da parte dei partecipanti. Il modulo entra a far parte del database aziendale.
Durante lo svolgimento dei corsi, tipicamente customizzati alle nostre esigenze, si cerca sempre di portare in risalto quelle difficolt incontrate durante le fasi di sviluppo di un progetto software.
Stiamo gi pensando di usare per il prossimo progetto i prodotti NI (sia software che hardware) e sicuramente li useremo anche nei progetti futuri.
derivati
D:Progetti futuri? R:
45
READER SERVICE
IL READER SERVICE E ON LINE!
www. READERSERVICE.IT
Sempre pi al passo con i tempi, LabVIEW WORLD la prima rivista in Italia a fornirvi il servizio di reader service on line. Ora possibile ricevere maggiori informazioni su prodotti e servizi presentati negli articoli e/o inserzioni pubblicitarie LabVIEW WORLD semplicemente registrandosi al sito: WWW.READERSERVICE.IT Compilate la cartolina virtuale e noi provvederemo a inoltrare tempestivamente la richiesta all'azienda interessata, che invier al vostro indirizzo tutta la documentazione disponibile.
In alternativa compilate questa scheda e inviatela al numero di fax:
0236519123
NUMERO DELLA RIVISTA: NUMERI DI READER SERVICE
VICE
READE FIERA MILANO EDIZION SERVICE READER SE MILANO EDIZIONI F DER SERVICE FIERA MILANO READER SERVICE CE READER SERVICE EDIZIONI F FIERA READER SERVICE READ
IL SERVIZIO GRATUITO
Citt Nazione
L A B V I E W E L AVO R O
AAA
RICERCHIAMO
INGEGNERE DI LABORATORIO (RIF: LG/0673/TO) Manpower Professional Il nostro cliente, azienda leader nella progettazione e produzione di dispositivi e componenti meccanici ed idraulici per applicazioni Aeronautiche, ci ha incaricati di ricercare una/un: INGEGNERE DI LABORATORIO (RIF: LG/0673/TO) La posizione sar inserita allinterno dellente Ricerca e Sviluppo e riporter al Responsabile di Laboratorio. Alla posizione sar affidata lintera gestione delle prove di qualifica idrauliche e meccaniche dei componenti sperimentali, a partire dalla lettura delle specifiche di prova. In particolare il ruolo avr i seguenti compiti: Set Up dei banchi di prova Preparazione software di controllo del banco e di acquisizione dei dati di interesse Predisposizione ed esecuzione di prove complesse Redazione di relazioni descrittive dei banchi prova e di report sui test effettuati Il candidato ideale un giovane Ingegnere Aeronautico, Meccanico o Elettronico che possiede una buona conoscenza della programmazione in generale e dimestichezza nelluso di Matlab e LabVIEW. Requisiti: Sono richiesti una buona padronanza della lingua inglese, lutilizzo di Office e di applicativi ERP (quali SAP o BaaN). La conoscenza e lapplicazione delle norme: EN/AS 9100 - CE 1702/2042 - AER-Q-2110 costituir titolo preferenziale. Completano il profilo precisione, doti relazionali e attitudine al lavoro di gruppo. Sede di lavoro: Nord Est Piemonte. Per candidarsi contattare: laura.giordani@manpower.it Sede di lavoro: Piemonte. www.altamira.it
05
Conoscete bene LabVIEW? Date unocchiata alle offerte di lavoro che abbiamo selezionato da ILVG.it
TEST LABORATORY Cobra Automotive Technologies S.p.A. Collocazione Organizzativa. La posizione sar inserita alle dirette dipendenze del Respon sabile dell'area Test Laboratory, nell'ambito del Dipartimento Technical Operations. Principali Responsabilit. Sviluppare e definire le specifiche dei software applicativi da utilizzare nelle prove di validazione del prodotto, nell'ambito dell'attivit di test di laboratorio. Collaborare nella definizione delle specifiche dei Test Equipment necessari nella fase di validazione. Requisiti: Formazione: Laurea in Ingegneria Elet tronica o in Informatica. Esperienza pluriennale nello sviluppo di software applicativi con buona pratica anche degli aspetti hardware correlati. Precedenti esperienze in ambito automotive costituiscono titolo preferenziale. Competenze specifiche: conoscenza dei linguaggi di programmazione C, LabView e Test Stand. Conoscenze hardware di elettronica analogica e digitale, di sistemi embedded con microcontrollori e di sistemi PXI per uso in laboratorio prove. Plus: conoscenza principali protocolli di comunicazione automotive, tipo CAN e LIN Lingue Straniere: conoscenza inglese fluente. Eventuale conoscenza della lingua tedesca costituir titolo preferenziale. Completano il profilo autonomia decisionale, metodica consolidata nel problem solving e capacit di relazionarsi a diversi livelli, anche con fornitori esterni Contratto: Lazienda offre assunzione a tempo indeterminato. Linquadramento e la retribuzione sa ranno commisurati al profilo del candidato. Sede di lavoro: Lombardia www.altamira.it
e Hardware nei settori Aerospazio (Avionica, Spazio, Difesa), Telecomuni cazioni e Industriale (Elettronica, Tra sporti, Automotive, Energia) nei principali poli tecnologici italiani (Milano, Roma, Genova, Torino, Napoli). Lazienda organizzata per centri di competenza: software embedded (software life cycle, firmware, BSP, drivers, sistemi operativi Real Time, middleware), software applicativo (supervision & control, dbms, datawarehouse), hardware design (hardware life cycle, FPGA, board, test equipment, processori). Per far fronte ad una richiesta da parte di un ns. importante cliente di Genova, cerchiamo candidati con almeno 1 anni di esperienza nella integrazione di apparati di Telecomu nicazione. Ai candidati richiesta esperienza in ambito maintenance e system integration. Requisiti: Buona competenza nello sviluppo di sistemi con Labview; Definire una proposta implementativa partendo dai requisiti Progettare i processi di test dei dispositivi elettronici; Predisporre le attrezzature e il banco di test (HW e SW); Sviluppo ed esecuzione test di load-stress dapparato; Automatizzare configurazioni apparati, sequenze test e gestione Test Report; E la conoscenza di: Protocolli di comunicazione: Ethernet, ATM, PDH, SDH/Sonet; Linguaggi di scripting: TCL/TK, script shell unix; Strumentazione di laboratorio: generatori di traffico, bus analyzer; Gradita la conoscenza di Java. Candidature allindirizzo recruiting_ge@infosol.it, specificando il riferimento: RIF: GE-SYS-37-07 Sede di Lavoro: Genova INFO SOLUTION SPA , via della Burrona 51 20090 Vimodrone (MI), Tel.: 02 27409353, Fax: 02/25029042 E-mail: recruiting_ge@infosol.it
TLC - AUTOMATION TESTER E SYSTEM INTEGRATOR INFO SOLUTION SPA - servizi Info Solution fornisce consulenza Software
47
INFORMATIVA AI SENSI DEL CODICE IN MATERIA DI PROTEZIONE DEI DATI PERSONALI (Decreto Legislativo n. 196 del 30 giugno 2003) Il Decreto Legislativo n. 196 del 30 giugno 2003 ha la finalit di garantire che il trattamento dei Vostri dati personali si svolga nel rispetto dei diritti, delle libert fondamentali e della dignit delle persone, con particolare riferimento alla riservatezza e allidentit personale. Vi informiamo, ai sensi dellart. 13 del Codice, che i dati personali da Voi forniti ovvero altrimenti acquisiti nellambito dellattivit da noi svolta, potranno formare oggetto di trattamento, per le finalit connesse allesercizio della nostra attivit. Per trattamento di dati personali si intende la loro raccolta, registrazione, organizzazione, conservazione, elaborazione, modificazione, selezione, estrazione, raffronto, utilizzo, diffusione, cancellazione, distribuzione, interconnessione e quantaltro sia utile per lesecuzione del Servizio, compresa la combinazione di due o pi di tali operazioni. Il trattamento dei Vostri dati per le finalit sopraindicate avr luogo prevalentemente con modalit automatizzate ed informatiche, sempre nel rispetto delle regole di riservatezza e di sicurezza previste dalla legge, e con procedure idonee alla tutela delle stesse. Il titolare del trattamento dei dati personali Edizioni Fiera Milano S.p.A., con sede legale in Milano, nella persona del legale rappresentante; responsabili del trattamento sono i dipendenti e/o professionisti incaricati da Edizioni Fiera Milano S.p.A., i quali svolgono le suddette attivit sotto la sua diretta supervisione e responsabilit. Il conferimento dei dati personali da parte Vostra assolutamente facoltativo; tuttavia leventuale rifiuto ci rende impossibile lesecuzione di alcun adempimento contrattuale. I dati, o alcuni di essi, per i fini di cui dianzi, potranno essere comunicati a: societ appartenenti al medesimo gruppo societario di cui fa parte Edizioni Fiera Milano S.p.A.; soggetti esterni che svolgano funzioni connesse e strumentali alloperativit del Servizio, come, a puro titolo esemplificativo, la gestione del sistema informatico, lassistenza e consulenza in materia contabile, amministrativa, legale, tributaria e finanziaria; soggetti cui la facolt di accedere ai dati sia riconosciuta da disposizioni di legge o da ordini delle autorit. Un elenco dettagliato dei predetti soggetti disponibile presso Edizioni Fiera Milano S.p.A. Vi informiamo, inoltre, che potrete consultare, modificare, opporVi o far cancellare i Vostri dati o comunque esercitare tutti i diritti che Vi sono riconosciuti ai sensi dellart. 7 del Codice, inviando una lettera raccomandata a Edizioni Fiera Milano S.p.A. Via Salvatore Rosa, 14 - 20156 Milano. Se volete consultare il testo completo del Codice in materia di protezione dei dati personali, visitate il sito ufficiale dellAutorit Garante www.garanteprivacy.it
LabVIEW World - La prima rivista italiana per la comunit di LabVIEW Sede legale - Via Salvatore Rosa 14, 20156 Milano, tel +39 02 366092.1 fax +39 02 366092.280 www.fieramilanoeditore.it Sede Operativa - Viale Espinasse 141, 20156 Milano tel. +39 02 366092.1 fax +39 02 366092.525 Direzione Sergio Maggioni Presidente Costante Casali Amministratore Delegato Alberto Taddei Publisher Nadia Albarello, Matteo Bambini, Matteo Foini, Alessandro Ricco, Alberto Taddei Direttore Responsabile - alberto.taddei@fieramilanoeditore.it Valerio Alessandroni Direttore Tecnico valerio.alessandroni@tiscali.it Alessandra Pelliconi, Maddalena Pria Segreteria- tel: 02 366092.527 alessandra.pelliconi@fieramilanoeditore.it Collaboratori: Nicola Bavarone, Michele Corr, Massimo Lorenzi, Marco Luciani, Enzo Nava, Alessandro Ricco, Emanuele Stucchi, Franco Trespidi, Halvor Snellingen Grafica e produzione Bimage.it Progetto grafico e Impaginazione Franco Tedeschi Coordinamento grafici - franco.tedeschi@fieramilanoeditore.it Alberto Decari Coordinamento DTP - alberto.decari@fieramilanoeditore.it Sate Zingonia Verdellino - BG - Stampa Giuseppe De Gasperis Sales Manager giuseppe.degasperis@fieramilanoeditore.it - tel. 02366092 523 - fax: 02 366092 230 Agenti Italia: PIEMONTE, LIGURIA, VALLE D'AOSTA R. Romeo/Publikappa tel: 011-723406 fax: 011-723.406 cell 335-5304196 VENETO, TRENTINO ALTO ADIGE, FRIULI VENEZIA GIULIA Idelfonso Elburgo tel: 049-8642.988 fax: 049-8642989 cell 328-8855203 International Sales U.K.-SCANDINAVIA - OLANDA - BELGIO The Huson European Media Gerry Rhoades-Brown tel: +44-1932-564999 fax: +44-1932-564998 SWITZERLAND: Iff media ag Carla Widmer tel: +41-52-6330888 fax: +41-52-6330899 GERMANIA e AUSTRIA: Mediaagentur Adela Ploner tel: +49-8131-3669920 fax: +49-8131-3669929 USA: Huson European Media Usa Ralph S. Lockwood tel: +1-408-8796666 fax: +1-408-8796669 TAIWAN: Worldwide Services Stuart Phillips-Laurie tel: +886-4-2325-1784 fax: +886-4-2325-2967 Abbonamenti N. di conto corrente postale per sottoscrizione abbonamenti: 48199749 intestato a:Edizioni Fiera Milano SpA, Via Salvatore Rosa 14, 20156 Milano. Si accettano pagamenti anche con le principali carte di credito. Per gli utenti Developer Suite e standard Service Program di National Instruments gi incluso labbonamento alla rivista Abbonamento annuale (4 numeri): E 20,00 Abbonamento per l'estero (4 numeri) E 40,00 Prezzo della rivista: E 5,00 - Arretrati: E 10,00 Testata associata Associazione Nazionale Editoria Periodica Specializzata Edizioni Fiera Milano iscritta al Registro Operatori della Comunicazione n 11125 del 25/07/2003. Autorizzazione alla pubblicazione del tribunale di Milano n 754 del 11/12/2006. Tutti i diritti di riproduzione degli articoli pubblicati sono riservati. Manoscritti, disegni e fotografie non si restituiscono. LabVIEW World ha frequenza trimestrale, per un totale di 4 numeri all'anno. Tiratura del presente numero: 3.000 copie.
Pubblicit
48
Con decine di migliaia di prodotti per lelettronica, trovi sempre la soluzione per trasformare ogni tuo lavoro in un grande successo.
rswww.it
readerservice.it n19610
M L ab ul V ti c I E or
5 8 . dy W Rea e
NI LabVIEW.
Un solo limite, la tua immaginazione.
Comunica attraverso vari protocolli, tra cui Bluetooth Realizza e programma il tuo robot con LEGO MINDSTORMS NXT grazie al software powered by NI LabVIEW Programma gracamente applicazioni real-time concorrenti
Controllo Industriale
LabVIEW Real-Time Module LabVIEW FPGA Module LabVIEW SDK per Microprocessori Piattaforma Hardware Embedded NI CompactRIO
Grazie alla progettazione grafica di sistemi in LabVIEW, gli esperti di settore possono sviluppare complessi sistemi real-time ed embedded con FPGA, DSP e microprocessori. LEGO Group ha scelto un software grafico basato su NI LabVIEW per programmare in parallelo e controllare motori: la potenza intuitiva di LabVIEW anche a portata di bambino.
>>
02 41 309 277
NATIONAL INSTRUMENTS ITALY S.r.l. Via Anna Kuliscioff, 22 20152 Milano Tel.: 02-413091 Fax: 02-41309215 P.IVA/C.F.: 09777310153 CCIAA Milano 1317488 Iscr. Trib. Milano 296073/7502/23 S.r.l.
I I I I I I I
2007 National Instruments Corporation. 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. LEGO e MINDSTORMS sono marchi commerciali di LEGO Group utilizzati previa autorizzazione. 2007-9147-821-122-I
readerservice.it n.20049