13 - LabView World
Transcript
13 - LabView World
ISSN 1972-3008 13 FEBBRAIO 2010 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 IL NUOVO In caso di mancata consegna restituire all’editore che si impegna a pagare la relativa tassa presso il CMP di Roserio - Milano ROBOTICS MODULE DI LABVIEW LA LIBRERIA IMAGINGLAB PER ROBOTICA DENSO IL NUOVO VI ICON EDITOR SISTEMI DI MISURA MIGLIORI CON LABVIEW E WINDOWS 7 readerservice.it n.24990 SCENARIO 13 COSTRUIRE SISTEMI DI MISURA MIGLIORI CON WINDOWS 7 C on Windows 7, l’ultima versione del sistema operativo Windows, gli utenti LabVIEW possono accedere a nuove tecnologie. Invece di aggiungere funzionalità significativamente nuove o differenti, Microsoft ha migliorato in Windows 7 molte delle caratteristiche già introdotte in Windows Vista, ha rifinito l’utilizzabilità dello shell e ha aumentato risposta e prestazioni del sistema. Questi cambiamenti, uniti al focus sulla compatibilità hardware e software, rendono Windows 7 un forte candidato per le applicazioni di test e misura più avanzate. Ma vediamo come le applicazioni scritte nel sistema di sviluppo grafico LabVIEW possono trarre vantaggio da Windows 7 e dalle piattaforme di calcolo più recenti per aumentare throughput dei dati, migliorare le prestazioni e utilizzare tecnologie a 64 bit, di acquisizione dati tramite USB e PCI Express. I nuovi computer con Windows 7 offrono benefici in termini di prestazioni globali e core multipli, oltre ad essere dotati delle tecnologie bus più recenti, come slot multipli PCI Express e Hi-Speed USB. Microsoft ha investito in modo significativo in miglioramenti USB per Windows 7, come l’eliminazione di timer inutili, la sospensione selettiva dell’hub e il minore tempo di enumerazione per i dispositivi flash USB, aumentando quindi le prestazioni dei dispositivi di acquisizione dati USB. In recenti prove di benchmark, il nuovo chassis NI CompactDAQ ha raggiunto un incremento del 10 per cento nell’ampiezza di banda ottenibile con Windows 7, rispetto allo stesso hardware su Windows XP. Le maggiori prestazioni hardware, unite all’ottimizzazione multicore di Windows 7 e del software LabVIEW, si sono tradotte in un incremento di prestazioni fino al 20 per cento durante misure di I/O ad alta velocità o multifunzione. Microsoft ha altresì ristrutturato gran parte di Windows 7 in modo da potere eseguire più task di sistema in modo concorrente, per beneficiare dei processori multicore, sempre più diffusi. Un esempio è la GDI (graphics device interface), riprogettata per aumentare la risposta quando si eseguono più applicazioni simultaneamente. La nuova architettura si traduce in meno ostacoli sequenziali, quindi in un’interfaccia utente più responsiva e in migliori prestazioni globali di sistema nelle applicazioni di misura multithread. Il software multithread assegna processi asincroni indipendenti a thread separati, che possono essere eseguiti in parallelo da core diversi del computer. I clock rate dei processori possono aumentare ormai solo leggermente, ed è per questo che i produttori di processori stanno mettendo più core in un chip singolo. Per i programmatori LabVIEW, è normale creare più task a elevato contenuto di calcoli in una singola applicazione, eseguibili in parallelo: è semplice come disegnare due loop su un diagramma a blocchi. LabVIEW e i driver NI, come NI-DAQmx, sono multithread, aiutando a creare facilmente applicazioni di acquisizione e analisi ad alte prestazioni senza dovere gestire manualmente i singoli thread. Le applicazioni DAQ scritte in LabVIEW che usano hardware NI su un computer multicore possono quindi beneficiare dei miglioramenti in Windows 7 e sono pronte a ottimizzare ulteriormente l’uso dei processori multicore. Infine, è da notare che la nuova versione a 64 bit di LabVIEW 2009 è la prima versione di LabVIEW a offrire una compatibilità nativa con Windows Vista e Windows 7 a 64 bit. Le applicazioni di misura eseguite nativamente su hardware e software a 64 bit possono quindi trarre vantaggio da una maggiore quantità di memoria fisica, utile quando si devono elaborare grandi quantità di dati contigui. Valerio Alessandroni 13 SOMMARIO SISTEMI DI MISURA MIGLIORI 01 COSTRUIRE CON WINDOWS 7 Windows 7 è un for te candidato per le applicazioni di test e misura più avanzate 03 DAL TEST AND MEASUREMENT AL WEB Come ci ha spiegato il dottor Truchard, LabVIEW è pronto a evolvere verso nuove frontiere 06 IL NUOVO ROBOTICS MODULE DI LABVIEW Una piattaforma di sviluppo hardware e software standard per il vostro sistema di controllo robotico 07 IL NUOVO VI ICON EDITOR E’ più facile creare icone di VI professionali grazie a template e glifi incorporati e a caratteristiche di editing potenziate MIGLIORAMENTI DEI FILE TDMS IN 08 LABVIEW 2009 Il Tdms è il formato file raccomandato da NI per il salvataggio su disco di dati di misura basati sul tempo 10 15 LIBRERIA IMAGINGLAB PER ROBOTICA DENSO Rendete più intelligente il vostro sistema robotizzato anche senza sapere programmare robot complessi INTEGRARE UN SISTEMA ROBOTICO IN UN’APPLICAZIONE LABVIEW National Instruments, Denso Robotics e ImagingLab affrontano insieme le nuove sfide della robotica industriale DI MISURA MIGLIORI CON 16 SISTEMI LABVIEW E WINDOWS 7 Le nuove caratteristiche di Windows 7 possono migliorare le applicazioni LabVIEW ALGORITMO DI CONTROLLO PER VEICO22 UNLI IBRIDI SOLARI Strategie di controllo in ambiente CompactRIO per la gestione energetica ottimale di un Hybrid Solar Vehicle - HSV OPTOELETTRONICI PER PORTALI 25 SISTEMI MULTIFUNZIONE FERROVIARI Sistemi di rilievo sagoma, termico e visibile per il monitoraggio di treni in transito STAFFETTA TRA DUE MUSEI CON 28 UNA ROBOT AUTONOMI Tre robot a intelligenza distribuita per spiegare la differenza tra robot autonomo e teleguidato GENNAIO 2010 LA FORMAZIONE È PIÙ 31 DARAPIDA ED EFFICACE Un nuovo percorso formativo mirato a fissare gli attuali e futuri standard di competenze in LabVIEW NUOVO…NUOVE ABITUDINI: I 31 ANNO SEMINARI ONLINE! Nasce l’evento multimediale ‘Il Mese dei Webcast live’ 32 MEMORIZZAZIONE DEI DATI DI MISURA Spieghiamo come memorizzare dati in un file DATI AD UN CLIENT UTILIZZANDO 36 SERVIRE TCP/IP Il TCP/IP permette di trasferire informazioni fra sistemi diversi 39 FOCUS EMBEDDED, CAUTO OTTIMISMO La mostra-convegno ha dialogato con la comunità del mondo embedded su tematiche tecniche e di mercato 40 DALLA CARTA AL WEB Link ad ar ticoli di approfondimento e altri documenti disponibili sul web 42 LA VOCE DEGLI UTENTI Ecco alcuni spunti di discussione apparsi di recente sul Forum di ILVG.it 44 APPUNTAMENTI Oltre ad organizzare propri corsi e seminari, National Instruments sarà presente a numerosi eventi IN TOUR IN MAGLIA ROSA FA 46 LABVIEW INCETTA DI PRESENZE! LabVIEW 2009, spiegato nelle 10 tappe del LabVIEW 2009 Tour nei mesi di ottobre e novembre 47 LABVIEW E LAVORO Proposte concrete per coloro che sanno utilizzare LabVIEW AAA A TU PER TU 13 Valerio Alessandroni DAL TEST AND MEASUREMENT AL WEB Come ci ha spiegato il dottor Truchard, LabVIEW è pronto a evolvere verso nuove frontiere Fig. 1: “National Instruments ha avuto una piccola for tuna: quella di sviluppare in un’area, negli ultimi 20 anni, che si è dimostrata molto vitale per la tecnologia multicore” Il dottor James Truchard, presidente, CEO e cofondatore di National Instruments, ha aperto NIWeek 2009 sottolineando il costante impegno di NI nell'offrire soluzioni concrete a problemi reali, mediante lo sviluppo continuo di nuovi prodotti e tecnologie, e mostrando come l’ambiente di programmazione grafica NI LabVIEW abbia permesso di affrontare, superare e sfruttare le complesse sfide ingegneristiche associate alle architetture parallele e alla programmazione multicore. Truchard ha proseguito spiegando come prodotti NI quali LabVIEW e i nuovi dispositivi hardware basati su Fpga hanno permesso alle società di rafforzarsi attraver- so l’innovazione efficiente, a dispetto di un’economia problematica. “Con le nostre tecnologie affrontiamo le sfide, innoviamo, facciamo la differenza" ha affermato Truchard. “LabVIEW, PXI, CompactRIO e altri prodotti NI hanno dimostrato di essere degli ottimi strumenti per la programmazione multicore e Fpga. Continueremo a sostenere i nostri clienti nella creazione di applicazioni innovative in queste e in molte altre aree, per essere in grado di risolvere una varietà di questioni". Il dottor Truchard ha quindi accettato di rispondere ad alcune nostre domande. 3 A TU PER TU 13 D: “La rincorsa fra LabVIEW e le nuove tecnologie hardware e software non conosce rallentamenti. Qual è la situazione, attualmente? Occorre un hardware più performante per sfruttare pienamente le nuove caratteristiche di LabVIEW oppure LabVIEW dovrà svilupparsi ulteriormente per sfruttare appieno le piattaforme hardware disponibili (come i processori multicore, ecc.)?” mazione parallela e i nuovi meccanismi sviluppati da Intel e da altri per colmare questa lacuna stanno aggiungendo una notevole complessità all’ambiente di programmazione”. D: ”In quali altri modi LabVIEW può aiutare gli ingegneri a ‘fare di più’?” R: “Abbiamo esteso il nostro ruolo nel test and mesurement e LabVIEW, ad esempio, viene utilizzato sempre ”Sono vere entrambe le più spesso anche per applicazioni cose. LabVIEW è stato sviluppadi comunicazione, test ad alte to circa oltre 20 fa da Jeff prestazioni (come il collaudo dei Kodosky, cofondatore di NI, Mems) con significativi migliorache in origine lo aveva concementi in termini di costi e dimenpito come tool di programmasioni dei sistemi di test, oltre a zione grafica per l’Apple permettere una significativa riduMacintosh. Da allora, ha attrazione della potenza utilizzata. versato molte iterazioni, pasDa sottolineare anche il crescente sando alla piattaforma x86, impiego di LabVIEW nel campo aggiungendo supporto per il della robotica e della meccatronimultithreading nel 1998 e per ca. Ma LabVIEW sta permettendo gli Fpga nel 2003. LabVIEW ha di affrontare anche grandi probleaggiunto il supporto multicore mi come quelli legati all’ambienper x86 nella versione 8.5. te, ai trasporti e all’uso delle Posso affermare che abbiamo risorse energetiche. avuto una piccola fortuna: Complessivamente, LabVIEW sta quella di sviluppare in un’area, contribuendo a rendere migliore negli ultimi 20 anni, che si è il mondo in cui viviamo”. dimostrata molto vitale per la tecnologia multicore. Dal primo Fig. 2: “National Instruments è riuscita a seguire una strategia di investimento in R&S finalizzata giorno, infatti, LabVIEW ha ”Con LabVIEW sono all’innovazione. Abbiamo quindi raggiunto gli sempre seguito un approccio a stati affrontati molti dei proobiettivi che ci eravamo posti prima che la crisi economica investisse l’intero pianeta” dataflow strutturato. blemi tipici di un reparto di Tale approccio facilita il compiproduzione: acquisizione to di gestire la sincronizzazione, un problema tipico dei dati, programmazione di controllori (PAC), gestiosistemi paralleli. L’interfaccia grafica e i tool automatiz- ne di sistemi di visione e di robot, ecc. Finora, zati di LabVIEW rendono la strada più agevole ai molti tuttavia, NI non ha mai parlato del livello supeutenti che non hanno esperienza di programmazione. riore, quello del MES, dell’ERP, dell’SCM, ecc. E’ LabVIEW, in particolare, può automatizzare l’assegna- prevedibile un’evoluzione anche in questa direzione di compiti a core e thread differenti. Può inoltre zione o vi affiderete a partner per farlo?” generare codice C e offre tool per ottimizzare manualmente il carico della CPU, il debugging e l’uso della ”In questo momento, la cosa più probabile è che cache nei chip multicore. continueremo ad avvalerci di software di terze parti. Inizialmente, quindi, abbiamo inventato LabVIEW per Abbiamo tuttavia clienti che utilizzano LabVIEW anche creare un tool di programmazione gradevole e oggi pos- per sviluppare sistemi di livello superiore. Ad esempio, il siamo fare con esso implementazioni di progetti multi- Cern utilizza LabVIEW per monitorizzare il riscaldamento core. E questa caratteristica è estremamente tempestiva, dei magneti nel suo acceleratore. Ma ritengo che il in un momento nel quale i programmatori devono nostro approccio rimarrà quello di utilizzare software di affrontare un nuovo parallelismo. terze parti per arrivare al livello superiore. Come ha sotPersino Intel ha dovuto rivedere profondamente il suo tolineato Jeff Kodosky nella sua keynote, stiamo anche approccio al multithreading e ha dovuto sviluppare investendo molto per rendere LabVIEW utilizzabile via parte dell’infrastruttura software parallela di base web. E stiamo considerando anche la convivenza di richiesta dai suoi chip. Ma gli attuali linguaggi di pro- LabVIEW e Linux sulla stessa piattaforma hardware gragrammazione non sono stati sviluppati per la program- zie al nuovo Hypervisor introdotto con LabVIEW 2009”. R: D: R: 4 A TU PER TU D: R: ”Questa sarà la sfida da vincere in futuro. Negli R: D: “National Instruments è riuscita a seguire una strategia di investimento in R&S finalizzata all’innovazione. Abbiamo quindi raggiunto gli obiettivi che ci eravamo posti prima che la crisi economica investisse l’intero pianeta, riducendo le spese in altri settori. Anche altre aziende hanno mantenuto gli investimenti in innovazione che avevano previsto, mentre altre hanno tagliato significativamente i loro investimenti anche in quest’area”. D: ”Nella sua keynote, ha affermato che è giunta l’ora che tecnici e ingegneri abbiano un maggiore potere decisionale sulle roadmap di sviluppo dei singoli Paesi. Ritiene che i politici lo permetteranno?” Stati Uniti, in particolare, la comunità finanziaria è molto influente e gli ingegneri non sono ancora riusciti a raggiungere una posizione altrettanto importante. Ma la comunità tecnica deve cercare di cambiare questa situazione”. “La nuova versione di LabVIEW sarà introdotta in un periodo nel quale, tutti ci auguriamo, l’economia avrà ripreso a crescere. Ritiene che il leitmotivi del 2009 – ‘do more with less’ – sarà ancora valido? R: Dobbiamo sempre cercare di fare di più con meno, anche in periodi positivi e, nel caso di LabVIEW, sarà sempre molto importante sfruttare in modo ottimale tutte le caratteristiche disponibili. La riduzione del timeto-market, la riduzione dei costi e la capacità di fare di più in termini di caratteristiche rimarranno sempre elementi importanti in ogni nuovo prodotto”. Readerser vice.it n. 1301 ”La crisi economica, che nel 2009 sembra avere raggiunto il suo apice, non ha fermato l’innovazione. Ma l’innovazione richiede denaro, sotto forma di finanziamenti. E’ questo, allora, il vero problema da risolvere per una piena ripresa economica?” &2062)7 6SHFLDOLVWLQHO352),%86 6ROX]LRQLSHU1DWLRQDO,QVWUXPHQWVFRQWHFQRORJLD352),%86 F5,23% 0RGXOR352),%86'30DVWHU6ODYHSHUVLVWHPL3$&F5,2GHOOD1DWLRQDO,QVWUXPHQWV F5,231 0RGXOR352),1(7,2'HYLFHSHUVLVWHPL3$&F5,2GHOOD1DWLRQDO,QVWUXPHQWV )1/ *DWHZD\(WKHUQHW352),%86'3GLVSRQLELOHFRQ'ULYHUSHUDPELHQWH/DE9,(: ²,QWHJUD]LRQHUDSLGDPHGLDQWHLQWHUIDFFLD(WKHUQHW7&3,3 readerservice.it n.24686 3URGXWWRUH &2062)7*PE+_:DFKKDXVVWUD_.DUOVUXKH_*HUPDQLD 7HO _ )D[ (PDLO LQIRLFS#FRPVRIWGH _ ,QWHUQHW ZZZFRPVRIWGH &RQWDWWRFRPPHUFLDOH 62/,17(&$8720$=,21(61&_9LD0DU]R%_&DYHQDJR %]D 0, _ ,WDOLD _ 7HO _ )D[ (PDLOLQIR#VROLQWHFDXWRPD]LRQHLW_ZZZVROLQWHFDXWRPD]LRQHLW W H AT ’ S N E W 13 ROBOTICS MODULE DI LABVIEW IL NUOVO Readerser vice.it n. 1302 A cura di Giorgio Luciani Dai veicoli agricoli autonomi ai sistemi medicali mobili, il LabVIEW Robotics Module mette a disposizione una piattaforma di sviluppo hardware e software standard per progettare il vostro sistema di controllo robotico 6 I l LabVIEW Robotics Module si inserisce nell’ambiente di sviluppo LabVIEW offrendo un’ampia libreria di robotica con connettività nativa a sensori ed attuatori di robot, algoritmi fondamentali per il funzionamento intelligente e la percezione affidabile e funzioni di motion per fare muovere il vostro robot o veicolo. ALGORITMI E API SPECIFICI SULLA PALETTE ROBOTICS LabVIEW Robotics è completo di una nuova palette ‘Robotics’ contenente nuovi algoritmi per progettare il vostro prossimo controllore robotico. In questa nuova palette di funzioni si può trovare tutto ciò che occorre: dai driver per sensori alla cinematica inversa. · Usate i VI Connectivity per lavorare con altro software robotico, compresi prodotti di terze parti come Cogmation, MobileRobotics, Skilligent e Microsoft. · Usate i VI Obstacle Avoidance per implementare il riconoscimento di ostacoli in veicoli robotici mobili. · Usate i VI Path Planning per calcolare un percorso verso un punto obiettivo in una mappa che rappresenta l’ambiente del robot. · Usate i VI Protocols per elaborare dati formattati in protocolli di comunicazione, come i dati inviati da sensori, in LabVIEW. · Usate i VI Robotic Arm per creare un braccio robotico simulato ed interagire con esso. Potete eseguire calcoli dinamici e cinematici sul braccio, simulare un braccio e così via per prototipare il braccio robotico. · Usate i VI Sensing per configurare, controllare e recuperare dati dagli strumenti comunemente utilizzati nei sistemi robotici, come dispositivi seriali e USB. Navigate nella palette Instrument I/O o usate l’NI Instrument Driver Finder per trovare ed installare driver per strumenti addizionali. CONNETTIVITÀ A SENSORI ED ATTUATORI Il linguaggio di programmazione LabVIEW ha permesso agli ingegneri di risparmiare tempo grazie al collegamento a strumentazione e dispositivi fin dalla sua prima release. Oggi, LabVIEW è lo standard de facto per la connettività a strumentazione attraverso un’ampia gamma di driver per strumenta- Figura 1 – LabVIEW Robotics è completo di una nuova palette ‘Robotics’ contenente nuovi algoritmi per progettare il vostro prossimo controllore robotico zione di alta qualità. LabVIEW Robotics ha sfruttato questa forza incorporando un’intera suite di connettività a sensori ed attuatori per robotica. Tali driver eliminano il laborioso compito di scrivere, provare ed implementare driver per sensori per il vostro sistema robotico. Infatti, LabVIEW Robotics include più versioni di molti driver per sensori per piattaforme Windows, real-time e basate su Fpga, assicurandovi di poter collegare correttamente il vostro sensore per le vostre esigenze di input. Figura 2 – LabVIEW Robotics include driver ed esempi per differenti esigenze di I/O Note sull’autore Laureato in ingegneria informatica presso il Politecnico di Milano, Giorgio Luciani lavora in qualità di Application Engineer presso National Instruments Italy. W H AT ’ S N E W 13 IL NUOVO VI ICON EDITOR I l nuovo VI Icon Editor di LabVIEW 2009 facilita la creazione di icone di VI professionali grazie a template e glifi incorporati e a caratteristiche di editing potenziate come layout di testo e disposizione di immagini su più livelli NUOVE CARATTERISTICHE Template L’uso di un template rende più semplice identificare VI simili su un diagramma a blocchi. Per creare il vostro template, cancellate tutte le immagini sull’icona e usate gli art tool sul lato destro dell’Icon Editor in modo da progettare il vostro template. La maggior parte dei template LabVIEW include un campo di testo nella parte superiore e spazio nelle parti centrale e inferiore, ma il vostro template può avere l’aspetto che desiderate. Dopo avere salvato l’icona come template, essa apparirà nel Potete aggiungere fino a quattro linee di testo e ogni linea può essere ridimensionata o ricolorata usando i controlli sul tab Icon Text. Per inserire del testo senza utilizzare i controlli Icon Text, potete anche usare il tool text, che si trova sul lato destro dell’Icon Editor con il resto degli art tool. GLIFI A cura di Giorgio Luciani Le icone di VI in LabVIEW rendono più facile capire la funzione del vostro codice, a voi e a coloro che potrebbero utilizzarlo in futuro Figura 3 - Il nuovo VI Icon Editor offre accesso a centinaia di glifi tab Templates dell’Icon Editor ogni volta che editerete l’icona di un VI. Selezionate il template e aggiungete altro testo e immagini per distinguere il singolo VI dagli altri VI che condividono lo stesso template. TESTO DELLE ICONE Invece di dovere inserire e cancellare manualmente del testo, i nuovi controlli di editing del testo vi permettono di digitare, spostare, ridimensionare, ricolorare e giustificare il testo tutte le volte che occorre. Per editare il testo della vostra icona, cliccate sul tab Icon Text. Figura 2 - Nel nuovo Icon Editor, editare il testo di icone è più facile LIVELLI Navigate sul tab Layers per rivedere ed editare i differenti livelli nella vostra icona. Per default, i livelli sono suddivisi nel livello template, nel livello testo e nei livelli addizionali che aggiungete per glifi o disegno libero. Ogni livello include alcuni tool per aiutarvi a customizzare quel livello specifico. Potete cambiare l’opacità di ogni livello selezionando e trascinando lo slider blu. Potete anche nascondere tutti gli altri livelli mentre editate un livello, premendo l’icona occhio accanto a tali livelli. Figura 4 - Gli strati offrono maggiore controllo quando si progettano icone di VI Readerser vice.it n. 1303 Figura 1 - Template di un VI base Il nuovo Icon Editor espone l’intera libreria di glifi LabVIEW per il vostro uso. Nel tab Glyphs dell’Icon Editor, cliccate il glifo che volete utilizzare nell’icona del vostro VI, in modo che venga posto sul vostro cursore e possa essere utilizzato sull’icona. Potete anche creare vostri glifi. Usate l’Icon Editor per progettare il glifo, lasciando solo l’immagine desiderata sull schermo, quindi salvate l’icona come glifo. Esso apparirà quindi accanto agli altri glifi sul tab Glyphs. 7 W H AT ’ S N E W 13 MIGLIORAMENTI DEI FILE TDMS IN LABVIEW 2009 A cura di Giorgio Luciani Il Tdms è il formato file raccomandato da NI per il salvataggio su disco di dati di misura basati sul tempo per elevate prestazioni, utilizzabilità e riuso I n LabVIEW 2009, sono stati introdotti nuovi miglioramenti al formato Tdms per aumentare la velocità di scrittura dei file di un fattore 4, permettendo di raggiungere benchmark di scrittura dei file fino a 400 MB/s. Vi sono 4 miglioramenti principali che si traducono nell’aumento di prestazioni Tdms. 1 – BUFFERIZZAZIONE DI WINDOWS DISABILITATA Il VI Tdms Open VI ha ora un input per specificare se disattivare o meno la bufferizzazione dei file che Windows implementa per default. Tale bufferizzazione riduce significativamente il throughput di streaming dei data verso il disco fisso. Per default, la scrittura Tdms bypassa ora il buffer Windows. 2 – MEMORIZZAZIONE DEI COEFFICIENTI DI SCALATURA POLINOMIALE Un nuovo VI, il VI Tdms Create Scaling Information, permette agli utenti di memorizzare le informazioni di scalatura polimorfica da un task NI-DAQmx o manualmente, in modo che gli utenti possano memorizzare solo i dati grezzi. Lo streaming dei dati grezzi in un file Tdms accelera l’applicazione e riduce lo spazio richiesto su disco dai file di dati di un fattore 2 (risoluzione 24 bit) o 4 (risoluzione 16 bit). 3 – DATI INTERLACCIATI In precedenza, tutti i dati di canale all’interno dello stesso segmento di file dovevano essere memorizzati come parti di memoria contigue. Ora, vi è un nuovo input in Tdms Write che permette agli utenti di selezionare la scrittura interlacciata dei dati per maggiori prestazioni. 4 – IO SOVRAPPOSTI Figura 1 – Aggiunta di informazioni di scalatura come proprietà per lo streaming di dati grezzi 8 Figura 2 – Nel VI Tdsm Write è possibile specificare la scrittura dati decimata o interlacciata Le funzioni dei file Tdms supportano ora le scritture asincrone su disco, o IO sovrapposti. Gli IO sovrapposti permettono a più thread di scrivere contemporaneamente sul file, ottimizzando le velocità di scrittura su file. INTEGRAZIONE DAQMX La scrittura dei file Tdms è stata ora integrata direttamente nel driver NI-DAQmx, permettendo di ottenere il modo più semplice e più veloce per lo streaming dei dati sulla piattaforma NI. Il NI-DAQmx 9.0 installa un nuovo VI, il VI DAQmx Configure Logging, che permette agli utenti di configurare la scrittura dei dati in un file Tdms all’interno di un singolo VI sulla palette DAQ. Ciò non solo semplifica l’uso e l’integrazione nelle applicazioni di acquisizione dati esistenti ma, grazie ad ottimizzazioni non visibili all’esterno, è il modo più veloce per scrivere dati su disco. Per ottimizzare le velocità di scrittura su file, il NI-DAQmx può eseguire lo streaming dei dati direttamente dal buffer del dispositivo verso il disco fisso bypassando i buffer di Windows, LabVIEW e Tdms. Il VI DAQmx Configure Logging migliora inoltre le prestazioni e riduce l’ingombro su disco scrivendo dati grezzi nel file Tdms, incluse le informazioni di scalatura separate, per l’uso nella rilettura del file Tdms. Queste ottimizzazioni si traducono in velocità di scrittura fino a 1,2 GB/s. Readerser vice.it n. 1304 W H AT ’ S N E W Figura 3 – Il VI DAQmx Configure Logging permette agli utenti di impostare il data logging su Tdms prima ancora di iniziare il task SEI UN FAN DI LABVIEW? ENTRA NELLA NOSTRA COMUNITÀ! Caro lettore, se ritieni che questa nuova iniziativa LabVIEW World sia un utile strumento per la tua attività e desideri continuare a rimanere aggiornato sul mondo LabVIEW, collegati alla pagina http://www.labviewworld.it 9 TIPS&TECHNIQUES 13 IMAGINGLAB LIBRERIA PER ROBOTICA DENSO Carlton Heard Con la Libreria ImagingLab per robotica Denso, potete rendere più intelligente il vostro sistema robotizzato senza dover possedere un’esperienza di programmazione di robot complessi L e odierne macchine di produzione a basso volume e mix elevato richiedono robot più intelligenti, che siano in grado di interagire con il loro ambiente attraverso misure e visione. LabVIEW rende possibili nuove applicazioni per i robot industriali integrando misure, visione, controllo del robot e HMI in un unico ambiente di semplice uso. La Libreria ImagingLab per robotica Denso vi permette di rendere più intelligente il vostro sistema robotizzato anche se non possedete un’esperienza di programmazione di robot complessi. Oltre alla produzione flessibile, con la libreria potete integrare robot Denso in nuovi tipi di sistemi e applicazioni per test automatizzato, automazione di laboratorio e produzione di precisione. INTRODUZIONE Questo articolo introduce i concetti fondamentali della Libreria ImagingLab per robotica Denso con esempi che possono servire come punto di partenza per programmare il vostro sistema robotizzato e guidato da visione Denso. Apprenderete come usare la Libreria ImagingLab per robotica Denso ed esplorerete applicazioni di movimento punto a punto, di movimento continuo e guidato dalla visione. Il robot Denso dovrebbe essere operativo con il pannello pensile, per ottenere il massimo dal codice esemplificativo. Notate che l’articolo è un esempio configurabile – non un’applicazione ‘chiavi in mano’ – e non introduce ogni aspetto della Libreria ImagingLab per robotica Denso o dei robot Denso. Se state sviluppando un sistema robotizzato complesso, considerate la consultazione di un Alliance Partner National Instruments. CONFIGURAZIONE DEL VOSTRO SISTEMA Robslave Per portare il robot in uno stato slave che potete controllare con il software LabVIEW, dovete caricare e avviare un programma Denso denominato robslave.pac, che viene fornito insieme al software b-CAP Denso sul controllore del robot. Usate il software Denso per scaricare il robslave.pac sul controllore. Dopo esservi collegati al controllore, usate il VI DensoRobslave per avviare il programma e interrompere il programma quando uscite dall’applicazione LabVIEW. ABILITAZIONE DEL CONTROLLO ETHERNET Tutti i comandi del robot da LabVIEW sono inviati attraverso un collegamento Ethernet al controllore del robot. Il controllore del robot permette il controllo da un solo indirizzo IP, che dovete aggiungere al controllore come client valido. Per farlo sul pannello pensile, navigate a Settings»Communications Setting»Client. Con questo menu, potete cambiare l’indirizzo IP in modo che corrisponda all’indirizzo IP del PC o dispo- Fig 1 – Inizializzazione: impostazione di parametri, velocità e posizione del controllore del robot 10 TIPS&TECHNIQUES sitivo real-time che state collegando al robot. Dovete inoltre impostare il robot in modo che possa ricevere comandi attraverso Ethernet. Navigate a Settings»Communications Setting»Ext Run sul pannello pensile e selezionate Ethernet come porta di comunicazione da cui eseguire i programmi. La porta Ethernet deve anche avere permessi di Lettura/Scrittura, che sono impostati in Settings»Communications Setting»Permit. CABLAGGIO Per controllare il robot Denso con LabVIEW, dovete ruotare la chiave del pannello pensile su Auto e attivare le linee Enable Auto sulla porta Safety I/O. Inoltre, dovete collegare l’ingresso Stop all Steps della connessione min-I/O sul controllore Denso, o linea step-stop, a un’alimentazione a 24 V. Questa può essere un’alimentazione a 24 V esterna, oppure potete modificare i ponticelli all’interno del controllore in modo che i 24 V vengano erogati internamente. Per maggiori informazioni consultate il manuale Denso. INIZIALIZZAZIONE Collegamento del controllore del robot Il primo passo nell’applicazione di programmazione di un robot Denso è l’inizializzazione del robot e dei suoi parametri. Aprite una connessione al controllore del robot usando il VI Denso-Open e specificando l’indirizzo del controllore e il numero di assi del robot. Per trovare l’indirizzo IP del controllore del robot, navigate a Settings»Communications Settings»Address sul pannello pensile Denso. Notate che dovete aggiungere l’indirizzo IP del PC o target real-time che si collega al controllore del robot come client valido nel menu di impostazione delle comunicazioni del robot come descritto sopra. Le opzioni dei VI Denso-Open per il numero di assi sono 6, 5, 4 e Undefined. Non è necessario differenziare fra modelli differenti di ogni robot che hanno lo stesso numero di assi. Per esempio, potete eseguire programmi scritti per un robot a sei assi serie VS usando un robot a sei assi serie VP senza alcun cambiamento di codice LabVIEW. IMPOSTAZIONE DELLE VELOCITÀ In LabVIEW potete impostare due tipi differenti di velocità del robot: esterna e interna. La velocità esterna è usata nella maggior parte dei casi per controllare le variazioni fra i movimenti dopo l’implementazione. Per esempio, potrebbe essere necessario muovere il robot ad una velocità più bassa durante l’assemblaggio di una parte, ma muoverlo a una velocità più elevata quando ritorna a prelevare un’altra parte. Quando il robot ha posizionato la parte o prima che prelevi una parte, richiamate semplicemente il VI della velocità esterna per impostare la velocità corrente desiderata. La velocità interna è usata normalmente per scopi di test. Se è necessario eseguire un test a una velocità del 25 per cento, potete impostare la velocità Fig 2 – Work e Tool: impostazione dell’utensile e dell’area di lavoro correnti interna a 25 e tutte le velocità dei movimenti del robot saranno scalate al 25 per cento del loro valore. In caso contrario, dovreste entrare nel codice e impostare ogni velocità al 25 per cento del suo valore originale. Ciò può essere laborioso, perché alcune applicazioni richiedono una grande varietà di velocità per i vari movimenti. Per sicurezza, impostate le velocità interna ed esterna dopo avere avviato robslave.pac per essere certi che il robot si muova alla velocità corretta ogni volta che eseguite il programma. ACCENSIONE/SPEGNIMENTO Dopo avere aperto un collegamento con il controllore del robot, al robot non viene fornita alimentazione finché non richiamate il VI Denso – Servo – Set ON-OFF. Richiamate questo VI con l’ingresso dello stato del motore impostato a Motor On prima di inviare qualsiasi comando di movimento e cambiate l’ingresso dello stato del motore a Motor Off quando tutti i movimenti sono terminati. WORK E TOOL Con i robot Denso, l’utente può impostare l’utensile o endaffecter corrente, fissato all’estremità del robot. Con questa funzionalità, il cambiamento dell’end-affecter non richiede un cambiamento completo nelle posizioni programmate. Al contrario, questa caratteristica applica automaticamente un offset dei movimenti per raggiungere la stessa posizione target in base ai parametri dell’end-affecter utilizzato. Il sistema di coordinate, o area di lavoro, definisce le posizioni assolute quando si comanda il robot usando coordinate cartesiane e trans. La Libreria ImagingLab per robotica Denso permette all’utente di impostare ed editare l’utensile e l’area di lavoro correnti, nonché di aggiungere nuovi utensili e aree di lavoro usando i VI illustrati nella fig 2. La figura indica come impostare l’utensile e l’area di lavoro correnti e nuovi valori per un utensile/area di lavoro lavoro specifici, ma potete cambiare l’ingresso da Set a Get per ottenere i valori e le impostazioni correnti. MOVIMENTO PUNTO A PUNTO DEL ROBOT Movimento mediante coordinate Potete comandare il movimento del robot con tre metodi: coordinate, posizione e Denso Drive. Quando muovete il robot mediante coordinate, usate il VI Move by Coordinates per selezionare il tipo di coordinate (cartesiane, congiunte o trans) e immettete quindi il gruppo di coordinate nel VI. Le transvariabili sono variabili di posizione nella matrice di trasformazione 11 TIPS&TECHNIQUES 13 omogenea, spiegata più in dettaglio nel manuale del robot Denso. Quando usate coordinate cartesiane, notate che fanno riferimento al sistema di coordinate o numero di lavoro corrente. Per esempio, se l’utente esegue un movimento cartesiano mentre usa il sistema di Fig 3 – Comando del movimento del coordinate base e quindi cambia il robot mediante coordinate sistema di coordinate a Work 2, è possibile che lo stesso movimento cartesiano possa comandare il movimento del robot in una posizione differente rispetto a prima. L’uso dei sistemi di coordinate è discusso con maggiori dettagli nel paragrafo della guida mediante visione. MOVIMENTO MEDIANTE POSIZIONE Quando muovete il robot mediante posizione, instruite il robot a muoversi in un punto prememorizzato. Tale punto può essere una variabile di posizione, congiunta o trans. Potete memorizzare le tre variabili usando il pannello pensiFig 4 – Comando del movimento del robot mediante posizione le Denso o LabVIEW. Il VI Move by Position, illustrato nella figura 4, richiede un ingresso per selezionare il tipo di variabile e il numero della variabile. DENSO DRIVE Il terzo metodo per muovere il robot è il VI Denso-Drive, che permette all’utente di eseguire un movimento relativo o assoluto su assi specifici. L’utente specifica la Move Option e il Pass Motion, discussi più avanti in questo articolo e il tipo del movimento: relativo o assoluto. La caratteristica Drive Parameters è un array di cluster d’ingresso che contiene l’asse target e la coordinata dell’asse. Per esempio, se volete che il quarto asse si muova di 16 mm, selezionate semplicemente Relative dal selettore polimorfico del VI, scegliete Axis 4 sotto Drive Parameters e impostate la coordinata a 16. Poiché Fig 5 – Comando del movimento del l’ingresso Drive Parameters è un robot mediante Denso Drive array, potete comandare più movimenti su vari assi; tuttavia, essi devono essere tutti relativi o assoluti e avere gli stessi Move Option e Pass Motion. ATTESA CHE TERMINI IL MOVIMENTO I VI di movimento del robot non sono bloccanti: ciò significa che quando avete inviato un comando di movimento al con- 12 trollore del robot, il programma prosegue fino al prossimo VI senza attendere che il movimento sia completato. Il prossimo paragrafo sui movimenti a punti multipli esamina come potete usare questa caratteristica per accodare i comandi e rendere continui i movimenti. Dopo il richiamo del VI finale di movimento del robot, è normale spegnere il robot. Poiché l’esecuzione del VI prosegue immediatamente dopo l’invio del comando di movimento finale al robot, il VI Power Off interrompe il robot e distacca l’alimentazione prima che il movimento finale sia stato completato. Per bloccare l’esecuzione del codice LabVIEW finché i movimenti sono stati completati, usate il VI Wait Arm Stop. Vi è tuttavia uno scenario nel quale i VI di movimento del robot possono essere bloccanti. Come accennato in precedenza, i VI di movimento del robot possono accodarsi sul controllore del robot se vengono inviati più comandi di movimento prima che il primo movimento sia stato completato. Tale coda può contenere fino a tre comandi di movimento e, quando la coda è piena, ulteriori comandi di movimento vengono rifiutati, facendo sì che il VI di attesa del movimento del robot blocchi finché un registro della coda non è libero. MOVIMENTI DEL ROBOT A PUNTI MULTIPLI Movimenti a punti multipli L’esecuzione in serie di più comandi di movimento del robot accoda i movimenti sul controllore del robot e permette di unire fra loro i movimenti in modo da produrre un percorso continuo fra le posizioni. Questo tipo di unione è particolarmente utile nelle applicazioni pick and place, che muovono il robot in un punto per prelevare una parte e poi in un altro punto per depositare la parte in un assemblato o in altra destinazione. PICK AND PLACE Nelle tipiche applicazioni pick and place, il robot non si muove direttamente nel punto di pick o place, ma si muove invece da qualche posizione di offset al di sopra della parte. Ciò evita che l’end-affecter urti le parti o le danneggi mentre si muove in posizione e permette il posizionamento della parte all’interno di Fig 6 – Approach e Move: uso del VI Approach per por tare il robot in una posizione di offset al di sopra della par te e quindi del VI Move per muovere il robot nell’esatta posizione target TIPS&TECHNIQUES qualche posizione protetta da pareti. Per eseguire questi tipi di movimenti, usate i VI Approach, Move e Depart. I VI Approach e Move usano la stessa posizione target, ma Approach ha un ingresso per la distanza di approccio, o offset dalla parte. Raggiunta tale posizione di approccio, viene richiamato il VI Move per il movimento nell’esatta posizione target e, dopo l’uso dell’end-affecter, viene usato il VI Depart per ritornare nella posizione di offset prima di procedere nel punto successivo. PARAMETRI DI MOVIMENTO Fig 7 – Il cluster dei parametri di moto Interpolazione Un ingresso richiesto per ogni VI di movimento è il cluster dei parametri di moto. Le voci in tale cluster specificano interpolazione, pass motion e move option. L’interpolazione ha effetto sul percorso seguito fra due posizioni. Move P è il tipo di interpolazione di default e, quando è selezionato, il robot segue il percorso più efficiente verso il prossimo punto. Move L richiede che l’end-affecter si muova secondo un percorso lineare fino al prossimo punto. Ciò è utile per i casi in cui la parte da manipolare debba essere sollevata verticalmente o debba passare attraverso un canale lungo il percorso verso la prossima posizione. E’ importante notare, tuttavia, che quando si usa l’interpolazione lineare, il percorso fra i due punti deve essere uno spazio valido per il movimento del robot. Per esempio, non potete eseguire un movimento lineare da un lato all’altro del robot, perché ciò richiede che il robot si muova attraverso sé stesso. Pass Motion La seconda voce nel cluster specifica il moto di passaggio da usare con il movimento. Un moto di passaggio determina il moto per arrivare nella posizione finale. @0, noto come valore di default, arresta il robot quando il valore del comando del servosistema corrisponde alla posizione di destinazione. Potete usare il moto di passaggio non solo per movimenti ad una posizione finale, ma anche per il passaggio attraverso una posizione che deve essere raggiunta entro una certa deviazione. Un altro metodo per passare attraverso una posizione è un moto di passaggio di @P, che potete usare per collegare il movimento corrente con il movimento successivo. L’uso di @P fa sì che il movimento corrente finisca a una certa distanza dalla posizione target, in modo che si possa passare attraverso tale posizione sul percorso verso la posizione successiva. Analogamente all’uso del valore di default di @0, l’uso di @E arresta il movimento nella posizione target, ma @E usa il valore dell’encoder per arrestare il moto quando il motore raggiunge la posizione di destinazione al suo valore di encoder corrispondente. Questo è il metodo migliore da implementare per arrivare esattamente alla posizione target. Fig 8 – I diversi compor tamenti specificati dall’ingresso pass motion Move Option L’ultimo parametro è Move Option, che ha i valori Default e Next. Quando selezionate Default, il movimento corrente che il robot sta eseguendo deve raggiungere completamente la sua posizione finale prima che il robot proceda con il prossimo movimento. Quando selezionate Next, il robot procede alla successiva istruzione di movimento senza attendere che il movimento sia stato totalmente completato. Ciò crea un effetto di continuità fra i due movimenti. I movimenti Approach e Depart vengono normalmente eseguiti con Next come Move Option perché le posizioni di offset spesso non sono il movimento finale e non è essenziale che tali movimenti siano stati totalmente completati o che il robot venga portato ad un arresto prima di procedere. ROBOTICA GUIDATA DALLA VISIONE Calibrazione Il ponte fra il sistema di visione e il robot è un sistema di coordinate condiviso. Il sistema di visione trova una parte e ne riporta la posizione ma, per instruire il robot a muoversi in quella posizione, il sistema deve convertire le coordinate in unità accettate dal robot. La calibrazione permette al sistema di visione di riportare le posizioni in unità reali come i millimetri, che sono utilizzati con le coordinate cartesiane del robot. Un metodo comune di calibrazione è usare una griglia di punti. Per informazioni più approfondite sulla calibrazione delle immagini, consultate l’NI Vision Concepts Manual. Potete usare la griglia di punti per calibrare il sistema di visione e anche per calibrare il robot con il sistema di visione. Quando calibrate il sistema di visione, dovete selezionare un’origine per definire il piano x-y. Normalmente si seleziona uno dei punti d’angolo come origine e si definisce una riga o una colonna come asse x. Il metodo usato dal robot per creare un sistema di coordinate è simile, quindi potete usare lo stesso punto sulla griglia di calibrazione che selezionate come origine del sistema di visione anche come origine del robot. Muovete semplicemente il robot in quel punto, memorizzate il punto come variabile di posizione sul controllore del robot, muovete il robot lungo gli assi x e y e memorizzate quei punti come variabili di posizione. Potete memorizzare le variabili di posizione usando 13 TIPS&TECHNIQUES 13 MOVIMENTI RELATIVI E ASSOLUTI Nella maggior parte dei casi, una telecamera ha una posizione fissa relativamente al robot. Quindi, quando avete portato a termine una calibrazione del robot e del sistema di visione, potete immettere direttamente l’uscita di posizione calibrata dal codice di visione nei VI di movimento del robot. Ciò significa usare dei movimenti assoluti. In altri casi, potete fissare la telecamera all’end-affecter o ad altri dispositivi in movimento. Poiché la vista della telecamera cambia, dovete aggiornare la calibrazione con la vista o fornire movimenti relativi. Quando si usano movimenti relativi, la posizione target viene fornita come offset relativo dalla posizione corrente, ad esempio quando la telecamera richiede che il target sia al centro del frame ad ogni acquisizione. Quando il target è fuori centro, i risultati dell’immagine comandano il robot a muoversi di una quantità relativa finché il target è ricentrato. Potete anche Fig 9 – Calibrazione del robot passando le coordinate usate per calibrare il sistema di visione 14 usare un sistema ibrido in situazioni in cui la telecamera fissa fornisce movimenti assoluti per prelevare parti e muovere il robot nell’area di assemblaggio. Potete usare una seconda telecamera per la guida precisa nella posizione finale. PARALLEL PROCESSING La Libreria ImagingLab per robotica Denso ha un’API sequenziale in cui i comandi vengono eseguiti nell’ordine in cui sono stati programmati, ma in molte applicazioni il codice di controllo del robot potrebbe non essere l’unico codice da esegui- Fig 10 – Esempio di flowchar t per il codice di visione eseguito in parallelo con i VI del robot re. Acquisizione ed elaborazione tramite visione, HMI e interfacce utente, gestione degli allarmi, controllo di dispositivi di alimentazione e altri processi di comunicazione sono tutti task che possono essere eseguiti in parallelo al controllo del robot. LabVIEW offre molte architetture, come l’architettura MasterSlave o Producer-Consumer, che sono in grado di gestire vari task, e potete selezionare un’architettura in base alla vostra specifica applicazione. L’acquisizione ed elaborazione di immagini non deve essere necessariamente in linea con i comandi del robot quando si implementano applicazioni robotiche guidate dalla visione, quindi l’uso di un’architettura di parallel processing permette a queste funzioni di svolgersi contemporaneamente ai comandi del robot e ad altri processi di controllo. Ciò mantiene il robot in moto continuo, perché esso non deve aspettare che il codice di visione termini prima di muoversi. Quando il robot ha lasciato l’area di osservazione, potete acquisire una nuova immagine e implementare il riconoscimento e l’ispezione di pattern geometrici mentre la parte precedente è assemblata o spostata nella sua posizione di piazzamento. Quindi, quando la parte precedente è stata piazzata, la posizione della parte successiva è pronta per essere inviata ai VI di movimento del robot. Readerser vice.it n. 1316 LabVIEW o il pannello pensile Denso. Dopo avere completato questa operazione, potete usare il pannello pensile Denso per autocalcolare un sistema di coordinate o un’area di lavoro sulla base delle tre posizioni memorizzate. Per usare il tool di autocalcolo sul pannello pensile Denso, navigate dallo schermo base ad Arm»Auxiliary Functions»Work»Auto Calculate. Quando siete nel menu di autocalcolo dell’area di lavoro, selezionate semplicemente le variabili di posizione che corrispondono alle variabili di posizione dell’origine, dell’asse x e del piano x-y memorizzate come spiegato in precedenza. Potete immettere direttamente le posizioni del sistema di visione calibrato nei VI di movimento cartesiano del robot quando l’autocalcolo è terminato e l’area di lavoro recentemente creata è impostata come area di lavoro corrente utilizzata. Osservate la figura 9 per un semplice esempio di passaggio delle coordinate. Questi risultati che vengono passati direttamente ai VI di movimento del robot includono anche l’angolo di corrispondenza, che è un’uscita dei risultati di riconoscimento del pattern geometrico del sistema di visione. Un altro metodo di calibrazione è l’immissione diretta dei parametri del sistema di coordinate anziché utilizzare l’autocalcolo incorporato sul pannello pensile. Potete farlo con il pannello pensile Denso o LabVIEW. Consultate il manuale Denso per maggiori informazioni sui metodi di calibrazione del robot. EVENTI 13 SISTEMA ROBOTICO IN UN’APPLICAZIONE LABVIEW I n collaborazione con Denso e National Instruments, ImagingLab, Alliance Partner di National Instruments Italy, ha rilasciato lo scorso 25 novembre una nuova libreria di funzioni grafiche di LabVIEW in grado di integrare tutti gli aspetti di un sistema robotico all'interno di un'unica applicazione LabVIEW, senza bisogno di competenze specifiche nella programmazione robotica. La nuova libreria è in grado di integrare la tecnologia di misura e visione di National Instruments all’interno dei robot industriali Denso, comunicando con i controller per guidare la movimentazione dei bracci robotizzati tramite LabVIEW. La nuova libreria è una collezione di funzioni grafiche di facile utilizzo e consente di utilizzare un unico ambiente software per il controllo e l’integrazione di ciascun aspetto della macchina, dalla movimentazione di componenti e controllo del robot alle misure avanzate e visione artificiale. La Libreria ImagingLab per robotica Denso si installa come un set di funzioni direttamente sul LabVIEW ed è in grado di operare anche con LabVIEW Real-Time, integrando quindi, la flessibilità della programmazione grafica di sistemi di LabVIEW con la potenza di un sistema operativo realtime. Utilizzando la libreria con i sistemi di visioni integrata NI Smart Camera, sarà possibile, inoltre, sviluppare applicazioni di visione industriale e robotica, dalle più semplici alle più complesse, integrando software e hardware per la misura NI. Grazie all'intuitività di LabVIEW, è possibile ora integrare robot industriali nelle applicazioni di automazione di laborato- rio, assemblaggio di componenti di precisione e collaudo di parti complesse. Inoltre, rispondendo alle più attuali esigenze di riduzione dei costi e tempi di sviluppo, la libreria robotica di ImagingLab rappresenta la soluzione commerciale ideale per l’integrazione del braccio robotico per efficienza e time-to-market. “LabVIEW è l'ambiente di sviluppo preferito da molti tecnici e ingegneri a livello globale” sostiene Toyohiko Ito, direttore di Denso Wave, società del gruppo Denso per lo sviluppo e la produzione di robot industriali. “Incoraggiare i clienti all’utilizzo di LabVIEW per controllare i robot Denso contribuirà ad aumentarne l’efficienza e ridurre il time-to-market”Maggiori informazioni nell’articolo a pag. 10 oppure sul sito: www.imaginglab.it Note sull’autore Nadia Albarello, laureata in Lingue Moderne e Comunicazione alla Karl Franzens Universität di Graz, Austria, lavora in qualità di Marketing Communications Manager presso National Instruments Italy. Readerser vice.it n. 1385 National Instruments, Denso Robotics e ImagingLab insieme per affrontare le nuove sfide nel campo della robotica industriale Nadia Albarello INTEGRAZIONE DI UN 15 TIPS&TECHNIQUES 13 LABVIEW E WINDOWS 7 IMPLEMENTARE SISTEMI DI MISURA MIGLIORI CON Elijah Kerry Le nuove caratteristiche di Windows 7 possono migliorare le applicazioni LabVIEW, soprattutto se si utilizzano le versioni a 64 bit del sistema operativo Microsoft e del software National Instruments Q uesto articolo introduce alcune delle notevoli nuove caratteristiche e miglioramenti del sistema operativo Windows 7 concentrandosi sulle esigenze di ingegneri e scienziati. Viene fatta una panoramica sulla gestione delle reti, la sicurezza, l’usabilità e le performance del nuovo sistema operativo e delle applicazioni realizzate con LabVIEW. NETWORKING E CONDIVISIONE FILE Le applicazioni ingegneristiche utilizzano dataset sempre più grandi e condividono risultati e report di test, grazie alla disponibilità di modi per impostare e condividere i file facilmente e semplicemente attraverso una rete. Windows 7 facilita il collegamento a una rete, la creazione di reti domestiche e la condivisione di file fra i vostri computer. Microsoft ha semplificato il processo di collegamento alla vostra rete wireless, che richiede molti meno click in Windows 7. Invece di dovere attraversare molte finestre di dialogo, potete collegarvi a una rete direttamente dalla barra dei task con pochi click. In Windows 7, potete designare una rete come vostro HomeGroup, cosa che vi permette di condividere file in modo semplice e sicuro fra i computer di questa particolare rete. HomeGroup vi permettre inoltre di condividere stampanti collegate a USB con altri PC Windows 7. LIBRERIE Per capire meglio il concetto di librerie in Windows 7, dobbiamo tornare a Windows XP e Vista. Queste versioni precedenti di Windows includevano un set di cartelle speciali chiamate ‘My Documents’ per memorizzare contenuti dell’utente. In Windows Vista, queste speciali cartelle erano indicizzate automaticamente, permettendo all’utente di eseguire ricerche più veloci. Molti utenti Windows, tuttavia, memorizzavano i loro dati in altre cartelle come c:\temp; queste cartelle non erano indicizzate automaticamente, con la conseguenza di prestazioni di ricerca più basse. In Windows 7, 16 libraries risolve il problema permettendo all’utente di aggiungere file o cartelle alla libreria indipendentemente dalla sua effettiva posizione nel file system. SICUREZZA La sicurezza è sempre una priorità. Non c’è nulla di peggio che perdere mesi di tempo di sviluppo a causa di un attacco di malware. Soprattutto in un ambiente aziendale o di ricerca, si desidera evitare che i propri dati sensibili cadano nelle mani sbagliate. USER ACCOUNT CONTROL Nell’ambito delle nuove caratteristiche di sicurezza, Microsoft ha migliorato lo User Account Control (UAC) in Windows 7. Introdotto in Windows Vista, l’UAC era stato progettato per avere la certezza che nessun cambiamento di sistema si fosse verificato senza la consapevolezza dell’utente ed un permesso dell’amministratore. Tuttavia, esso allertava gli utenti su pressoché qualsiasi cambiamento eseguito. Il nuovo UAC in Windows 7 è più intelligente e ha diversi livelli di sicurezza che potete impostare. Per default, esso ora vi avverte solo quando un programma cerca di eseguire un cambiamento del sistema, non quando è un utente a eseguire un cambiamento. I quattro livelli di sicurezza sono: · Livello 4. Sollecita il permesso dell’utente quando programmi installano software, eseguono cambiamenti o modificano le impostazioni di Windows. · Livello 3. Sollecita il permesso dell’utente quando programmi installano software, eseguono cambiamenti o modificano le impostazioni di Windows. Questa impostazione non esegue un sollecito quando l’utente cambia le impostazioni di Windows. · Livello 2. Come il livello 3, ma il prompt dell’UAC appare sul desktop normale anziché sul Secure Desktop. Notate che il TIPS&TECHNIQUES Secure Desktop è una barriera contro il software che potrebbe cercare di evitare la vostra risposta. · Livello 1. Non sollecita il permesso dell’utente. Questo livello essenzialmente disattiva l’UAC. BITLOCKER DRIVE ENCRYPTION Microsoft ha introdotto la BitLocker Drive Encryption in Windows Vista per aiutare a proteggere i dati sensibili contro l’accesso da parte di utenti non autorizzati. Windows 7 estende la protezione BitLocker ai dispositivi di memoria USB e ne semplifica ulteriormente l’uso. Sulla maggior parte dei drive, potete accedervi direttamente dal menù contestuale aperto con un click del tasto destro. USABILITÀ Questo paragrafo esamina alcune delle caratteristiche di Windows 7 che permettono di risparmiare tempo, essendo state progettate per migliorare l’esperienza dell’utente con i compiti quotidiani. NUOVA BARRA DEI TASK MIGLIORATA La nuova barra dei task in Windows 7 fornisce ora una doppia funzionalità, consentendo sia di scegliere e commutare rapidamente fra le applicazioni aperte, sia di aprire nuove applicazioni. La barra Quick Launch è stata sostituita con la possibilità di portare rapidamente qualsiasi applicazione sulla barra dei task stessa e cliccare quindi sull’icona della barra dei task per aprire l’applicazione. Più istanze della stessa applicazione sono ora tabulate sulla barra dei task, e potete richiamare miniature animate delle istanze passando sopra la voce corrispondente della barra dei task. Passando sopra una singola miniatura animata si può vedere un’anteprima a dimensioni intere di quella particolare istanza. La nuova caratteristica Jump Lists, accessibile cliccando con il tasto destro su un’applicazione sulla barra dei task, è fondamentalmente una comoda scorciatoia verso i task più comuni per quell’applicazione. Gli sviluppatori di applicazioni e i programmatori che hanno più finestre del software NI LabVIEW possono trovare utili le miniature animate nella barra dei task tabulata. Muovendosi sopra le differenti tabulazioni, uno sviluppatore o programmatore può localizzare rapidamente un VI desiderato. Dopo averlo trovato, potete utilizzare Aero Shake e ‘scrollare’ la barra del titolo della finestra del VI per minimizzare tutte le altre finestre aperte. DISPOSITIVI E STAMPANTI A differenza delle precedenti versioni di Windows, dove dovevate configurare ogni classe di dispositivi e accedervi da finestre separate, potete usare Windows 7 per interagire con tutti i dispositivi connessi al computer, inclusi fotocamere, telefoni e stampanti, da una singola finestra. Windows 7 introduce inoltre il Device Stage. I dispositivi compatibili con il Device Stage migliorano l’interazione del dispositivo all’interno di Windows permettendo agli utenti di accedere ai task fondamentali del dispositivo stesso attraverso una singola finestra nella barra dei task. Per esempio, una fotocamera compatibile con il Device Stage genererebbe una finestra sulla barra dei task e un task di salto di tale finestra potrebbe includere task dallo scarico di immagini alla lettura del manuale utente del dispositivo. LAVORARE CON WINDOWS Windows 7 facilita inoltre l’implementazione di alcuni task comuni con le vostre finestre aperte semplicemente trascinando le finestre su parti specifiche dello schermo. Per esempio, trascinando la barra del titolo di una finestra nella parte superiore dello schermo la si massimizzza, mentre trascinando la barra del titolo di una finestra sul bordo dello schermo si impila verticalmente la finestra in modo che occupi metà dello schermo, permettendovi di confrontare facilmente i contenuti di due finestre affiancate. PRESTAZIONI Le prestazioni contano. Ogni secondo risparmiato in un reparto di produzione automatizzato permette di risparmiare denaro e ogni funzione eseguita più velocemente produce un collo di bottiglia in meno. Per vedere come le caratteristiche di Windows 7 hanno effetto sulle applicazioni scritte nell’ambiente di sviluppo grafico NI LabVIEW, abbiamo eseguito numerosi benchmark di prestazioni, inclusi i seguenti su differenti versioni dei sistemi operativi Windows. · Benchmark core di LabVIEW · Benchmark di LabVIEW rivolti al multithreading · Task fondamentali del sistema operativo Il sito web Windows Developer Center della Microsoft Developer Network, Develop for Windows 7, afferma che Windows 7 migliora le prestazioni di sistema e la gestione delle risorse. Inoltre, il blog Engineering Windows 7 afferma che, in termini di lettura di file dal disco, Windows 7 ha migliorato la logica e i meccanismi di ‘prefetching’. Il blog discute numerosi altri miglioramenti, che sono menzionati all’interno di questo articolo. BENCHMARK CORE DI LABVIEW I nostri benchmark core di LabVIEW sono consistiti di numerosi task fondamentali inclusi i seguenti: · I/O di file · Manipolazioni di array · Matematica matriciale · Analisi di funzioni · Funzioni trigonometriche (si veda il benchmark Savage) 17 TIPS&TECHNIQUES 13 BENCHMARK SUL MULTITHREADING (LABVIEW) L’importanza del multithreading e delle tecnologie multicore è aumentata negli ultimi anni. Con frequenze di clock ormai al top, i fornitori di hardware stanno affrontando questo problema aggiungendo altri core ai loro chip processori. I pacchetti software National Instruments, come LabVIEW, sfruttano intrinsecamente queste nuove tecnologie. Per maggiori informazioni sulla programmazione multicore in LabVIEW, consultate National Instruments: Multicore Programming Resources. Abbiamo tracciato le differenze di prestaFigura 1. Benchmark core di LabVIEW (le barre più piccole sono migliori) zioni fra Windows 7 e Windows XP nelle nostre applicazioni multithreaded in LabVIEW. A tale scopo, abbiamo eseguito i seguenti benchIn larga misura, le prestazioni di Windows 7 e Windows XP mark: sono state paragonabili nella maggior parte delle categorie. · Analisi dello spettro di frequenza – Abbiamo condotto test in un singolo thread e suddivisi su quattro thread. Esse sono variate leggermente in pochi casi specifici durante i · Filtro FIR – Abbiamo condotto test in un singolo thread e nostri test. suddivisi su quattro thread. · Windows XP è stato leggermente più veloce nel calcolo · Algoritmo Eigenvalue – Abbiamo condotto test in un singodelle manipolazioni di array. lo thread e suddivisi su quattro thread. · Windows 7 è stato più veloce nella scrittura di file su disco. Ciò può essere accaduto a causa dei miglioramenti della In base ai risultati dei nostri test, abbiamo fatto la seguente osservazione empirica: logica di prefetching in Windows 7. · Mediamente, entrambi i sistemi operativi hanno impiegato · Entrambi i sistemi operativi si sono comportati in modo quasi identico nelle applicazioni di benchmark multithreala stessa quantità di tempo nella lettura da file, benché ded LabVIEW. Tuttavia, abbiamo visto un incremento di preWindows 7 abbia presentato una deviazione standard più stazioni del 3 per cento rispetto a Windows XP mentre elevata. abbiamo eseguito l’analisi dello spettro di frequenza su quattro thread. Questo risultato potrebbe essere dovuto ai cambiamenti apportati da Microsoft a prestazioni di sistema, utilizzo delle risorse e blocchi di refactoring per migliorare la scalabilità. Figura 2. Benchmark sul multithreading di LabVIEW (le barre più piccole sono migliori) 18 TASK FONDAMENTALI DEI SISTEMI OPERATIVI – AVVIAMENTO, CHIUSURA E INSTALLAZIONE Una percezione comune circa la migrazione a un nuovo sistema operativo è che il prezzo delle caratteristiche è pagato dalle prestazioni di sistema. I nostri test hanno tracciato un profilo di come Windows 7 ha eseguito i task fondamentali del sistema operativo rispetto a Windows XP e Windows Vista. Abbiamo confrontato Windows 7 con TIPS&TECHNIQUES Inoltre, Microsoft ha fatto sforzi per fornire un’interfaccia utente e una barra dei task complessivamente più responsive, con il suo lavoro su parti critiche del codice, I/O di registro e percorsi di codice globali. AUMENTO DEL THROUGHPUT CON NI USB DAQ E WINDOWS 7 Microsoft ha investito significativamente nei miglioramenti USB per Windows 7. Tali miglioramenti, come l’eliminazione di timer non necessari, la sospenzione selettiva dell’hub e un minore tempo di enumerazione per i dispositivi flash USB, aumentano le prestazioni dei dispositivi di test e misura USB. In recenti prove di benchFigura 3. Tempi di installazione, bootup e chiusura (le barre più piccole sono mark, il nuovo chassis NI migliori) CompactDAQ ha ottenuto un aumento del 10 per cento nell’ampiezza di Windows Vista e Windows XP sulla quantità di tempo richie- banda complessiva raggiungibile con Windows 7, rispetto allo sta dai differenti sistemi operativi per portare a termine le stesso hardware eseguito su Windows XP. Le prestazioni hardware aumentate, combinate con l’ottimizzazione multicore del seguenti azioni: sistema operativo Windows 7 e del software LabVIEW, si sono · Avviamento: Da uno stato di spegnimento allo schermo di login. Nessun tradotte in un aumento di prestazioni fino al 20 per cento durante misure di I/O ad alta velocità o multifunzione. software addizionale installato. Media su 10 cicli. · Chiusura: Da uno stato successivo al login allo stato di spegnimento completo. Nessun software addizionale installato. Media su 10 cicli. · Installazione RISULTATI DEI TEST · Le installazioni di Windows 7 e Windows Vista sono state circa il 36 per cento più veloci dell’installazione di Windows XP. · Windows 7 si è consistentemente chiuso il 48 per cento più velocemente in media rispetto a Windows XP nei nostri test di benchmark. Secondo il bog Engineering Windows 7, ciò può essere dovuto in parte ai seguenFigura 4. Grazie a numerose caratteristiche migliorate, il sistema operativo Windows 7 OS è un programma affidabile per applicazioni di misura scritte con ti cambiamenti eseguiti da Microsoft in il software LabVIEW Windows 7: · Riduzione del numero di servizi di sistema che vengono avviati al bootup e riduzione delle loro richie- MISURE AD ALTE PRESTAZIONI CON PXI EXPRESS E ste di CPU, disco e memoria. Anche la velocità di bootup MULTICORE deriva dalla disabilitazione dell’avvio di servizi non necessa- Le misure che richiedono un elevato throughput e prestazioni veloci stanno spingendo gli ingegneri a usare nuove tecnolori alla partenza di Windows. · Maggiore parallelismo dell’inizializzazione dei driver. Ciò gie come processori multicore e PXI Express per soddisfare le diminuisce la probabilità che qualche dispositivo/driver più crescenti domande di velocità. I nuovi dispositivi DAQ X Series NI supportano nativamente PCI Express e PXI Express, che lento impatti sul tempo di boot complessivo. 19 TIPS&TECHNIQUES 13 Figura 5. I benchmark eseguiti con NI CompactDAQ hanno rivelato un aumento fino al 20 per cento del throughput di dati su Windows 7 CAPIRE LA DIFFERENZA FRA LE VERSIONI A 32 BIT E A 64 BIT DI WINDOWS 7 Windows 7 è il terzo sistema operativo Microsoft che supporta processori a 64 bit. Anche se le versioni a 32 bit di Windows continuano a essere le più diffuse e offrono la massima compatibilità nativa con le applicazioni, sono disponibili hardware e software a 64 bit. Quando si passa a Windows 7, è importante essere consapevoli dei potenziali benefici e delle considerazioni sui 64 bit rispetto ai 32 bit per selezionare la piattaforma appropriata. La nuova versione a 64 bit di LabVIEW 2009, che può essere scaricata da ni.com, è la prima versione di LabVIEW che offre una compatibilità nativa con i sistemi operativi a 64 bit (solo Vista e Windows 7). Le applicazioni di misura che sono eseguite nativamente su hardware e software a 64 bit possono trarre vantaggio da una maggiore quantità di memoria fisica rispetto ai sistemi a 32 bit, utile per le applicazioni che elaborano grandi quantità di dati contigui. L’accesso a memoria addizionale può facilmente incrementare le prestazioni di sistema eliminando la necessità di swapping dei processi dentro e fuori da file di pagina sui dischi fissi, che sono molto molto più lenti di memoria e cache fisiche. Oltre a una maggiore quantità di memoria fisica, i registri addizionali su un processore a 64 bit possono incrementare la velocità di esecuzione delle applicazioni fino al 20 per cento, in base a come è scritto il codice. Tuttavia, solo il software core di LabVIEW 2009, l’NI Vision Development Module, e la maggior parte dei driver NI offrono un supporto nativo per una versione a 64 bit di Windows. Il supporto non nativo per le versioni a 32 bit delle applicazioni è reso possibile da una successiva emulazione nota come Windows on Windows (WoW); tuttavia, ciò impatta negativamente su velocità di esecuzione e prestazioni. Le applicazioni di test e misura create per analizzare grandi set di data, che sono sinonimi di elevato numero di canali ed elevate velocità di campionamento, possono trarre beneficio dal passaggio a una versione a 64 bit di Windows 7. Tuttavia, la maggioranza delle applicazioni LabVIEW non trae intrinsecamente beneficio dal passaggio a versioni a 64 bit. Note sull’autore Elijah Kerry è Product Manager per LabVIEW in National Instruments Corporate. Ha occupato in precedenza la posizione di Product Marketing Engineer per LabVIEW. 20 Readerser vice.it n. 1317 offrono un’ampiezza di banda bidirezionale dedicata fino a 250 MB/s. NI offre anche molti strumenti modulari PXI Express addizionali per misure ad alta precisione e alta frequenza. Gli ingegneri possono utilizzare queste tecnologie con Windows 7, che supporta i bus più recenti e migliora il supporto per l’elaborazione multicore per eliminare limitazioni e migliorare il throughput dei dati delle loro applicazioni di misura. D A L L A T E O R I A A L L A P R AT I C A 13 SVILUPPO DI UN ALGORITMO DI CONTROLLO Giuseppe Battipaglia, Gianfranco Rizzo, Marco Sorrentino, Giovanni Spagnuolo IN AMBIENTE LABVIEW PER LA GESTIONE ENERGETICA OTTIMALE DI VEICOLO IBRIDO SOLARE 22 Sono state Implementate strategie di controllo in ambiente CompactRIO per la gestione energetica ottimale di un veicolo ibrido solare (Hybrid Solar Vehicle - HSV ) con configurazione serie Nell’ottica di sperimentare i vantaggi ottenibili dai veicoli a basso impatto ambientale soprattutto in ambito urbano, presso l’Università di Studi di Salerno è stato realizzato un prototipo HSV, integrando un sistema di pannelli fotovoltaici ed un gruppo moto/generatore con il veicolo elettrico Porter Glass Van, prodotto dalla Piaggio. Per motivi legati sia ad esigenze costruttive che alla possibilità di utilizzare l’ICE prevalentemente in condizioni di massima efficienza, si è optato per lo sviluppo della struttura di tipo ibrido serie. In questo caso, le ruote sono azionate direttamente dal solo motore elettrico (Electric Motor, EM), che può funzionare anche da generatore durante le fasi di frenata (frenata rigenerativa). I pannelli solari (Photovoltaic Panels, PP) ed il sistema motore/generatore (Internal Combustion Engine/Electric Generator, ICE/EG) concorrono a ricaricare gli accumulatori (Battery, B), in funzione delle stra- tegie definite CompactRIO (Vehicle Management Unit, VMU), elemento cardine di tutta l’architettura. CompactRIO acquisisce una serie di tensioni dei vari sensori attraverso il modulo NI 9205 ed invia dei segnali di controllo attraverso il modulo NI 9401 per pilotare dei relè. Architettura del sistema Elementi costituitivi dei sistemi di controllo ed acquisizione dati sono i seguenti: 1. Rete di sensori e relè; 2. Sistema di condizionamento (HCS); 3. CompactRIO; 4. Sistema di elaborazione. I veicoli ibridi solari hanno ovviamente molte caratteristiche in comune con i più convenzionali veicoli ibridi elettrici (HEV). Tuttavia, l’aggiunta dei pannelli solari e l’adozione di D A L L A T E O R I A A L L A P R AT I C A una struttura propulsiva di tipo serie suggeriscono l’importanza di eseguire uno studio accurato dei flussi energetici a bordo del veicolo finalizzato alla determinazione delle strategie di controllo ottimali. In realtà, in molti veicoli ibridi viene adottata una strategia di gestione energetica di tipo ‘charge-sustaining’: in pratica viene garantito che alla fine di ogni ciclo di guida lo stato di carica delle batterie risulti invariato rispetto alla condizione di partenza. Nel caso del veicolo ibrido solare, è stata invece implementata una strategia che permette la ricarica del pacco batterie anche nelle fasi di sosta. In questo caso l’obiettivo ‘charge sustaining’ viene garantito lungo l’intero arco della giornata invece che alla fine di un singolo percorso compiuto dal veicolo. La configurazione serie consente inoltre un utilizzo intermittente del motore a combustione interna, in particolare a punto fisso ed in condizioni di massima efficienza. In questo caso è quindi possibile privilegiare, nella fase di progettazione del motore endotermico, l’abbattimento delle emissioni e del rumore in corrispondenza del punto di massima efficienza. Quest’ultima opportunità costituisce un indubbio vantaggio rispetto a quanto accade per le vetture tradizionali, dove la massima efficienza di conversione viene sacrificata a vantaggio del raggiungimento di prestazioni ed emissioni accettabili nell’intero dominio di funzionamento. Nel caso di funzionamento intermittente è importante anche tener conto dell’effetto che i transitori termici del motore e del catalizzatore hanno su consumi ed emissioni. Rete di sensori e relè Sonde per la misura di corrente e tensione sui seguenti componenti: B, EG, EM, PP Sonda di temperatura Sonde potenziometriche dei pedali (acceleratore e freno) Box di lettura del numero di giri (EM ed EG) Box di condizionamento del torsiometro (coppia sull’asse dell’EM) Piranometro (per la misura del soleggiamento per unità di superficie) Box ausiliario contenente tre relè: • RL1: Utilizzato per il accensione/spegnimento del sistema di areazione. • RL2-RL3: Utilizzati rispettivamente per il l’accensione/spegnimento dell’EM/EG Sistema di condizionamento (HCS) HCS è un sistema sperimentale di condizionamento dei segnali appositamente progettato per l’Università di Salerno per l’installazione sul veicolo ibrido HSV. Il sistema HCS è in grado di condizionare tutti i sensori per il monitoraggio delle condizioni operative del veicolo e si connette al modulo CompactRIO. Grazie alla sua affidabilità e al fatto di essere una piattaforma adatta per applicazioni embedded di misura e controllo, CompactRIO è impiegato nell’HSV per eseguire operazioni di: • Acquisizione dati; • Data-logging embedded; • Controllo a bordo veicolo (Azionamento dei vari relè). Sistema di elaborazione L’applicazione, sviluppata in LabVIEW, si compone di una serie di funzioni. Acquisizione: ove vengono acquisiti i dati relativi ai vari trasduttori installati sul veicolo ibrido; Adattamento: qui vengono eseguite operazioni di taratura sui dati acquisiti; 23 D A L L A T E O R I A A L L A P R AT I C A 13 stibile e di una gestione charge-sustaining giornaliera della batteria. Sicurezza: attraverso i sensori di temperatura e relè connessi al sistema di areazione è possibile eseguire una logica di sicurezza capace di risolvere i problemi termici (rumore di misura, riscaldamento vano motore, ecc.). Trasmissione su un Server FTP: i dati acquisiti vengono trasmessi su un Server Web in cui è presente uno script capace di rappresentarli graficamente con una frequenza di aggiornamento pari a 1Hz. Trasmissione su un Server Smtp: i dati acquisiti vengono trasmessi su un Server di Posta in cui sarà possibile accedere per eseguire operazioni di Data Mining. Charge sustaining: questo tipo di controllo mantiene il livello di carica (state of charge-SOC) fra due valori limite. Quando questo livello scende al di sotto del limite inferiore, viene messo in moto il sistema ICE/EG (attraverso l’azionamento del relè corrispondente), provvedendo alla ricarica delle batterie. Viceversa quando il livello sale oltre il limite superiore, viene spento l’ICE/EG (attraverso l’azionamento di un secondo relè). Le soglie di accensione/spegnimento sono determinate attraverso metodologie di ottimizzazione vincolata finalizzate all’ottenimento del massimo risparmio di combu- 24 Note sugli autori Giuseppe Battipaglia, laureando presso l’Università degli Studi di Salerno, Dipartimento di Ingegneria Meccanica (Dimec); Gianfranco Rizzo, professore ordinario presso l’Università degli Studi di Salerno, Dipartimento di Ingegneria Meccanica (Dimec); Marco Sorrentino, assegnista di ricerca presso l’Università degli Studi di Salerno, Dipartimento di Ingegneria dell’Informazione e dell’Ingegneria Elettrica (Diie); Giovanni Spagnuolo, professore associato presso l’Università degli Studi di Salerno, Dipartimento di Ingegneria dell’Informazione e dell’Ingegneria Elettrica (Diie) Readerser vice.it n. 1318 Archiviazione: dopo un’opportuna formattazione i dati acquisiti vengono salvati su file, per operazioni di Data Mining. Test sperimentali Nella figura 3 sono riportati i segnali acquisiti durante un test sperimentale preliminare, eseguito il 19 dicembre 2008. Nel test si è adottata una strategia di gestione del sistema ICE/EG di tipo manuale, alternando fasi di accensione e spegnimento [i.e. figure 3 (a)]. Si noti come il sistema di acquisizione consenta di apprezzare l’effetto di tali manovre sullo stato di carica della batteria, valutato attraverso uno stimatore implementato in LabVIEW [cfr. figura 3 (b) e (c)]. La figura 3 (e) mostra invece come nelle fasi di frenata [i.e. rilascio del pedale, la cui posizione è rappresentata nella figura 3 (d)] il motore elettrico eserciti una coppia frenante (quindi negativa) di circa 25 Nm, permettendo quindi una ricarica mediante frenata rigenerativa di circa 3kW. Per quanto riguarda il contributo dei PP alla ricarica delle batterie, il relativo grafico è stato omesso in quanto la potenza erogata si attesta su valori pressoché costanti, peraltro molto bassi a causa dello scarso soleggiamento caratterizzante i mesi invernali. D A L L A T E O R I A A L L A P R AT I C A 13 OPTOELETTRONICI FERROVIARI SISTEMI PER PORTALI MULTIFUNZIONE Luc a Fumagalli, Giorgio Libretti, Paolo Tomassini, Marco Trebeschi, Marco Zanatta Progetto, realizzazione e messa in opera di sistemi di rilievo sagoma, termico e visibile per il monitoraggio di treni in transito, unitamente al software per il controllo dei sensori, l'acquisizione dei dati e l'emissione degli allarmi Grazie al suo know-how nella progettazione di sistemi ottici e optoelettronici e nello sfruttamento delle potenzialità offerte dai prodotti hardware e software National Instruments, QTech ha portato a buon esito la realizzazione e messa in opera della strumentazione optoelettronica e del software di acquisizione ed elaborazione dati per due portali multifunzione installati sulla Rete Ferroviaria Italiana. L’azienda è uno dei partner nell'ambito di un progetto (avviato da Rete Ferroviaria Italiana) di sviluppo di portali multifunzione per il monitoraggio in tempo reale delle condizioni di sicurezza di convogli in transito. Lo scopo dei portali è l'emissione di opportuni allarmi nel caso vengano rilevate anomalie nel transito di un treno, al fine di prevenire eventuali incidenti in galleria. I sistemi sviluppati da Q-Tech acquisiscono ed elaborano dati provenienti da sensoristica optoelettronica, per- mettendo il rilievo dell'immagine 2-D dei treni in transito, dei profili 3-D dei treni al fine di rilevare la presenza di eventuali allarmi di sagoma e delle temperature dei treni con lo scopo di rilevare eventuali zone surriscaldate. Il primo Portale Multifunzione sperimentale è installato tra Bologna e Prato, mentre il secondo sistema è installato sulla linea NapoliRoma. IL PROGETTO Q-Tech è una moderna società di progettazione, servizi e consulenza nel campo dei sistemi laser, dell'ottica e optoelettronica. Fondata da ingegneri che hanno operato all'interno delle strutture di ricerca dell'Università di Brescia e cresciuta nel vivaio degli Spin-Off dell'Istituto Nazionale di Fisica della Materia, Q-Tech è oggi una realtà consolidata e significativa 25 D A L L A T E O R I A A L L A P R AT I C A 13 Figura 1: Transito di un treno sotto il Por tale Multifunzione nei settori di sua competenza. Negli ultimi anni l’azienda ha partecipato, su commessa di Sirti, al progetto e alla realizzazione di sistemi multisensore per il monitoraggio in tempo reale del profilo tridimensionale di sagoma, del profilo di temperatura e dell’immagine visiva di convogli ferroviari in transito ad elevata velocità prima dell’ingresso in gallerie (fig. 1). Tali sistemi devono segnalare, mediante opportuni allarmi, eventuali anomalie di transito dei convogli dovute al superamento di precisi profili di riferimento (fissati dalla normativa internazionale) o al superamento di soglie di temperatura predefinite (variabili a seconda dei rotabili). Tra gli aspetti maggiormente critici dell’intero progetto si possono citare le problematiche di gestione e di elaborazione dell’enorme mole di dati provenienti dai sensori. I sistemi, infatti, devono rilevare i treni in transito fino ad una velocità di 300 km/h, ed eventuali situazioni di allarme devono essere segnalate entro 90 secondi dal termine del transito del convoglio. Figura 2: Acquisizione di una locomotrice effettuata dai sistemi di Rilievo Immagini (a) e di Rilievo Termico (b,c) 26 ARCHITETTURA Per tutti i sistemi si è utilizzata un’architettura basata su PC industriale. Gli applicativi per la gestione dei sensori e per l’acquisizione e l’elaborazione dei dati sono stati realizzati in ambiente LabVIEW servendosi, ove necessario, di hardware di acquisizione dati DAQ analogico/digitale; l’utilizzo del modulo LabVIEW FPGA e di hardware di I/O riconfigurabile ha reso possibile la creazione di funzionalità personalizzate per l’elaborazione di segnali veloci; i moduli Compact FieldPoint hanno permesso il controllo a basso livello dei sensori. Tutti i sistemi hanno una base dei tempi comune, dettata da un sistema di sincronizzazione, anch’esso sviluppato da Q-Tech, che rileva il transito degli assi del convoglio su pedali posti in corrispondenza a punti di riferimento noti; tale sistema inoltre acquisisce i dati relativi alle discontinuità tra i rotabili che compongono il convoglio e rileva l’eventuale transito concomitante di un treno sul binario opposto. Un sistema di rilievo immagini effettua la ripresa del convoglio in transito servendosi di telecamere line-scan. La frequenza di acquisizione delle telecamere è calcolata in base alla velocità del treno, in modo da mantenere inalterata la spaziatura tra profili successivi rispetto a quella prevista fra punti adiacenti nello stesso profilo. La fig. 2(a) mostra un esempio di acquisizione di una locomotrice effettuata dalla telecamera superiore sinistra. IL RILIEVO TERMICO Il rilievo termico viene effettuato utilizzando termocamere lineari piroelettriche commerciali. Per ciascun Portale sono installati più sistemi, al fine di rilevare sia le parti alte dei convogli sia le zone in corrispondenza delle ruote; in particolare, per l’acquisizione delle zone basse dei rotabili le termocamere possono essere installate ai lati del portale oppure sotto il piano del ferro, all’interno di una traversina cava opportunamente predisposta. Le figg. 2(b) e 2(c) mostrano le acquisizioni effettuate rispettivamente dalla termocamera superiore sinistra e dalla termocamera inferiore posta sul lato sinistro del Portale. Ciascun sistema di rilievo termico acquisisce contemporaneamente i dati provenienti da due termocamere, una relativa al lato destro e una relativa al lato sinistro (alto o basso) del convoglio. Partendo dai dati acquisiti vengono effettuate quattro diverse verifiche termiche: verifica termica di incendio a bordo: viene effettuato il confronto con una temperatura massima di riferimento; - verifica termica di temperatura massima rotabile: viene effettuato il confronto con una D A L L A T E O R I A A L L A P R AT I C A Figura 3: Acquisizione della sezione della locomotrice evidenziata in Figura 2(a) effettuata dal sistema di Rilievo Sagoma temperatura massima di riferimento prestabilita per ciascun rotabile in transito; - verifica termica boccole: viene effettuato una stima della temperatura di ogni boccola e il confronto con una temperatura di riferimento (solo per i sistemi relativi alle zone basse dei rotabili); - verifica termica regioni di interesse con griglia: ciascun rotabile è suddiviso utilizzando una griglia; ad ogni cella della griglia corrisponde una specifica temperatura di riferi- Ciascun sistema di rilievo sagoma acquisisce contemporaneamente i dati provenienti dai due telemetri, uno relativo al lato destro e uno relativo al lato sinistro del convoglio; la frequenza di scansione giunge fino a 700 sezioni trasversali del treno per secondo; ogni sezione trasversale contiene almeno 512 punti di misura. L'acquisizione della sezione trasversale della locomotrice evidenziata dalla linea rossa in fig. 2(a) è mostrata in fig. 3. La nuvola di punti dell'intera locomotrice ottenuta giustapponendo tutte le sezioni trasversali acquisite dal sistema è mostrata in fig. 4: in essa i dati del sistema di rilievo sagoma sono combinati con le informazioni acquisite dalle telecamere nel visibile. Partendo dalle sezioni trasversali acquisite, possono essere effettuate sette diverse verifiche di sagoma: - due verifiche statiche: vengono effettuati confronti con le sagome di riferimento italiana e internazionale; - cinque verifiche cinematiche: vengono effettuati confronti con sagome cinematiche ottenute calcolando opportuni coefficienti di riduzione e applicandoli ai profili di riferimento statici. CONCLUSIONE I sistemi sviluppati da Q-Tech per conto di Sirti sono attualmente installati su due diversi portali multifunzione, commissionati da Rete Ferroviaria Italiana. In particolare nel caso del primo portale, realizzato sulla linea Bologna-Prato, vengono mento; per ogni cella della griglia viene quindi effettuata una stima della temperatura e il confronto con la specifica temperatura di riferimento. IL RILIEVO SAGOMA I sistemi di rilievo sagoma sono equipaggiati con sensori di sagoma full-custom sviluppati da Q-Tech. In particolare, il portale situato sulla linea Roma-Napoli utilizza nuovi telemetri a tempo di volo per misurazioni distribuite sviluppati da Q-Tech. fornite informazioni utili per la valutazione del livello di sicurezza dei treni in transito su uno dei due binari della linea, mentre il secondo portale, installato tra Napoli e Roma, prevede il monitoraggio di ambedue i binari della linea. Note sugli autori Luca Fumagalli, Amministratore Delegato di Q-Tech; Paolo Tomassini, Presidente di Q-Tech; Giorgio Libretti e Marco Trebeschi, reparto R&S di Q-Tech; Marco Zanatta, collaboratore di Q-Tech Readerser vice.it n. 1313 Figura 4: Nuvola di punti della locomotrice ottenuta combinando i dati acquisiti dal sistema di Rilievo Sagoma e dal sistema di Rilievo Immagini 27 D A L L A T E O R I A A L L A P R AT I C A 13 STAFFETTA AUTONOMI UNA TRA DUE MUSEI CON ROBOT Manuela Carastro, David Sc aradozzi Per spiegare a ragazzi dai 6 ai 17 anni la differenza tra robot autonomo e teleguidato e le difficoltà di un controllo remoto sono stati costruiti tre robot a intelligenza distribuita L'articolo presenta l'esperienza maturata nello sviluppo di un'arena per staffetta robotica educativa presentata all'interno della manifestazione ‘Futuro Remoto’, organizzata da Città della Scienza di Napoli. Lo scenario ha visto la collaborazione dei musei Città della Scienza e Technotown, le Università Politecnica delle Marche e Roma Tre, National Instruments e la Scuola di Robotica di Genova in un riuscito esempio di integrazione tra didattica museale e divulgazione scientifica. L’obiettivo della collaborazione è stato quello di verificare con questo progetto-pilota se sia possibile realizzare una rete scientifico-museale che possa coinvolgere più strutture in un 28 panorama museale nazionale integrato. Anche se la rassegna di robotica Futuro Remoto 2009, che si è svolta a Napoli dal 19 novembre all’8 dicembre 2009, ha rappresentato un utile banco di prova di questo progetto comunque limitato nel tempo, le due strutture museali coinvolte, nel contesto italiano uniche nel loro genere, potranno beneficiare della reciproca cassa di risonanza e fidelizzare il loro pubblico, offrendo un collegamento ideale, sia reale che virtuale, anche al di fuori dei confini regionali. La manifestazione multimediale di diffusione della cultura scientifica e tecnologica Futuro Remoto 2009 – Robot e altre D A L L A T E O R I A A L L A P R AT I C A storie, è un evento promosso dall’Assessorato alle Attività Produttive delle Regione Campania e della Fondazione Idis Città della Scienza. IL CONTESTO Prima di descrivere il progetto ‘Staffetta robotica. Da Napoli a Roma, musei a controllo remoto’, è utile richiamare il concetto di science center, per poter chiarire il contesto in cui il progetto si sviluppa. Luigi Amodio (2005) indica tre elementi, innovazioni, che caratterizzano queste realtà rispetto ai musei tradizionali: - la prima innovazione, nei contenuti, è la dichiarata intenzione di costituirsi come luoghi aperti di incontro tra i soggetti e i luoghi in cui la scienza e la tecnologia vengono prodotte e la società; - la seconda innovazione, riguardante le modalità di comunicazione, è l’impostazione fortemente interattiva dell’offerta espositiva, un’offerta che richiede esplicitamente ai visitatori di ‘mettere le mani’ sugli oggetti esposti, stabilendo con questi ultimi un rapporto diretto di sperimentazione. In questa prospettiva, la libertà, da parte di chi apprende, di misurarsi con i fenomeni, produrli, sviluppare inferenze, è massimizzata; mentre il ruolo di chi detiene le conoscenze assomiglia sempre di più a quello di un ‘facilitatore’ che non a quello di chi insegna, nel senso tradizionale del termine; - la terza innovazione, relativa al posizionamento di mercato, è la collocazione dei science center in una terra di mezzo tra educazione e informazione da un lato e intrattenimento dall’altro. Technotown, un museo della scienza per ragazzi, aperto anche ai loro accompagnatori adulti, e Città della Scienza di Napoli, rappresentano il senso della seconda innovazione proposta da Amodio. I laboratori di robotica educativa promossi da Technotown e la sua partecipazione alla rassegna Futuro Remoto sono un esempio delle attività realizzate dalla struttura in ambito robotico. L’interazione con i robot rappresenta l’elemento centrale del processo di didattica interattiva in questo ambito. REALIZZAZIONE DELL'IDEA Nel progetto ‘Staffetta museale. Da Napoli a Roma, musei a controllo remoto’ abbiamo voluto realizzare una sinergia all'interno di una rete nazionale di collaborazioni già avviate da anni tra diverse competenze in ambito educativo e di progettazione robotica. Le indicazioni date riguardo ai messaggi educativi da Technotown e Città della Scienza, il concorso per le idee di costruzione dei ragazzi delle medie organizzato dalla Scuola di Robotica di Genova in presentazione e preparazione dell'evento, la progettazione con strumenti altamente modulari e di prototipazione rapida quali LabVIEW e il sistema LEGO NXT conosciuti e usati dai dipartimenti di ricerca DIIGA – Università Politecnica delle Marche ed il Dipartimento di Informatica e Automazione - Università Roma Tre (Prof. Panzieri) e l'utile apporto e supporto all'innovazione portato da National Instruments Italy, hanno trasformato la progettazione meccatronica dei robot in un utile esempio di sinergia per la creazione di strumenti innovativi e di divulgazione scientifica allo stesso tempo. L'applicazione realizzata consiste in un'arena (fig. 1) in cui tre robot identificati con le sigle NXT1, NXT2 e NXT3 partecipavano ad una staffetta robotica. Figura1: Vista dell’arena I 3 robot della staffetta hanno intelligenze diverse che risiedono in diversi sistemi di calcolo. Tutti e tre i robot hanno due differenti unità di calcolo a bordo: NXT1, il più autonomo, è composto da una Smart Camera e un blocchetto programmabile LEGO NXT, mentre gli altri due robot hanno intelligenza distribuita tra il blocchetto programmabile NXT e un PC collegato via Bluetooth. Tutti e 3 i robot hanno nel blocchetto LEGO NXT l’intelligenza di basso livello che si occupa del movimento e della gestione dei sensori di tatto (simboleggiano per i ragazzi i neuroni periferici di un essere umano che si trovano lungo la spina dorsale e che fanno riferimento a delle aree specifiche del nostro cervello). Il compito dell’intelligenza che risiede nei blocchi programmabili NXT è quello di reagire agli stimoli di tatto e di controllare i motori in potenza, sterzata e numero di giri. L’intelligenza di basso livello degli NXT è stata realizzata in LabVIEW e cross-compilata per il microprocessore ARM7 degli NXT mediante il Toolkit per NXT di National Instruments. Le intelligenze di alto livello che hanno il compito di gestire la Navigazione, Guida e Controllo dei robot sono state realizzate in LabVIEW ed eseguite dalla Smart Camera NI 1762, per quanto riguarda NXT1; su un PC di Roma per quanto riguarda NXT2; su un PC di Napoli per quanto riguarda NXT3. Le 29 D A L L A T E O R I A A L L A P R AT I C A 13 Figura 3: Struttura di NXT2 e NXT3 NI 1762 Smart Camera, dotata di processore PowerPC a 533 MHz e coprocessore DSP a 720 MHz Texas Instruments, è un target real-time per applicazioni di visione industriale. Il sensore immagini CCD Sony ad elevata qualità è in grado di acquisire immagini monocromatiche a risoluzione VGA (640 x 480) a 60 fotogrammi al secondo. Il coprocessore DSP offre migliori prestazioni (fino a 4X) per il riconoscimento ottico del carattere, pattern matching e lettura della scena. Gli I/O della telecamera includono due input e due output digitali optoisolati, una porta seriale RS232 e due porte Ethernet gigabit. NI 1762 include anche supporto encoder in quadratura e un controller di corrente per illuminazione fino a 500 mA continui o 1 A impulsati. Il riconoscimento di NXT2 da parte di NXT1 avviene grazie agli algoritmi di visione artificiale realizzati in LabVIEW all’Università degli Studi Roma Tre, mentre l’interfaccia in LabVIEW per il controllo remoto della locomozione del robot è stata realizzata dall’Università Politecnica delle Marche. Note sulgli autore Figura 2: Struttura di NXT1 30 Manuela Carastro, Technotown; David Scaradozzi, Università Politecnica delle Marche Readerser vice.it n. 1314 comunicazioni tra le intelligenze di alto livello e quelle di basso livello avvengono con protocollo seriale ma per mezzo di sistemi di comunicazione differenti nel caso di NXT1 e NXT2 /3. NXT2 e NXT3 comunicano con i PC dove risiede l’intelligenza mediante protocollo Bluetooth. L’intelligenza di alto livello di NXT2 e NXT3 è composta da due applicazioni che comunicano tra loro via UDP/IP: un protocollo che può viaggiare sulla rete web e che ha la caratteristica di essere veloce e robusto. Rispettivamente le due applicazioni in esecuzione sul PC sono realizzate in MaxMSP e LabVIEW e si occupano di riconoscere il comportamento dei ragazzi davanti alla telecamera e di tradurlo in comandi di movimento per il robot. MaxMSP è un ambiente grafico di programmazione nato e sviluppato in ambiente musicale, audio e multimediale in genere. Viene usato da più di 15 anni da musicisti, compositori, artisti, insegnanti e studenti, ed è di fatto diventato uno standard per la creatività tecnologicamente evoluta in ambito musicale e visivo. Gli algoritmi di visione artificiale realizzati in MaxMSP sono stati realizzati dal gruppo Technotown mentre l’interfaccia in LabVIEW per il controllo remoto della locomozione dei robot è stata realizzata dal gruppo dell’Università Politecnica delle Marche. L’intelligenza di alto livello di NXT1 risiede in un dispositivo SmartCamera NI 1762 che comunica con il blocchetto intelligente LEGO NXT mediante un’interfaccia RS232-RS485 realizzata, assieme ai sui driver per NXT, dall’Università Politecnica delle Marche. EVENTI 13 DA GENNAIO 2010 LA FORMAZIONE È PIÙ RAPIDA ED EFFICACE agli esami di certificazione Associate Developer e Developer . Per chi desidera avere competenze di design di alto livello e capacità di gestione di grossi progetti, sono disponibili i nuovi corsi ‘LabVIEW Advanced Architectures’ e ‘Managing software Engineering in LabVIEW’, propedeutici al conseguimento della certificazione Architect ed indirizzati a project Manager e/o system Engineer. I corsi ‘LabVIEW Connectivity’ e ‘LabVIEW Object Oriented Programming’ permettono infine di integrare tecnologie quali comunicazione TCP/IP, DLL, ActiveX, .NET e tecniche di programmazione ad oggetti. Grazie alla nuova struttura formativa vengono offerti i seguenti benefici: - Tempi più rapidi d’apprendimento e ridu- zione dei costi globali di sviluppo - Definizione di percorsi formativi più chiari, flessibili e modulari. - Maggiore allineamento con il programma di Certificazione. La formazione NI può diventare un efficiente alleato lungo tutto il processo produttivo permettendo di conseguire gli obiettivi con successo. Per maggiori informazioni si può consultare il sito www.ni.com/training/i o contattare direttamente National Instruments (telefono: 02/41309217 o e-mail: [email protected]). Note sull’autore Luigi Brocchi è Customer Education Manager di National Instruments Italy Readerser vice.it n. 1384 C on il rilascio dei nuovi corsi Core 1, 2 e 3, che sostituiscono i corsi base ed intermedi, si sono voluti ridistribuire i contenuti didattici per permettere un più rapido ed efficace metodo d’apprendimento. In soli 5 o 6 giorni una persona può diventare capace di sviluppare applicazioni di acquisizione dati, di controllo deterministico Real-Time o di programmazione di target Fpga. Il corso Core 1, infatti, è l’unico prerequisito per poi accedere alla formazione specifica dell’hardware o modulo d’interesse. I successivi corsi Core 2 e Core 3 aiutano ad ottenere livelli di competenze di medio e alto livello nello sviluppo software professionale, insegnando l’uso delle architetture più comuni ed offrendo una formazione allineata e propedeutica A cura di Luigi Brocchi National Instruments annuncia il rilascio del nuovo percorso formativo mirato a fissare gli attuali e futuri standard di competenze in LabVIEW ANNO NUOVO…NUOVE ABITUDINI: I SEMINARI ONLINE! massimo l’offerta di contenuti multimediali, riproponendoli ben due volte in una stessa settimana. Nei mesi di gennaio e febbraio, Il Mese dei Webcast live ha proposto ben dieci titoli su diversi temi: dal software, all’acquisizione dati, dal monitoraggio al test fino a robotica e meccatronica. Ogni seminario è stato proposto in due occasioni, il martedì e il giovedì, in due fasce orarie diverse: la mattina alle 10:30 e il pomeriggio alle 15:30. Cinque settimane e venti appuntamenti con gli ingegneri di National Instruments e dei suoi Partner. Ogni webcast ha avuto una dura- ta approssimativa di venti minuti e i tecnici di National Instruments sono rimasti collegati in chat per rispondere alle domande dei partecipanti. La sessione di domande e risposte si è protratta per 30 minuti oltre la fine del seminario. All’evento si sono registrati circa 400 partecipanti, questo a testimonianza del grande interesse sui nuovi tool multimediali a nostra disposizione per veicolare informazioni e competenze. Rimanete sintonizzati su ni.com/it per scoprire quale sarà il prossimo seminario online e guardate le presentazioni ancora disponibili su www.webcast.labview.it! Readerser vice.it n. 1390 L a nuova frontiera della comunicazione multimediale è rappresentata dalla possibilità di offrire e frequentare seminari dal vivo e presentazioni on demand alle quali i destinatari possono accedere in tempo reale, senza complicati download di software. Perché? Perché abbiamo sempre meno tempo a disposizione; e per spostarci fisicamente da un luogo ad un altro, e per collegarci alla piattaforma di riferimento. Per questo motivo, con l’evento multimediale Il Mese dei Webcast live, National Instruments ha cercato di semplificare le modalità di partecipazione all’evento e di diversificare al Nadia Albarello Nasce l’evento multimediale ‘Il Mese dei Webcast live’ 31 SCUOLA DI LABVIEW 13 Training per principianti MEMORIZZAZIONE DEI DATI DI MISURA A cura di Alessandro Plantamura In questa sezione vedremo come memorizzare dati in un file C on LabVIEW è possibile acquisire dati, eseguire elaborazione di dati e visualizzarli nel pannello frontale. Anche la memorizzazione dei dati è solitamente una parte molto importante di ogni progetto. A. APPRENDERE IL FILE I/O Il file I/O registra o legge i dati in un file. Una tipica operazione di file I/O coinvolge i seguenti processi. 1. Si crea o apre un file. Una volta aperto il file, esso sarà rappresentato da un numero di riferimento chiamato refnum. Un ‘numero di riferimento’ (refnum) è una struttura utilizzata per identificare e recuperare alcune operazioni che son state eseguite all’interno di LabVIEW. Fate riferimento all’argomento Building the Front Panel del LabVIEW Help per maggiori informazioni sui refnum. 2. Il VI o la funzione File I/O legge o scrive sul file. 3. Si chiude il file. Figura 1. Passaggi di una tipica operazione di file I/O FORMATI DEI FILE LabVIEW puo usare o creare i seguenti formati di file: Binario, Ascii, LVM e TDM. • Binario—I file binari sono il formato di file base per tutti gli altri formati di file. • Ascii—Un file Ascii è un tipo specifico di file ed è uno standard usato dalla maggior parte dei programmi. Consiste in una serie di codici Ascii. I file Ascii sono anche chiamati file di testo. • LVM—Il file dei dati di misura in LabVIEW (.lvm) è un file di testo delimitato da tab che potete aprire con un’applicazione tipo foglio di calcolo o di scrittura e modifica testo. Il file .lvm include informazioni sui dati, quali la data e l’ora in cui i dati 32 sono stati generati. Questo formato di file è un tipo specifico di file Ascii creato per LabVIEW. • Tdms—Questo formato di file è un tipo specifico di file binario creato per i prodotti National Instruments. Esso consiste in realtà di due diversi file—un file binario che contiene i dati e le proprietà dei dati e un file binario di indice che fornisce informazioni consolidate su tutti gli attributi e puntatori nel file binario. In questa lezione vedremo come creare file di testo (Ascii). Si possono usare i file di testo quando sarà necessario accedere ai file da un’altra applicazione, se lo spazio sul disco e la velocita del file I/O non sono cruciali, se non c’è bisogno di effettuare letture e scritture ad accesso casuale e se la precisione numerica non è importante. LABVIEW DATA DIRECTORY E’ possibile usare la directory di default LabVIEW Data per conservare i file che LabVIEW genera, come file .lvm o .txt. LabVIEW installa la directory LabVIEW Data nella directory assegnata per i file del vostro sistema operativo, per aiutarvi a organizzare e localizzare i file che LabVIEW genera. Di default, l’Express VI ‘Write LabVIEW Measurement File’ memorizza i file .lvm che genera in questa directory, così come l’Express VI ‘Read LabVIEW Measurement File’ legge i dati dalla stessa directory. La costante Default Data Directory e la proprietà Default Data Directory restituiscono anch’esse la directory LabVIEW Data di default. Selezionate Tools”Options e poi Paths dall’elenco Category per specificare una diversa directory di default dei dati. La directory di default dei dati differisce dalla directory di default che voi specificate per salvare i nuovi VI, i controlli personalizzati, i VI template o altri documenti LabVIEW che create. B. CARATTERISTICHE DEI FILE DI I/O DI ALTO LIVELLO Alcuni VI di File I/O possono effettuare tutti e tre i passaggi di un processo di I/O—aprire, leggere/scrivere e chiudere il file. Se un VI effettua tutti e tre i passaggi è considerato un VI di alto livello. Per quanto semplici da utilizzare, i VI di alto livello possono non essere altrettanto efficienti quanto i VI e le SCUOLA DI LABVIEW funzioni di basso livello, progettati per effettuare singole parti del processo di File I/O. Ad esempio, se state scrivendo su un file in un ciclo, usate i VI di basso livello. Se state scrivendo su un file in un’operazione singola, potete invece usare i VI File I/O di alto livello. LabVIEW include i seguenti VI File I/O di alto livello: • Write to Spreadsheet File—Converte array 2D o 1D di numeri a doppia precisione in una stringa di testo e scrive la stringa su un nuovo file Ascii o la allega ad un file esistente. Potete anche trasporre i dati. Il VI apre o crea il file prima di scriverlo e lo chiude al termine del processo di lettura/scrittura. Potete usare questo VI per creare un testo leggibile dalla maggior parte delle applicazioni di gestione di fogli elettronici. • Read From Spreadsheet File—Legge un numero di linee o righe specificato da un file di testo numerico a partire da uno specifico offset di caratteri e converte i dati in un array 2D di numeri a doppia precisione. Il VI apre il file prima di leggerlo e lo chiude dopo. Potete usare questo VI per leggere file di fogli elettronici salvati in formato testuale. • Write to Measurement File—Un Express VI che scrive i dati di misura in formato testuale (.lvm) o binario (.tdms). Potete specificare il metodo di memorizzazione, il formato del file (.lvm o .tdms), il tipo di intestazione e il delimitatore. • Read from Measurement File—Un Express VI che legge i dati di misura in formato testuale (.lvm) o binario (.tdms). Potete specificare il nome del file, il formato del file e la dimensione del segmento. Suggerimento: Evitate di inserire VI di alto livello in cicli, perché i VI effettuano operazioni di apertura e chiusura ogni volta che vengono mandati in esecuzione. Figura 2. VI File I/O di alto livello C. CARATTERISTICHE DEI FILE DI I/O DI BASSO LIVELLO I VI e le funzioni File I/O di basso livello effettuano ognuno solo un pezzo del processo di file I/O. Per esempio, esistono una funzione dedicata che apre un file Ascii, una funzione che legge da file Ascii e una funzione che chiude il file Ascii. Usate funzioni di basso livello quando il file I/O avviene all’interno di un ciclo. Figura 3. VI File I/O di basso livello STREAMING SU DISCO CON FUNZIONI DI BASSO LIVELLO Potete usare le funzioni File I/O di basso livello per operazioni di streaming su disco, che fanno risparmiare risorse di memoria riducendo il numero di volte che la funzione interagisce col sistema operativo per aprire e chiudere il file. Lo streaming su disco è una tecnica per mantenere aperti i file mentre effettuate piu operazioni di scrittura, per esempio, in un ciclo. Fate riferimento al VI Write Datalog File Example in labview\examples\file\datalog.llb per studiare un esempio di uso di VI File I/O per operazioni di streaming su disco. Collegando un controllo path o una costante alla funzione Write to Text File, alla funzione Write to Binary File o al VI Write To Spreadsheet File si effettua l’apertura e chiusura del file ogni volta che la funzione o il VI va in esecuzione. I VI possono essere più efficienti se evitate di aprire e chiudere gli stessi file frequentemente. Per evitare di aprire e chiudere lo stesso file, dovete passare un refnum al file nel ciclo. Quando aprite un file, un dispositivo o una connessione di rete, LabVIEW crea un refnum associato a quel file, dispositivo o connessione di rete. Tutte le operazioni che effettuate per aprire file, dispositivi o connessioni di rete usano i refnum per identificare ogni oggetto. Gli esempi nelle figure 4 e 5 mostrano i vantaggi dell’uso dello 33 SCUOLA DI LABVIEW 13 streaming su disco. Nella figura 4, il VI deve aprire e chiudere il file durante ogni iterazione del ciclo. La figura 5 usa lo streaming su disco per ridurre il numero di volte che il VI deve interagire con il sistema operativo per aprire e chiudere il file. Aprendo il file una volta prima che cominci il ciclo e chiudendolo quando il ciclo e terminato, si risparmiano due operazioni sul file per ogni iterazione del ciclo. Figura 4. Esempio senza streaming su disco Figura 5. Esempio con streaming su disco D. REALIZZAZIONE DI UN SEMPLICE VI Come accennato nella prefazione alla lezione, la maggior parte dei VI in LabVIEW ha tre task principali—acquisire qualche tipo di dati, analizzare i dati acquisiti e presentare il risultato. Quando ognuna di queste parti è semplice, potete completare l’intero VI usando pochissimi oggetti sul diagramma a blocchi. Nella lezione sul File I/O è stato fatto un accenno a dei VI particolari (Write LabVIEW Measurement File, Read LabVIEW Measurement File) denominati Express. Gli Express VI sono dei VI di alto livello particolari, progettati specificamente per completare operazioni comuni, di uso frequente. In questa sezione verranno introdotti alcuni Express VI in ciascuna di queste categorie: acquisizione, analisi e presentazione. Sulla palette Functions, gli Express VI sono raggruppati insieme nella categoria Express. Gli Express VI utilizzano il tipo di dati dinamico per trasmettere i dati tra Express VI. Aquisizione Gli Express VI usati per il task di acquisizione includono i seguenti: DAQ Assistant, Instrument I/O Assistant, Simulate Signal e Read from Measurement File. DAQ Assistant Il DAQ Assistant acquisisce i dati attraverso una scheda di acquisizione dati. 34 Instrument I/O Assistant L’Instrument I/O Assistant acquisisce dati di controllo di strumentazione, di solito da un’interfaccia Gpib o seriale. Simulate Signal L’Express VI Simulate Signal genera dati simulati come ad esempio un’onda sinusoidale. Read From Measurement File L’Express VI Read from Measurement File legge un file creato usando l’Express VI Write to Measurement File. Esso legge specificamente file in formato LVM o TDM. Questo Express VI non legge file Ascii. ANALISI Gli Express VI usati per il task di analisi includono i seguenti— Amplitude and Level Measurements, Statistics, Tone Measurements e così via. Amplitude and Level Measurements L’Express VI Amplitude and Level Measurements effettua misure di tensione su un segnale. Queste includono misure di livello DC, rms, maximum peak, minimum peak, peak to peak, cycle average e cycle rms. Statistics L’Express VI Statistics calcola dati statistici da una forma d’onda. Questo include i valori mean, sum, standard deviation ed extreme. Spectral Measurements L’Express VI Spectral Measurements effettua misure di spettro su una forma d’onda, quali magnitude e power spectral density. Tone Measurements L’Express VI Tone Measurements cerca un tono singolo con la frequenza o l’ampiezza più alta. Esso trova anche ampiezza e frequenza di un tono singolo. Filter L’Express VI Filter processa un segnale attraverso filtri e finestre. I filtri utilizzati includono i seguenti: Highpass, Lowpass, Bandpass, Bandstop e Smoothing. Le finestre utilizzate includono Butterworth, Chebyshev, Inverse Chebyshev, Elliptical, e Bessel. PRESENTAZIONE I task di presentazione sono svolti da Express VI che effettuano una funzione, come l’Express VI Write to Measurement File o da indicatori che presentano dati sul pannello frontale del VI. Gli indicatori più comunemente usati per questo task includono il Waveform Chart, il Waveform Graph e l’XY Graph, presentati nella sezione Training per Principianti di LabVIEW World 12. Gli Express VI comuni includono il Write to Measurement File, il Build Text, il DAQ Assistant e l’Instrument I/O Assistant. In questo caso il DAQ Assistant e l’Instrument I/O Assistant forniscono dati di uscita dal computer alla scheda DAQ o a uno strumento esterno. Figura 6. Pannello frontale e diagramma a blocchi dell’esempio Acquire, Analyze and Present Note sull’autore Laureato in ingegneria biomedica al Politecnico di Milano, Alessandro Plantamura lavora in qualità di Senior Application Engineer presso National Instruments Italy. Readerser vice.it n. 1325 Write to Measurement File L’Express VI Write to Measurements File scrive un file in formato LVM o TDM. Build Text L’Express VI Build Text crea un testo, di solito per visualizzarlo sul pannello frontale o per esportarlo su file o verso uno strumento. Provate voi a realizzare un semplice VI usando questi tre task, come mostrato nella figura 6, completando il task di presentazione scrivendo i dati in un file di formato LVM! readerservice.it n.24937 SCUOLA DI LABVIEW 13 Training per esperti SERVIRE DATI AD UN CLIENT UTILIZZANDO TCP/IP A cura di Alessandro Plantamura Essendo disponibile sulla maggior parte dei computer, il TCP/IP permette di trasferire informazioni fra sistemi diversi A. INTRODUZIONE AL TCP/IP Il TCP assicura la trasmissione affidabile sulle reti, consegnando i dati in sequenza senza errori, perdite o duplicazione. Il TCP ritrasmette il datagram finché non riceve una conferma (acknowledgment). Il TCP è un protocollo basato sulla connessione: ciò significa che i siti devono stabilire una connessione prima di trasferire dati. La trasmissione dei dati avviene fra un client ed un server. Il TCP permette più connessioni simultanee. Potete iniziare una connessione aspettando una connessione in ingresso o cercando attivamente una connessione con un indirizzo specificato. Quando stabilite connessioni TCP, dovete specificare l’indirizzo e una porta a quell’indirizzo. Porte differenti ad un dato indirizzo identificano servizi differenti a quell’indirizzo. GENERALITÀ SUL MODELLO CLIENT/SERVER Il modello client/server è un modello comune per le applicazioni in rete. In tale modello, un set di processi (client) richiede servizi da altri set di processi (server), come si vede nella fig. 1. Figura 1. Modello client/ser ver GENERALITÀ SUL MODELLO CLIENT La fig. 2 descrive il modello flowchart per la comunicazione TCP/IP in LabVIEW. Per maggiori prestazioni, potete elaborare più comandi dopo avere aperto la connessione. Dopo l’esecuzione dei comandi, potete chiudere la connessione. Questo flowchart serve da modello per dimostrare l’implementazione di un dato protocollo in LabVIEW. STEP PER LA COMUNICAZIONE CON IL MODELLO CLIENT Il modello client permette ad un client di comunicare con un server aprendo in primo luogo la connessione verso il server, inviando un comando al server, ricevendo un comando dal server e chiudendo quindi la connessione verso il server. APERTURA DI UNA CONNESSIONE VERSO IL SERVER Il primo passo consiste nell’aprire una connessione verso il server. Il client deve aprire una porta della rete sulla macchina locale e quindi specificare l’indirizzo IP del server a cui connettersi. INVIO DI COMANDI AL SERVER Dopo avere stabilito una connessione verso il server, il client invia un messaggio riconosciuto dal server. Tale messaggio fa eseguire lavoro al server. RICEZIONE DI RISPOSTE DAL SERVER Dopo l’invio di un messaggio al server, il client deve sapere che il messaggio è stato accettato e che il server ha eseguito il lavoro richiesto. Ciò avviene attraverso una risposta inviata dal server al client. CHIUSURA DELLA CONNESSIONE VERSO IL SERVER E REPORT DEGLI ERRORI Dopo l’invio di tutti i comandi al server, il client chiude la connessione ed esegue il report degli errori. Figura 2. Modello client TCP/IP in LabVIEW 36 GENERALITÀ SUL MODELLO SERVER La fig. 3 illustra il modello semplificato di un server in LabVIEW. LabVIEW ripete questo intero processo finché non viene interrotto remotamente inviando un comando per terminare il VI. Il VI non riporta errori. Potrebbe restituire una risposta indicante che un comando non è valido, ma non SCUOLA DI LABVIEW STEP PER LA COMUNICAZIONE CON IL MODELLO SERVER Con il modello server è più complesso permettere a più client l’accesso al server. Il server deve innanzitutto inizializzarsi, quindi aspettare una connessione da un client. Quando la connessione è stabilita, il server attende un comando. Il server elabora ed esegue tutti i comandi e restituisce i risultati al client. Quando il client ha finito di inviare comandi al server, la connessione fra il server ed il client può essere chiusa. INIZIALIZZAZIONE DEL SERVER Il server viene inizializzato rimanendo in ascolto per una connessione su una particolare porta di rete. Figura 3. Modello ser ver TCP/IP in LabVIEW visualizza un’area di dialogo al verificarsi di un errore. Poiché un server potrebbe essere non presidiato, considerate attentamente come il server deve gestire eventuali errori. Probabilmente non volete visualizzare un’area di dialogo in caso di errore perché richiede un’interazione con l’utente sul server. Qualcuno dovrebbe cliccare il pulsante OK. Tuttavia, potreste desiderare che LabVIEW scriva un log delle transazioni e degli errori in un file o una stringa. Potete incrementare le prestazioni permettendo alla connessione di rimanere aperta. In questo modo, potete ricevere più comandi, ma bloccherete la connessione di altri client finché il client corrente non si disconnette. Potete ristrutturare il diagramma a blocchi in modo da gestire più client simultaneamente, come illustrato nella fig. 4. ATTESA DI UNA CONNESSIONE Il modello server permette a più client di connettersi al server. Ciò si ottiene aspettando una connessione da un client e mettendo quindi l’informazione della connessione in una coda utilizzando un modello di progetto produttore/consumatore. Il consumatore aspetta di ricevere un comando dal client. ATTESA DI UN COMANDO L’attesa di un comando permette di ricevere più comandi da più client. Ciò si ottiene utilizzando un consumatore per iterare attraverso ciascuno dei client al fine di determinare se un client ha inviato un messaggio. ESECUZIONE DEL COMANDO E RESTITUZIONE DEI RISULTATI Quando il server ha ricevuto un comando da un client, il server esegue il comando effettuando del lavoro. Quando il lavoro è terminato, il server risponde con i risultati del lavoro o un errore se non è stato possibile eseguire il lavoro. CHIUSURA DELLA CONNESSIONE Quando tutti i client hanno finito di inviare messaggi al server, la connessione alla porta di rete deve essere chiusa. Figura 4. Gestione di più client simultaneamente Il diagramma a blocchi usa le capacità multitasking di LabVIEW per eseguire due loop simultaneamente. Il loop superiore attende continuamente una connessione, quindi aggiunge la connessione ad una coda sincronizzata. Il loop inferiore controlla ciascuna delle connessioni aperte ed esegue tutti i comandi che sono stati ricevuti. Se si verifica un errore su una delle connessioni, la connessione viene interrotta. Quando l’utente abortisce il server, tutte le connessioni aperte si chiudono. CAPACITÀ E PROBLEMI DEL MODELLO CLIENT/SERVER Il modello client/server offre un meccanismo affidabile per inviare dati sulla rete in modo affidabile. Tuttavia, oltre ad una maggiore affidabilità, il modello client/server aggiunge complessità al modello di broadcast. Tale complessità è dovuta alla quantità extra di comunicazione fra il client ed il server per verificare che i messaggi siano ricevuti. Questa quantità extra di comunicazione fa sì che il modello client/server sia più lento. B. IMPLEMENTAZIONE DEL MODELLO CLIENT/SERVER Utilizzate il VI TCP/IP e le funzioni situate sulla palette TCP per implementare il modello client/server usando LabVIEW come applicazione client o server. 37 SCUOLA DI LABVIEW 13 FUNZIONE TCP OPEN CONNECTION (CLIENT) Utilizzate la funzione TCP Open Connection per stabilire attivamente una connessione con uno specifico indirizzo e porta. Se la connessione riesce, la funzione restituisce un refnum della connessione di rete che identifica in modo unico quella connessione. Usate questo refnum di connessione per fare riferimento alla connessione nelle successive chiamate del VI. Se la connessione non è stabilita nel periodo di timeout specificato, la funzione termina e restituisce un errore. Connection ID è un refnum della connessione di rete che identifica in modo univoco la connessione TCP. I cluster error in ed error out descrivono le condizioni di errore. L’indirizzo identifica un computer sulla rete e può essere espresso in notazione IP decimale puntata o come hostname. La porta è un numero addizionale che identifica un canale di comunicazione sul computer che il server usa per restare in ascolto di richieste di comunicazione. Quando create un server TCP, dovete specificare la porta che volete fare utilizzare dal server per la comunicazione. Se la connessione ha successo, la funzione TCP Open Connection restituisce un connection ID che identifica in modo univoco la connessione stessa. Utilizzate questo connection ID per fare riferimento alla connessione nelle successive chiamate dei VI. FUNZIONE TCP READ (CLIENT E SERVER) La funzione TCP Read legge un certo numero di byte da una connessione di rete TCP, restituendo i risultati in data out. mode indica il comportamento dell’operazione di lettura in base alle quattro opzioni seguenti. Standard (default) – Attende finché tutti i byte richiesti sono arrivati o finché il tempo specificato in timeout ms si esaurisce. Restituisce il numero di byte che sono stati ricevuti fino a quel momento. Se arrivano meno byte del numero richiesto, restituisce il numero parziale di byte e riporta un errore di timeout. Buffered - Attende finché tutti i byte richiesti sono arrivati o finché il tempo si esaurisce. Se arrivano meno byte del numero richiesto, non restituisce alcun byte e riporta un errore di timeout. CRLF – Attende fino alla ricezione di un CR (carriage return) seguito da un LF (line feed) entro il numero di byte richiesti o finché il tempo si esaurisce. Restituisce i byte ricevuti fino a CR e LF compresi. Se non vengono trovati un CR e LF, non restituisce alcun byte e riporta un errore di timeout.. Immediate - Attende finché viene ricevuto un byte qualsiasi. Attende il timeout completo solo se non è stato ricevuto alcun 38 byte. Restituisce il numero di byte che sono stati ricevuti fino a quel momento. Se non viene ricevuto alcun byte, riporta un errore di timeout. FUNZIONE TCP WRITE (CLIENT E SERVER) La funzione TCP Write scrive dati su una connessione di rete TCP. Tutti i dati scritti o letti sono nel tipo dati stringa. Il protocollo TCP/IP non valuta il tipo o formato dei dati trasferiti, quindi il tipo stringa è il metodo più flessibile. Potete utilizzare le funzioni Type Cast e Flatten to String per inviare tipi dati binari o complessi. Se inviate tipi dati binari o complessi, dovete informare il ricevente circa gli esatti tipo e rappresentazione dei dati inviati per poter ricostruire l’informazione originale. Inoltre, quando usate la funzione TCP Read, dovete specificare il numero di byte da leggere. Un metodo comune è quello di inviare prima un intero a 32 bit per specificare la lunghezza della stringa di dati che segue. I VI TCP di esempio forniti con LabVIEW offrono maggiori informazioni su questi argomenti e su come i dati sono tipicamente formattati per comunicazioni TCP/IP. FUNZIONE TCP CLOSE CONNECTION (CLIENT E SERVER) Usate la funzione TCP Close Connection per chiudere la connessione verso l’applicazione remota. Se rimangono dei dati non letti e la connessione si chiude, potreste perdere dei dati. Usate un protocollo di livello più elevato per fare in modo che il vostro computer stabilisca quando chiudere la connessione. VI TCP LISTEN, FUNZIONE TCP CREATE LISTENER E FUNZIONE TCP WAIT ON LISTENER (SERVER) Un programma di comunicazione deve avere la possibilità di aspettare una connessione in arrivo. La procedura è quella di creare un listener (ascoltatore) ed aspettare una connessione TCP accettata su una porta specificata. Se la connessione ha successo, la funzione restituisce un connection ID e l’indirizzo e la porta del TCP remoto. Fate riferimento al VI Data Server situato in examples\comm\TCP.llb per un esempio di questa architettura. STRING TO IP La funzione String to IP converte una stringa in un indirizzo di rete IP o in un array di indirizzi di rete IP. Se String to IP è nel modo single output, il net address è il primo risultato restituito dal resolver del sistema operativo. Se String to IP è nel modo multiple output, il risultato è un array di tutti gli indirizzi di rete IP restituiti dal resolver del sistema operativo. Se il nodo non riesce a convertire la stringa, il risultato è un valore zero nel modo single o un array vuoto nel modo multiple output. IP TO STRING La funzione IP to String converte un indirizzo di rete IP in una stringa. Readerser vice.it n. 1326 VI E FUNZIONI TCP/IP I VI TCP/IP sono organizzati analogamente ad altre funzioni LabVIEW, dove è necessario in primo luogo aprire, quindi leggere/scrivere e chiudere. I VI TCP/IP LabVIEW hanno altra funzionalità che è specifica alla manutenzione di una connessione di rete TCP/IP come il VI TCP e le funzioni IP to String e String to IP. REPORT 13 L a 7a edizione di ‘Focus Embedded’, la mostra convegno organizzata dalle riviste Embedded, Elettronica Oggi ed EO News di Fiera Milano Editore, si è confermata quale punto di riferimento italiano per chi opera in questo complesso e articolato mercato che, dopo lo stop subito quest’anno in linea generalizzata come è accaduto alla quasi totalità degli altri comparti dell’elettronica, sembra mostrare stabili e concreti segnali di ripresa secondo le ultime rilevazioni effettuate dal gruppo di lavoro italiano E&IC Embedded & Industrial Computing. L’evento, tenutosi il 17 novembre a Milano, ha ospitato un totale di 132 visi- tatori qualificati, i quali hanno potuto partecipare a nove seminari tecnici e avere contatti diretti con le 19 aziende partecipanti. La sessione plenaria, ha offerto al pubblico degli intervenuti una panoramica dei trend tecnologici (con particolare riferimento ai moduli COM, al multicore e alle schede di piccolo formato) e di mercato di un settore che sta dimostrando di essere in continua evoluzione. Anche in questa edizione sono stati premiati il miglior articolo hardware e il miglior articolo software, selezionati dai nostri lettori fra quelli pubblicati dalla redazione di Elettronica Oggi Embedded nel corso del 2009 Per la sezione hardware la targa è stata assegnata a Evoc Group per l’articolo ‘Bus EPI per le schede industriali’ di Pang Guanshi e Chen Bo, pubblicato su Embedded di settembre 2009; un riconoscimento è stato anche assegnato a Eurolink Systems, che distribuisce in Italia il marchio Evoc. Per la sezione software il premio è andato invece ad Arrow per l’articolo ‘WinPE 2.1 – Molto più di un tool’ di Vincenzo Difronzo, Field Application Engineer Embedded Product della società; l’articolo è stato pubblicato su Embedded di aprile 2009. Il prossimo appuntamento con Focus Embedded è per il 2010. Readerser vice.it n. 1364 Per il settimo anno consecutivo, la mostra-convegno Focus Embedded ha dialogato con la comunità del mondo embedded su tematiche tecniche e di mercato A cura di Valerio Alessandroni FOCUS EMBEDDED CAUTO OTTIMISMO >Ăďs/t>ŝďƌĂƌŝĞƐĨŽƌZŽďŽƚŝĐƐ /ŵĂŐŝŶŐ>ĂďƉƌĞƐĞŶƚĂůĂůŝďƌĞƌŝĂƉĞƌŝůĐŽŶƚƌŽůůŽĚĞŝƌŽďŽƚE^KŝŶ>Ăďs/t Ě /Zy ϮϬϬϵ ;dŽŬŝŽͿ /ŵĂŐŝŶŐ>Ăď͕ EĂƚŝŽŶĂů /ŶƐƚƌƵŵĞŶƚƐ Ğ E^K ts͕ ŚĂŶŶŽ ƉƌĞƐĞŶƚĂƚŽ ƵĨĨŝĐŝĂůŵĞŶƚĞ ůĂ ͞/ŵĂŐŝŶŐ>ĂďZŽďŽƚŝĐƐ>ŝďƌĂƌLJĨŽƌE^K͕͟ >ĂůŝďƌĞƌŝĂğĐŽƐƚŝƚƵŝƚĂĚĂƵŶƐĞƚĚŝs/ĚŝĨĂĐŝůĞƵƚŝůŝnjnjŽĐŚĞŝŶƚĞŐƌĂŶŽĚŝǀĞƌƐĞ ĨƵŶnjŝŽŶŝ Ěŝ ĐŽŶƚƌŽůůŽ Ğ ŵŽǀŝŵĞŶƚĂnjŝŽŶĞ͕ ƉĞƌŵĞƚƚĞŶĚŽ ƵŶĂ ƐƚƌĞƚƚĂ ŝŶƚĞŐƌĂnjŝŽŶĞĐŽŶůĂǀŝƐŝŽŶĞĂƌƚŝĨŝĐŝĂůĞĞĚŝůŵŽŶĚŽ>Ăďs/tĐŽŶůĂĐŽŵƉůĞƚĂ ĐŽŵƉĂƚŝďŝůŝƚăĐŽŶ>Ăďs/tZĞĂůͲdŝŵĞ͘ >Ă ůŝďƌĞƌŝĂ ƉĞƌ ƌŽďŽƚ E^K ğ ĂĐƋƵŝƐƚĂďŝůĞ ĚŝƌĞƚƚĂŵĞŶƚĞ ƐƵů ƐŝƚŽ ŚƚƚƉ͗ͬͬǁǁǁ͘Ŷŝ͘ĐŽŵͬŝƚ͘ WĞƌŝŶĨŽƌŵĂnjŝŽŶŝƐƵůůĞĂůƚƌĞůŝďƌĞƌŝĞƌŽďŽƚŝĐŚĞĚŝ/ŵĂŐŝŶŐ>Ăď ;ƋƵĂůŝ <ƵŬĂ Ğ DŝƚƐƵďŝƐŚŝͿƉĞƌĂůƚƌŝƉƌŽĚƵƚƚŽƌŝĐŽŶƚĂƚƚĂƚĞĐŝĚŝƌĞƚƚĂŵĞŶƚĞ͘ readerservice.it n.25000 ________________________________________________________________________________________ /ŵĂŐŝŶŐ>ĂďͲǀŝĂyy^ĞƚƚĞŵďƌĞϱϭ͕ϮϲϵϬϬ>ŽĚŝ͕/ƚĂůLJͲƚĞůĞĨŽŶŽнϯϵϬϯϳϭϰϭϲϯϲϲͲĨĂdžнϯϵϬϯϳϭϱϲϵϬϮϴ ͘&͘ĞW͘/͘ϬϰϭϵϵϯϬϬϵϲϱͲ/ƐĐƌŝƚƚĂĂůZĞŐŝƐƚƌŽ/ŵƉƌĞƐĞĚŝ>ŽĚŝͲĂƉŝƚĂůĞ^ŽĐŝĂůĞϭϬϬ͘ϬϬϬ͕ϬϬΦ ǁǁǁ͘ŝŵĂŐŝŶŐůĂď͘ŝƚͲŝŶĨŽΛŝŵĂŐŝŶŐůĂď͘ŝƚ D A L L A C A RTA A L W E B 13 HTTP://WWW Quando le nostre pagine non bastano, l'enorme serbatoio del web può dare una mano. Su una rivista car tacea, anche la più voluminosa, sarebbe impossibile trattare per esteso tutti gli argomenti relativi a LabVIEW. In molti c asi, tuttavia, sul web sono disponibili ar ticoli esaustivi o altri documenti, a cui rimandiamo i lettori interessati. Inserimento di testo da un sito web in un indicatore stringa su un pannello frontale Questo VI utilizza nodi proprietà per estrarre testo da un URL e inserirlo in un indicatore stringa sul vostro pannello frontale. Iniziate con un controllo WebBrowser, usate il suo nodo proprietà per assegnare un URL, aspettate che finisca di caricare usando un altro nodo proprietà e monitorando se è occupato, usate la proprietà documento per passare il documento a un VI Variant to Data (che lo riconosce come documento Html) ed estraete il corpo e il testo interno usando nodi proprietà. Link alla pagina: ni.com/italian infocode: itf28n Confinare il cursore del mouse al pannello frontale del VI L’esempio richiama l’API di Windows per confinare il cursore ad aree differenti all’interno del VI. Questo VI dimostra come limitare il movimento del cursore del mouse ad un solo VI. Ciò vi permette di limitare l’uso del computer ad una certa applicazione LabVIEW come unica applicazione accessibile. Il VI non blocca la funzionalità Alt+Tab. Tuttavia, può essere molto utile con sistemi touch screen dove non c’è una tastiera disponibile. Il VI richiama la funzione ClipCursor dalla dll di sistema user32.dll. Pertanto, il VI è limitato alle sole piattaforme Windows. Link alla pagina: ni.com/italian infocode: itf28n Cattura di eventi di sistema Windows senza polling (Windows) Spesso, dobbiamo fare in modo che i nostri VI reagiscano a eventi che si verificano in Windows e sono esterni al nostro programma. Un esempio potrebbe essere quello di un utente che cambia la risoluzione del suo schermo. Quando un evento di questo tipo si verifica, esso altererà l’aspetto e la posizione della nostra interfaccia utente e potremmo desiderare di eseguire delle regolazioni conseguenti. Potremmo farlo tramite un loop che controlla costantemente la risoluzione dello schermo e la confronta con il valore letto durante la precedente iterazione, ma questo sprecherebbe inutilmente preziose risorse di CPU. Questi VI esemplificativi dimostrano come possiamo invece registrare un VI di callback con il runtime .NET Microsoft in modo che, quando l’evento Windows si verifica, esso triggeri automaticamente il VI di callback senza bisogno di polling. Il nodo Register Event Callback è configurato in modo da rilevare i cambiamenti di risoluzione dello schermo, ma può essere facilmente modificato per rilevare anche altri eventi. Link alla pagina: ni.com/italian 40 infocode: itf28n D A L L A C A RTA A L W E B Gestire l’errore di file già aperto mediante code A volte potete avere più programmi che accedono allo stesso file di dati. Se LabVIEW cerca di aprire un file di cui un altro programma ha già il controllo (come il software di backup dei dati), otterrete l’errore 5 quando cercherete di aprire il file in LabVIEW. Questo può provocare problemi se state registrando dati e volete che siano tutti scritti nel file. Il problema può essere eliminato se utilizzate code per scrivere i dati e gestire questo specifico errore. Link alla pagina: ni.com/italian infocode: itf28n Logger della memoria del computer E’ spesso difficile seguire visivamente quanta memoria o CPU è utilizzata sul vostro computer in un certo istante. Questo VI richiama il framework .net, estrae l’utilizzo del vostro computer e ne registra i dati in un file Tdms. Potete quindi osservare i dati con il Tdms viewer per vedere i trend di CPU, memoria impegnata e percentuale di memoria utilizzata. Dovete semplicemente configurare la frequenza con la quale volete registrare i vostri dati. Link alla pagina: ni.com/italian infocode: itf28n Libreria di riferimento Specific Error Handler (SEH) Benché LabVIEW offra tool di base per la gestione di errori ed eccezioni, implementare una strategia complessiva di gestione degli errori è impegnativo e richiede un significativo sforzo di programmazione. Una strategia complessiva di gestione degli errori richiede sia la capacità di rispondere a specifici codici di errore (per esempio: ignorare un errore che non riguarda il sistema), sia la capacità di eseguire azioni generali sulla base del tipo di errore che si verifica (per esempio: registrare tutti i ‘warning’ in un file). La libreria di riferimento SEH permette di semplificare il primo di questi due compiti mettendo a disposizione tool che aiutano a gestire specifici errori. La libreria vi permette inoltre di classificare gli errori in base al loro codice, che può quindi fornire un feedback ad un sistema centrale di gestione degli errori. La SEH consiste di un Express VI configurabile che vi aiuta a gestire specifici errori e di subVI che categorizzano gli errori per l’uso da parte di un sistema centrale di gestione degli errori. Link alla pagina: ni.com/italian infocode: itf28n Libreria Simple Messaging Reference (STM) di LabVIEW Per gli ingegneri che progettano sistemi distribuiti dove gli host interagiscono attraverso una rete, uno dei problemi principali è costruire un protocollo di comunicazione efficace. La Libreria Simple Messaging Reference (STM) può migliorare prestazioni, utilizzabilità, manutenibilità e scalabilità di un sistema distribuito. A differenza delle API di comunicazione di basso livello, l’uso di pacchetti formattati rende più gestibile la manipolazione dei dati e migliora il throughput minimizzando la trasmissione di dati ripetitivi. Il protocollo STM può migliorare significativamente la produttività e le prestazioni client/server astraendo lo strato di trasporto. Ciò vi permette di creare codice intuitivo più facile da espandere e mantenere. La libreria di riferimento STM è adatta per molte applicazioni client/server, ma fornisce anche una base per modelli di progettazione di livello più elevato. Link alla pagina: ni.com/italian infocode: itf28n 41 LA VOCE DEGLI UTENTI 13 Vi presentiamo una selezione di argomenti di discussione sul Forum di ILVG.it Come usare la seriale per leggere un I/O da PLC Inviato: Mer Dic 02, 2009 10:59 am Ciao, come posso leggere un segnale da un'uscita logica dal PLC? Ho un PLC che mi setta una porta al livello alto ogni volta che accade un evento, vorrei leggere il verificarsi dell'evento con LabVIEW via seriale...si può fare? Ciao e grazie! avlas Ciao, anche se non sono un super esperto, vedo se riesco ad aiutarti, però prima occorre sapere che PLC utilizzi. max81 Ciao, in realtà non penso sia importante il tipo di PLC, immaginavo di voler leggere lo stato logico di un contatto collegato tra RX e GND della seriale... Ho studiato un po’ le RS232, il segnale va da -12 (Logico 1) a +12 (logico 0), ed è in codifica 8N1, quindi non credo sia possibile leggere lo stato di un bit settato sul pin RX della seriale...è un po’ più complesso per via della codifica 8N1... avlas No, invece dipende dal PLC che hai, ti riporto l'esempio di due PLC che utilizzo, il primo è il PLC Panasonic FP0 (ma anche altri modelli) implementa un protocollo di comunicazione chiamato Mewtocol su RS232, che ti permette di inviare una stringa di comando per poter leggere o scrivere sui registri interni del PLC, ad esempio se tu vuoi conoscere lo stato degli ingressi digitali, invii una stringa contenente dei campi di comando al PLC e lui ti risponde con una stringa contenente il valore dei registri. Altro esempio è il PLC Siemens S7-200, che utilizza un protocollo di comunicazione proprietario denominato PPI, per poter comunicare con S7-200 si possono utilizzare varie soluzioni (commerciali e non) ad esempio la libreria libnodave (liberamente scaricabile dal web), oppure utilizzare la modalità freeport della porta di programmazione. Scusa se sono stato prolisso, ma era solo per dirti che in base al PLC che si utilizza, si possono adottare varie soluzioni. ciao Max Ciao, se guardi tra gli esempi di LabVIEW, troverai come poter effettuare la lettura degli stati logici dei pin delle porte seriali, ovviamente per quel che riguarda le tensioni in gioco devi fare moooolta attenzione! Ciauz! aris Qui si sta facendo confusione tra leggere lo stato logico di un segnale e lo stato logico di un pin. Il pin sulla seriale è vero, si puo' leggere, ma quello che vuole fare max è leggere lo stato logico di un segnale del PLC, che credo possa essere un pulsante o un led o che altro. Per poterlo leggere interrogando il PLC, si puo' fare tramite LabVIEW e seriale ma devi avere il driver opc che ti permette di comunicare con quel PLC. Questi driver sono inclusi nel pacchetto LabVIEW DSC, e forse sono acquistabili anche singolarmente. Fatto sta che senza questi driver, non credo si possa comunicare con un PLC. Purtroppo nella mia ignoranza, non ti so dire se si possa o meno comunicare direttamente via seriale sviluppando un vi che realizzi il protocollo richiesto come si fa normalmente con gli strumenti collegati alla usb o alla seriale...ma ciao! gepponline [Continua su 4354] avlas Inserire messaggi di errore Inviato: Lun Nov 30, 2009 1:20 am Vorrei inserire dei messaggi di errore che compaiono ad esempio quando dal front panel inserisco un valore troppo alto di un certo parametro. Se ad esempio imposto una posizione di 30 mm e il mio stepper motor ha uno stroke di 20 mm cliccando sul controllo position del front panel dovrebbe comparire un errore del tipo: "Valore superiore al limite consentito di 20 mm "...o qualcosa del genere... fabietto84 Ciao, guarda questo link che spiega come creare errori custom: Custom Error Handling In LabVIEW http://zone.ni.com/devzone/cda/tut/p/id/3209 In sostanza ti crei il tuo set di errori, salvi il file con il formato nomefile-errors.txt, riavvii LabVIEW e da quel momento se c'è un codice di errore pari al tuo codice custom LabVIEW lo gestisce come tale e ti ritorna il cluster d'errore. Ciao, Andrea Ryan Un altro metodo che lì non dice è aggiungere in fondo al campo "source" di un errore la stringa <err> seguita dal messaggio personalizzato. Snamprogetti [Continua su 4352] fabietto84 42 LA VOCE DEGLI UTENTI Come leggere dati da un foglio Excel ed integrare Inviato: Mar Nov 24, 2009 1:10 pm Salve, avrei la necessità di leggere i dati da un foglio Excel ed effettuare una integrazione... sembra molto semplice, ma nn so da dove cominciare... chi può aiutarmi? In realtà i segnali in volt rappresentano il voltaggio acquisito da un accelerometro ad un certo istante. Mi occorre la velocità, per questo dovrei integrare la funzione accelerazione, di cui però non dispongo. Ho soltanto due colonne di dati: il tempo e i volt (che a meno di una costante rappresentano l'accelerazione acquisita). chi può aiutarmi? mistereko Ciao Mistereko, La lettura di dati (anche eterogenei) da file Excel è un argomento ampiamente trattato nel forum. Inserisci "excel" nella casella di ricerca e ti appariranno un mondo di soluzioni. A quel punto devi solo individuare quella che fa al caso tuo. Per quanto riguarda l'integrazione... Per ottenere la corrispondenza velocità-accelerazione devi sapere almeno la velocità iniziale dell'oggetto, quella all'istante t0 dell'acquisizione da lì tramite un calcolo matematico puoi risalire a tutte le velocità punto punto. Con il processo inverso devi conoscere la velocità finale dell'oggetto, quindi quella all'istante tn. Ricky Vorrei indicazioni più precise, per favore...non riesco a trovare nulla... help me!!!!!!!!!!!!!!!!!!!!! mistereko Con read spreadshet file importi i dati in un array, dalle tue indicazioni si tratterà di due colonne. Usa index array per ottenere la separazione delle due colonne (setta zero su index column della funzione index array), quindi esegui le operazioni che ti servono per ottenere la terza colonna, build array è la funzione che ti serve per ricostruire il tuo array da reinviare allo spreadsheet file con write to spreadsheet file. Comunque se inserisci Excel nella ricerca su questo forum trovi un infinità di esempi (prova anche Excel LabVIEW su Google). nicola [Continua su 4350] mistereko Plottaggio in un graph dei dati in funzione del tempo Inviato: Lun Nov 23, 2009 8:11 pm Salve a tutti.. Sono nuovo del forum e quindi approfitto dell'occasione per i saluti. Veniamo al mio problema: Per la mia tesi di laurea sto costruendo un dispositivo che rileva la corrente che circola in un cavo e dopo i vari calcoli quali potenza dissipata ecc. invio il dato via bluetooth. In LabVIEW sto compilando il programma per la visualizzazione dei dati real-time. Vorrei sapere come fare a visualizzare in un grafico il dato che ricevo in corrispondenza dell'istante di tempo (ore:minuti) in cui appunto è stato ricevuto. Il mio problema è che questi dati li invia il microcontrollore (PIC18F4550) circa ogni secondo e con il circa intendo che il tempo non è costante ma potrebbe variare (fino ad anche due secondi). Ho provato ad usare un waveform graph mettendo come punto iniziale il tempo di inizio acquisizione (con un offset) ed in effetti il tutto sembrerebbe funzionare bene, ma dopo qualche minuto mi accorgo che non sono più in fase con il clock, appunto perché le acquisizioni avvengono secondo tempi non costanti. Esiste un modo per plottare questo valore ed il tempo in cui esso viene ricevuto dal read della seriale? Grazie a tutti... Demetrio demetrix80 Secondo me puoi dare un'occhiata ai Chart o ai Grafici XY: in particolare a questi ultimi puoi passare le due coordinate del punto, dataora e valore.Ciao!! MagicBotolo Ciao MagicBotolo, grazie per la risposta... Ma è possibile utilizzando un graph XY lavorare in real time? Io ho provato ad utilizzare allo scopo l'XY graph ma non ci sono riuscito. Sapresti per caso come fare? Grazie Demetrio demetrix80 [Continua su 4348] demetrix80 43 A P P U N TA M E N T I 13 Come sempre, vi segnaliamo i prossimi corsi di formazione di LabVIEW e i principali eventi internazionali che vedranno la partecipazione di National Instruments LA FORMAZIONE NATIONAL INSTRUMENTS ni.com/training/i LABVIEW CORE I Milano: Roma: Padova: LABVIEW CORE II Milano: 15 - 17 marzo 12 - 14 aprile 10 - 12 maggio 3 - 5 maggio 6 -7 maggio 18 - 20 maggio 18 - 19 marzo 15 - 16 aprile 13 - 14 maggio LABVIEW: Acquisizione dati e condizionamento dei segnali Milano: 21 – 23 aprile Roma: 1 - 3 marzo Padova: 23 - 25 marzo LABVIEW FPGA Milano: Padova: 22 - 23 marzo 4 - 5 maggio LABVIEW: Sviluppo di applicazioni Real-Time Milano: 12 - 14 maggio Padova: 27 - 29 aprile LABVIEW: Visione artificiale ed elaborazione immagini Milano: 25 - 26 marzo LABVIEW: Managing software engineering Milano: 11 - 12 marzo ROMA Presso Pick Center Piazza Marconi 15, 00192 - Tel.: 02-41309217, Fax: 02-41309215 - Email: [email protected] CORSI DI FORMAZIONE TEMATICI SULLE MISURE CON L’UTILIZZO DEL PERSONAL COMPUTER National Instruments ha ampliato l’offerta formativa disponibile con una serie di corsi orientati alle tematiche dedicate ai metodi di misura tramite l’utilizzo di strumentazione basata su Personal Computer. Tali corsi hanno l’obiettivo di spiegare le basi teoriche delle diverse misure tramite l’uso di semplici esempi pratici già sviluppati. I corsi non essendo focalizzati alla programmazione di software NI ma esclusivamente alle tematiche possono essere utili come utile base e/o approfondimento a tutti coloro che sono coinvolti nei processi di misura. Di seguito i dettagli e le date aggiornate dei prossimi corsi in programma. LA MISURA CON IL SUPPORTO DEL PERSONAL COMPUTER Corso per non esperti di informatica, della durata complessiva di due giorni, dedicato a chi intende sviluppare competenze utili a confrontarsi con sviluppatori, progettisti di sistemi e fornitori di componenti per misura e acquisizione dati. Obiettivo del corso è di fornire ai partecipanti, responsabili o tecnici di laboratorio e di produzione, le basi per poter affrontare le misure di qualsiasi genere tramite l’utilizzo del PC. LABVIEW CONNECTIVITY CORSO SPECIALISTICO: MISURE ELETTRICHE CON IL SUPPORTO DEL PERSONAL COMPUTER LABVIEW: Corso specialistico dedicato a tecnici che necessitano di informatizzare la misura di grandezze elettriche, siano queste specifiche o generali tramite l’utilizzo del Personal Computer. Il corso, della durata di un giorno, è dedicato a tecnici di laboratorio o di produzione, che abbiano già una formazione di base di misure elettriche e che intendano sfruttare le potenzialità dei sistemi di acquisizione dati. Prerequisiti: frequentazione del corso la misura con il supporto del Personal Computer o competenze equivalenti. Padova: 11 - 12 maggio Introduzione alla programmazione CAN Milano: 19 – 20 aprile TESTSTAND I: Introduzione Milano: 15 - 17 marzo TESTSTAND II: Personalizzazione Milano: 1 - 2 aprile Sedi dei corsi MILANO Presso gli uffici National Instruments Italy srl, Via Anna Kuliscioff 22, 20152 - Tel.: 02-41309217, Fax: 02-41309215 - Email: [email protected] 44 PADOVA Presso il Centro di Formazione Certificato NI di I.R.S. Srl, Via Vigonovese 81/A, 35127 - Tel.: 049-8705156, Fax: 049-7625206 Email: [email protected] CORSO SPECIALISTICO: MISURE TERMOTECNICHE CON IL SUPPORTO DEL PERSONAL COMPUTER Dedicato a tecnici che necessitano di informatizzare le misure di A P P U N TA M E N T I temperatura e termotecniche più in generale, per applicazioni nei settori più svariati. Obiettivo del corso è fornire ai partecipanti le conoscenze utili a definire le migliori soluzioni per effettuare misure di temperatura, di umidità, pressione e portata. Il corso, della durata di un giorno, è dedicato a tecnici di laboratorio o di produzione che intendano sfruttare le potenzialità dei sistemi di acquisizione dati. Prerequisiti: frequentazione del corso la misura con il supporto del Personal Computer o competenze equivalenti. CORSO BASE DI ACUSTICA E VIBRAZIONI Questo corso ha l’obiettivo di fornire una panoramica delle più comuni misure di acustica e vibrazione in modo da fornire le competenze di base utili a collaborare o interagire con reparti verticalmente impegnati in questo ambito CORSO AVANZATO DI ACUSTICA E VIBRAZIONI Questo corso è la naturale estensione del corso di base ed ha l’obiettivo di fornire indicazioni sui più comuni metodi e le comuni procedure di misura in acustica e vibrazione. Il corso è dedicato a coloro che saranno direttamente coinvolti nel processo di misura. Misure elettriche con il supporto del Personal Computer Milano: 14 aprile Misure termotecniche con il supporto del Personal Computer Milano: 15 novembre Acoustics & Vibration Base Milano: 8 - 9 marzo 17 – 18 maggio On-Line LabVIEW Core I: mattino, 2 – 5 marzo On-Line LabVIEW Core II: pomeriggio, 2 – 4 marzo On-Line LabVIEW Real-Time: mattino, 16 – 19 marzo On-Line LabVIEW Core I: mattino, 27 – 30 aprile On-Line LabVIEW Core II: pomeriggio, 27 – 30 aprile On-Line LabVIEW Core II: mattino, 11 – 13 maggio On-Line LabVIEW Core I: mattino, 25 – 28 maggio On-Line TestStand I: pomeriggio, 11 – 14 maggio On-Line LabVIEW Core II: pomeriggio, 25 – 27 maggio On-Line LabVIEW Core II: pomeriggio. 29 – 31 marzo ALTRI APPUNTAMENTI MOSTRE CONVEGNO MC4 – Control and Communication È la mostra-convegno interamente dedicata alle tecnologie e ai prodotti per il controllo del movimento Bologna: 12 marzo FIERE DI SETTORE Embedded World Norimberga: 2 - 4 marzo Hannover Messe Hannover: 19 - 23 aprile Acoustics & Vibration Advanced Milano: 22 - 23 marzo Interkama (Hannover Messe) Hannover: 19 - 23 aprile Verificate il calendario aggiornato alla pagina web ni.com/training/i Bias 2010 Rho, Fiera Milano LA FORMAZIONE NATIONAL INSTRUMENTS ANCHE ON-LINE! EVENTI NATIONAL INSTRUMENTS I programmi di formazione National Instruments offrono il metodo più efficiente e veloce per incrementare competenze e produttività nello sviluppo di applicazioni basate sulla piattaforma software/hardware NI anche da remoto. Di seguito la lista dei corsi on-line attualmente disponibili. I partecipanti potranno accedere alla classe virtuale tramite web e interagire direttamente con l’istruttore e gli altri partecipanti al corso. Per partecipare bastano un personal computer e una connessione di rete veloce. Ogni giornata ha una durata di quattro ore. Il numero delle giornate di corso dipende dalla tipologia prescelta. Per maggiori informazioni e verificare il calendario aggiornato del mese di gennaio, visitate la pagina web ni.com/training/i. 4 – 7 maggio NIDays 2010 Parigi: 2 febbraio NIDays 2010 Roma: 24 febbraio NIDays 2010 Madrid: 16 marzo Automotive Forum 2010 Torino: 26 maggio Verificate il calendario aggiornato degli eventi National Instruments alla pagina web ni.com/italy/eventi 45 REPORT 13 LABVIEW IN TOUR IN MAGLIA ROSA FA INCETTA DI PRESENZE! 466 D ieci tappe in 10 diverse città italiane e un mese di tempo – dal 27 ottobre al 26 novembre – per imparare tutto quello che c’è da sapere sul nuovo NI LabVIEW 2009. E nuovo lo è davvero, già a partire dal nome. Tanto per cominciare, infatti, cambia il metodo di assegnazione del nome che, dallo scorso anno, viene preso in prestito dall’anno di rilascio, con l’obiettivo principale di immettere sul mercato una versione stabile, consolidata e accompagnata da un percorso di aggiornamento utenti più agevole. Nel corso del tour, il pubblico presente, che ha registrato oltre 300 presenze, è stato introdotto alle novità del software, presentato in anteprima mondiale durante NIWeek, l’annuale conferenza sulla progettazione grafica di sistemi organizzata da National Instruments a Austin. Nel pomeriggio delle date di Milano, Torino, Padova e Roma, il Tour è proseguito con un seminario formativo sul tema ‘PCI Express, USB, ZigBee, Wi-Fi, Ethernet, PXI: qual è il bus ideale per le tue applicazioni di acquisizione dati, data logging e monitoraggio?’ Durante le giornate di seminario, l’attenzione si è focalizzata sulla possibilità di semplificare lo sviluppo di architetture parallele con una nuova tecnologia di virtualizzazione che sfrutta le potenzialità dei sistemi multicore, un compilatore ottimizzato e IP che migliorano la progettazione Fpga. LabVIEW 2009 permette di distribuire codice su reti di sensori wireless per realizzare sistemi di misura e monitoraggio industriale più efficaci. Il nuovo ambiente di programmazione dispone di nuove soluzioni per il test di standard wireless quali Wlan, WiMAX, GPS e sistemi Mimo su un’unica piattaforma hardware. LabVIEW 2009 semplifica inoltre la matematica real-time, snellendo la progettazione di algoritmi matematici e la loro distribuzione su hardware real-time. “Nel difficile scenario dell’economia attuale, tecnici e inge- gneri si sforzano per completare i propri progetti con meno risorse e in minor tempo” afferma il Dr. James Truchard, presidente, CEO e cofondatore di National Instruments. “Con l’arrivo di nuove opportunità provenienti da investimenti nelle infrastrutture, monitoraggio ambientale, ricerca medicale e progettazione e test di dispositivi, abbiamo incentrato lo sviluppo di LabVIEW 2009 su tecnologie chiave quali multicore, progettazione Fpga, piattaforme wireless e matematica real-time per sostenere l'innovazione in queste aree". La virtualizzazione consente inoltre di eseguire simultaneamente più sistemi operativi sullo stesso hardware di elaborazione multicore per realizzare sistemi più efficienti. Il nuovo software NI RealTime Hypervisor unisce la potenza di LabVIEW Real-Time Module con le funzionalità di un sistema operativo general-purpose per ridurre il costo e le dimensioni del sistema. Attraverso questo software, è possibile eseguire simultaneamente Windows XP e LabVIEW Real-Time sullo stesso controller, suddividendo i core di elaborazione tra i due sistemi operativi per un uso più efficiente delle risorse di sistema. Real-Time Hypervisor funziona sia con i controller NI PXI dual-core e quad-core sia con l’Industrial Controller di National Instruments. Se non avete potuto partecipare e vi state domandando come recuperare lunghezze (e tutte le informazioni che vi siete perse), guardate le presentazioni alla pagina web ni.com/italian inserendo l’infocode ex9v44. Readerser vice.it n. 1365 A cura di Alessandro Plantamura LabVIEW 2009, spiegato nelle 10 tappe del LabVIEW 2009 Tour nei mesi di ottobre e novembre AAA L A B V I E W E L AVO R O 13 Conoscete bene LabVIEW? Date un’occhiata alle offerte di lavoro che abbiamo selezionato da ILVG.it, oppure inviate il vostro curriculum... RICERCHIAMO PROGRAMMATORE FPGA (rif. BS01110) Società settore broadcasting (apparati per la trasmissione di segnali televisivi) cerca un Programmatore. Il/la candidato/a deve aver maturato esperienza di programmazione con utilizzo dei seguenti linguaggi: FPGA, MATLAB, C, C++, LabVIEW. Ai fini della selezione viene data massima importanza alla conoscenza di FPGA. Si richiede la laurea o il diploma in informatica e la buona conoscenza della lingua inglese. Sede di lavoro: Brescia (Bs) Rif.110 Data di pubblicazione: 12/01/2010 www.profiliecarriere.it PROGETTISTA ELETTRONICO (ID 4399) Per importante azienda zona Alta Valsugana (TN) selezioniamo un Progettista Elettronico. Requisiti: esperienza di 2-3 anni in progettazione schemi elettrici ed elettronici, programmazione PLC; gradita esperienza in risk analysis. Buona conoscenza ed utilizzo Orcad, autocad elettrico, matlab, Pro engineer, LabVIEW. Buona capacità lavorare in team. Titolo di studio: diploma di perito elettronico o elettrotecnico o laurea. Sede di lavoro: zona Alta Valsugana (TN). Data di pubblicazione: 05/01/2010 www.studiomarcocalza.com TESTER - TECHNICAL WRITER - DEVELOPER LABVIEW TXT e-solutions è un player internazionale nella fornitura di soluzioni software strategiche che aiutano le aziende a migliorare la loro profittabilità e competitività. Quotata in Borsa Italiana dal luglio 2000, TXT è inserita nei segmenti TechStar e All Stars (TXTS). TXT, per la propria Business Unit Next Aerospace and Defence, è alla ricerca di Tester, Developer, Technical Writers Junior e Senior LabVIEW. Per la posizione di Technical Writers i candidati ideali sono neolaureati in materie tecnico - informa- tiche o con minima esperienza in ambito LabVIEW. Requisiti minimi richiesti: conoscenza base del sistema LabVIEW per scrivere documentazione tecnica su un sistema esistente; per la posizione di developer e tester LabVIEW i candidati ideali sono laureati in materie tecnico informatiche con almeno 2 - 3 anni di esperienza. Requisiti minimi: esperienza nei test automatici; buona conoscenza della lingua inglese. Completano il profilo senso di responsabilità, attitudine al problem solving, precisione e capacità di teamworking. Ai sensi della normativa vigente l'offerta di lavoro si intende estesa a entrambi i sessi (L 903/77). Si invitano gli/le interessati/e ad inviare un dettagliato CV con autorizzazione al trattamento dei dati (D. lgs. 196/03) al portale http://www.txtgroup.com/it/careers.shtml Rif. IMRZ183497. Titolo di studio: laurea. Tipo contratto: contratto a progetto o partita IVA con possibilità di rinnovo o inserimento. Sede di lavoro: Milano o Nerviano Data di pubblicazione: 5/01/2010 www.jobadvisor.it INGEGNERE PROGETTISTA HR Service Srl ricerca e seleziona un ingegnere progettista per azienda leader nel settore metalmeccanico; inserito all’interno dell’ufficio ricerca e sviluppo il candidato si occuperà della progettazione di turbomacchine, dallo studio della palettatura e della fluidodinamica, al calcolo strutturale e alla progettazione meccanica. Sarà inoltre di sua competenza l’attività di laboratorio, il disegno meccanico 3D, il controllo qualitativo e dimensionale, lo studio di componenti meccanici e la preparazione della documentazione per progetti dell’Unione Europea. Profilo del candidato: laurea in ingegneria (meccanica indirizzo energetico, chimica, elettrica, energetica, aerospaziale). È richiesta un’ottima capacità di utilizzo del Pacchetto Office, e la conoscenza di programmi di calcolo ingegneristico come Matlab, LabVIEW, CAD 3D, e di simulatori di processo e linguaggi di programmazione. Costituisce requisito essenziale un’ottima conoscenza della lingua inglese e una buona padronanza di quella tedesca. L’azienda offre: contratto e retribuzione in linea con l’esperienza. I candidati interessati possono inviare dettagliato curriculum, citando il riferimento 511 a: [email protected] - tel. 030 6875773 – cell. 335/6237143. La ricerca è rivolta a persone di entrambi i sessi (Legge 903/77). I curricula devono essere corredati di Autorizzazione al trattamento dei dati personali ai sensi della L.196/03. Rif. 511. Titolo di studio: laurea in ingegneria. Tipo contratto: contratto e retribuzione in linea con l’esperienza. Sede di lavoro: Milano. Data di pubblicazione: 27/12/2009 www.lavoro-oggi.it RESPONSABILE INDUSTRIALIZZAZIONE Per azienda operante nel settore della componentistica oleodinamica, selezioniamo un responsabile industrializzazione. Il candidato diplomato o laureato in ingegneria meccanica, 30/35 anni, rispondendo al direttore tecnico, si occuperà della progettazione e sviluppo di componenti oleodinamici nonché dell’industrializzazione del prodotto. Esperienza lavorativa: la risorsa ha maturato un'esperienza significativa nella progettazione meccanica nel settore oleodinamico, conosce i software Inventor e LabVIEW e possiede una buona conoscenza della lingua inglese. Completano il profilo dinamismo, determinazione e intraprendenza, ottima capacità di lavoro in autonomia e spiccate doti di problem-solving. Rif. RH478/08 Titolo di studio: diploma o laurea in ingegneria meccanica. Lingue conosciute: inglese buono. Sede di lavoro: Milano. Tipo di contratto: Interminato Data di pubblicazione: 27/12/2009 www.incontro-lavoro.it 47 INFORMATIVA AI SENSI DEL CODICE IN MATERIA DI PROTEZIONE DEI DATI PERSONALI LA VOCE DEGLI UTENTI www.labviewworld.it LabVIEW World - La prima rivista italiana per la comunità di LabVIEW Informativa art. 13, d. lgs 196/2003 I dati degli abbonati sono trattati, manualmente ed elettronicamente, da Fiera Milano Editore SpA – titolare del trattamento – Via Salvatore Rosa 14, Milano - per l’invio della rivista richiesta in abbonamento, attività amministrative ed altre operazioni a ciò strumentali, e per ottemperare a norme di legge o regolamento. Inoltre, solo se è stato espresso il proprio consenso all’atto della sottoscrizione dell’abbonamento, Fiera Milano Editore SpA potrà utilizzare i dati per finalità di marketing, attività promozionali, offerte commerciali, analisi statistiche e ricerche di mercato. Alle medesime condizioni, i dati potranno, altresì, essere comunicati ad aziende terze (elenco disponibile a richiesta a Fiera Milano Editore SpA) per loro autonomi utilizzi aventi le medesime finalità. Responsabile del trattamento è: Paola Chiesa. Le categorie di soggetti incaricati del trattamento dei dati per le finalità suddette sono gli addetti alla gestione amministrativa degli abbonamenti ed alle transazioni e pagamenti connessi, alla confezione e spedizione del materiale editoriale, al servizio di call center, ai servizi informativi. Ai sensi dell’art. 7, d. lgs 196/2003 si possono esercitare i relativi diritti, fra cui consultare, modificare, cancellare i dati od opporsi al loro utilizzo per fini di comunicazione commerciale interattiva rivolgendosi a Fiera Milano Editore SpA – Servizio Abbonamenti – all’indirizzo sopra indicato. Presso il titolare è disponibile elenco completo ed aggiornato dei responsabili. Informativa resa ai sensi dell’art. 2, Codice Deontologico Giornalisti Ai sensi dell’art. 13, d. lgs 196/2003 e dell’art. 2 del Codice Deontologico dei Giornalisti, Fiera Milano Editore SpA – titolare del trattamento - rende noto che presso i propri locali siti in Milano, Via Salvatore Rosa 14, vengono conservati gli archivi di dati personali e di immagini fotografiche cui i giornalisti, praticanti e pubblicisti che collaborano con le testate edite dal predetto titolare attingono nello svolgimento della propria attività giornalistica per le finalità di informazione connesse allo svolgimento della stessa. I soggetti che possono conoscere i predetti dati sono esclusivamente i predetti professionisti, nonché gli addetti preposti alla stampa ed alla realizzazione editoriale delle testate. I dati personali presenti negli articoli editoriali e tratti dai predetti archivi sono diffusi al pubblico. Ai sensi dell’art. 7, d. lgs 196/2003 si possono esercitare i relativi diritti, fra cui consultare, modificare, cancellare i dati od opporsi al loro utilizzo, rivolgendosi al titolare al predetto indirizzo. Si ricorda che, ai sensi dell’art. 138, d. lgs 196/2003, non è esercitabile il diritto di conoscere l’origine dei dati personali ai sensi dell’art. 7, comma 2, lettera a), d. lgs 196/2003, in virtù delle norme sul segreto professionale, limitatamente alla fonte della notizia. Presso il titolare è disponibile l'elenco completo ed aggiornato dei responsabili. 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 Corrado Minnella Amministratore Delegato Alberto Taddei Publisher Comitato di redazione Nadia Albarello, Matteo Bambini, Matteo Foini, Alessandro Ricco Redazione Alberto Taddei Direttore Responsabile - [email protected] Valerio Alessandroni Direzione Tecnica • [email protected] Redazione - tel: 02 366092.527-514 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 Franco Tedeschi Coordinamento grafici - impaginazione [email protected] Alberto Decari Coordinamento DTP - [email protected] Grafiche Sima Ciserano - BG - Stampa Nadia Zappa Ufficio Traffico - [email protected] tel. 02366092 230 - fax: 02 366092 255 Pubblicità Giuseppe De Gasperis Sales Manager [email protected] - tel. 02366092 523 - fax: 02 366092 524 Agenti Italia: PIEMONTE, LIGURIA, VALLE D'AOSTA • R. Romeo/Publikappa • tel: 011-723406 • fax: 011-723.406 • cell 335-5304196 VENETO, TRENTINO ALTO ADIGE, FRIULI VENEZIA GIULIA • Idelfonso Elburgo • tel: 049-8642.988 • fax: 049-8642989 • cell 328-8855203 International Sales U.K.-SCANDINAVIA - OLANDA - BELGIO The Huson European Media • Gerry Rhoades-Brown • tel: +44-1932-564999 • fax: +44-1932-564998 SWITZERLAND: Iff media ag • Carla Widmer • tel: +41-52-6330888 • fax: +41-52-6330899 GERMANIA e AUSTRIA: Mediaagentur • Adela Ploner • tel: +49-8131-3669920 • fax: +49-8131-3669929 USA: Huson European Media Usa • Ralph S. Lockwood • tel: +1-408-8796666 • fax: +1-408-8796669 TAIWAN: Worldwide Services • Stuart Phillips-Laurie • tel: +886-4-2325-1784 • fax: +886-4-2325-2967 Abbonamenti N. di conto corrente postale per sottoscrizione abbonamenti: 48199749 intestato a: Fiera Milano Editore SpA, Via Salvatore Rosa 14, 20156 Milano. Si accettano pagamenti anche con le principali carte di credito. Per gli utenti Developer Suite e standard Service Program di National Instruments è già incluso l’abbonamento alla rivista Abbonamento annuale (4 numeri): E 20,00 Abbonamento per l'estero (4 numeri) E 40,00 Prezzo della rivista: E 5,00 - Arretrati: E 10,00 Testata associata • Associazione Nazionale Editoria Periodica Specializzata Fiera Milano Editore è iscritta al Registro Operatori della Comunicazione n° 11125 del 25/07/2003. Autorizzazione alla pubblicazione del tribunale di Milano n° 754 del 11/12/2006. Tutti i diritti di riproduzione degli articoli pubblicati sono riservati. Manoscritti, disegni e fotografie non si restituiscono. LabVIEW World ha frequenza trimestrale, per un totale di 4 numeri all'anno. Tiratura del presente numero: 3.000 copie. 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: 13 NUMERI DI READER SERVICE VICE EDIZIONI FIERA MILANO EDI 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 Dati sul lettore Nome Cognome Azienda Indirizzo Azienda Cap Città Prov. Nazione Tel. Fax e-mail Consenso ai sensi dell’art.23 del D.Lgs. n.196 del 30 giugno 2003 (riportati anche sul Vs. sito www.ilb2b.it), esprimo il consenso a che i dati qui contenuti vengano trattati, comunicati e diffusi da voi e/o da Vs. aventi causa per l'attività di promozione e diffusione dei Vs. prodotti ed anche messi a disposizione di operatori qualificati e/o aziende del settore. Il Mondo ha bisogno di nuove tecnologie: tu sei pronto? Media Partner Se ti senti pronto a contribuire, scopri come la Progettazione Grafica di Sistemi può aiutarti ad innovare le tue applicazioni di misura, automazione, controllo e collaudo. Non perdere l’appuntamento con il Forum Tecnologico mercoledì 24 febbraio a Roma. Scopri NIDays 2010 su www.nidays.it >> Registrati a NIDays 2010 su www.nidays.it NATIONAL INSTRUMENTS ITALY S.r.l. Q Via Anna Kuliscioff, 22 Q 20152 Milano Q Tel.: 02-413091 Q Fax: 02-41309215 Q P.IVA/C.F.: 09777310153 CCIAA Milano 1317488 Q Iscr. Trib. Milano 296073/7502/23 ©2009 National Instruments. Tutti i diritti riservati. National Instruments, NI ed ni.com sono marchi registrati di National Instruments. Altri prodotti e nomi aziendali citati sono marchi commerciali delle rispettive aziende. 0358 02 41.309.1 readerservice.it n.24546
Documenti analoghi
robotica l`interfaccia utente
lo sviluppo di ‘frame grabFig. 2 - Austin, NI Week 1996. Philippe Sauvant-Magnet
ber’ sia analogici che digi(Graftek France), Jeff Kodosky e Ignazio Piacentini il
giorno della cessione ufficiale de...