robotica l`interfaccia utente
Transcript
robotica l`interfaccia utente
ISSN 1972-3008 08 NOVEMBRE 2008 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 ROBOTICA AL GUSTO LABVIEW VISUALIZZARE I PROGETTI LABVIEW CON L'USO DELL'UML PROGETTARE In caso di mancata consegna restituire all’editore che si impegna a pagare la relativa tassa presso il CMP di Roserio - Milano L'INTERFACCIA UTENTE Sei sicuro di quello che vedi? Noi lo siamo sempre, grazie al nostro consolidato know-how nella distribuzione di componenti e sistemi per la visione artificiale. Da 10 anni aiutiamo con successo produttori ed integratori di sistemi con un unico scopo: supportarli a sviluppare efficacemente il loro business proponendo le migliori tecnologie presenti sul mercato, coadiuvate da servizi altamente specializzati. Da 10 anni siamo il partner ideale per chi opera nel mondo della visione industriale e dell’imaging scientifico in generale. MACHINE VISION EXPERTS ADVANCED TECHNOLOGIES S.p.A. Via Carducci, 35 | 20090 Trezzano S/N | Milano | Italy T +39 02 4455154 | F +39 02 4453103 www.adv-tech.it readerservice.it n.21841 SCENARIO WORLD IS PARALLEL C ome riferiamo all'interno della rivista, a NIWeek 2008 ha fatto il suo esordio la nuova versione 8.6 di LabVIEW, che sottolinea ancor più che in passato la natura intrinsecamente parallela della programmazione grafica a flusso di dati. Lo stesso Jeff Kodosky, cofondatore di National Instruments e considerato il 'padre' di LabVIEW, si è chiesto nella sua keynote: "Il mondo è parallelo, le persone sono parallele, i computer sono paralleli: perché dovremmo limitarci ai linguaggi sequenziali?". E un riferimento a questa riflessione era stampato sulle magliette di migliaia di visitatori. "Facciamo sempre le stesse cose tutti insieme, come camminare, guardare la televisione e masticare il chewing gum. Perché allora dovremmo costringerci a pensare in modo sequenziale quando scriviamo programmi per i computer? Perché imporci un modo innaturale di affrontare questo compito?” ha proseguito Kodosky. “Il problema fondamentale è che, in questo mondo parallelo, per la programmazione utilizziamo ancora un modello di calcolo inadatto. Sto alludendo al modello a programma memorizzato di Von Neumann, nel quale un programma è una semplice sequenza di istruzioni che risiede in memoria e viene richiamata all'occorrenza. Questo modello, oggi, è troppo banale”. Secondo Kodosky, i modelli di programmazione devono essere più umano-centrici, permettendo ai programmi di descrivere in modo naturale la concorrenza. "Non dobbiamo più pensare ai programmi come a sequenze di istruzioni, ma come a flussi di dati paralleli. E questo modello a flussi di dati intrinsecamente paralleli è alla base della piattaforma LabVIEW", ha ribadito Kodosky. "D'altra parte", egli ha spiegato, "quando abbiamo concepito LabVIEW sapevamo bene che le applicazioni di misura sono intrinsecamente parallele, perché i segnali fisici esistono come fenomeni paralleli”. E la cose non sono cambiate mano a mano che LabVIEW si è esteso a nuovi settori applicativi, fino ad arrivare al settore industriale. Al contrario, la natura parallela della programmazione grafica si sta rivelando un importante vantaggio competitivo anche in queste nuove aree. In campo industriale, per esempio, Kodosky ha rimarcato il fatto che le architetture delle macchine stanno cambiando velocemente, utilizzando sempre più processori multicore e Fpga, mentre le applicazioni diventano sempre più complesse e richiedono l'acquisizione, gestione e analisi di grandi quantità di dati, ormai nella gamma dei petabyte. "Con il progresso dei trend industriali verso macchine altamente parallele e set di dati distribuiti sempre più grandi, la programmazione grafica a flusso di dati rende LabVIEW un software ideale per affrontare questa nuova realtà", egli ha aggiunto. "Chi utilizza LabVIEW per i propri progetti ha la certezza di produrre dei risultati a prova di futuro. Indipendentemente da come evolverà l'architettura dei computer, verso multicore o super-Fpga, la programmazione grafica a flusso di dati potrà sempre coprire le nuove esigenze ed essere all'altezza delle nuove piattaforme di calcolo". In questo numero verranno quindi esaminate più da vicino le caratteristiche di LabVIEW 8.6, con una particolare attenzione proprio alla natura parallela del nuovo software di programmazione grafica. 08 08 01 WORLD IS PARALLEL La programmazione grafica a flusso di dati ha una natura parallela, come il mondo 03 ROBOTICA AL GUSTO LABVIEW Ignazio Piacentini dirige ImagingLab, società specializzata nella visione per la robotica AUTOMATICA DEL 06 PULIZIA DIAGRAMMA A BLOCCHI In LabVIEW 8.6 è stato introdotto il LabVIEW Cleanup Tool FUNCTION BLOCK BASATI 08 NUOVI SU STANDARD INDUSTRIALI Function block per la programmazione di controlli I PROGETTI 10 VISUALIZZARE LABVIEW CON L'USO DELL'UML I programmatori LabVEW possono usare l’Unified Modeling Language PER 16 CONNETTIVITÀ PIATTAFORME MULTI-DOMINIO Integrazione di PROFIBUS DP e PROFINET IO in sistemi real-time NI COMPACTRIO 18 UTILIZZARE SCAN MODE CON NI LABVIEW Scan Mode permette di accedere ai moduli di I/O da più ambienti MODELLO MATEMATICO PER 22 UN IL 'NUOVO PENDOLINO' Un Sistema Test-bench con LabVIEW Simulation Inter face KM DI CAVI SOTTO 25 100 CONTROLLO LabVIEW nell'Eurotunnel 2 L'INTERFACCIA 26 PROGETTARE UTENTE I pannelli frontali devono essere bene organizzati e facili da utilizzare DEL SISTEMA 30 PIANIFICAZIONE (I PARTE) Come descrivere e gestire i requisiti di sviluppo di un progetto software 34 DALLA CARTA AL WEB Link ad ar ticoli di approfondimento e altri documenti disponibili sul web 36 LA VOCE DEGLI UTENTI Alcuni spunti di discussione apparsi di recente sul Forum di ILVG.it 38 LE NOVITA' DI NIWEEK 2008 Repor t sulla 14a edizione della mostraconvegno di NI DAY 2008, 40 AUTOMOTIVE VIBROACUSTICA PER TUTTI, AUTOMAZIONE AVANZATA PER I COSTRUTTORI DI MACCHINE COMMUNITY: 43 LABVIEW CAPITOLO SECONDO Seconda panoramica sulle nuove risorse LabVIEW-centriche 44 APPUNTAMENTI Oltre ad organizzare propri corsi e seminari, National Instruments sarà presente a numerosi eventi 45 LABVIEW E LAVORO Proposte concrete per coloro che sanno utilizzare LabVIEW AAA A TU PER TU 08 ROBOTICA AL GUSTO LABVIEW I magingLab è una piccola azienda ad alto contenuto tecnologico che offre il proprio know-how ad integratori di sistemi, costruttori di macchine e utenti finali che hanno l’esigenza di utilizzare innovative tecnologie di machine vision e di robotica riducendo gli investimenti economici e i tempi d’apprendimento. Il know-how dell'azienda è il risultato di una solida formazione accademica, una vasta esperienza sui sistemi, un’approfondita conoscenza degli strumenti di imaging (in particolare quelli di National Instruments), un costante aggiornamento sulle innovazioni nella componentistica di imaging e una visione globale del mercato della visione artificiale, frutto della ventennale esperienza nel settore. Entrata da poco nel suo quinto anno d’attività, ImagingLab ha già raggiunto significativi risultati in diversi settori quali microelettronica, automotive e industria del pneumatico, macchine di assemblaggio automatico, processi di stampa ad alta tecnologia, produzione di minuterie meccaniche ed altro, farmaceutico e industria cosmetica, oltre a collaborazioni su progetti nel mondo della ricerca scientifica. ImagingLab ha sede nell’edificio quattrocentesco di Palazzo Mozzanica, nel centro storico di Lodi, dove le apparecchiature di imaging e i robot convivono con affreschi e volte incrociate. Abbiamo rivolto alcune domande a Ignazio Piacentini, che dirige ImagingLab. Quella della visione artificiale è stata una delle Dpienamente : prime applicazioni industriali in cui si è espressa la potenza di LabVIEW. Quando è nato questo connubio e qual è stato il suo personale contributo? R: Nel 1995 dirigevo una piccola società italiana – Graftek Italy – nata sulla base di un accordo con un’altra piccola società francese – Graftek France. Graftek France aveva sviluppato a partire dai primi anni novanta un pacchetto software di analisi di immagine su piattaforma Macintosh che si chiamava Optilab e che ottenne una discreta diffusione in tutto il mondo. Buona parte degli algoritmi e delle funzioni di imaging di questo prodotto vennero sviluppati anche sotto forma di una libreria di VI (Virtual Instruments) per LabVIEW (che aveva compiuto allora la transizione a LabVIEW 2!) sotto il nome di Concept Vi. Mentre l’azienda francese si concentrava soprattutto sulla creazione ed edizione di pacchetti software, l’omonima azienda italiana si dedicava principalmente alla progettazione e realizzazione di progetti sia in ambito industriale che scientifico, con risultati più che discreti. L’attività delle due aziende era nota a National Instruments Corporale e fu proprio nel Novembre del ’95 che, durante un incontro a Roma con Jeff Kodosky, venne concordato un primo incontro a Austin con il management di NI e con lo stesso James Truchard (noto come 'Doctor T'). Iniziò così una serie di incontri e contrattazioni che portarono alla cessione della libreria nell’Agosto del 1996, annunciata ufficialmente durante NI Week. Il mio personale contributo fu quello di Fig. 1 - Ignazio Piacentini dirige ImagingLab Srl, una illustrare al managesocietà di progettazione e di integrazione for temente specializzata nel settore della visione per la robotica ment il vasto settore applicativo della visione e le possibili sinergie tra LabVIEW, la libreria di visione e l’acquisizione dati in cui NI era già leader di mercato. Dopo circa una anno di ‘probing’ del mercato e di valutazione dell'operazione, il Vision Group creato all’interno della divisione di R&D di NI venne potenziato. Nel 1999 National Instruments Corporale mi chiese di ‘salire a bordo’ e di occuparmi del settore della visione e del motion control con il titolo di European Business Development Manager, ruolo che occupai fino alla fine del 2003. La sede di Milano divenne la mia base di riferimento (e gradito luogo di sosta tra i frequenti viaggi) ed è proprio qui che nacque ImagingLab, nome che mi fu concesso di conservare quando decisi di lasciare National Instruments. era già intrinsecamente orientato a queD: LabVIEW sto tipo di applicazioni? R: Uno dei grandi meriti di LabVIEW, fin dalle prime versioni, è quello di essere una piattaforma estremamente aperta. L’integrazione di una libreria di visione ‘nata’ in LabVIEW fu quindi piuttosto semplice. Semmai le preoccupazioni di una piccola struttura come la Graftek di allora erano quelle di mantenere allineate le nuove versioni di Concept VI con i rapidi progressi e crescita delle nuove versioni di LabVIEW. Occorre ricordare che LabVIEW nasce su piattaforma Macintosh OS e che la transizione al vasto mondo 3 A TU PER TU 08 Windows avviene con l’arrivo di Windows 3.1 (i lettori che sviluppano sofware si ricorderanno l’eterna questione big-endian/ little-endian). Ovviamente, l’arrivo della libreria di imaging direttamente ad Austin significò anche lo ‘sfruttamento’ sinergico di risorse che già si trovavano in NI (dagli specialisti della matematica degli algoritmi agli specialisti di ottimizzazione del codice o dell’interfaccia utente) e la possibilità di programmare il futuro sviluppo della libreria di pari passo con la crescita di LabVIEW. Un altro punto che non va dimenticato, anche se non sollevato esplicitamente dalla domanda, riguarda invece lo sviluppo di schede hardware dedicate alla visione. Nei primi anni novanta le videocamere sono ancora per lo più analogiche e si stanno muovendo i primi passi verso il digitale. National Instruments ha già ‘in casa’ tutto la tecnologia e le competenze per 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 della cessione di Concept tali per l’acquisizione di Vi che diventerà la libreria IMAQ Vision immagini. stato necessario sviluppare delle librerie o delle Dma di: èfunzioni LabVIEW particolari per utilizzare il sisteprogrammazione grafica nel campo della visione? R: LabVIEW nasce essenzialmente per l’acquisizione dati in laboratorio, anche se oggi è ‘migrato’ in molti altri settori. Le differenze più sostanziali rispetto all’acquisizione ‘mono-dimensionale’ da un sensore rispetto all’acquisizione di un'immagine che è intrinsecamente bi-dimensionale sono legate principalmente a tre requisiti: • Manipolazione di un volume di dati importante (un sensore da 1000 x 1000 pixel a 25 frame per secondo a 8-bit genera 25 Megabyte /secondo) sia a livello di trasferimento dati che di allocazione di memoria • Visualizzazione nell’interfaccia utente del ‘dato immagine’ • Interazione utente con l’immagine e intercettazione degli eventi ‘mouse’ e generazione di overlay sull’immagine stessa Queste peculiarità del ‘dato immagine’ erano già state affrontate e risolte nella libreria di imaging di origine, ma sono state ulteriormente migliorate nelle versioni di LabVIEW successive alla cessione. Dal punto di vista strettamente algoritmico, la libreria si è arricchita nel corso degli anni (e ne sono passati già molti) con tutto quello che il mercato della visione ha richiesto: pattern matching convenzionale (cross-correlazione normalizzata) e 4 geometrico, OCR, riconoscimento di bar-code e 2D matrix, funzioni di tresholding e di edge detection avanzate e molte altre funzioni. Per quanto riguarda invece l’acquisizione di immagini, sia da dispositivi analogici che da sensori digitali, la videocamera è diventata semplicemente una altro ‘device’, del tutto compatibile con MAX (Measurement and Automation Explorer). Dalla visione alla robotica il passo è breve. In che Dcontribuendo : modo il successo delle applicazioni di visione sta a rendere LabVIEW sempre più 'Industrial'? R: È indubbio che LabVIEW stia migrando sempre più verso il mondo dell’automazione, ma la sfida che National Instruments deve affrontare verso colossi come Beckhoff, Siemens, Rockwell, ecc, ha qualcosa di eroico! È forse più facile entrare nel mondo dell’automazione attraverso qualche ingresso ‘laterale’ e sfruttando al meglio le tecnologie avanzate che sono già patrimonio di National Instruments. La visione associata alla robotica si presta particolarmente bene a facilitare questa transizione. Il mondo della robotica è in forte crescita, così come è in forte aumento l’utilizzo della visione per la robotica. Mentre la robotica ‘pesante’ e in particolare quella dell’automotive è essenzialmente a crescita zero, la crescita è invece stimolata da molti nuovi settori che vanno dall’assemblaggio flessibile, al packaging, al biomedicale e farmaceutico, al food processing, al testing (settore che vede una presenza fortissima di NI). Purtroppo, l’aspetto meno avanzato del mondo robotico è quello della programmazione. A scanso di fraintesi, va invece precisato che dal punto di vista meccanico, motori e azionamenti e hardware di controllo della cinematica inversa e delle funzionalità robotiche, i robot industriali rappresentano un settore tecnologico particolarmente avanzato. ImagingLab ha ovviato a questa ‘idiosincrasia’ sviluppando una libreria robotica per LabVIEW. Un effetto estremamente positivo legato a questo sviluppo è quello di eliminare completamente la separazione tra ambiente di programmazione della robotica, programmazione del sistema di visione e programmazione del software applicativo e interfaccia utente. sono i miglioramenti che le caratteristiche Dmesso: Quali della nuova release 8.6 di LabVIEW hanno perdi portare nelle applicazioni di visione e di robotica? R: Direi che tra le migliorie introdotte, quella inerente al supporto di CPU multi-core è quella di maggior interesse per la visione, permettendo una scalabilità dell’aumento prestazionale. Va però detto che non tutti gli algoritmi di visione sono in grado di ‘distribuire’ il processo computazionale di un’immagine su CPU multiple. Una serie di altre migliorie A TU PER TU riguardano invece alcuni dettagli della libreria di visione. La release 8.6 si porta appresso un generale miglioramento della gestione di progetti complessi, di cui beneficiano naturalmente anche i progetti di visione e robotica. Per quanto riguarda la robotica, una novità importante è rappresentata da un toolkit specifico per SolidWorks, che permette di gestire modellazione e simulazione in 3D direttamente da LabVIEW. Quali sono le iniziative previste da ImagingLab per Din questi : mantenere sempre viva la competenza acquisita anni sulle applicazioni di LabVIEW nella visione e nella robotica? R: ImagingLab ha sviluppato nel corso degli ultimi anni una piattaforma in LabVIEW per la gestione di applicazioni avanzate di robotica e visione, soprattutto per il pick & place di componenti in sistemi di assemblaggio automatico. È proprio l’integrazione stretta offerta dall’ambiente di programmazione grafica che ha determinato il successo del software applicativo che è stato utilizzato su decine di stazioni robotiche utilizzanti robot sia Scara che antropomorfi di diversi produttori. Un componente importante di questa piattaforma è proprio la libreria di robotica in LabVIEW, che permette di controllare robot di diversi produttori (attualmente la libreria permette di controllare robot di Denso Wave e di Mitsubishi Electrics ed è in corso l’implementazione di una libreria per i robot Kuka), coadiuvata da un ‘tool-kit’ che risponde a una serie di bisogni ripetitivi quali la calibrazione tra robotica e visione, la generazione di modelli di riferimento, la gestione di criteri di pass-fail Oltre che nella robotica le applicazioni di Dzio anche : visione realizzate con LabVIEW trovano spain altri settori industriali (per es. identificazione automatica, controllo qualità, ecc.)? R: Sì, certamente. LabVIEW e la libreria specifica di visione si prestano a una moltitudine di applicazioni nei settori più diversi e non solo nei settori industriali. Nel mondo specifico dell’industria si sono diffuse applicazioni di controllo di qualità sia in linea che a fine linea, che effettuano le ‘misure’ più disparate, da quelle dimensionali alle verifiche di colore. L’identificazione automatica è invece un termine generico che ingloba sia il riconoscimento di forma (pattern matching), sia la lettura di codici (bar code, 2D) e quella di caratteri (OCR). La libreria di visione si è molto evoluta, sia in termini di contenuto algoritmico, di ottimizzazione degli stessi e di facilità d’uso. Si può affermare che i limiti applicativi sono legati essenzialmente alle capacità ed esperienza di che ne fa uso. Note sull’autore Ignazio Piacentini (ImagingLab) ha conseguito nel 1987 un M.Sc. (Master of Science) in Digital Systems and Instrumentation al Polytechnic of Central London. Dal 1976 al 1991 si è occupato di sistemi di misura e di controllo nell’ambito di vari progetti europei di ricerca nel settore della fusione termonucleare. È stato Business Development Manager Europeo per National Instruments Corporale. Oggi dirige ImagingLab Srl, una società di progettazione e di integrazione fortemente specializzata nel settore della visione per la robotica. Readerser vice.it n. 801 Fig. 3 - Una macchine per il testing automatico di memorie Dimm con sistema robotizzato di auto-guida per la manipolazione dei moduli di memoria. L’intero software applicativo è realizzato in LabVIEW in linea, ecc. La comunicazione tra ImagingLab sia con National Instruments che con le case produttrici di robotica è molto importante e ci permette di seguire con sufficiente anticipo i progressi sia della tecnologia di visione che dei sistemi robotica, mantenendo aggiornati gli aspetti applicativi del software da noi prodotto. L’adozione della nostra piattaforma integrata di visione e di robotica dai costruttori di macchine e il suo utilizzo ripetitivo non solo forniscono un feedback utilissimo per migliorare di continuo la piattaforma, ma generano anche le condizioni economiche per ulteriori sviluppi. La ‘visione delle macchine ’ inizia ad affrontare il passaggio da una visione essenzialmente 2D a una visione tri-dimensionale con i vantaggi e le complicazioni che ne conseguono. ImagingLab, cosciente dell’apporto che la visione 3D offre alla robotica, sta già lavorando su sistemi di imaging tri-dimensionali. In particolare ha portato a termine un primo progetto per un importante produttore di videocamere 3D (SICK-IVP) sviluppando un tool-kit per l’utilizzo di questi dispositivi direttamente da LabVIEW. 5 W H AT ’ S N E W a cura di Matteo Foini 08 PULIZIA AUTOMATICA DEL DIAGRAMMA A BLOCCHI DI LABVIEW I l paradigma di programmazione grafica di LabVIEW, basato sul flusso di dati, ne rende facile l’appendimento a tecnici e ricercatori. Tuttavia, mano a mano che le applicazioni LabVIEW diventano più complesse, può essere difficile mantenere un codice ben organizzato. Per esempio, considerate l'ultima volta che avete osservato il codice di un collega o avete aperto un programma che avete creato mesi prima. Potreste essere rimasti colpiti nel vedere un diagramma pieno di codice disorganizzato, che avrebbe richiesto ore per essere riorganizzato usando tool di LabVIEW tradizionali come Clean Up Wire e Align Objects. Con il Block Diagram Cleanup tool, introdotto in LabVIEW 8.6, potete migliorare istantaneamente il layout di un intero schema a blocchi, senza spostare manualmente un singolo filo od oggetto, eseguendo automaticamente le seguenti operazioni: - Ridisporre ed allineare ogni controllo e indicatore sul vostro schema a blocchi - Reinstradare e raddrizzare ogni filo sul vostro schema a blocchi - Decidere la spaziatura e la compattezza di ogni oggetto dello schema a blocchi. - Usare il tasto abbreviato Cleanup Diagram tenendo premuti <CTRL+U>. Il Block Diagram Cleanup tool ha Figura 2 - Usate il pulsante Cleanup Diagram sulla toolbar dello schema a blocchi o <CTRL+U> COME FUNZIONA IL BLOCK DIAGRAM CLEANUP TOOL Benché il Block Digram Cleanup tool possa rendere il vostro codice LabVIEW molto più facile da capire, la funzionalità di quest'ultimo rimane esattamente la stessa dopo l'uso del tool, così come avviene quando si usano Clean Up Wire o Align Objects. Vi sono tre modi per eseguire la pulizia di uno schema: - Cliccare il pulsante Cleanup Diagram sulla toolbar dello schema a blocchi - Selezionare Edit>>Cleanup Diagram dai menu dello schema a blocchi diverse opzioni configurabili, accessibili selezionando Tools>>Options e scegliendo Block Diagram: Cleanup dall'elenco di categorie. Tra le più importanti opzioni di configurazione ricordiamo le seguenti: - Spaziatura orizzontale e verticale dei blocchi – Specifica la spaziatura minima in pixel fra due oggetti qualsiasi dello schema a blocchi. - Spaziatura orizzontale e verticale dei fili – Specifica la spaziatura minima in pixel fra due fili qualsiasi o qualsiasi filo e qualsiasi oggetto dello schema a blocchi. Figura 1 - Ridisposizione e pulizia di un intero schema a blocchi con un singolo click del mouse 6 W H AT ’ S N E W - Allineamento a sinistra dei controlli del diagramma – Sposta tutti i controlli sul lato sinistro dello schema a blocchi. Se un controllo è all'interno di una struttura, LabVIEW sposta il controllo vicino al bordo sinistro della struttura. - Allineamento a destra degli indicatori del diagramma – Sposta tutti gli indicatori sul lato destro dello schema a blocchi. Se un indicatore è all'interno di una struttura, LabVIEW sposta l'indicatore vicino al bordo destro della struttura. - Qualità del layout – Determina quanto tempo LabVIEW deve dedicare alla pulizia dello schema a blocchi. Una qualità del layout più elevata si traduce in uno schema a blocchi più compatto. TIPS AND TRICKS PER L'USO DEL BLOCK DIAGRAM CLEANUP TOOL È importante notare che il Block Diagram Cleanup tool non può perfe- zionare il layout del vostro schema a blocchi. Ogni utente ha preferenze uniche per quanto riguarda spaziatura, allineamento e densità. Il Block Diagram Cleanup tool migliora significativamente l'aspetto del vostro codice, ma è più potente quando lo utilizzate con altri tool, come Align Objects. Per esempio, potete iniziare selezionando Cleanup Diagram e quindi usare il tool Distribute Objects per eseguire ulteriori regolazioni della spaziatura. I cinque suggerimenti principali per usare il Block Diagram Cleanup tool sono i seguenti: - Salvate sempre una copia di backup dei VI ai quali applicherete il Block Diagram Cleanup tool per la prima volta. Potete anche annullare ('Undo') una pulizia (Edit>>Undo Cleanup o <CTRL+Z>) purché non abbiate ancora salvato il VI dopo avere eseguito il Cleanup Diagram. Scegliendo 'Allineamento a sinistra dei CONCLUSIONE Potete usare il Block Diagram Cleanup tool per riorganizzare un intero schema a blocchi in pochi secondi con un singolo click del mouse. Benché il tool non sia inteso per perfezionare il layout del vostro schema a blocchi, le opzioni di configurazione vi offrono la possibilità di specificare spaziatura dei fili, spaziatura dei blocchi e compattezza dello schema a livello di pixel. Usato con funzionalità come Align Objects e Quick Drop, il Block Diagram Cleanup tool diventa un potente strumento per sviluppare rapidamente codice pulito. Note sull’autore Figura 4 - Il Diagram Cleanup è più potente quando lo utilizzate con altri tool come Align Objects Laureato in ingegneria nucleare al Politecnico di Milano, Matteo Foini lavora in qualità di Technic al Marketing Engineer presso National Instruments Italy Readerser vice.it n. 803 Figura 3 - Personalizzate le impostazioni di pulizia, incluse spaziatura dei fili, spaziatura dei blocchi e qualità del layout controlli dello schema contenente' nel menu opzioni, si intendono tutti i controlli. Prendete tempo per valutare il vostro schema a blocchi prima di selezionare questa opzione per assicurarvi che questo sia il risultato che desiderate. Lo stesso vale per l'opzione 'Allineamento a destra degli indicatori dello schema contenente'. Con il Block Diagram Cleanup tool potete fare un uso migliore della funzionalità Quick Drop introdotta in LabVIEW 8.6. Combinando il testo predittivo di Quick Drop con il Clean Diagram, potete programmare codice in modo rapido e pulito. - LabVIEW considera le etichette degli oggetti come parte di un oggetto dello schema a blocchi. Ciò significa che le etichette di oggetti come controlli e indicatori vengono spostate con i loro oggetti associati. - Il Block Diagram Cleanup tool non sposta etichette libere, come testo e commenti aggiunti al vostro schema a blocchi. Tenete le posizioni delle etichette libere relativamente intatte annidandole all'interno di una struttura come un while loop. 7 W H AT ’ S N E W 08 a cura di Matteo Foini NUOVI FUNCTION BLOCK BASATI SU STANDARD INDUSTRIALI Il modulo LabVIEW Real-Time 8.6 introduce function block standard industriali per la programmazione di controlli. Tali function block sono progettati per l'esecuzione real-time e hanno la possibilità di pubblicare i valori dei parametri in rete per l'accesso remoto e la programmazione HMI L abVIEW è un linguaggio di programmazione grafica intuitivo, con centinaia di funzioni integrate di controllo, analisi, comunicazione, file I/O, e così via. Il modulo LabVIEW Real-Time 8.6 introduce 18 function block basati sullo standard internazionale IEC 61131-3 per la programmazione di sistemi di controllo industriale. Tali function block sono scritti in LabVIEW, progettati per l'uso in applicazioni real-time, e hanno la possibilità di pubblicare i loro parametri come shared variable per la programmazione di interfacce uomo-macchina (HMI) e il monitoraggio di stato. Potete sfruttare ora questi function block industriali con tutti i VI e le funzioni esistenti in LabVIEW per sviluppare applicazioni industriali di misura e controllo semplici e complesse. PROGETTATI PER APPLICAZIONI REAL-TIME I function block vengono installati con il modulo LabVIEW Real-Time 8.6 sotto Real-Time»Function Blocks sulla palette delle funzioni e possono essere utilizzati in LabVIEW Real-Time e LabVIEW per Windows. Ogni function block è scritto in LabVIEW e progettato per l'uso in applicazioni real-time con esecuzione deterministica non bloccante, cosa che li rende sicuri per l'uso nel vostro codice time-critical. I subVI sorgenti sono situati in …\LabVIEW 8.6\vi.lib\functionblocks. Ogni istanza di un function block ha un nome e uno spazio di memoria unici con esecuzione rientrante. Grazie a ciò, potete usare questi function 8 Figura 1 blocks indipendentemente nella vostra applicazione. Per esempio, potete usare ogni istanza del function block PID per controllare un sistema separato. VARIABILI TERMINALI CONFIGURABILI I function block che usate nella vostra applicazione sono visibili nel LabVIEW Project con accesso remoto alle shared variable legate a ciascun terminale. Potete configurare i terminali e le variabili dalla pagina Properties dei function block. Di default, le variabili terminali vengono configurate come shared variable single-process con FIFO real-time, che potete utilizzare all'interno della vostra applicazione real-time per accedere ai valori dei parametri senza introdurre jitter. Potete configurare ogni terminale in modo che riceva il suo valore dal terminale sullo schema a blocchi, remota- mente dalla shared variable corrispondente o come costante. PROGRAMMAZIONE HMI E MONITORAGGIO DI STATO Potete configurare le variabili termina- Figura 2 W H AT ’ S N E W li come shared variable pubblicate in rete per dare accesso remoto ai valori dei parametri per la programmazione HMI e il monitoraggio remoto. Per la programmazione HMI potete usare le shared variable nelle applicazioni LabVIEW sul vostro desktop o su computer touch panel industriali. Il Distributed System Manager, introdotto a sua volta con LabVIEW 8.6, consente il monitoraggio centralizzato dei sistemi presenti in rete e la gestione dei dati pubblicati. Dal system manager potete visualizzare i valori dei parametri dei function block senza la necessità di avere l'ambiente di sviluppo LabVIEW. Configurando il terminale di un function block in modo che riceva il suo valore dalla variabile, potete anche scrivere i valori dei parametri dal system manager. In questo modo, per esempio, potete regolare remotamente i function block PID. Readerser vice.it n. 805 Figura 4 Figura 3 COMSOFT Specialisti nel PROFIBUS Soluzioni National Instruments disponibili con tecnologia PROFIBUS cRIO PB Modulo Master/Slave PROFIBUS DP per sistemi cRIO della National Instruments Driver per modulo FNL in ambiente LabVIEW Il Gateway Ethernet/PROFIBUS DP della COMSOFT è ora disponibile con il Driver LabVIEW – Rapida l’integrazione mediante interfaccia Ethernet TCP/IP readerservice.it n.21777 Produttore: COMSOFT GmbH | Wachhausstr. 5a | 76227 Karlsruhe | Germania Tel.: +49- (0) 721 - 9497 - 291 | Fax: +49- (0) 721 - 9497 - 129 E-mail: [email protected] | Internet: www.comsoft.de Contatto commerciale: SOLINTEC AUTOMAZIONE SNC | Via 8 Marzo 1/B | 2040 Cavenago B.za (MI) | Italia | Tel.: 02 - 95336189 | Fax: 02 - 95335432 E-mail: [email protected] | www.solintecautomazione.it TIPS & TECHNIQUES Jan Klasson 08 VISUALIZZARE I PROGETTI LABVIEW CON L'USO DELL'UML L'ar ticolo spiega come i programmatori LabVIEW possono trarre vantaggio dall'Unified Modeling Language, o UML, in LabVIEW Q uando si pianificano ed elaborano progetti di sistema, le descrizioni visive sono molto utili. L'UML – Unified Modeling Language – offre una notazione standardizzata per la modellazione grafica dei sistemi. Lo standard ha un'accettazione industriale e sono disponibili tool commerciali. I diagrammi UML possono descrivere sistemi nel loro intero ciclo di vita. Benché molti di questi tipi di diagrammi siano molto utili, il diagramma a classi UML è al primo posto per il progettista. L'articolo spiega che cosa si può descrivere con il diagramma a classi UML, come utilizzarlo e come il supporto dei tool permetta la generazione e la manutenzione automatica dei diagrammi. L'articolo si conclude con una panoramica del diagramma a stati, che è a sua volta un diagramma utile per il programmatore LabVIEW. sce tale meccanismo di raggruppamento. Per un'introduzione alla programmazione orientata agli oggetti si può vedere l'articolo pubblicato nel n. 4 di LabVIEW World, pubblicato nel 2007. Il diagramma a classi UML indica le classi con caratteristiche e relazioni. Poiché l'UML è indipendente dal linguaggio di programmazione, lo stesso diagramma può essere implementato in qualsiasi linguaggio di programmazione orientata agli oggetti. La figura 1 illustra un esempio di diagramma a classi UML. Ogni rettangolo rappresenta una classe. Per chiarezza, quando esploreremo il diagramma a classi UML useremo codice LabVIEW. PERCHÉ USARE L'UML? L'UML fornisce i mezzi per comunicare progetti. Questi sono alcuni esempi in cui l'UML può essere utile: • Descrivere aspetti importanti di una soluzione per discuterla con altri sviluppatori. • Rivelare il progetto per rendere più semplice la manutenzione. • Introdurre nuovi programmatori in un progetto. • Visualizzare le idee e le decisioni di progetto per sé stessi. • Il supporto dei tool permette di risparmiare tempo quando si crea documentazione. L'UML ha una vasta accettazione industriale e sono disponibili molti tool per creare diagrammi UML. L'Endevo GOOP Development Suite – UML Architect Edition è l'unico tool UML che permette la generazione ed il reverse engineering di codice LabVIEW. IL DIAGRAMMA A CLASSI UML Figura 2 - Classe UML e classe LabVIEW Figura 2 - Classe UML e classe LabVIEW La gerarchia dei VI LabVIEW offre una vista ad alto livello di un'applicazione, che indica i singoli VI e le loro dipendenze da altri VI senza alcun dettaglio sul codice. Per presentare il progetto ad un livello più elevato dei singoli VI è necessario un meccanismo di raggruppamento logico. Quando si applica la programmazione orientata agli oggetti, la classe forni- 10 Figura 1 - Diagramma a classi UML La figura 2 illustra la classe UML e la lvclass nell'ambiente del progetto. I metodi sono elencati nella parte inferiore della classe UML. In LabVIEW, ogni metodo è realizzato come un VI di metodo. I metodi Init e CleanUp della classe LabVIEW sono responsabili dell'inizializzazione e pulizia dell'oggetto. La sezione intermedia della classe UML elenca gli attributi. Gli TIPS & TECHNIQUES attributi rappresentano l'informazione, o i dati, che è possibile memorizzare in istanze della classe. In LabVIEW, gli attributi sono definiti come campi dati in un typedef (file CTL), ed ogni classe ha la propri type def con lo stesso nome della classe. La figura 3 descrive i campi dati della classe LabVIEW. La figura 6 indica come un oggetto inizializzato della classe RealModelTempSensor è creato e memorizzato all'interno dl metodo Init della classe InstrumentManager. Figura 3 - Attributi UML e dati della classe LabVIEW CLASSI UML E LABVIEW - RELAZIONI FRA LE CLASSI L'UML usa varie relazioni per descrivere le dipendenze fra classi. Al contrario, la gerarchia dei VI definisce solo un tipo di relazione, 'usa', per descrivere il fatto che un VI richiama un subVI dal suo diagramma. Per illustrare le relazioni in UML, prenderemo in esame le tre relazioni più utili: eredità, aggregazione composta ed associazione. Altre relazioni sono: dipendenza, aggregazione e realizzazione. Figura 6 - Oggetto RealTempSensor creato e memorizzato da InstrumentManager L'aggregazione composta è un utile modello di progettazione, perché definisce un contenitore per gli oggetti. Per ottenere un oggetto sensore di temperatura inizializzato, il codice client, per esempio ApplicationGUI, deve semplicemente Le tre classi di sensori di temperatura della figura 1 sono incluse in una gerarchia di eredità. Questa relazione ha una corrispondenza diretta in LabVIEW. Le classi LabVIEW ereditano fra loro esattamente nello stesso modo. Figura 4 - Aggregazione composta Figura 5 - Controllo della classe TempSensor nei dati InstrumentManager Nell'UML, l'aggregazione composta è indicata da una linea con un rombo nero, come si vede nella figura 4. Questa relazione significa che la classe InstrumentManager è una repository per gli oggetti TempSensor. Logicamente, gli oggetti TempSensor sono memorizzati all'interno di oggetti InstrumentManager. In LabVIEW, il controllo della classe TempSensor è incluso nei dati oggetto di InstrumentManager, come si vede nella figura 5. Figura 7 - Il metodo GetTempSensor della classe InstrumentManager chiamare il VI del metodo GetTempSensor (figura 7) della classe InstrumentManager. Un'altra relazione utile è l'associazione. Essa è più vaga dell'aggregazione composta ed è spesso utilizzata per indicare una relazione 'usa', come illustrato nella figura 8. Figura 8 - La relazione di associazione 11 TIPS & TECHNIQUES 08 Le classi sono fornitori di servizi, non un modo per implementare dati globali. Tuttavia, sono un meccanismo eccellente per evitare dati globali. TOOL DI SUPPORTO PER MANTENERE AGGIORNATI I DIAGRAMMI Figura 9 - Uso dell'oggetto TempSensor La figura 9 descrive il codice all'interno del metodo GUI di ApplicationGUI che causa la dipendenza visualizzata come relazione di associazione. USO DEL DIAGRAMMA A CLASSI UML Il diagramma a classi è utile al progettista quando deve creare la bozza di una soluzione o descrivere il progetto completo. Poiché lo scopo principale del diagramma è quello di creare una comprensione del progetto, è inutile aggiungere informazioni dettagliate se queste non migliorano la comprensione stessa. Aggiungere classi e relazioni è un punto d'inizio naturale per il progetto. Anche i metodi pubblici sono importanti, perché forniscono informazioni sui servizi messi a disposizione da una classe. Il termine 'pubblico' denota la visibilità dei metodi. Pubblici significa che possono essere utilizzati da metodi di altre classi. Privati significa che possono essere utilizzati solo dall'interno della classe. Protetti significa che sono condivisi fra classi in una gerarchia di eredità. Normalmente, i metodi protetto e privato sono caratteristiche che è meglio aggiungere durante la codifica. I metodi possono avere parametri in UML – controlli e indicatori in LabVIEW – ma normalmente i parametri non aggiungono nulla alla comprensione del progetto, quindi è preferibile aggiungerli nel codice. Gli attributi sono meno importanti dei metodi e non vengono normalmente aggiunti durante la progettazione, a meno che il diagramma sia generato da tool. Infatti, una classe è prevalentemente definita dai servizi che fornisce (mediante metodi pubblici); le capacità di memorizzazione dei dati sono aggiunte quando vengono implementati i metodi. 12 Molti tool UML forniscono moduli di connessione del codice. L'Endevo GOOP Development Suite, usato per creare tutti i diagrammi in questo articolo, offre una connessione di codice per le classi LabVIEW. I tool di connessione del codice possono fornire queste caratteristiche per i diagrammi a classi UML (l'Endevo GOOP Development Suite supporta tutti e tre): • Generazione codice – Supporta la generazione di codice da un diagramma a classi. • Reverse Engineering – Supporta la generazione di diagrammi a classi da codice esistente. • Sincronizzazione – Supporta la manutenzione dei diagrammi quando il codice o il diagramma cambiano. Probabilmente, la caratteristica più importante è il reverse engineering, perché permette di creare la corretta documentazione del progetto – il diagramma a classi – in qualsiasi punto dello sviluppo. Nella generazione del codice si risparmia tempo, perché non è necessario creare manualmente tutti gli elementi di codice descritti nel diagramma a classi, tuttavia rimane un'operazione eseguita una sola volta durante lo sviluppo. La sincronizzazione, insieme al reverse engineering, offre un modo di lavoro nel quale il progetto è 'sempre' aggiornato. Ogni volta che è necessario un progetto corretto, si può eseguire la sincronizzazione. Se è supportato solo il reverse engineering, il diagramma non sarà aggiornato altrettanto spesso. La ragione è che dopo ogni operazione di reverse engineering è necessario aggiornare manualmente il layout grafico (è difficile che i tool possano fornire un layout perfetto). Non si tratta di molto lavoro, ma occorre qualche minuto. ANALISI DEL CODICE E CONVENZIONI DI MODELLAZIONE Gli aggiornamenti dell'UML supportati da tool non sono solo più efficaci in termini di tempo rispetto alla manutenzione manuale dei diagrammi. Il tool fornisce effettivamente l'analisi automatizzata del codice, promettendo perciò una maggiore correttezza rispetto ai diagrammi aggiornati manualmente. L'analisi mediante tool può trovare elementi facilmente trascurati dallo sviluppatore. I diagrammi generati da tool sono anche più coerenti per quanto riguarda le relazioni fra le classi, perché vengono TIPS & TECHNIQUES applicate ogni volta le stesse regole. Quando crea manualmente i diagrammi, il progettista ha flessibilità nella scelta delle relazioni. Le definizioni di relazioni dell'UML non sono così rigorose da rendere possibile un solo modo per fare 'correttamente'. Per rendere i diagrammi UML facilmente comprensibili all'interno di un gruppo di sviluppatori, è necessario applicare qualche convenzione sull'uso delle relazioni. I tool di reverse engineering forniscono tale convenzione. REVERSE ENGINEERING E SINCRONIZZAZIONE La figura 10 descrive il dialogo di reverse engineering che viene lanciato dall'interno del progetto. Tutte le classi sono aggiunte automaticamente al dialogo. In alternativa, è possibile selezionare singole classi. La figura 11 mostra il diagramma a classi risultante; le classi sono state spostate per migliorare il layout, ma tutte le informazioni sono state generate da tool. Quando una classe UML è stata collegata al codice (automaticamente durante il reverse engineering), sulla classe sono disponibili le operazioni di sincronizzazione. Nell'UML si possono aggiungere metodi ed attributi (campi dati) e i cambiamenti possono essere sincronizzati al codice e viceversa. USO DEL DIAGRAMMA A CLASSI PER CODICE NON ORIENTATO AGLI OGGETTI L'ApplicationGUI è nel nostro esempio un lvclass con un VI metodo GUI. Se fosse stato semplicemente un VI - ApplicationGUI.vi – avrebbe potuto ancora essere visualizzato in UML. In questo caso, la classe UML avrebbe utilizzato un'annotazione, <<GUI>>, prima del nome della classe (figura 11). Tale annotazione viene chiamata tipo stereo in UML ed è usata per aggiungere semantica alla classe UML. In questo caso, <<GUI>> denota che si utilizza il simbolo della classe per il VI GUI dell'applicazione, che non è una classe. Sembra naturale avere l'effettivo VI GUI nel diagramma a classi, nonostante non sia una classe. Esso contribuisce, infatti, alla comprensione del progetto. Un altro modo di Figura 11 - Illustrazione di un VI usare il simbolo della GUI come classe UML con il tipo stereo 'GUI' classe UML per codice non orientato agli oggetti è il raggruppamento di VI. La figura 12 mostra i VI di un lvlib visualizzati come classe UML usando il tipo stereo 'LVLIB'. Il nome del lvlib è usato come nome della classe in UML. Figura 12 - VI di un lvlib visualizzati in UML Figura 10 - Dialogo del reverse engineering Se non si usano i lvlib, come nome della classe si usa il concetto comune rappresentato dai VI, come i VI Binary File. In questo caso, il tipo stereo sarebbe 'VI'. I VI del raggruppamento logico sono descritti come metodi in UML. L'applicazione di questa tecnica rende possibile usare l'UML anche se non viene utilizzata la programmazione orientata agli oggetti. Rispetto alla gerarchia dei VI, questa tecnica mette in luce una responsabilità comune fra i gruppi di 13 TIPS & TECHNIQUES 08 VI, mentre la gerarchia dei VI si focalizza solo su relazioni 'usa' fra i singoli VI. Questa tecnica rende inoltre possibile elaborare le dipendenze fra i gruppi di VI usando le relazioni UML. Vi sono molti aspetti differenti della progettazione di sistemi e non è possibile catturarli tutti in un solo tipo di immagine. L'UML definisce quindi una serie di tipi di diagrammi, dove ogni tipo cattura determinati aspetti del progetto. Oltre al diagramma a classi, un altro diagramma utile al programmatore LabVIEW è il diagramma a stati. Descriveremo quindi anche questo tipo di diagramma. tate macchine a stati o handler di messaggi in coda. È, per esempio, molto comune implementare VI UI come VI di macchine a stati. Le macchine a stati sono un potente meccanismo di implementazione, ma può essere difficile ottenere una visione d'insieme di tutte le possibili transizioni di stato dal codice. L'Endevo GOOP Development Suite può generare diagrammi a stati da un VI di macchina a stati. Le figure 13 e 14 lo illustrano usando un VI creato come esempio il template della macchina a stati standard LabVIEW. NI fornisce anche il toolkit del diagramma a stati, che permette al programmatore di creare diagrammi a stati ed ottenere per essi il codice LabVIEW. IL DIAGRAMMA A STATI CONCLUSIONE ALTRI DIAGRAMMI UML Il diagramma a stati è di grande interesse per il programmatore LabVIEW perché spesso nei VI vengono implemen- L'articolo ha esplorato come si possono usare i diagrammi a classi e a stati UML per visualizzare il progetto di programmi LabVIEW. Per essere produttivi durante la progettazione, è vitale un buon supporto di tool. Abbiamo illustrato come si può usare l'Endevo GOOP Development Suite non solo per la modellazione, ma anche per la generazione automatizzata della documentazione del progetto. Usando la funzionalità di collegamento del codice, l'Endevo GOOP Development Suite diventa un tool per esplorare visivaFigura 13 - Par te dello schema a blocchi da una macchina a stati LabVIEW mente il codice da un punto di vista del progetto. Per ulteriori informazioni sull'UML, visitate www.uml.org. Visitate anche www.endevo.se per altri documenti e demo video. Un eccellente libro sull'UML è UML Distilled (3a edizione) di Martin Fowler (ISBN 0-321-19368-7). Figura 14 - Diagramma a stati UML 14 Jan Klasson è Vice President of Products & Training presso Endevo – un Alliance Partner di NI svedese – e docente di un corso su LabVIEW Object Oriented System Design in Svezia ed Europa. Lavora da 15 anni su sviluppo e metodologie orientati agli oggetti usando C++, Java e LabVIEW. Jan ha inoltre operato come consulente utilizzando LabVIEW in diversi progetti di misura da LabVIEW 4. Può essere contattato all'indirizzo: [email protected]. Readerser vice.it n. 816 Note sull’autore One day we’ll rule the world With our 1394.b VGA colour and B&W imaging, auto exposure and daisy chaining. Just try and stop us. ® La nuova famiglia Sony XCD- interfaccia IEEE 1394b ed una gamma di prodotti completa per risoluzione e velocità di acquisizione - selezionare la giusta telecamera per i vostri Sistemi di Visione non è mai stato cosi facile. Caratteristiche superiori di qualità dell’immagine, alta velocità di acquisizione e interfaccia digitale 1394b, questi nuovi modelli XCD sono perfetti per applicazioni industriali di alta qualità. Per maggiori informazioni, contattate il nostro distributore italiano vision readerservice.it n.22396 Visionlink srl Via Marco Polo 22 20038 Seregno (Mi) Italia t +39 0362 6002.02 f +39 0362 600129 [email protected] www.visionlink.it TIPS & TECHNIQUES 08 Joachim Kurpat, Rahman Jamal CONNETTIVITÀ PER PIATTAFORME MULTI-DOMINIO APERTE 16 PROFIBUS DP e PROFINET IO possono essere integrati in sistemi di misura e automazione per applicazioni real-time Q uando si rende necessaria l’integrazione di misure di di applicazioni real-time relative all’acquisizione dati e al conprocesso e di sistemi di test in ambienti di automazio- trollo di automazione, permettendo a entrambi gli ambiti ne per applicazioni real-time, gli utilizzatori si trovano applicativi, mediante l’accesso alla comunicazione PROFIBUS nella posizione di dover affrontare complesse strutture con DP, di lavorare sia in modalità stand alone che in combinaprotocolli seriali di diversa natura la cui integrazione richiede zione con le attuali tecnologie a logica PLC. un elevato tempo di ingegnerizzazione con relativo incremento dei costi. Lo scopo della piattaforma multi-dominio è PROFIBUS DP MASTER E DP SLAVE quindi quello di offrire una semplice integrazione degli stessi Il Modulo cRIO PROFIBUS DP è corredato di un’interfaccia di minimizzando i costi di sviluppo. comunicazione seriale isolata di tipo RS485 PROFIBUS DP e L’uso integrato delle tecnologie per le misure e per i sistemi supporta tutti i Baud rate di default fino a 12 Mbit/s. Le di test insieme alla classica tecnologia di controllo tipica del dimensioni massime dell’immagine di processo dei dati di I/O mondo PLC, consente di raggiungeè di 8 kbyte ed è prevista re il concetto di soluzione PAC, oriun’alimentazione esterna del ginariamente nata come una pura modulo di 24Vc.c.. piattaforma d’automazione [1,2]. Il Vengono supportate entrambe le termine PAC, implementato dagli modalità operative PROFIBUS DP analisti di ARC Advisor Group, deriMaster e DP Slave e per l’utilizzo va da PLC (Programmable Logic come DP Master è possibile concontrol), dove la 'A' dell’acronimo nettere tutti i prodotti PROFIBUS PAC, sta per Automazione e si intenDP di mercato, mentre il funziode un ambiente liberamente pronamento come DP Slave permetgrammabile per applicazioni di te la connettività tra il mondo automazione basate su tecnologia PAC di National Instruments e i computer. Le piattaforme PAC inclusistemi PLC più utilizzati. dono diverse funzionalità di autoL'applicazione viene direttamenmazione, dalla logica di comando e te sviluppata nel sistema cRIO di al controllo motori e drive, alle National Instruments a livello di misure tecnologiche di processo Fpga o sul sistema integrato anche complesse. ll risultato di tutto LabVIEW RT. I driver del modulo questo consente di ottenere una cRIO PROFIBUS provvedono alla reale piattaforma multi-dominio. modalità di funzionamento sia Figura 1 - Modulo cRIO PROFIBUS DP Grazie all’ambiente integrato dei Master che Slave per mezzo di sistemi PAC è possibile infatti miniappropriate API e, a livello di mizzare i costi di sviluppo della propria applicazione e allo Fpga, sono necessari solamente pochi semplici comandi per stesso tempo implementare funzionalità di test e misure in avere accesso all'elaborazione del PROFIBUS e ai dati diauna sola piattaforma hardware. gnostici. A livello LabVIEW RT, grazie all’utilizzo del driver Visa di National Instruments, è possibile una rapida e semplice inteINTEGRAZIONE DEL PROFIBUS DP Con lo sviluppo del nuovo Modulo cRIO PROFIBUS DP della grazione del modulo cRIO PROFIBUS DP per ottenere appliCOMSOFT nato per essere integrato nel sistema cRIO di Na- cazioni basate su sistema LabVIEW real-time. tional Instruments, viene finalmente colmata una importante La corretta installazione del modulo può essere inoltre verifimancanza presente fino ad oggi nel mondo dei sistemi PAC. cata direttamente dagli strumenti software messi a disposiIl sistema cRIO offre la possibilità di coprire un’ampia gamma zione da National Instruments. TIPS & TECHNIQUES Per la modalità Master è disponibile un intuitivo tool completamente grafico (COMSOFT-Configurator II) che permette di creare facilmente un progetto basato sui file GSD dei dispositivi DP Slave da collegare. Il Configurator II permette anche la funzione di download della configurazione PROFIBUS sulla Flash del modulo cRIO PROFIBUS DP dove viene memorizzata in modalità fail-proof Memory. La configurazione può essere inoltre direttamente sviluppata e testata mediante la modalità on-line del Configurator II. AVVIAMENTO IMMEDIATO La confezione comprende dei VI standard per l’inizializzazione del PROFIBUS e l’accesso ai dati di I/O e di diagnostica per l’uso sia in modalità DP Master che DP Slave e possono essere integrate nelle applicazioni realizzate dai clienti. Il pacchetto software installa un proprio set di istruzioni PROFIBUS all’interno del menù operativo di LabVIEW nella sezione 'user libraries' e include tutti i componenti necessari ed esempi Vls per un semplice e rapido utilizzo. Ogni VI (Virtual Instrument) dispone di una propria sezione di Help che contiene dettagli PROFIBUS e codici errore. Le modalità DP Master e DP Slave possono essere selezionate utilizzando lo stesso modulo senza alcun tipo di modifica sia hardware che software del dispositivo. MODALITÀ DP MASTER La VI del DP Master provvede a inizializzare ed avviare il modulo in modalità DP Master sulla base della configurazione PROFIBUS memorizzata e fornisce un accesso diretto ai dati di input ed output e di diagnostica dei dispositivi Slave configurati. MODALITÀ DP SLAVE Per il funzionamento come DP Slave il modulo deve essere configurato attraverso il proprio file GSD nello specifico configuratore del DP Master utilizzato – per esempio un Simatic S7 attraverso il programma di configurazione 'HWKonfig'. La VI Slave DP permette quindi di inizializzare e avviare il modulo in modalità DP Slave dopo avere impostato i tre parametri PROFIBUS necessari alla comunicazione: indirizzo, velocità, e cfg-data. La VI del DP Slave fornisce inoltre un accesso diretto ai dati di input ed output del modulo e al loro stato di comunicazione. COMUNICAZIONE ETHERNET REAL-TIME CON PROFINET IO Le reti basate su Ethernet real-time rappresentano la tecnologia futura nel campo della comunicazione industriale e si diffonderanno sempre più anche nei sistemi PAC rispetto ai classici sistemi fieldbus. PROFINET IO è stato designato come successore del PROFIBUS DP e rappresenta l’evoluzione tec- nologica della comunicazione industriale che gioca oggi un ruolo sempre più importante in tutti i settori dell’automazione. PROFINET IO è in grado di integrare sistemi PROFIBUS DP senza la necessità di effettuare alcun cambiamento, mantenendo i dispositivi esistenti. Questo significa che gli investimenti fatti dai costruttori di macchine ed impianti e dagli utilizzatori finali vengono preservati. COMSOFT, come specialista dichiarato della tecnologia PROFIBUS e PROFINET sta tenendosi al passo con questi cambiamenti, sviluppando il modulo cRIO PROFINET IRT. CAMPI DI APPLICAZIONE Il campo di applicazione del cRIO basato sui sistemi PAC con PROFIBUS DP/PROFINET IO spazia dalle funzionalità di test, misure, controllo e visualizzazione al sistema di controllo realtime vero e proprio. Una tipica applicazione potrebbe essere, ad esempio, il test di assemblaggio automatico in una linea di produzione di apparecchiature PROFIBUS destinate all’industria di processo/automazione. In un ambiente classico di automazione un cRIO basato sull’architettura PAC System con PROFIBUS DP/PROFINET IO è in grado di replicare gli attuali controlli real-time basati su architetture PLC. Ad ogni modo, in combinazione con un PLC è anche possibile integrare un sistema PAC attraverso differenti modalità operative (DP Master o DP Slave). In questo caso, il sistema PAC opera come isola di automazione intelligente, che può integrare molteplici funzionalità, tra le quali ad esempio, test, monitoring, data-logger per un controllo di qualità in combinazione con un sistema di controllo di tipo PLC, per Simatic S7 CONCLUSIONI Grazie all’integrazione del modulo cRIO PROFIBUS DP della COMSOFT nella piattaforma di automazione cRIO della National Instruments, possiamo finalmente affermare di avere raggiunto il concetto dello standard aperto e multivendor tipico dei sistemi PAC, così da avere a disposizione, per la prima volta, una reale piattaforma multi-dominio aperta che può integrare differenti tecnologie di automazione, come misure e controllo allo stesso tempo al fine di ottenere una minimizzazione dei costi di sviluppo. BIBLIOGRAFIA: [1] S. Ahrends: PAC-Hybrid-Rechner vereinen Vorteile von PC und SPS-Architektur, A&D Kompendium 2005 [2] R. Jamal: PAC-System mit FPGA: Speed ist keine Hexerei, IEE 1&2, 2005 Note sugli autori Joachim Kurpat: COMSOFT GmbH, Germania Rahman Jamal: National Instruments GmbH, Germania Readerser vice.it n. 815 CONFIGURAZIONE SEMPLICE E RAPIDA 17 TIPS & TECHNIQUES Kur t Williams 08 UTILIZZARE NI COMPACTRIO SCAN MODE CON NI LABVIEW Il LabVIEW 8.6 Real-Time Module è dotato di nuove funzionalità per la programmazione dell’hardware CompactRIO in grado di ridurre il tempo di sviluppo e la complessità, nonché di fornire uno strumento per il monitoraggio e la manutenzione delle applicazioni CompactRIO I l CompacRIO è un controller per l’automazione programmable (PAC) ad elevate prestazioni che si contraddistingue per la presenza di un chip Fpga come elemento fondamentale della sua architettura. Ad alto livello, un Fpga è un chip in silicone riprogrammabile. Gli Fpga offrono le prestazioni e l'affidabilità dell’hardware custom mantenendo la flessibilità di un sistema programmabile. Generalmente, l’utilizzo di chip Fpga è stato una prerogativa di progettisti hardware esperti in Vhdl; nonostante ciò, LabVIEW consente di sfruttare i vantaggi della programmazione per Fpga senza bisogno di una tale esperienza. LabVIEW è un potente e intuitivo linguaggio di programmazione grafica che integra centinaia di funzioni di controllo, analisi, comunicazione e registrazione. Con LabVIEW è possibile interamente programmare il CompactRIO, come pure il chip Fpga, il processore real-time e la human machine interface (HMI). Utilizzando CompactRIO Scan Mode, la nuova funzione del modulo LabVIEW 8.6 Real-Time Module, è possibile accedere ad ogni modulo di I/O da LabVIEW FPGA, per ottenere la massima flessibilità e prestazioni, oppure direttamente da LabVIEW Real-Time e dalle applicazioni sviluppate sul PC host, senza dover procedere ad alcuna programmazione Fpga. Con CompactRIO Scan Mode si possono inoltre utilizzare pannelli di test e la funzionalità “I/O forcing” per consentire un avvio e un’esecuzione più rapida, un debugging avanzato e maggiori prestazioni del sistema di monitoraggio. RIDURRE IL TEMPO DI SVILUPPO E LA COMPLESSITÀ Tradizionalmente l’accesso agli I/O del CompactRIO avveniva tramite la programmazione Fpga e, solo successivamente, utilizzando i VI di interfaccia di LabVIEW FPGA, tramite LabVIEW Real-Time. CompactRIO Scan Mode rileva automaticamente i moduli di I/O e li aggiunge al LabVIEW Project. È possibile trascinare le variabili degli I/O sul Figura 1 - CompactRIO Scan Mode fornisce l'accesso agli I/O direttamente da LabVIEW Real-Time e dai VI sviluppate sul PC proprio diagramma a host senza bisogno di programmazione o compilazione Fpga blocchi del VI in 18 LabVIEW Real-Time e nel PC host in modo da leggere e scrivere istantaneamente i dati scalati e calibrati degli I/O, senza alcuna programmazione e compilazione Fpga (figura 2). Figura 2 - Accesso agli I/O direttamente tramite LabVIEW Real-Time trascinando le variabili degli I/O sul proprio diagramma a blocchi Un nuovo componenti di LabVIEW Real-Time chiamato NI Scan Engine, aggiorna i valori delle variabili di I/O alla frequenza specificata dall’utente (fino a 1 kHz). Tutte le scansioni dei canali sono temporizzati via hardware con sincronizzazione modulo-modulo. È possibile configurare lo scan engine dal LabVIEW Project oppure, in maniera programmatica, con un libreria di VI inclusa. Lo scan engine fornisce inoltre una sorgente di temporizzazione timed-loop, in modo da sincronizzare il codice con gli aggiornamenti degli I/O per applicazioni di controllo a jitter ridotto. È possibile creare alias delle variabili di I/O per fornire un ulteriore livello di astrazione dal canale fisico di I/O. Inoltre, la scala lineare è disponibile sulle variabili e alias di I/O. CompactRIO Scan Mode aggiunge, senza bisogno di programmazione, la funzionalità di contatore, encoder in quadratura e la funzionalità di modulazione di ampiezza di impulso (PWM) a qualsiasi modulo esistente della Serie C a 8 canali. L'utente può configurare queste funzionalità digitali esclusive dal LabVIEW Project, di fatto queste ultime eseguono sul chip Fpga per permettere una maggiore accuratezza e velocità. Senza la necessità di compilazione, è ora possibile effettuare misurare di edge counting, ampiezza degli impulsi e frequenza, fino a 1MHZ; nonché effettuare decoding in quadratura e controllo di PWM. TIPS & TECHNIQUES Caratteristiche specifiche del contatore • 1 MHz continuo su otto canali • Count register a 32 bit, con terminal count programmabile • Terminal count configurabile e monitoraggio del comportamento • Fronte di segnale configurabile (salita, discesa o entrambi), sorgente e gate • Misura di periodo, PWM e frequenza con timebase configurabile Caratteristiche specifiche dell’encoder in quadratura • Frequenza massima di 1 MHz • Count register a 32 bit • Registro della velocità di misura a 32-bit • Timebase della velocità di misura configurabile (256 μs, 512 μs, ... 16384 μs o 32768 μs) • Codifica X4 • Due canali a quadratura con input A+B+Index per modulo • Polarità dell’encoder selezionabile Caratteristiche specifiche del PWM • Otto canali di output • Configurazione per canale del duty-cycle e del periodo • Periodo di frequenza configurabile (1 Hz, 50 Hz, 250 Hz, 500 Hz, 1 kHz, 5 kHz, 10 kHz, o 20 kHz) SETUP, DEBUGGING E MONITORAGGIO IN MODO SEMPLICE connessione e l’integrità del segnale. Oltre ai pannelli di test, NI Distributed System Manager consente di monitorare l’utilizzo della memoria e il carico di lavoro per i controller CompactRIO. CompactRIO Scan Mode dispone della funzione di 'I/O forcing'; si tratta di uno strumento di debug in grado di sovrascrivere il valore di una variabile di I/O senza arrestare o modificare l’applicazione real-time. È possibile forzare gli input per testare la risposta della propria applicazione senza uno stimolo fisico, nonché forzare il valore di uscita dell’output. È possibile forzare i valori dei canali mediante NI Distributed System Manager o con i nuovi VI I/O forcing. LABVIEW FPGA E COMPACTRIO SCAN MODE Con LabVIEW 8.6 Real-Time Module è possibile accedere a ciascun modulo sia con CompactRIO Scan Mode che con LabVIEW FPGA. LabVIEW FPGA consente di implementare triggering personalizzato, analisi ed elaborazione dei segnali hardware-based, oppure streaming analogico ad elevata velocità. Per utilizzare i moduli di I/O in LabVIEW FPGA Mode, basta semplicemente trascinare il modulo sul target Fpga all'interno del LabVIEW Project disabilitando la funzione di scan mode. È così possibile utilizzare LabVIEW FPGA per programmare i moduli e utilizzare le variabili degli I/O per leggere e scrivere gli I/O sui restanti moduli (figura 4). NI Distributed System Manager, ulteriore nuova utility di LabVIEW 8.6, fornisce una postazione centralizzata per il monitoraggio di sistemi presenti sulla rete e la gestione dei dati pubblicati. Il nuovo sistema di gestione fornisce pannelli di test per i moduli del CompactRIO utilizzando il CompactRIO Scan Mode. Non appena il sistema è disponibile sulla rete, è possibile accedere ai valori real-time e allo storico dei trend degli I/O, in modo da verificare rapidamente la Figura 4 - Questo VI accede agli I/O con il CompactRIO Scan Mode mentre calcola la trasformata veloce di Fourier di un ingresso di accelerazione con LabVIEW FPGA Utilizzando LabVIEW FPGA Mode su uno o più moduli, la logica CompactRIO Scan Mode su Fpga, chiamata RIO Scan Interface (RSI), viene compilata con il VI di LabVIEW FPGA in una singola applicazione Fpga. Se nessun modulo è configurato per l'utilizzo dello scan mode, la RIO Scan Interface non viene inclusa nella compilazione. COMPACTRIO SCAN MODE DALL’INTERNO Figura 3 - Il nuovo NI Distributed System Manager consente di avviare ed eseguire rapidamente il controllo, aggiungendo pannelli di test al CompactRIO CompactRIO Scan Mode è potenziato da due tecnologie, la NI Scan Engine e la RIO Scan Interface. RIO Scan Interface è un insieme di Fpga Intellectual property (IP) sviluppato da National Instruments che viene scaricato sul CompactRIO FPGA ed è responsabile delle funzioni di riconoscimento, temporizzazione, sincronizzazione e comunicazione dei 19 TIPS & TECHNIQUES 08 Figura 5 - CompactRIO Scan Mode dall’interno L’accesso diretto agli I/O bypassa la mappa di memoria dello scan engine e comunica direttamente con il driver del dispositivo di I/O per eseguire operazioni di lettura e scrittura degli I/O in modalità blocking (figura 5). NI Scan Engine pubblica inoltre le variabili di I/O sulla rete, rendendole disponibili per operazioni di lettura e scrittura in applicazioni host, pannelli di test e I/O forcing. È lo scan engine, non il LabVIEW shared variable engine, a gestire la pubblicazione in rete delle variabili di I/O ed è possibile disabilitarlo dalla pagina delle proprietà delle variabili di I/O. Utilizzando LabVIEW FPGA con CompactRIO Scan Mode (alcuni moduli utilizzando CompactRIO Scan Mode, altri LabVIEW FPGA Mode), la RIO Scan Interface e il VI Fpga vengono compilati in un singolo bitstream e fatto il deploy sul chip Fpga. È possibile accedere ai moduli di I/O tramite LabVIEW FPGA Mode con i VI di interfaccia di Fpga in LabVIEW Real-Time e accedere ai moduli di /IO in scan mode utilizzando le variabili di I/O. Rimuovendo tutti i moduli dallo scan mode, la RIO Scan Interface non viene compilata nel bitstream. Utilizzando lo scan mode lo spazio occupato dalla RIO Scan Interface sull’Fpga diminuisce con il numero di moduli. 20 QUANDO BISOGNA UTILIZZARE COMPACTRIO SCAN MODE? CompactRIO Scan Mode è progettato per applicazioni che richiedono aggiornamenti di I/O sincroni a frequenze di 1kHz. È possibile utilizzare la speciale funzione digitale offerta dallo scan mode per convertire qualsiasi modulo esistente di I/O digitale a otto canali in un PWM avanzato, contatore, o modulo di encoder di quadratura. Grazie alla funzionalità di I/O forcing e al pannello di test del system manager, è possibile utilizzare lo scan mode per il setup iniziale, il monitoraggio delle prestazioni di sistema e la risoluzione avanzata dei problemi. Per applicazioni che richiedono elevate prestazioni, tipo trasmissione analogica a 1 MHz, loop di controllo PID a elevata velocità superiori a 1 kHz, analisi ed elaborazione di segnali custom via hardware, oppure moduli di I/O non supportati dallo scan mode, è possibile utilizzare LabVIEW FPGA Module con lo scan mode. È possibile inoltre snellire l’elaborazione dal controller real-time con il modulo LabVIEW FPGA Module. Lo scan mode viene supportato dai controller con sistema operativo real time (Rtos) VxWorks dotati di chip Fpga da almeno 2M gate, a causa dei requisiti di spazio del RSI Fpga. I controller supportati sono NI 9012, NI 9014, NI 9073 e NI 9074. I backplane supportati includono NI 9103, NI 9104, NI 9073 e NI 9074. L’utilizzo di CompactRIO Scan Mode porta a delle scelte di compromesso in termini di prestazioni. La speciale funzione digitale, ad esempio, è in grado di supportare contatori fino a 1MHz a differenza dei contatori a 20 MHz di LabVIEW FPGA. Lo scan engine utilizza risorse di sistema che includono lo spazio Fpga, due canali DMA, memoria e una quantità di tempo della CPU che scala in proporzione alla frequenza di scan. Utilizzando lo scan mode, lo spazio occupato dalla RIO Scan Interface sull’Fpga diminuisce con il numero di moduli. CONCLUSIONE LabVIEW 8.6 Real-Time Module aggiunge un insieme di potenti funzioni progettate per ridurre il tempo di sviluppo e la complessità di CompactRIO. Grazie a CompactRIO Scan Mode è possibile accedere agli I/O da LabVIEW Real-Time e da applicazioni host senza bisogno di programmazione Fpga pur mantenendo la possibilità di programmare direttamente il chip Fpga per requisiti più specifici. Con NI Distributed System Manager e l’ I/O forcing è possibile disporre di maggiori pannelli di test e funzioni avanzate di debugging sul CompactRIO, semplificando il monitoraggio e la manutenzione di applicazioni CompactRIO. Note sull’autore Kurt Williams è Product Manager di LabVIEW Real-Time in National Instruments. Si è laureato in Ingegneria Elettronica all'Università del Texas di Austin. Readerser vice.it n. 813 moduli di I/O. RIO Scan Interface esegue uno scan loop temporizzato via hardware che aggiorna i valori fisici degli I/O. Due canali DMA vengono utilizzati per trasmettere i dati degli I/O tra Fpga e il sistema operativo real-time. Questa speciale funzionalità digitale predefinita fa parte della RIO Scan Interface. Per maggiori informazioni sulla RIO Scan Interface, ai rimanda alla sezione Risorse Correlate, in basso. NI Scan Engine è un nuovo componente di LabVIEW Real-Time che esegue ad una priorità configurabile che va oltre il time critical o tra il time critical e le strutture temporizzate. Ogni qualvolta la RIO Scan Interface termina l’ultima scansione degli I/O, LabVIEW aggiunge le variabili degli I/O ad una mappa di memoria globale dello scan engine e contemporaneamente aggiorna i valori di tutti gli I/O. Tuttavia, è possibile configurare ciascun nodo delle variabile di I/O per utilizzare sia l’accesso tramite scanner che diretto. Di default, LabVIEW configura i nodi delle variabili di I/O per l’utilizzo di I/O scanned che impiegano la mappa di memoria dello scan engine per eseguire operazioni di lettura e scrittura di I/O in modalità non-blocking (vedi figura 5). Oltre15.000 lettori per l’edizione on line di www.ilb2b.it 498/LUGLIO-AGOSTO 2008 Quindicinale di notizie e commenti per l’industria elettronica all’interno IC DIGITALI: 2007 SOTTOTONO, SI SPERA IN UN 2008 MIGLIORE a pagina 8 SOFTWARE EMBEDDED: ROBERTO FIORIN, field marketing engineer di Freescale LARGO ALL’OPEN SOURCE Semiconductor a pagina 10 PARLIAMO DI MEMS pagina 20 E INOLTRE... LA PAROLA ALLE AZIENDE SU: PC INDUSTRIALI a pagina 20 HI TECH & FINANZA a pagina 4 NEWS a pagina 32 EONews L’Europa spinge sulla neuroelettronica Progettazione di chip Dai nanodispositivi alla neuroelettronica passando per le memorie ad alta densità. Sono questi gli obiettivi dei tre nuovi progetti europei che vedranno in primo piano anche il lavoro dei ricercatori italiani. Frutto della collaborazione internazionale con enti di ricerca e partner industriali, i progetti, battezzati Afsid (Atomic Functionalities on Silicon Devices), CyberRat (A Brain-Chip Interface for High-resolution Bi-directional Communication) e Gossamer (Gigascale Oriented Solid State flAsh Memory for EuRope), saranno finanziati dall’Unione Europea nell’ambito del VII programma quadro. A prendere parte agli ambiziosi obiettivi europei sono gli scienziati dell’Mdm, il laboratorio italiano dei Materiali e dispositivi per la microelettronica dell’Infm-Cnr, di Agrate Brianza. Per i tre progetti in fase di avvio, il laboratorio Mdm otterrà un contributo di circa 800.000 euro. Per il progetto Gossamer i ricercatori del Laboratorio Mdm svilupperanno memorie in grado di immagazzinare migliaia di miliardi di dati da impiegare in telefoni cellulari, videocamere digitali, localizzatori Gps, lettori musicali Mp3, computer. Dispositivi logici e di memoria innovativi saranno invece il nucleo del progetto Afsid. In collaborazione con azien- Marvell, azienda che sviluppa soluzioni consu- de e centri di ricerca europei e australiani, i ri- MARCO FANCIULLI, cercatori del Laboratorio laboratorio Mdm Mdm contribuiranno al- dell’Infm-Cnr la realizzazione e allo studio delle proprietà di nanodispositivi elettronici e spintronici il cui funzionamento dipende da una singola impurezza, un atomo inserito in una matrice di silicio ma appartenente a un diverso elemento chimico. Lo studio dei meccanismi di comunicazione dal chip al neurone e viceversa sarà invece l’obiettivo del progetto CyberRat. In questo progetto sono coinvolti prestigiosi centri di ricerca italiani ed esteri e il laboratorio Mdm vi contribuirà sviluppando il dispositivo a semiconduttore da utilizzare per l’interazione con il neurone. “Tanto la ricerca di base quanto le potenziali applicazioni a livello industriale saranno prese in esame dai tre progetti europei. Non dobbiamo dimenticare che tra i partner ci sono sia enti di ricerca sia aziende e potremo così far crescere in ambito internazionale un prezioso patrimonio di conoscenze” afferma Marco Fanciulli, direttore del laboratorio Mdm dell’Infm-Cnr. readerservice.it - Lab. Naz. MDM,CNR-INFM n. 01 RS Components distribuisce Agilent NRS Components ha annunciato l’intro- duzione delle soluzioni Agilent nell’ambito del portfolio di soluzioni per ‘Test e Misura’. La nuova gamma Agilent permette ai clienti di accedere a un’offerta ancora più ampia di soluzioni innovative, ideali per effettuare test e misurazioni con la massima precisione. “Siamo onorati di lavorare con Agilent, marchio rinomato in tutto il mondo per l’offerta altamente specializzata e per l’elevata affidabilità dei suoi strumenti di misura, il tutto a un prezzo molto competitivo. I clienti che acquistano prodotti di elettronica sono costantemente alla ricerca di un fornitore che sia in grado di offrire un’ampia gamma di marchi leader nel settore del test e misura. Oggi la partnership tra RS e Agilent soddisfa tutti questi requisiti” sottolinea Ermanno Maffè, amministratore dele - ERMANNO MAFFÈ, gato RS Components RS Components Italia. Alessandro Pino, responsabile vendite EMEA di Agilent Technologies, ha commentato: “La capacità di RS Components di andare oltre i confini geografici ALESSANDRO PINO, e di settore garantendo Agilent Technologies sempre il miglior livello di servizio possibile è oggi potenziata dall’ampiezza del portafoglio Agilent che da sempre si impegna a fornire soluzioni di alta qualità”. La gamma Agilent ‘Test e Misura’ è già disponibile online, all’indirizzo rswww.it. readerservice.it - RS Comp. n. 02; Agilent n.78 mer in silicio e prodotti per la memorizzazione e la comunicazione, ha annunciato l’apertura ufficiale del suo nuovo centro di progettazione a Pavia. “I motivi che hanno condotto Marvell a scegliere Pavia sono stati innanzitutto la presenza dell’Università e di una forte tradizione nel campo dei dispositivi analogici a semiconduttore” ha dichiarato Sehat Sutardja, CEO di Marvell U.S., osservando che “l’Università di Pavia è una delle migliori al mondo nella progettazione di questo tipo di dispositivi”. Anche SEHAT SUTARDJA, Arturo Krueger, membro Marvell U.S. del consiglio d’amministrazione, ha affermato: “La nostra azienda persegue l’eccellenza nell’innovazione tecnologica e nel design e ha sempre attinto al mondo accademico per il forte brain power di cui è dotato”. In particolare Francesco Rezzi, direttore di Marvell Italia, ha evidenziato come “la presenza degli uffici Marvell a Pavia a due passi dalla facoltà di ingegneria vuole dare una misura delle potenzialità di sviluppo economico da essa derivante all’interno del territorio pavese”. La soddisfazione per l’apertura del neonato Centro di Progettazione era evidente anche tra le personalità accademiche presenti, a partire dal professor Rinaldo Castello, docente di microelettronica presso il Dipartimento di Ingegneria nonché amico di Sehat Sutardja fin dagli anni universitari: “Già ai tempi di Berkley speravamo di poter lavorare insieme e tutto questo si concretizza con l’apertura proprio a Pavia del Centro di Progettazione Marvell, una realtà in crescita e nota per lo spirito innovativo”. Il Magnifico Rettore Angiolino Stella ha augurato “il successo all’iniziativa voluta da Marvell auspicando di poter continuare insieme quella ricerca continua dell’eccellenza che ha sempre caratterizzato l’Università di Pavia e l’azienda”. readerservice.it - Marvell n. 03 Cari lettori, inviate le vostre opinioni, commenti e proposte di collaborazione. Antonella Cattaneo [email protected] [email protected] E' attivo il servizio di readerservice all'indirizzo: www.readerservice.it Evoluzione Digitale Unico quindicinale italiano di informazione e analisi dei mercati dell’elettronica ad essere spedito anche in formato digitale ad una lista di diffusione elettronica oltre la soglia di 15.000 nominativi. Ad essi, si affianca la tradizionale spedizione postale a oltre 11.000 lettori, rendendo EONews, di fatto l’unica rivista italiana del settore a vantare una doppia e così capillare diffusione. Tastiere standard | Tastiere custom | Accessori readerservice.it n.21625 Via Quattro Passi, 96 - Formigine (MO) Italy Tel. +39 059 571360 - www.grafos.it readerservice.it n.21632 readerservice.it n.19188 In caso di mancata consegna restituire all’editore che si impegna a pagare la relativa tassa presso il CMP di Roserio - Milano Per maggiori informazioni: [email protected] tel. 02 366 092 523 D A L L A T E O R I A A L L A P R AT I C A 08 M. Giudici UN MODELLO MATEMATICO PER IL 'NUOVO PENDOLINO' È stato sviluppato un Sistema Test-bench con LabVIEW Simulation Inter face Toolkit per il conver titore ausiliario del 'Nuovo Pendolino' L o scopo del progetto descritto nell'articolo era la creazione del modello matematico del convertitore ausiliario (chopper più inverter) del 'Nuovo Pendolino' attraverso hardware e software National Instruments, chiudendo l’anello hardware con il regolatore ausiliario (hardware e software prodotti da Alstom) per garantire il funzionamento reale del sistema. Un primo obiettivo era quello della validazione del software del convertitore ausiliario e della realizzazione di test automatici di non regressione. Per la descrizione del software di test e del modello fisico del convertitore si è voluto 22 utilizzare lo stesso tool di sviluppo del codice applicativo del regolatore ausiliario, Matlab-Simulink. Il nuovo Simulation Interface Toolkit (SIT) di National Instruments veniva incontro alle esigenze di Alstom Ferroviaria di creare automaticamente un codice real-time dedicato a una scheda PXI di National Instruments su processore embedded partendo da un applicativo Simulink. Infatti, dal modello Simulink viene generata automaticamente la DLL incapsulata nel codice LabVIEW Real-Time creato per l’embedded controller. In questo modo è possibile associare direttamente alle variabili del modello Simulink D A L L A T E O R I A A L L A P R AT I C A tori di carico, che collegano l’uscita del convertitore ausiliario a diversi carichi e a deviatori che configurano l’ausiliario secondo differenti tipi di linea. Infatti, il sistema ausiliario è compatibile sia per le reti tradizionali a 3 kV che per le linee ad alta velocità a 25 kV. La difficoltà di testare il software di regolazione andando direttamente sulla macchina in potenza, ha spinto Alstom Ferroviaria a creare un sistema che simulasse in tempo reale il comportaFigura 1 - Il sistema ad anello chiuso (hardware in the loop, HIL) realizzato per il simulatore mento della macchina in di un conver titore ausiliario di treno modo da riuscire a realizzare 'a banco' il sistema in anello le variabili di controllo di un VI LabVIEW, controllando così, chiuso senza il bisogno di avere a disposizione l’alta tensioattraverso il sistema real-time NI, sia segnali analogici che ne e tutte le componenti del blocco ausiliario. Il sistema ad anello chiuso è costituito dalla scheda del segnali digitali. regolatore ausiliario (Alstom Transport), dove risiede il software che deve essere testato e da un sistema a cestello UN SISTEMA AD ANELLO CHIUSO In particolare, è stato realizzato un sistema ad anello chiuso National Instruments PXI-1042 costituito da un controller (hardware in the loop, HIL) per il simulatore di un convertitore embedded PXI-8195, una scheda Fpga PXI-7833R, un ausiliario di treno. Il convertitore ausiliario è l’impianto del tre- embedded controller PXI-8195 e due schede DAQ di geneno che fornisce la tensione trifase per alimentare carichi quali razione di segnali analogici (PXI-6713). Inoltre, un PC comil condizionamento, le luci interne ed esterne, le pompe e i compressori per il raffreddamento di aria e di acqua e i compressori per assetto cassa. L’alta tensione arriva al sistema ausiliario dal convertitore di trazione con un valore prossimo a 3000Vc.c.; lo stadio chopper abbassa questo valore ad una tensione 'DC-LINK' di 650 V che l’inverter (composto da ponti a Igbt) trasforma in una tensione alternata trifase. I comandi digitali sono principalmente legati a sezionatori di linea, che escludono il gruppo ausiliario dalla tensione di Figura 2 - Schema del sistema di acquisizione e simulazione alimentazione, a seziona- 23 D A L L A T E O R I A A L L A P R AT I C A 08 merciale, basato su processore Pentium 4 con sistema operativo Windows XP, è utilizzato sia come interfaccia per il sistema PXI National Instruments (via TCP/IP), sia per il controllore del modulo ausiliario (via RS-232). Il regolatore del convertitore ausiliario prevede 18 ingressi analogici; alcuni di questi segnali sono segnali in corrente e per questo è stato necessario adattare tramite interfaccia hardware i segnali di uscita della scheda PXI-6713 con la scheda del regolatore ausiliario. Le uscite delle schede analogiche PXI-6713 e della scheda Fpga hanno un’uscita in corrente insufficiente a pilotare gli ingressi del regolatore ausiliario, per questo motivo sono stati inseriti tra le uscite analogiche del sistema PXI e gli ingressi analogici del regolatore ausiliario alcuni buffer di corrente. Dei 18 segnali analogici, sedici sono generati dalle due schede DAQ e due vengono generati dalla scheda Fpga PXI-7833R. Gli ingressi e le uscite digitali vengono gestiti interamente dalla scheda Fpga. dente l’interfacciamento dell’embedded controller sia con la scheda DAQ che con la scheda Fpga. Il vantaggio che deriva dall’utilizzo di questo tool è quello di generare i segnali per le schede DAQ e Fpga direttamente dal modello Simulink senza il bisogno di creare un’applicazione LabVIEW che istanzi componenti per l’inizializzazione, la scrittura e la lettura di canali per le schede di acquisizione; è lo stesso tool SIT che genera in automatico questi blocchi driver per le schede di acquisizione analogico/digitale. A livello di codice LabVIEW attraverso il Simulation Interface Toolkit, associa agli ingressi e alle uscite fisiche delle schede le variabili del codice Simulink per mezzo di una tabella Alcuni segnali analogici che vengono simulati sono elencati di seguito: • Tensione di linea • Correnti in uscita all’inverter trifase • Tensioni in uscita all’inverter • Temperature del convertitore e della scheda • Tensione di uscita del chopper • Corrente di uscita del chopper I segnali digitali simulati sono principalmente comandi di sezionatori o deviatori, e letFigura 3 - Il pannello di inter faccia del sistema di simulazione tura dei relativi stati. La scelta di una scheda di acquisizione per segnali 'veloci' come l’Fpga è stata fatta a causa della lettura dei segnali PWM; di mappatura; è quindi possibile, ad esempio, associare ad infatti nel convertitore ausiliario la generazione della ten- un’ampiezza di sinusoide di un blocco Simulink una manosione 380V trifase avviene tramite un inverter a Igbt con- pola ('knob') di un VI LabVIEW e variarne così l’ampiezza in trollato tramite la modulazione del 'duty cycle' di un'onda tempo reale; basterà poi associare nel menù SIT la DLL creaPWM. La scheda Fpga, oltre alla gestione dei segnali sopra ta automaticamente con la generazione di codice Simulink descritti, acquisisce le onde PWM e ne calcola l’esatto duty inserendo il blocco 'Signal Probe', creato da National cycle. Il codice per il calcolo del duty cycle è scritto con il tool Instruments, nel codice Simulink, che serve per creare la DLL LabVIEW FPGA, mentre la gestione degli altri ingressi e in fase di generazione di codice. uscite digitali è generata automaticamente con il Grazie a questo sistema si è potuto validare il codice appli'Simulation Interface Toolkit'. E’ possibile con questo tool cativo del convertitore ausiliario senza la necessità della mappare le variabili di controllo del modello Simulink con le macchina reale, risparmiando così i tempi e i costi, come il costo in tempo e materiale per il solo allestimento di una uscite della scheda DAQ o della scheda Fpga. Inizialmente, con la prima release del 'SIT', non era possibi- sala prove per l’alta tensione. le associare simultaneamente le variabili del modello alle uscite DAQ e ai segnali della scheda Fpga, così sono state create due applicazioni SIT, una dedicata al comando delle Note sull’autore schede PXI-6713 e una dedicata ai segnali gestiti dalla M. Giudici, Alstom Ferroviaria Fpga. Queste due applicazioni create separatamente con SIT sono state integrate in un’unica applicazione compren- 24 Readerser vice.it n. 818 GESTIONE DEI SEGNALI D A L L A T E O R I A A L L A P R AT I C A 08 LabVIEW monitorizza accuratamente le condizioni dell’infrastruttura elettrica dell’Eurotunnel L 'Eurotunnel è formato da gallerie parallele lunghe 50 km che uniscono il comune britannico di Cheriton nel Kent a quello francese di Coquelles, vicino a Calais passando sotto il fondo del Canale della Manica. Si tratta del tunnel ferroviario sottomarino più lungo del mondo. Eurotunnel, la società da cui prende il nome, che gestisce il tunnel dal 1994, ha ottenuto la concessione da parte dei governi britannico e francese fino al 2086. EFFETTUARE MISURE SENZA INTERROMPERE IL SERVIZIO Figura 1 - LabVIEW e Vision sono stati utilizzati per misurare il livello di usura e l’eventuale danneggiamento di oltre 100 km di cavi elettrici all’interno dell'Eurotunnel Solo nel 2004, hanno viaggiato attraverso il tunnel più di 16 milioni di passeggeri ferroviari. In particolare, era necessario un metodo per monitorare l’usura dei contatti elettrici nei 100 km di cavi e nello stesso tempo determinarne la posizione, l’altezza e la larghezza all'interno del tunnel senza interferire con il traffico ferroviario. La sfida è stata affrontata e risolta grazie all'utilizzo di LabVIEW, Vision Development Module, e NI CVS-1454 Compact Vision System assieme a una telecamera ad alta velocità Ieee 1394 (FireWire). Grazie alla combinazione di LabVIEW, Vision Development Module e Compact Vision System è stato possibile realizzare un sistema embedded di elaborazione immagini in grado di effettuare operazioni di misura ottica in modo rapido e accurato senza interferire con il servizio. ACQUISIZIONE DELLE IMMAGINI Il cavo di contatto viene illuminato da un lampada ad alogenuro metallico ad alta luminosità per far sì che le parti usurate brillino su uno sfondo scuro. Le immagini vengono acquisite da una telecamera a scansione bidimensionale dotata di sensore Cmos monocromatico con un uscita Ieee 1394 in grado di acquisire fino a 500 fotogrammi al secondo ad una risoluzione di 640x100 pixel. I fotogrammi vengono in seguito acquisiti dal Compact Vision System CVS-1454 che li elabora tramite le funzioni di Vision Development Module. In questo modo è possibile stabilire l'ampiezza dell'area usurata effettuando una sogliatura del cavo di contatto nel fotogramma. I 640 mm di ampiezza dell’angolo visuale (field of view – FOV) ricoprono il livello massimo di offset del cavo e mentre i 100 mm di altezza del FOV sono in grado di rilevare l’usura complessiva del cavo. È possibile misurare l’ampiezza e la posizione del cavo 100 volte al secondo; i dati vengono memorizzati su un PC di monitoraggio ogni 50 millimetri. Al fine di evitare leggeri gradi di variazione, il livello di sogliatura viene adeguato alla funzione della posizione del cavo presente nell'immagine. Una delle sfide più problematiche riguardava lo sviluppo di un sistema di visione da installare e configurare in breve tempo tra i binari all'interno del tunnel. Grazie a LabVIEW e a NI Vision Development Module, gli ingegneri hanno sviluppato e testato il software di elaborazione su una piattaforma PC basata su Windows utilizzando una libreria di immagini precedentemente acquisite nel tunnel. Lo stesso codice è stato trasferito facilmente al Compact Vision System. LabVIEW e Vision Development Module hanno inoltre consentito di aggiornare facilmente il software di elaborazione immagini su Compact Vision System. Ad esempio, aggiungere la registrazione di immagini per rilevare particolari difetti o anomalie sui cavi è stato immediato. Inoltre l’approccio modulare di hardware e software apre uno futuro spiraglio nell'applicazione di ulteriori Compact Vision System al fine di effettuare misure o ispezioni su altri elementi dell’infrastruttura, come piccole falle o la geometria dei binari. La società Eurotunnel esegue regolarmente operazioni di manutenzione per garantire la sicurezza del flusso ferroviario. Grazie a questo sistema gli ingegneri sono in grado di misurare in modo semplice ed efficace la posizione e l’usura dei cavi, di rilevare e riparare qualsiasi spostamento anomalo o danno che potrebbe comprometterli. Note sugli autori Gerard Delacre, Eurotunnel; Veronique Newland, New Vision Technologies Inc. Readerser vice.it n. 819 Gerard Delacre, Veronique Newland 100 KM DI CAVI SOTTO CONTROLLO 25 SCUOLA DI LABVIEW 08 Training per principianti a cura di Matteo Foini PROGETTARE L’INTERFACCIA UTENTE I pannelli frontali devono essere bene organizzati e facili da utilizzare, perché il pannello frontale è la prima cosa che gli utenti vendono quando lavorano con un VI Q uando progettate un pannello frontale, tenete presenti due tipi di utenti: l'utente finale e lo sviluppatore. Gli utenti finali lavorano con VI il cui pannello frontale sarà visibile a loro, trattandosi dell’intefraccia utente. Gli sviluppatori lavorano invece con subVI, che hanno pannelli frontali visibili solo agli stessi sviluppatori. ARGOMENTI A. Elementi di progettazione dell'interfaccia utente B. Elementi di layout dell'interfaccia utente C. Prototipazione del pannello frontale D. Esempio di interfaccia utente E. Localizzazione delle interfacce utente A. ELEMENTI DI PROGETTAZIONE DELL'INTERFACCIA UTENTE Quando dovete progettare il pannello frontale per un'interfaccia utente, scegliete attentamente font, colori e grafica in modo da rendere l'interfaccia utente più intuitiva e facile da usare. Caratteristiche di font e testo Limitate il VI a tre font standard (applicazione, sistema e dialogo), a meno che abbiate una ragione specifica per usare un font differente. Per esempio, i font monospazio, ossia i font spaziati in modo proporzionale, sono utili per controlli stringa ed indicatori dove il numero di caratteri è critico. Per maggiori informazioni sull'impostazione del font di default, l'uso di font custom e la modifica dello stile dei font, consultate il LabVIEW Help. Il font effettivo utilizzato per i tre font standard (applicazione, sistema e dialogo) varia in base alla piattaforma. Per esempio, quando si lavora su Windows, le preferenze e le impostazioni del driver video influiscono sulle dimensioni dei font. Il testo può apparire più grande o più piccolo su sistemi differenti, in base a questi fattori. Per compensare questo effetto, lasciate spazio in più per font più grandi e abilitate l'opzione Size to Text nel menu abbreviato. Lasciate spazio addizionale fra i controlli per evitare che le etichette si sovrappongano agli oggetti a causa dei cambiamenti di font su piattaforme multiple. Per esempio, se un'etichetta sta a sinistra di un oggetto, giustificate l'etichetta a destra e lasciate un po' di spazio a sini- 26 stra del testo. Se centrate un'etichetta sopra o sotto un oggetto, centrate anche il testo dell'etichetta. I font sono l'aspetto meno portabile del pannello frontale, quindi testateli sempre su tutte le piattaforme target. Colori I colori possono distrarre l'utente da informazioni importanti. Per esempio, uno sfondo giallo, verde o arancione chiaro rende difficile vedere una luce di pericolo rossa. Un altro problema è che alcune piattaforme non hanno a disposizione così tanti colori. Usate un numero minimo di colori, enfatizzando nero, bianco e grigio. Ecco alcune semplici linee guida per l'uso dei colori: • Non usate mai il colore come unico indicatore dello stato di un dispositivo. Le persone con qualche grado di daltonicità possono avere problemi a rilevare il cambiamento. Inoltre, grafici e schemi multitraccia possono perdere significato quando sono visualizzati in bianco e nero. Oltre al colore, usate linee diverse per distinguere i vari stili di plottatura. • Considerate la possibilità di colorare lo sfondo e gli oggetti del pannello frontale dei VI dell'interfaccia utente con i colori di sistema presenti nella tavolozza. I colori di sistema adattano l'aspetto del pannello frontale ai colori di sistema di qualsiasi computer che esegue il VI. • Per gli sfondi usate il grigio chiaro, il bianco o colori pastello. La prima riga di colori nella tavolozza di colori contiene colori meno violenti, adatti per gli sfondi e i normali controlli del pannello frontale. La seconda riga di colori nella tavolozza di colori contiene colori più luminosi, che potete usare per evidenziare controlli importanti. Selezionate colori luminosi di evidenziazione solo quando l'elemento è importante, come la notifica di un errore. • Controllate sempre la coerenza del VI su altre piattaforme. La parte superiore della tavolozza di colori contiene uno spettro della scala di grigi e un box che potete usare per creare oggetti trasparenti. Il secondo spettro contiene colori tenui che sono molto adatti per sfondi e oggetti del pannello frontale. Il terzo spettro contiene colori adatti a evidenziazioni. La figura 1 mostra la tavolozza dei colori in LabVIEW. SCUOLA DI LABVIEW Objects e Reorder Objects per creare un layout uniforme. Considerate l'uso dei seguenti tool e tecniche per migliorare il layout dei pannelli frontali dell'interfaccia utente. Menu run-time Usate i menu per ridurre accumuli e confusione. Potete creare menu custom per ogni VI che costruite e potete configurare i VI in modo da visualizzare o nascondere le barre dei menu. Nota I menu custom appaiono solo quando il VI viene eseguito. Potete costruire menu custom o modificare i menu di default di LabVIEW staticamente, quando editate il VI, o da programma, quando eseguite il VI. Figura 1 - Tavolozza dei colori Tenete presente queste cose quando dovete progettare un pannello frontale. Per la maggior parte degli oggetti, usate colori neutri che variano principalmente in luminosità. Usate con parsimonia i colori evidenti per oggetti come grafici, aghi di strumenti, loghi aziendali e così via. Grafica Usate grafica importata per migliorare il pannello frontale. Potete importare bitmap, PICT Macintosh, Windows Enhanced Metafiles e oggetti testuali da usare come sfondi del pannello frontale, elementi da inserire nei picture ring e parti di controlli e indicatori custom. Controllate l'aspetto delle immagini importate quando caricate il VI su un’altra piattaforma. Per esempio, un file PICT Macintosh con una forma irregolare potrebbe essere convertito in un bitmap rettangolare con sfondo bianco su Windows o Linux. Uno svantaggio dell'uso di grafica importata è che rallenta gli aggiornamenti dello schermo. Accertatevi di non porre indicatori e controlli sopra un oggetto grafico, per evitare che LabVIEW debba ridisegnare l'oggetto ogni volta che l'indicatore si aggiorna. Se dovete utilizzare una grossa immagine di sfondo su cui vi sono dei controlli, dividete l'immagine in diversi oggetti più piccoli e importateli separatamente, perché la grafica di grandi dimensioni normalmente richiede più tempo per essere disegnata. B. ELEMENTI DI LAYOUT DELL'INTERFACCIA UTENTE Considerate la disposizione dei controlli sui pannelli frontali. Mantenete semplici i pannelli frontali per evitare di confondere l'utente. Per esempio, potete usare dei menu per ridurre concentrazioni eccessive. Per i VI di livello superiore visibili agli utenti, disponete i controlli più importanti in posizione prominente. Per i pannelli frontali dei subVI, disponete i controlli e gli indicatori in modo che corrispondano alla disposizione sul pannello dei connettori. Tenete gli ingressi a sinistra e le uscite a destra ogni volta che è possibile per minimizzare la confusione da parte dell'utente. Usate i menu a tendina Align Objects, Distribute Menu statici Per aggiungere una barra menu custom ad un VI al posto della barra menu di default, selezionate Edit»Run-Time Menu e create un menu nell'area di dialogo Menu Editor. LabVIEW crea un file menu di run-time (.rtm). Dopo avere creato e salvato il file .rtm, dovete mantenere lo stesso percorso relativo fra il VI e il file .rtm. Potete anche creare un menu abbreviato custom di run-time cliccando con il tasto destro su un controllo e selezionando Advanced»RunTime Shortcut Menu»Edit. Questa opzione apre Shortcut Menu Editor. Quando il VI viene eseguito, esso carica il menu dal file .rtm. Gli elementi dei menu possono essere dei tre tipi seguenti: • Elemento utente – Vi permette di inserire nuovi elementi che devono essere gestiti da programma sullo schema a blocchi. Un elemento utente ha un nome, che è la stringa che appare sul menu, e un tag, che è un identificatore stringa unico, non sensibile alle maiuscole/minuscole. Il tag identifica l'elemento utente sullo schema a blocchi. Quando digitate un nome, LabVIEW lo copia sul tag. Potete editare il tag in modo che sia diverso dal nome. Affinché un elemento di menu sia valido, il suo tag deve avere un valore. Il box di testo Item Tag visualizza punti interrogativi per gli elementi di menu non validi. LabVIEW assicura che il tag sia unico in una gerarchia di menu e appende numeri quando è necessario. • Separatore – Inserisce una linea di separazione sul menu. Non potete impostare alcun attributo per questo elemento. • Elemento applicazione – Vi permette di selezionare elementi del menu di default. Per inserire un elemento del menu, selezionate Application Item e seguite la gerarchia fino all'elemento che volete aggiungere. Potete aggiungere singoli elementi o interi sottomenu. LabVIEW gestisce automaticamente gli elementi applicazione. I tag di questi elementi non appaiono negli schemi a blocchi. Non potete alterare il nome, il tag o altre proprietà di un elemento applicazione. LabVIEW riserva il prefisso APP_ ai tag degli elementi applicazione. Per aggiungere altri elementi al menu custom, cliccate il 27 SCUOLA DI LABVIEW 08 pulsante + blu sulla toolbar. Per cancellare elementi, cliccate il pulsante X rosso. Potete riorganizzare la gerarchia del menu cliccando i pulsanti freccia nella toolbar, usando le opzioni di manipolazione nel menu Edit o con operazioni di drag and drop. Decorazioni Usate le decorazioni, come Raised Box o Horizontal Smooth Box, per raggruppare visivamente oggetti con funzioni correlate. Tab Control Usate i Tab Control per sovrapporre i controlli e gli indicatori del pannello frontale in un'area più piccola. Un Tab Control consiste di pagine e tab di selezione. Gestione della selezione menu Disponete gli oggetti del pannello frontaPer gestire le selezioni del menu, le su ogni pagina del controllo e usate i usate le funzioni situate nella riga diversi tab come selettori per visualizzare superiore della palette Menu. pagine differenti. Quando create un menu custom, I Tab Control sono utili quando avete più dovete assegnare a ciascun elemenoggetti del pannello frontale che vengoto del menu un identificatore stringa Figura 2 - Uso delle decorazioni no usati insieme o durante una fase opeunico, non sensibile a minuscoper raggruppare visivamente oggetti rativa specifica. Per esempio, potreste le/maiuscole, chiamato tag. Quando l'utente seleziona un elemento del menu, potete recuperar- avere un VI che richiede all'utente di configurare inizialmenne il tag da programma usando la funzione Get Menu te diverse impostazioni prima che possa iniziare un test, perSelection. LabVIEW mette a disposizione un handler sullo mettendo quindi all'utente di modificare aspetti del test schema a blocchi per ogni elemento del menu basato sul mano a mano che esso procede e, infine, permetta all'utenvalore del tag di ogni elemento del menu. Tale handler è te di visualizzare e memorizzare solo i dati pertinenti. una combinazione di While Loop e struttura Case che vi per- Sullo schema a blocchi, il Tab Control è un controllo enumette di determinare quale menu è eventualmente selezio- merated type per default. I terminali di controlli e indicatori nato e di eseguire il codice appropriato. posti sul Tab Control hanno l'aspetto di qualsiasi altro terDopo avere costruito un menu custom, costruite una strut- minale dello schema a blocchi. tura Case sullo schema a blocchi che esegue, o gestisce, cia- L'NI Example Finder, mostrato nella figura 3, è un VI che utiscun elemento nel menu custom. Questo processo si chia- lizza Tab Control per organizzare l'interfaccia utente. ma gestione della selezione del menu. LabVIEW gestisce implicitamente tutti gli elementi applicazione. Controlli Subpanel Usate le funzioni Get Menu Selection ed Enable Menu Utilizzate il controllo Subpanel per visualizzare il pannello Tracking per definire le azioni da eseguire quando gli uten- frontale di un altro VI sul pannello frontale del VI corrente. ti selezionano ciascun elemento del menu. Per esempio, potete usare un Subpanel per progettare un'interfaccia utente che si comporta come un wizard. Menu abbreviati di run-time Mettete i pulsanti Back e Next sul pannello frontale del VI Potete customizzare il menu abbreviato di run-time per ogni di livello superiore e usate un Subpanel per caricare pannelli controllo che includete in un VI. Per customizzare un menu, frontali differenti per ogni passo del wizard. cliccate con il tasto destro su un controllo e selezionate Advanced»Run-Time Shortcut Menu»Edit dal menu abbreviato per visualizzare l'area di dialogo Shortcut Menu Editor. Usate l'area di dialogo Shortcut Menu Editor per associare il menu abbreviato di default o il file di un menu abbreviato customizzato (.rtm) al controllo. Potete customizzare i menu abbreviati da programma. Potete anche aggiungere menu abbreviati ai pannelli frontali. Per aggiungere un menu abbreviato al pannello frontale, usate gli eventi dei pannelli Shortcut Menu Activation e Shortcut Menu Selection. Potete anche disabilitare il menu abbreviato di run-time su un controllo. Nota I menu abbreviati custom di run-time appaioFigura 3 - NI Example Finder no solo mentre il VI viene eseguito. 28 SCUOLA DI LABVIEW Nota Potete creare ed editare un Subpanel solo nelle versioni Full e Professional di LabVIEW. Se un VI contiene un Subpanel, potete eseguire il VI in tutte le versioni di LabVIEW, ma non potete configurare il controllo nel Base Package. La figura 4 mostra un esempio di un VI che utilizza un Subpanel. Contenitore Split Pane Usate le splitter bar per dividere il pannello frontale in due finestre scorrevoli indipendenti. Potete ulteriormente dividere queste finestre per progettare un'interfaccia utente con più regioni. Potete customizzare ogni finestra per decidere se l'utente può ridimensionare la finestra e come la finestra reagisce quando l'utente ridimensiona la finestra stessa. Potete usare una splitter bar per designare una finestra come toolbar o per creare una barra di stato. Figura 4 - VI con controllo Subpanel Controlli ad albero Usate il controllo ad albero per dare agli utenti una lista gerarchica di elementi tra cui scegliere. Organizzate gli elementi che inserite nel controllo ad albero in gruppi di elementi, o nodi. Cliccate il simbolo di espansione vicino a un nodo per espanderlo e visualizzare tutti gli elementi presenti nel nodo stesso. Potete anche cliccare il simbolo vicino al nodo per far collassare il nodo. Nota Valgono le stesse indicazioni date per i Subpanel in merito all’utilizzo del controllo ad albero nelle diverse versioni di LabVIEW. La figura 5 mostra un esempio di un VI che utilizza un controllo ad albero. Controlli barra a scorrimento Usate i controlli barra a scorrimento orizzontale e verticale per aggiungere barre a scorrimento custom a un controllo. Cambiate il valore di una barra a scorrimento usando il tool Operating per cliccare o trascinare l'area di scorrimento in una nuova posizione, cliccando le frecce di incremento e decremento o cliccando gli spazi fra l'area di scorrimento e le frecce. Drag and Drop Potete usare il drag and drop per fornire un modo alternativo per spostare i dati fra controlli in LabVIEW. Il drag and drop è un modo comune per gli utenti di interagire con l'interfaccia utente in un'applicazione moderna. È essenzialmente un'operazione fra due controlli: la sorgente del drag e il target del drop. Lo sorgente del drag è il controllo che fornisce i dati all'operazione di drag and drop. Alcuni controlli LabVIEW, come i controlli stringa e ad albero, operano automaticamente come sorgenti di drag quando si esegue un drag da loro. Per questi controlli, utilizzate l'evento Drag Starting? per fornire un maggiore controllo su ciò che l'utente trascina. Per i controlli che non operano come sorgenti di drag, potete costruire sorgenti di drag custom usando il metodo di controllo Start Drag. Con questo metodo, potete iniziare un'operazione drag and drop ogni volta che è necessario e fornire tipi di dati specifici per la vostra applicazione. La sorgente di drag controlla anche l'aspetto del cursore durante un'operazione di drag and drop. LabVIEW usa cursori di drag and drop definiti dal sistema (Mac e Windows) o cursori definiti da LabVIEW (Linux). Usate l'evento Drag Source Update per fornire un feedback custom dal cursore per la vostra applicazione. Infine, la sorgente di drag ha la responsabilità di spostare i dati dopo un'operazione di drag and drop riuscita. Usate l'evento Drag Ended per portare a termine le operazioni di spostamento di drag per i tipi di dati di drag definiti dall'utente. Figura 5 - VI con controllo ad albero Readerser vice.it n.825 Pannelli frontali trasparenti Potete usare la proprietà Window:Transparency del pannello frontale per impostare la trasparenza della finestra durante l'esecuzione del VI. Il livello di trasparenza è un valore percentuale, dove 0 è opaco e 100 è invisibile. Questa proprietà restituisce un errore se specificate un valore all'esterno del campo da 0 a 100. 29 SCUOLA DI LABVIEW 08 Training per esperti a cura di Matteo Foini PIANIFICAZIONE DEL SISTEMA Vediamo come descrivere e gestire i requisiti di sviluppo di un progetto software P rima di sviluppare il progetto dettagliato di un sistema, dovete definire chiaramente gli obiettivi del sistema stesso. Questi sono gli argomenti che saranno affrontati: A. Requisiti B. Stima dei tempi e dei costi C. Stile e standard di codifica per un team di sviluppatori In questa prima parte viene descritto il punto A. A. REQUISITI . Definire gli obiettivi dell'applicazione . Fornire un meccanismo per capire che cosa dovrebbe fare l'applicazione . Coprire gli elementi funzionali, gli elementi non funzionali e i vincoli dell'implementazione Iniziate compilando un elenco dei requisiti. Alcuni requisiti sono specifici, come i tipi di I/O, le frequenze di campionamento o la necessità di analisi real-time. In questa fase preliminare eseguite qualche ricerca per essere sicuri che vi sia possibile soddisfare le specifiche. Altri requisiti dipendono dalle preferenze dell'utente, come i formati dei file o gli stili grafici. Cercate di distinguere fra requisiti assoluti e desideri. Anche se potete cercare di soddisfare tutte le richieste, è meglio avere un'idea di quali caratteristiche potete sacrificare se il vostro tempo si esaurisce. PROCESSO DI DEFINIZIONE DEI REQUISITI Il processo di definizione dei requisiti include i seguenti elementi, non necessariamente in questo ordine: • Identificazione • Vincoli • Analisi • Rappresentazione • Comunicazione • Validazione • Gestione IDENTIFICAZIONE DEI REQUISITI • Identificazione dei requisiti software • I requisiti software sono forniti dal cliente o determinati dal sistema L'identificazione dei requisiti software è il primo passo nella determinazione dei requisiti. L'identificazione implica la 30 determinazione dei requisiti da parte del cliente o del sistema. Per identificare i requisiti software usate i passi seguenti. 1. Esigenze software 2. Acquisizione dei requisiti dai clienti 3. Requisiti di sistema 4. Requisiti dell'interfaccia utente 1. Esigenze software Determinare le esigenze del software è necessario per capire il contesto del progetto. Capire le esigenze vi aiuta a capire lo scopo del progetto e lo scopo del software. Per determinare le esigenze del software è necessario rispondere alle seguenti domande. • Perché il software viene creato? • Qual è lo scopo del software che volete creare? • Quali condizioni deve soddisfare il software? 2. Acquisizione dei requisiti dai clienti Per condurre il processo di raccolta dei requisiti usare strumenti come: • Interviste • Riunioni • Sessioni di brainstorm • Questionari • Osservazione dell'ambiente nel quale il software verrà usato L'acquisizione dei requisiti sembra un compito molto semplice, ma spesso può essere molto impegnativo. I clienti spesso non capiscono a fondo il problema che verrà risolto dal software. E’ necessario, in una fase preliminare del processo, determinare con i clienti quale deve essere la funzionalità del sistema. L'acquisizione dei requisiti dai clienti è integrata nell'identificazione dei requisiti. Strumenti come interviste, riunioni, sessioni di brainstorm e questionari sono preziosi per aiutare l'acquisizione dei requisiti. Anche osservare l'ambiente nel quale il software verrà utilizzato può aiutare l'acquisizione dei requisiti. 3. Requisiti di sistema • I clienti hanno familiarità con i requisiti di sistema • I requisiti di sistema descrivono chiaramente l'ambiente tecnico I clienti hanno una buona comprensione dei requisiti di sistema e hanno la massima familiarità con essi. L'incorporazione di software in un sistema richiede una comprensione dettagliata dell'ambiente tecnico. I requisiti di sistema descrivono l'ambiente tecnico nel quale il soft- SCUOLA DI LABVIEW ware risiederà. Durante l'identificazione dei requisiti, elencate i requisiti di sistema. 4. Requisiti dell'interfaccia utente • Definite come gli utenti si interfacciano con il software • Analizzate i task che l'utente deve eseguire In questa fase del processo, volete definire come gli utenti si interfacceranno con il software. Analizzate i task che l'utente deve eseguire per identificare i requisiti dell'interfaccia utente. L'obiettivo è raggiungere una conoscenza approfondita di come l'utente utilizza il software. VINCOLI DEI REQUISITI Dovete identificare i vincoli di sistema per poter progettare e fornire software che funziona all'interno dei vincoli. Tipici vincoli che potete identificare sono i seguenti: costi, caratteristiche dell'interfaccia hardware, affidabilità, sicurezza ANALISI DEI REQUISITI L'analisi è necessaria per compilare requisiti in linea con le esigenze dei clienti A causa della varietà di sorgenti che creano i requisiti, dovete analizzare e compilare i requisiti in modo tale che i clienti consentano allo sviluppo software di procedere. L'analisi implica la determinazione dell'adeguatezza dei requisiti. Potete seguire tre passi per determinare se i requisiti sono adeguati: 1. Identificate i problemi relativi ai requisiti. Molti requisiti sono incompleti o ambigui. Accertatevi che tutti i requisiti siano scritti e sviluppati in modo che possiate verificarli mediante prove. 2. Classificate i requisiti. Dividete i requisiti in categorie che indichino se il requisito debba essere necessariamente soddisfatto per la consegna del software. Per esempio, in National Instruments, i requisiti sono classificati in tre categorie: verde, gialla e rossa. I requisiti verdi devono essere implementati e provati prima di potere consegnare il prodotto. I requisiti gialli vengono implementati se sono disponibili risorse. I requisiti rossi sono spesso lasciati per future versioni del software. Altre classifiche possono definire la stabilità del requisito. Se il requisito è stabile e tutti i clienti concordano con il requisito, esso non cambierà. Identificate i requisiti più stabili. 3. Determinate i rischi. Identificate i rischi nell'implementazione dei requisiti, come rischi legati a tecnologia o personale. RAPPRESENTAZIONE DEI REQUISITI • Create un modulo scritto dei requisiti • Usate una specifica, come la IEEE-830 • Create un prototipo che dimostri l'implementazione dei requisiti La rappresentazione dei requisiti è il processo di preparazione dei requisiti da comunicare ai clienti. La rappresenta- zione implica la creazione di un modulo scritto, di un prototipo o di entrambi, in base alle esigenze dei clienti. Un modulo scritto è utile per rappresentare i requisiti in forma scritta. Tuttavia, un documento può potare ad ambiguità, perché è scritto in una lingua naturale. Le specifiche di documentazione dei requisiti, come la IEEE-830, offrono un buon modello per creare una relazione scritta dei requisiti. Creare un prototipo che dimostri l'implementazione dei requisiti è il modo più semplice per consentire agli utenti di visualizzare i requisiti e ciò che il software deve eseguire. LabVIEW è efficace per la creazione del prototipo di un’interfaccia utente. PAROLE CHIAVE UTILIZZATE IN UN MODULO SCRITTO Le parole chiave nei requisiti definiscono il grado di necessità dei requisiti stessi. Shall indica un requisito essenziale. Se il requisito non viene soddisfatto, il software non può essere consegnato. Should indica un requisito condizionato che potrebbe migliorare il prodotto software se implementato. Se il requisito non è soddisfatto, il software è ancora accettabile per la consegna. Can indica un requisito opzionale che non è necessario per il successo complessivo del software. Sarebbe bello avere questo requisito, ma lo sviluppatore può proporre un'alternativa. SCHEMA DEI NOMI E DI NUMERAZIONE Definire uno schema dei nomi e di numerazione dei requisiti. Considerate lo schema seguente: <Tipo requisito><requisito #> Tipo di Requisito U Requisito d'uscita I Requisito d'interfaccia C Requisito comportamentale D Requisito dati F Requisito funzionale Usate uno schema dei nomi e di numerazione dei requisiti quando rappresentate i requisiti per favorire la gestione dei requisiti. Quando scegliete uno schema dei nomi e di numerazione, attenetevi sempre ad un metodo coerente. La coerenza riduce il rischio di creare requisiti ambigui. La tabella suggerisce un esempio di schema dei nomi e di numerazione per categorizzare i requisiti. Durante l'acquisizione dei requisiti dai clienti, dovete definire i tipi di requisiti. Considerate le seguenti categorie: • Requisito funzionale. Descrive le funzioni eseguite dal software. 31 SCUOLA DI LABVIEW 08 COMUNICAZIONE DEI REQUISITI • Permettere a tutti i clienti di riesaminare i requisiti • Questo porta spesso ad una modifica dei requisiti • Il risultato della comunicazione deve essere l'accordo Tutti i clienti devono riesaminare i requisiti per giungere ad un accordo sul software che volete creare. Questo riesame porta spesso ad una modifica dei requisiti. La modifica implica ricreare i passi per raggiungere i requisiti relativi al progetto. Il problema della comunicazione è riunire tutti i clienti per un accordo sui requisiti. Questo è l'obiettivo del processo di comunicazione e deve essere raggiunto per il successo del progetto. VALIDAZIONE DEI REQUISITI • La validazione verifica che i requisiti siano solidi • Deve essere compresa da tutti, inclusi gli sviluppatori • Non illustra l'implementazione • Testabile • Tracciabile Durante la validazione è necessario verificare che tutti i requisiti siano requisiti robusti. La validazione dei requisiti assicura che i requisiti siano privi di ambiguità e senza conflitti e verifica che i requisiti siano compresi da tutti, inclusi gli sviluppatori che stanno implementando il software. La validazione verifica inoltre che i requisiti non illustrino come implementare i requisiti stessi. Soprattutto, ogni requisito deve essere testabile e tracciabile. GESTIONE DEI REQUISITI • Attività che gestiscono e seguono i requisiti • La gestione dei requisiti richiede la valutazione delle richieste di cambiamenti nel corso del ciclo di sviluppo • Verifica e tracciatura dei requisiti • Considerate un pacchetto software di gestione dei requisiti Durante lo sviluppo di un progetto, la probabilità di cambiamenti richiesti dai clienti aumenta esponenzialmente, soprattutto per i progetti di sviluppo che hanno una lunga durata. La gestione dei requisiti aiuta a ridurre la probabilità di cambiamenti al progetto, anche se i clienti cambiano. Una semplice analisi dei requisiti illustra il costo di cambiamento del progetto. La gestione efficace dei requisiti può diminuire le probabilità di un cambiamento. La gestione dei requisiti verifica inoltre che il progetto soddisfi i requisiti dichiarati. A causa della complessità di molti documenti dei requisiti, la tracciatura dei requisiti è una parte costosa della gestione del progetto. L'uso di un pacchetto software che collega lo sviluppo ai requisiti può migliorare notevolmente la gestione dei requisiti. Fine prima parte SCELTI PER TE Abbiamo scelto per te alcune risorse utili per approfondire le tua conoscenza di LabVIEW. 32 Forum ILVG.it www.ilvg.it LabVIEW www.ni.com/labviewzone LAVA - LabVIEW Advanced Virtual Architects http://forums.lavag.org/home.html Contenuti LabVIEW on ni.com www.ni.com/labview LabVIEW on ni.com/it - www.ni.com/labview/i LabVIEW Jobs http://www.labviewjobs.com/ The VI Road Show http://viroadshow.blogspot.com/ Community DevZone www.zone.ni.com Community on ni.com http://community.ni.com/ Mindstorm NXT http://www.ni.com/academic/mindstorms/community.htm Altre risorse LabVIEW Tutorials for LabVIEW Developers http://labview-tutorial-for-developers.blogspot.com/ VI Roadshow, un blog interamente fatto di video, su LabVIEW e non solo http://www.viroadshow.com/ Engineering TV, un portale dedicato alle tecnologie emergenti, nuovi prodotti, best practices interamente dedicati al mondo dell’ingegneria http://engineeringtv.com/ Readerser vice.it n.826 • Requisito dati. Descrive i dati che il sistema utilizzerà. • Requisito comportamentale. Descrive il comportamento del sistema. È utile per illustrare come un'applicazione funziona ed usa risorse. • Requisito d'interfaccia. Descrive i requisiti dell'interfaccia utente. • Requisito d'uscita. Descrive i requisiti di formato dei file. MERCOLEDÌ 18 FEBBRAIO I 2009 Palazzo dei Congressi di BOLOGNA Per aderire on line all’indirizzo www.ilb2b.it/mc4.asp via fax compilando il coupon allegato e inviandolo allo 02.366092.515 La partecipazione ai seminari e alla mostra è gratuita, così come la documentazione e il buffet Per informazioni a 5 Mostra Convegno MC4 - Motion Control for giunge alla sua quinta edizione. Visto il successo riscosso negli anni precedenti, Edizioni Fiera Milano è lieta di rinnovare l'appuntamento per la mostra convegno interamente dedicata alle tecnologie e ai prodotti per il controllo del movimento. Questo settore, che negli ultimi anni ha fatto registrare uno sviluppo impressionante, è al momento uno dei più interessanti non solo dal punto di vista tecnico ma anche applicativo. L’interdisciplinarietà della tecnologia motion abbraccia un orizzonte tecnologico estremamente ampio, che va dall’elettronica alla meccanica, dall’acquisizione dati alla comunicazione. MC4 - Motion Control for si rivolge a tecnici e progettisti operanti in ambito industriale (impiantistica produttiva, macchine automatiche, macchine utensili, manutenzione ecc.) che utilizzano: - Motori e motoriduttori - servomotori - azionamenti e regolatori di velocità - controllo assi - sistemi di posizionamento - comandi e attuatori - sensori e comunicazione PRESSO LA SEDE DI: In uno spazio specifico sarà allestita un’esposizione a cura delle aziende partecipanti, in cui sarà possibile “toccare con mano” l’attuale offerta commerciale. Il convegno Nel corso della giornata si susseguiranno seminari tecnici tenuti dalle aziende espositrici della durata di 30 minuti ciascuno. I contenuti Il programma, l’agenda e i titoli dei seminari saranno aggiornati, man mano che verranno confermati, sul sito www.ilb2b.it/mc4.asp Come arrivare alla sede di Bologna Congressi in auto: autostrada • A1 Milano/ Firenze/ Roma/ Napoli • A13 Padova/ Venezia • A14 Ancona/ Bari • A15 La Spezia/ Genova • A22 Verona/ Trento/ Brennero Imboccando la tangenziale si deve uscire allo svincolo n.7 (Via Stalingrado). In direzione “Centro Città” e a 1,5 Km si trova il Palazzo dei Congressi. in treno: Il Palazzo dei Congressi si trova a 2 Km dalla Stazione Centrale FS. OFFERTO DA: cognome nome azienda posizione aziendale settore indirizzo città prov cap e-mail tel fax Consenso ai sensi dell’art. 23 del D.Lgs n. 196 del 30 giugno 2003. Letta la nota informativa riportata su questa rivista, esprimi il tuo consenso al trattamento, alla comunicazione dei tuoi dati personali ed ai correlati trattamenti ai soggetti che svolgono le attività indicate nella informativa stessa. In mancanza del tuo consenso la registrazione non potrà essere eseguita. ACCETTO NON ACCETTO Esprimi/nega il tuo consenso alla comunicazione dei dati personali ed ai correlati trattamenti ad aziende terze che ne facciano richiesta ai fini pubblicitari e di marketing. ACCETTO NON ACCETTO Compila il coupon e invialo tramite fax al n°02.36.6092.515 oppure registrati sul sito www.ilb2b.it/mc4.asp COUPON DI ADESIONE LA PARTECIPAZIONE È GRATUITA 18 Febbraio 2009 I BOLOGNA La mostra Tel. 02.366092.510-511 Fax 02.366092.515 [email protected] www.ilb2b.it/mc4.asp D A L L A C A RTA A L W E B 08 HTTP://WWW Quando le nostre pagine non bastano, l’enorme serbatoio del web può dare una mano. Su una rivista c ar tacea, anche la più voluminosa, sarebbe impossibile trattare per esteso tutti gli argomenti relativi a LabVIEW. In molti casi, tuttavia, sul web sono disponibili ar ticoli esaustivi o altri documenti, a cui rimandiamo i lettori interessati. Riformattare i file XML di LabVIEW per semplici editor testuali I file XML creati in LabVIEW non sono sempre facilmente leggibili dagli editor di testo. Vi sono due modi per creare file XML in LabVIEW: - Usare i VI XML nativi in LabVIEW situati sulla palette Advanced»Data Manipulation - Usare i VI XML DOM Parser inclusi come parte dell'Internet Toolkit. I file XML creati con i VI nativi sono scritti come file di testo multilinea, mentre quelli creati con l'Internet Tookit sono scritti come file a linea singola. In entrambi i casi, i campi XML non sono disposti in un modo che evidenzi le loro relazioni genitore/figlio. Ovviamente, questi formati possono rendere i file XML di LabVIEW molto difficili da analizzare e leggere all'interno di un normale editor testuale. Questo VI d’esempio cerca di eliminare il problema appena descritto. Esso analizza i file XML di LabVIEW e inserisce carriage return e tabulazioni dove necessario per dare loro, in un editor testuale, lo stesso aspetto che avrebbero in un editor XML. Dopo avere eseguito questo VI, i campi genitore/figlio all'interno del file XML sono indentati e spaziati in modo logico. Nota: In LabVIEW 8.6, i VI XML Parser inclusi con il toolkit sono ora inclusi nelle versioni Base, Full e Professional di LabVIEW Link alla pagina: ni.com/italian infocode: itbc3g Creare e collegare programmaticamente variabili condivise a variabili di I/O Questo VI scopre tutte le variabili di I/O pubblicate dall'NI Scan Engine a un dato indirizzo IP e crea e collega programmaticamente variabili condivise a ciascuna di esse. Il deploy delle shared variable viene effettuato sul PC Windows che specificate. Creando e collegando variabili condivise a variabili di I/O, potete trarre vantaggio dalla gestione di logging e allarmi con LabVIEW DSC, comunicazioni bufferizzate, comunicazioni con client OPC, ecc. Link alla pagina: ni.com/italian infocode: itbc3g Sincronizzazione GPS di dispositivi DAQ Questo esempio mostra come sincronizzare uno chassis PXI di dispositivi DAQ al GPS. Il GPS Time Coordinator sincronizzerà più sistemi fra loro, permettendovi di creare un sistema di misura sincronizzato esteso e flessibile. Nota: i dispositivi DAQ devono supportare clock esterni e la massima frequenza di clock disponibile sul PXI-6682 è 1MHz. Link alla pagina: ni.com/italian 34 infocode: itbc3g D A L L A C A RTA A L W E B Semaphore IP per LabVIEW FPGA Quando si sviluppano applicazioni usando LabVIEW FPGA diventa necessario usare risorse condivise come variabili locali e globali, VI non rientranti, ecc. in più punti del diagramma. Per evitare l'accesso alla stessa risorsa da più punti simultaneamente dovete aggiungere codice che blocchi la risorsa ed impedisca l'accesso simultaneo. Per la maggior parte delle risorse condivise in LabVIEW FPGA, ciò avviene automaticamente e il codice viene aggiunto durante il processo di generazione del codice. In alcuni casi può diventare necessario aggiungere questo strato di protezione sopra le funzioni e i VI forniti da LabVIEW. Questo esempio illustra l'implementazione di un semaforo in LabVIEW FPGA per gestire le risorse condivise. Link alla pagina: ni.com/italian infocode: itbc3g Marcatura temporale di ingressi analogici con clock esterno mediante un contatore Quando un ingresso analogico con clock esterno ha un periodo variabile, il timestamping di default di una forma d'onda in LabVIEW non sarà accurato. Questo VI utilizza uno stesso clock di campionamento esterno per l'ingresso analogico e per un contatore. L'ingresso del contatore utilizza una base tempi interna come source, leggendo il valore ogni volta che viene rilevato un fronte di salita del clock di campionamento. Questo ci permette di ottenere una marca temporale per ogni campione analogico in ingresso. Link alla pagina: ni.com/italian infocode: itbc3g Aumentare la velocità di esecuzione in LabVIEW usando le proprietà dei VI rientranti Potete aumentare significativamente la velocità di esecuzione delle applicazioni LabVIEW impostando correttamente la rientranza dei subVI. I VI non rientranti non permettono l'esecuzione parallela. I VI rientranti che condividono cloni fra le istanze permettono l'esecuzione parallela e allocano dinamicamente i VI cloni per ogni istanza. Tuttavia, National Instruments non raccomanda questi VI per applicazioni real-time, a causa di possibili problemi di jitter. I VI rientranti che preallocano i cloni per ogni istanza permettono una vera esecuzione parallela e tipicamente riducono i tempi di esecuzione rispetto alla condivisione dell'allocazione, ma questi VI richiedono un maggiore uso di memoria. Link alla pagina: ni.com/italian infocode: itbc3g Leggere e scrivere in un database ASAM-ODS con LabVIEW Scaricate un esempio di codice e istruzioni passo-passo su come interfacciare database ASAM-ODS (AOP3 e AOP5) e file ATF usando i VI Storage di LabVIEW. Link alla pagina: ni.com/italian infocode: itbc3g 35 LA VOCE DEGLI UTENTI 08 Vi presentiamo una selezione di argomenti di discussione sul Forum di ILVG.it Velocità angolare di un inclinometro Inviato: Dom Set 14, 2008 4:12 pm Salve a tutti! Ho realizzato un inclinometro con un sub VI "AI sample Channel". Riesco ad ottenere l'angolo di inclinazione. Ora vorrei trovare la velocità angolare. Ho pensato di calcolarlo estrapolando due valori di angoli e farne il rapporto incrementale ma non riesco a trovare un modo per cercare i rispettivi istanti di tempo in cui si trovano gli angoli. Mi sapreste dare indicazioni? Grazie francescolabview Ciao ammesso che la velocità angolare si derivi dalle due letture di angolo dovresti leggere anche i tempi a cui esegui le letture e fare il rapporto tra la differenza angolare ed il tempo trascorso. bye-bye stefanog ....giusto. Il problema è costruire un block diagram che lo faccia. francescolabview Ok. con che periodo campioni le misure angolari? Le letture sono temporizzate e quindi periodicamente aggiornate in modo automatico o avvengono in modo arbitrario ad esempio su pressione di un tasto da parte dell'operatore? Se il tuo "sample.." è già all'interno di un ciclo che si ripete dovrebbe essere sufficiente prendere il tempo assoluto (ms) con la funzione con l'icona dell'orologio ad ogni giro e sottrargli quello del giro precedente.Se invece hai la necessità di leggere due misure consecutive a distanza di tempi lunghi (ore)occorre campionare la data in modo differente e fare la differenza tra i secondi. Sono fuori sede e non riesco ad essere più preciso di così; se riesci a postare la sezione di block diagram in cui fai la lettura dell'inclinometro potrei dargli un'occhiata appena rientro. buona serata bye-bye stefanog [continua su http://www.ilvg.it/ht/3710] francescolabview Shift cifre Inviato: Mar Ott 14, 2008 4:15 pm Ciao ragazzi... siamo nuovi... Abbiamo un aiuto al più presto... Noi abbiamo due u32 messi in due registri separati... il risultato deve essere lo shiftamento di alcune cifre del secondo registro nel primo... ad es. se abbiamo 352 nel primo e 245 nel secondo... il risultato deve essere 35224 e nel secondo solo 5. Lo shiftamento non è prefissato ma definito dall'utente. Come è possibile? Con quale struttura??? ale160784 In due registri? Cosa intendi per due registri? Beh, se quelli che tu chiami registri sono due semplici controlli U32, basta convertirli in stringhe e poi operare sulle stringhe, oppure tenendo tutto come numeri, suddividere la cifa in centinaia, decine e unità e poi far shiftare le quantità di ogni tipo. Se per registri intendi che le cifre fanno parte di array, basta operare sugli array ed eventualmente poi usare quello che ti ho scritto sopra. C'è qualcosa che mi sfugge? ..ma ciao! gepponline Ok... il problema è che non possiamo usare array nè stringhe... pensatele in 2 semplice u32.. devo spostare delle cifre da un 32 all'altro .. in che modo posso farlo?? grazie ale160784 Ok shiftamento riuscito… però mi sorge un problemino... non so se da poco... devo fare una semplice sottrazione con 2 u32... però il risultato lo voglio in i8... il guaio è che mi fa la sottrazione anche con il segno se gli aggiungo un semplice indicator. Ma se metto il collegamento in un altro operatore mi tiene il tipo u32 come faccio a risolvere questo problema? Se vedete la cosa che ho fatto quando entra nello shift entra un u32.. e non va bene... grazie. ale160784 [continua su http://ilvg.it/ht/3750] ale160784 36 LA VOCE DEGLI UTENTI Creare controlli Inviato: Mar Set 30, 2008 3:37 pm Innanzitutto, ci sono novità sul fronte della creazione di nuovi controlli programmaticamente? E ora spiego perché. Ho sviluppato un software per creare un sinottico trascinando delle forme da un menu all'interno di un picture control. il fatto è che il sinottico in questione sarebbe alla fin della fiera, un immagine con all'interno dei rettangoli (anche inclinati e da poco ho tolto i cerchi per vedere se aiutava) e io devo andare a capire, in un secondo momento, se l'utente ci clikka sopra col mouse. Se si trattasse di rettangoli normali, potrei optare per un for che mi confronta le coordinate del mouse con tutte quelle dei vari rettangoli. I rettangoli inclinati pero' mi rovinano la vita perché non mi permettono di fare dei controlli di posizione "semplici". Faccio un esempio: Io ho il rettangolo A che è messo in orizzontale ed è delineato dalle coordinate di 4 punti. Verifico se la posizione del mouse è compresa tra la x massima e la x minima e la y massima e la y minima. Il rettangolo B invece è inclinato di 45 gradi e quindi non posso più fare l'operazione di prima per verificare se il mouse è all'interno del rettangolo. Avete qualche consiglio? Ovviamente la domanda iniziale del topic l'ho fatta perché la possibilità di creare un controllo anziché disegnare in un picture control, mi permetterebbe poi di gestire il controllo con le varie proprietà ed eventi. HELLPPPP!! ..ma ciao! gepponline In http://alienryderflex.com/polygon/ c'è un pezzo di codice C, sorprendentemente corto, per calcolare se un punto si trova all'interno di un poligono, noti i vertici. Non l'ho provato, ma convertirlo in Labviù è semplice. Hai tolto i cerchi ma erano la cosa più semplice, bastava vedere se la distanza dal centro è <= del raggio! Snamprogetti No infatti la roba del cerchio era solo legata al fatto degli array per archiviare le sagome perché mentre se creo un quadrato ho un array di 4 cluster (uno per estremo), per il cerchio ho un cluster di 4 elementi e quindi volevo vedere cosa succedeva prendendo in considerazione solo i rettangoli Intanto darò un occhio a quel codice! Grazie mille! ..ma ciao! gepponline [continua su http://www.ilvg.it/ht/3724] gepponline Problema con Application Builder Inviato: Mar Set 30, 2008 12:35 pm Innanzitutto ciao a tutti, mi presento, sono Oboro (Luigi nella vita di tutti i giorni) e sono un ingegnere... Mi sono iscritto a ILVG.it perchè sto utilizzando LabVIEW 8.5 unitamente a una CompactDAQ per condurre delle prove sperimentali, con relativa acquisizione di dati. Non sono totalmente inesperto di LabVIEW, lo utilizzo dalla release 6, però mi si sta presentando un problemino, probabilmente una sciocchezza, che mi sta facendo perdere tempo. Molto brevemente, ho la necessità di creare una standalone application, in modo da utilizzare su un qualsiasi pc l'insieme di VIs che ho creato per i vari test da condurre. Ora, non avendo mai utilizzato l'Application Builder, mi sono letto l'help e l'utile guida presente su ILVG, e mi sono messo all'opera... Il problema sorge dal fatto che durante la fase di build dell'installer, il programma mi apre un dialog box, in cui mi si richiede di individuare un fantomatico file *.id che dovrebbe essere presente sul primo cd di installazione dei NI-DAQmx... Io il file l'ho trovato, almeno credo, ma mi ritorna sempre un errore per cui mi si comunica che la folder in questione non è corretta o il nome del file è già in uso (non ricordo chiaramente). Qualcuno può cortesemente darmi una mano o illuminarmi su quale è esattamente il mio problema? Vi ringrazio infinitamente in anticipo. Luigi Oboro Un problema del genere non l'ho mai visto, hai provato a reinstallare il DAQ? aris Il riferimento dei file è corretto? Te lo chiedo perché l'Application Builder aggiunge un pezzo al percorso del file creato e se il VI richiama altri VI o altri file può capitare che qualche pezzo non si trovi. Dai un'occhiata al sito della National... prova a cercare qualcosa del tipo "application builder *.id installer"... Ciao!! MagicBotolo Non è che hai qualche versione didattica e quindi c'e’ qualche inghippo che ti blocca l'application builder? ..ma ciao! gepponline [continua su http://www.ilvg.it/ht/3723] Oboro 37 REPORT 08 Valerio Alessandroni LE NOVITÀ DI NIWEEK 2008 Si è svolta lo scorso agosto la 14a edizione di NIWeek, la mostra-convegno sul graphical system design organizzata da National Instruments O ltre 3000 partecipanti qualificati, un centinaio di espositori e numerosi ospiti di primo piano hanno caratterizzato l'edizione 2008 di NIWeek che, come ogni anno, ha occupato l'intero centro congressi di Austin, Texas. Aprendo i lavori, James Truchard, presidente, CEO e cofondatore di National Instruments, ha annunciato un programma composto da oltre 200 sessioni tecniche, workshop pratici, presentazioni di casi concreti e panel, a cui hanno partecipato esperti provenienti dal mondo industriale ed accademico. Moltissime le novità, che cercheremo di riassumere nelle righe seguenti. Figura 1 - Durante NIWeek 2008, un panel di esperti ha discusso i progressi del 'Green Engineering' LABVIEW 8.6 A NIWeek ha fatto il suo esordio l'attesa nuova versione 8.6 di LabVIEW che, basandosi sulla natura intrinsecamente parallela della programmazione grafica, offre nuovi tool per sfruttare meglio i benefici dei processori multicore, degli Fpga e della comunicazione wireless. "Il mondo è parallelo, le persone sono parallele, i computer sono paralleli: perché dovremmo limitarci ai linguaggi sequenziali?", si è chiesto nella sua keynote Jeff Kodosky, cofondatore e business and technology fellow di National Instruments, considerato il 'padre' di LabVIEW. "L'ultima versione di LabVIEW mette a disposizione una piattaforma comune per aumentare il throughput dei sistemi di test e controllo con processori multicore, ridurre il tempo di sviluppo delle applicazioni prototipali avanzate di controllo ed embedded basate su Fpga e creare più facilmente sistemi di misura distribuiti per l'acquisizione remota dei dati", ci ha spiegato John Pasquarette, software marketing director presso National Instruments. Ed è da sottolineare la decisa volontà di National Instruments di utilizzare LabVIEW anche in campo industriale. "In LabVIEW 8.6 abbiamo introdotto una serie di 38 blocchi funzione normalmente utilizzati nelle applicazioni di controllo industriale basate sullo standard IEC 61131-3, come i PLC ed i PAC (Programmable Automation Controller)", ha affermato John Hanks, Vice President Product Marketing per l'acquisizione dati ed il controllo industriale. "Questi blocchi funzione sono stati progettati per applicazioni industriali real-time". LabVIEW 8.6 permette quindi di programmare direttamente i PAC CompactRIO, mentre nuove caratteristiche di sviluppo ed integrazione, come il core IP FFT, consentono di incrementare le prestazioni di analisi spettrale in applicazioni come il monitoraggio delle condizioni di macchine ed il test RF. Infine, è possibile importare IP esistenti o di terze parti in LabVIEW FPGA usando il nuovo nodo Clip (Componentlevel IP). Avvicinandosi sempre più alle architetture basate su PLC, LabVIEW 8.6 dispone inoltre di strumenti aggiuntivi di controllo logico, in grado di offrire funzioni basate sui linguaggi IEC 61131-3. "Queste funzioni real-time forniscono funzioni note a programmatori che hanno utilizzato altri controller industriali, permettendo loro di pubblicare i propri parametri sulle HMI attraverso la rete", ci ha riferito Hanks. LE ALTRE NOVITÀ OLTRE 1.200 FUNZIONI DI ANALISI Truchard ha spiegato che, basandosi sulla tecnologia multithreading incorporata della piattaforma LabVIEW, la versione 8.6 offre prestazioni di supercomputing grazie a caratteristiche ottimizzate per un'architettura multicore. LabVIEW 8.6 include inoltre più di 1.200 funzioni di analisi avanzate, ottimizzate per velocizzare operazioni matematiche e di signal processing sui sistemi multicore. E le applicazioni di visione possono trarre vantaggio dai sistemi multicore, utilizzando le innovative funzioni di image processing incluse nel Vision Development Module per LabVIEW 8.6. Tra le altre caratteristiche, la possibilità di sviluppare rapidamente applicazioni per il test di dispositivi wireless grazie alla nuova versione del Modulation Toolkit per LabVIEW e la possibilità di eseguire velocemente modelli di simulazione con il Control Design and Simulation Module. "L’introduzione in LabVIEW della nuova funzione di scan engine permette di integrare la temporizzazione nei linguaggi di programmazione con un’architettura a scansione degli I/O", ha sottolineato Todd Dobberstein, product manager Industrial and Embedded Technologies presso National Instruments. "Tale architettura offre un innovativo determinismo degli I/O di oltre 500 ns, rendendo la piattaforma ideale per applicazioni di controllo complesse e precise. La nuova tecnologia sfrutta inoltre la flessibilità del chip Fpga presente su CompactRIO senza richiedere laboriose compilazioni". Il LabVIEW Control Design and Simulation Module consente di utilizzare modelli di funzioni di controllo predittivo migliorate per ottimizzare i processi con vincoli definiti dall’utente, quali il consumo energetico, nonchè filtri Kalman Un altro annuncio molto atteso è stato quello della nuova piattaforma Single-Board RIO. "I nuovi dispositivi Single-Board RIO offrono un’opzione hardware integrata e a basso costo per la produzione in serie di applicazioni embedded di controllo e acquisizione dati", ci ha riferito Pasquarette. Gli otto nuovi sbRIO-96xx combinano un processore embedded real-time, un chip Fpga e canali di I/O analogico e digitale su un'unica scheda. Essi espandono l’offerta della piattaforma di distribuzione basata su chip Fpga che include sistemi PXI, PC e dispositivi embedded di controllo e acquisizione dati NI CompactRIO che condividono un’architettura di I/O riconfigurabile (RIO) costituita da un processore real-time, un chip Fpga e moduli di I/O. Per mezzo di quest’architettura standard e di LabVIEW, è possibile progettare e prototipare rapidamente controlli avanzati e dispositivi embedded su piattaforme hardware quali CompactRIO e distribuirli sui sistemi integrati CompactRIO a basso costo o sui nuovi Single-Board RIO. Tra le altre novità, dieci nuovi dispositivi per l’acquisizione dati wireless ed Ethernet. Tramite lo standard Ieee 802.11, i nuovi dispositivi DAQ Wi-Fi trasmettono dati su ciascun canale ad oltre 50 kS/s con una risoluzione di 24 bit. "Naturalmente, è possibile combinare l’hardware DAQ Wi-Fi con la piattaforma LabVIEW", ha affermato Richard McDonell, senior group manager product marketing presso National Instruments. È stata anche annunciata l'estensione della linea di prodotto Smart Camera, con l'introduzione di tre nuovi dispositivi - le Smart Camera NI 1744, NI 1762 e NI 1764 - che offrono una maggiore velocità di elaborazione e una risoluzione delle immagini più elevata, offrendo nuove possibilità applicative nella visione artificiale. Infine, National Instruments ha annunciato l’analizzatore di segnale vettoriale RF PXIe5663, il generatore di segnale vettoriale RF PXIe-5673 e lo chassis a 18 slot ad elevata ampiezza di banda PXIe-1075. In particolare, l'NI PXIe-5663 è in grado di effettuare l’analisi dei segnali da 10 MHz a 6,6 GHz con un'ampiezza di banda istantanea di 50 MHz. Il PXIe-5673 consente di generare segnali da 85 MHz a 6,6 GHz garantendo un’ampiezza di banda istantanea fino a 100 MHz. Infine, il PXIe-1075 è il primo chassis PXI Express con linee PCI Express connesse ad ogni slot, in grado di fornire un’ampiezza di banda fino a 1 GB/s per slot e fino a 4 GB/s totali. migliorati in grado di compensare i sensori rumorosi o difettosi. Inoltre, il modulo include una gamma di strumenti avanzati di controllo, quali progettazione di PID analitici, LQR, feedback sullo spazio di stato, in esecuzione su LabVIEW sui PAC tipo CompactRIO. "Per ottimizzare produttività ed efficienza, si cerca spesso di far dialogare i sistemi di controllo tramite interfacce utente basate su web, accessibili da ogni parte del mondo", ha affermato Brian MacCleery, senior product manager Industrial Embedded Design presso National Instruments. LabVIEW 8.6 consente di convertire le applicazioni LabVIEW in servizi Web su desktop e hardware real-time, accessibili da qualsiasi dispositivo predisposto per il web quali smart phone e PC. Grazie a questa caratteristica è possibile sviluppare interfacce utente remote per le proprie applicazioni LabVIEW meditante tecnologie web standard quali Html, JavaScript e Flash. Figura 2 - Il Solar Vehicles Team dell'University of Texas ha usato prodotti National Instruments per creare questo veicolo alimentato ad energia solare Oltre alle importanti novità che abbiamo descritto, durante NIWeek sono state presentati molti altri prodotti e, soprattutto, molte applicazioni concrete. Citiamo soltanto il veicolo autonomo sviluppato da Torc e dal Virginia Polytechnic Institute e un nuovo software per la piattaforma robotica Lego, denominato Lego Education WeDo, che prosegue la collaborazione fra National Instruments e Lego Education nel campo della robotica educativa. In un clima di generale entusiasmo, si sono quindi spenti i riflettori. L'appuntamento con il prossimo NIWeek è stato fissato per il 4 agosto 2009. Readerser vice.it n.840 CONCLUSIONE 39 EVENTI 08 AUTOMOTIVE DAY 2008: National Instruments ha replicato i contenuti di Automotive Forum a Modena, direttamente nella 'terra dei motori da competizione' D opo il grande successo di Automotive Forum di Torino, il consueto appuntamento biennale organizzato da National Instruments sulle sfide del moderno mercato automobilistico, lo scorso 22 ottobre si sono dati appuntamento gli operatori dei settori della progettazione, dell’automazione e del collaudo in campo automotive presso il Demo Center di Modena per assistere ad Automotive Day - la versione in pillole di Automotive Forum. Scopo della manifestazione: riuscire a raggiungere gli operatori del settore di un’altra area geografica di fondamentale importanza per il mercato automobilistico italiano. Durante l’evento, gli esperti di settore si sono confrontati sulle sfide del moderno mercato automotive in merito ai nuovi standard di sicurezza e affidabilità richiesti a costruttori e fornitori, alle esigenze sempre crescenti nell’ambito del comfort della vettura, alle più recenti innovazioni dell’intrattenimento multimediale a bordo e alle tematiche sempre più attuali dell’abbattimento delle emissioni e dell’efficienza dei consumi. Durante la keynote di apertu- ra, sono state affrontate le ultime tendenze e sviluppi tecnologici nell’elettronica del mercato automotive, dalla prototipazione al collaudo di motori e componenti automotive nell’ottica dell’efficienza energetica. Nel corso del proprio intervento, Alma Automotive ha analizzato lo sviluppo di algoritmi di controllo e diagnosi con metodologia Rapid Control Prototyping su piattaforma cRIO. A seguire, la presentazione di Eurins sulla gestione delle prove di omologazione a banco per motori diesel secondo le normative europee vigenti. Gruppo Loccioni ha concluso la giornata illustrando il progetto Mexus, la progettazione embedded di un innovativo sensore di misura per sistemi di test in ambiente automotive. Readerser vice.it n. 860 Nadia Albarello L’AUTOMOTIVE IN PILLOLE 40 Dopo due anni, torna il seminario gratuito dedicato a metodi, tecnologie e strumenti per la misura e l’analisi di fenomeni vibroacustici in due date N el mese di ottobre, National Instruments, Luchsinger e Wintek, Alliance Partner di NI, si sono unite in partnership per dare vita alla seconda edizione di 'Vibroacustica per tutti!', il seminario tecnico gratuito dedicato ai metodi, alle tecnologie e agli strumenti per la misura e l’analisi di fenomeni vibro acustici. Le città di Roma e Bologna hanno fatto da sfondo, ospitando 120 partecipanti. Ancora una volta Wintek (www.wintek-it.com), società di ingegneria con esperienza pluriennale nella progettazione, nello sviluppo e nella fornitura di sistemi di test e misura basati su Personal Computer, specialmente orientati alle esigenze dell'elaborazione numerica del segnale, ha messo a disposizione le competenze sviluppate in oltre quindici anni nel settore dell’analisi vibroacustica per un’opportunità formativa e di approfondimento tecnico. La collaborazione come Partner certificato di National Instruments per quanto riguarda le tecnologie di misura e analisi e con Luchsinger (www.luchsinger.it) per le competenze sensoristiche, ha consentito di fornire una panoramica completa delle problematiche affrontate. Durante le due date si è avuta occasione di analizzare le tecniche di acquisizione, registrazione del segnale ed analisi, sia nel dominio del tempo che in quello della frequenza, utili per la realizzazione di sistemi di misura dedicati sia all’analisi di laboratorio che al monitoraggio e test di sistemi e macchine industriali. Si è dedicata particolare attenzione alla divulgazione dei principi, dei metodi e delle tecniche di misura di base così da permettere una facile comprensione degli argomenti trattati non solamente agli 'addetti ai lavori'. A tal fine, dopo aver brevemente illustrato alcuni concetti teorici di base, i relatori del seminario hanno affrontato e discusso casi applicativi concreti a partire dall’analisi del problema fino alla relativa soluzione strumentale, utilizzando prodotti - ad oggi già in uso - basati su tecnologia National Instruments. Readerser vice.it n. 861 Nadia Albarello VIBROACUSTICA PER TUTTI! 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: 8 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. EVENTI 08 AUTOMAZIONE AVANZATA PER I Nadia Albarello COSTRUTTORI DI MACCHINE Si sta per concludere il seminario tecnico organizzato da National Instruments, patrocinato da AIdA, Associazione Italiana di Assemblaggio, e con la par tecipazione dell’Università di Udine, che illustra come ridurre i costi di progettazione per i costruttori di macchine industriali 42 ad analizzare la scalabilità software per il riutilizzo del codice su piattaforme hardware di controllo macchina come fattore critico per la prototipazione e produzione in serie. Progettazione software embedded: sono state affrontate tematiche quali la progettazione di un'architettura software flessibile e la valutazione delle opzioni a livello degli strumenti a disposizione. L’utilizzo del software adatto permette di implementare funzioni avanzate, quali monitoraggio delle condizioni macchina o ispezione visiva, ovvero funzioni fondamentali da considerare nella progettazione di un macchinario. Progettazione di sistemi di controllo: in questa sessione è stato trattato il tema della valutazione del sistema di controllo ottimale per aumentare la produttività di una macchina e quello dell’identificazione degli algoritmi di controllo più adatti a differenti esigenze. 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. 862 S i concluderà alla fine di novembre il seminario tecnico gratuito sulle tecniche di progettazione meccatronica che ha toccato le nove città italiane di Torino, Milano, Roma, Firenze, Padova, Bologna, Bari, Ancona e Napoli. Un rappresentante dell’Associazione Italiana di Assemblaggio ha aperto i lavori con una panoramica sulle sfide e le necessità che i costruttori di macchine si trovano oggi ad affrontare. Il seminario tecnico ha di fatto affrontato il tema della riduzione dei costi di progettazione per i costruttori di macchine industriali con un taglio tecnico-formativo, e si è rivolto principalmente a progettisti e costruttori di macchine industriali, che desiderano prepararsi a seguire un processo di progettazione meccatronica, simulare differenti configurazioni meccaniche e ridurre i rischi associati alla progettazione. I quattro temi principali affrontati nel dettaglio corrispondono alle fasi del processo coinvolte durante la progettazione di macchine. Progettazione meccanica: in questa sessione, i relatori coinvolti hanno illustrato come superare le sfide della progettazione di macchine. Grazie ad esempi significativi di progettazione meccatronica di macchine industriali, i partecipanti hanno potuto scoprire come tenere concretamente conto delle esigenze del cliente finale e incorporarle nelle fasi di progettazione e realizzo, tenendo conto del giusto compromesso tra costi e prestazioni. Gli interventi di Vanni Zanotto, docente di Robotica e Meccatronica presso l’Università di Udine, hanno permesso di approfondire come utilizzare al meglio tecniche di progettazione meccatronica nel mondo dei macchinari industriali. Progettazione elettrica: in questa sessione sono stati passati in rassegna i criteri per la scelta della piattaforma hardware e software adatta per affrontare la crescente complessità delle macchine. I relatori si sono poi soffermati EVENTI LABVIEW COMMUNITY Dopo l’ar ticolo pubblicato sul numero 7 di LabVIEW World, segue una seconda panoramica su nuove risorse che gravitano attorno al mondo LabVIEW e dalle quali è possibile attingere preziose informazioni A lzi la mano chi non sa cosa sia una wiki. Ecco un indizio: la più nota ed utilizzata dagli utenti del web è certamente wikipedia, l’enciclopedia a contenuto aperto, modificabile, attendibile e compilata direttamente dai visitatori della rete (www.wikipedia.com). Ma nel mondo dell’informazione interattiva e condivisa possiamo assistere quotidianamente ad un proliferare di wiki e alla loro diffusione a macchia d’olio, sia nel vastissimo universo del web, che nell’ambiente più circoscritto ed ovattato delle imprese. Oltre a vantare numerosi post ed aggiornamenti dedicati sulla capostipite delle wiki, Wikipedia per l’appunto, LabVIEW è ora diventato il marchio di fabbrica di un’enciclopedia online tutta dedicata alla programmazione grafica di sistemi: LabVIEW Wiki (http://wiki.lavag.org/Home). L’obiettivo dichiarato è mettere in contatto sviluppatori LabVIEW da tutto il mondo e creare una piattaforma comune per la condivisione di commenti, esperienze e consigli su una tematica comune: la programmazione in LabVIEW. I contenuti possono essere organizzati e ricercati dagli utenti per category list, glossari, portali e indici. Category list: liste di contenuti suddivise per categoria e organizzate in ordine alfabetico a seconda dell’argomento specifico Glossario: Raccolta di tutti i termini e relative definizioni correlati alla programmazione in LabVIEw e organizzati per categorie tematiche Portale: Un portale è una pagina introduttiva per un argomento specifico a completamento di un articolo, documento e immagini. Serve per individuare a colpo d’occhio la pagina che si stava cercando. Indice: lista completa di ogni risorsa presente nella wiki Che dire di più, enjoy! http://wiki.lavag.org/LabVIEW_Wiki:Contents IO, ROBOT Anche voi fate parte della fitta schiera di fan di Lego Mindstorms (definizione), oppure, siete semplicemente spettatori delle evoluzioni del robottino configurato e pro- grammato grazie a LabVIEW dai più piccoli di casa? A qualunque categoria apparteniate, se conoscete o volete conoscere LEGO Mindstorms più da vicino, questi sono i forum di discussione che fanno per voi. http://www.ni.com/academic/mindstorms/community.htm LABVIEW FANS OF LEGO DISCUSSION FORUM Partecipate al gruppo di discussione ufficiale di NI per condividere programmi, sfide e successi con la comunità di fan. LEGO.COM MINDSTORMS DISCUSSION FORUM Visitate questo gruppo di discussione di LEGO per postare i vostri consigli, idee, suggerimenti e confrontarvi con altri fan per realizzare applicazioni uniche con il vostro Mindstorms NXT. I BLOG DI LEGO MINDSTORMS NXT • • • • nxtbot.com The NXT STEP (http://www.thenxtstep.blogspot.com/) nxtasy.org LEGOengineering.com Se i robot sono proprio la vostra passione, ecco un altro link che non potete non conoscere. National Instruments ha creato FIRST Robotics Community (http://decibel.ni.com/content/community/first), il blog interamente dedicato a FIRST Robotics Competition, la competizione che ogni anno vede coinvolte squadre di studenti delle scuole superiori di tutto il mondo nella realizzazione di un robot funzionante, che dovrà sfidarsi con altri suoi simili in una serie di gare di diversi gradi di difficoltà (http://www.usfirst.org/community/frc/). Da qui, oltre 40.000 studenti hanno libero accesso ad un programma di sostegno unico nel suo genere: i LabVIEW virtual mentor, volontari professionisti di varia natura, ma soprattutto programmatori LabVIEW, possono mettere a disposizione dei ragazzi le proprie conoscenze e supportarli nel loro percorso di apprendimento delle nozioni di base necessarie per la realizzazione di un robot perfettamente funzionante ed accedere alla competizione più dinamiche ed emozionanti del mondo. Readerser vice.it n. 863 A cura di Nadia Albarello CAPITOLO SECONDO 43 A P P U N TA M E N T I 08 Come sempre, vi segnaliamo i prossimi corsi di formazione di LabVIEW e i principali eventi internazionali che vedranno la partecipazione di National Instruments CORSI DI LABVIEW LABVIEW BASE 1: INTRODUZIONE APPUNTAMENTI NATIONAL INSTRUMENTS Milano: 19-21 gennaio FOCUS EMBEDDED Roma: 2-4 febbraio Genova: 27 novembre Padova: 10-12 febbraio Roma: 2 dicembre 2009 LABVIEW BASE 2: SVILUPPO MC4-MOTION CONTROL FOR Milano: 22-23 gennaio febbraio 2009 Roma: 5-6 febbraio Padova: 26-27 febbraio LABVIEW INTERMEDIATE I Milano 9-11 febbraio Padova: 10-12 marzo SPS/IPC/DRIVES Norimberga: 24-27 novembre ELECTRONICA Monaco: 11-14 novembre LABVIEW INTERMEDIATE II Milano: 12-13 febbraio VISION Stoccarda: 4-6 novembre LABVIEW DAQ Milano: 28-30 gennaio NIDAYS 09 FRANCE Roma: 2-4 marzo Parigi: Padova: 10-13 marzo LABVIEW E COMPACTRIO Milano: 18-20 febbraio LABWINDOWS/CVI Milano: 2-4 febbraio TESTSTAND I Milano: 30-31 marzo CORSO LABVIEW SULLA VISIONE ARTIFICIALE ED ELABORAZIONE DELL’IMMAGINE Milano: Milano: 19-20 marzo Verificate il calendario aggiornato alla pagina web ni.com/training/i NIDAYS 09 SPAIN Barcellona: 12 marzo 2009 Bilbao: 17 marzo 2009 Verificate il calendario aggiornato degli eventi National Instruments alla pagina web ni.com/italy/eventi NOVITÀ! CORSO BASE: LA MISURA CON IL SUPPORTO DEL PERSONAL COMPUTER Milano: Padova: 16, 17 novembre 18 febbraio CORSO SPECIALISTICO: MISURE ELETTRICHE Milano: Padova: 18 novembre 19 febbraio CORSO SPECIALISTICO: MISURE TERMODINAMICHE Milano: Padova: 44 25 febbraio 2009 2-4 marzo TESTSTAND II Milano: NIDAYS 09 (NI.COM/ITALY/NYDAYS) 25-27 marzo LABVIEW REAL-TIME Milano: 3-4 febbraio 2009 19 novembre 20 febbraio AAA L A B V I E W E L AVO R O 08 Conoscete bene LabVIEW? Date un’occhiata alle offerte di lavoro che abbiamo selezionato da ILVG.it… RICERCHIAMO TESTING ENGINEER Intecs Informatica e Tecnologia del Software SpA, nata nel 1974, opera nel mercato dei sistemi tecnologicamente all'avanguardia. Progetta e realizza sistemi elettronici complessi per le maggiori organizzazioni europee nei mercati Difesa, Spazio e Civile. Intecs è all'avanguardia nel mercato del software, dove innovazione e qualità sono essenziali per determinare il successo dell'azienda. Intecs è una PMI privata italiana con circa 350 dipendenti. La sede centrale è a Roma ed altre sedi operative sono presenti a Pisa, Napoli, Milano, Torino e Tolosa (Francia). Più dell'80% dei dipendenti possiede una laurea in Ingegneria, Informatica o altre discipline scientifiche. Intecs è stata una delle prime aziende di software in Italia ad ottenere nel 1994 la certificazione UNI EN ISO-9001 . La certificazione UNI EN ISO-9001 è stata rinnovata nel Giugno 2005 sotto la denominazione UNI EN ISO9001:2000. Nel Giugno 2005 ha ottenuto la certificazione al Livello 3 del Capability Maturity Model ® (CMM ®) del Carnegie Mellon Software Engineering Institute (SEI). Intecs ricerca per la Divisione Automotive un/una Testing Engineer Settore Automotive con buona conoscenza dell'ambiente LabVIEW, PXI National Instruments e segnali Bus CAN per attività di SW/System Test mediante l'uso di banchi di test National Instruments. Requisiti: • Laurea in Ingegneria Elettronica/Infor matica/Telecomunicazioni o cultura equivalente • Buona conoscenza dell’ambiente LabVIEW; • Buona conoscenza ed utilizzo del Bus CAN in ambiente LabVIEW; • Almeno 2 anni di esperienza di acquisizione e pilotaggio di segnali su Bus CAN veicolo, di pilotaggio e acquisizioni di sensori di forza, posizione, temperatura, etc. con PXI National Instruments Windows e Real Time nel settore automotive; • Preferibile certificazione NI Sviluppatore (CLD); • Conoscenza di altri tools di NI come TestStand /Switch Executive; • Conoscenza dell'ambiente Matlab/ ControlDesk e del Tool NI LabVIEW Simulation Interface Toolkit; • Preferibile residenza/domicilio a Bergamo o disponibilità al trasferimento. La ricerca riveste carattere di urgenza. Invitiamo inoltre I/Le candidati/e interessati/e ad inserire il proprio curriculum vitae e a compilare il form che si trova sul ns. sito www.intecs.it alla sezione Job. Nota: Contratto e retribuzione saranno commisurati all'effettiva esperienza maturata Sede di lavoro: Stezzano (BG). Rif. TestBG_Stepstone www.stepstone.it Costituiranno titolo di preferenza: • la conoscenza delle logiche di programmazione software LabVIEW/CVI/sistemi real time/Visual C/ C++; • la conoscenza delle logiche di programmazione firmware e dei relativi linguaggi; • brevi esperienze pregresse con ruoli tecnico-trasversali. L’azienda offre un contratto a tempo indeterminato, nonché un ambiente stimolante e confrontativi, con ottime opportunità di crescita professionale. Sede di lavoro: Cernusco sul Naviglio (MI) Gli interessati possono inviare CV al seguente indirizzo mail: [email protected] o via fax allo 02/20402953 specificando il RIF. EDJ. I dati saranno trattati secondo la legge 196/03 www.consulemme.com PROGRAMMATORI LABVIEW MILANO INGEGNERE ELETTRONICO JUNIOR Per nostro cliente, azienda leader nella produzione di macchine di alto contenuto tecnico, ricerchiamo INGEGNERE ELETTRONICO JUNIOR La persona andrà a far parte del team Sviluppo Prodotto riportando al relativo responsabile. Sarà impegnato nella gestione delle problematiche elettroniche applicate alle macchine: hardware, firmware e software; parteciperà direttamente e operativamente allo sviluppo delle tecnologie elettroniche e a quello delle macchine (supporto all’esecuzione delle prove, formalizzazione degli stati di avanzamento, validazione prototipi). Il candidato ideale ha i seguenti requisiti: Laurea in Ingegneria Elettronica; esperienza specifica nel campo dell’elettronica applicata alle macchine. Intecs ricerca per la sede di Milano programmatori LabVIEW per progetti in ambito Avionica/Spazio Conoscenze richieste: • Laurea in Informatica o Ingegneria Informatica/Elettronica o cultura equivalente; • Buona conoscenza di LabVIEW; • Buona conoscenza di LabWindows/CVI di National Instruments; • Esperienza comprovata e continuativa di almeno 2 anni nella programmazione in LabVIEW La tipologia contrattuale e la retribuzione saranno commisurate all'effettiva esperienza maturata dal candidato. Invitiamo inoltre I/Le candidati/e interessati/e ad inserire il proprio curriculum vitae e a compilare il form che si trova sul ns. sito www.intecs.it alla sezione Job. Luogo di lavoro: Milano e Hinterland Data segnalazione: 20/10/2008 www.iprogrammatori.it/lavoro 45 L A B V I E W E L AVO R O 08 INGEGNERE ELETTRONICO Gi Group S.p.A., Agenzia per il Lavoro (Aut. Min. 26/11/04 Prot. N°1101-SG), ricerca per note aziende settore metalmeccanico di Ala/Rovereto INGEGNERE ELETTRONICO/ INFORMATICO PER PROGRAMMAZIONE MACCHINE INDUSTRIALI Requisiti: Laurea in ingegneria elettronica/ informatica, precedente e referenziata esperienza nella programmazione di PLC per macchine ed impianti industriali, buona conoscenza ambienti CAD: LabVIEW, ORCAD, INVENTOR; conoscenza linguaggi di programmazione C++, ANSI C, VISUAL STUDIO. Richiesta disponibilità ad eventuali trasferte estere e buona conoscenza lingua inglese. La ricerca è rivolta ad entrambi i sessi (L.125/91) Gli interessati possono inviare la propria candidatura a: Gi Group S.p.A. (Aut. Min. 26/11/04 Prot. N°1101-SG) Via Paoli 20/a, Rovereto 38068. Tel. 0464.437767 E-mail: [email protected] autorizzando al trattamento dei dati personali ai sensi del D.Lgs. 196/2003. I dati forniti dai candidati saranno utilizzati per questa o altre selezioni. Si pregano gli interessati - prima di inviare le candidature- di consultare l'informativa sulla privacy (art. 13 e 7 D.lgs 196/2003) presente sul sito www.gigroup.it Zona: Rovereto/ Ala. www.lavoroeformazione.it PROGRAMMATORE LABVIEW Openjob SpA è un’Agenzia per il Lavoro, attiva sul mercato italiano dal 2001, che può contare su quasi 400 dipendenti diretti ed è presente sul territorio nazionale con 80 filiali che forniscono lavoro, ogni mese, a più di 8.000 persone. Le aziende e i lavoratori si rivolgono a noi perché trovano nel 46 Gruppo Openjob flessibilità, organizzazione, affidabilità e continuità di soluzioni. Il fatturato complessivo del Gruppo Openjob ha raggiunto, nel 2007, i 203 milioni di euro. Dal 2008, tutte le agenzie per il lavoro facenti parte del Gruppo (In Time, Pianeta Lavoro e QuandoccoRre) rispondono al solo nome di Openjob. Importante azienda specializzata nella realizzazione e nella progettazione di sistemi elettronici avanzati per i più diversi settori dell’ingegneria elettronica, sta ricercando un programmatore software. Il candidato ideale è un giovane laureato in elettronica con conoscenza approfondita del linguaggio grafico LabVIEW. Dovrà avere una buona conoscenza della lingua inglese o dell’inglese tecnico e un’ottima preparazione matematica. Sarà inserito all’interno dell’ufficio tecnico ricerca e sviluppo occupandosi dei vari progetti in corso e dello sviluppo degli stessi. L’azienda si trova nei pressi di Rubano – Padova Ovest. Data di pubblicazione: 16/10/2008 Città: PADOVA OVEST Studi minimi: Laurea breve (3 anni) Esperienza minima: 1 anno www.infojobs.it TEST ENGINEER SETTORE AERONAUTICO Randstad Italia S.p.A. cerca, per conto di azienda settore aeronautico TEST ENGINEER. Tale figura sarà responsabile di definire e validare delle conformità attraverso test specifici del settore, eseguire prove e simulazioni anche riguardo i guasti ed il corretto funzionamento delle strutture realizzate. Si richiede: laurea in ingegneria aeronautica o meccanica, esperienza di almeno un anno in laboratori con l'utilizzo della strumentazione annessa, conoscenza di acquisizione dati, sensoristica ed elettronica, conoscenza di linguaggi di programmazio- ne quali LabVIEW, Visual basic, Cad 2D e 3D, buona conoscenza della lingua inglese. Le persone interessate possono inoltrare il proprio curriculum vitae, comprensivo di autorizzazione al trattamento dei dati, all'indirizzo [email protected] specificando nell'oggetto il numero di riferimento: NA/T.E. Zona di lavoro: Nola www.stepstone.it TEST ENGINEER CON ESPERIENZA METIS S.p.A. è una società specializzata in Ricerca, Selezione e Amministrazione di risorse umane. METIS S.p.A. filiale di Caserta ricerca per azienda cliente specializzata negli interiors in ambito aeronautico e navale un Test Engineer. Il profilo ricercato sarà alle dirette dipendenze del Responsabile di Laboratorio e si occuperà di: pianificare ed eseguire prove funzionali, di simulazione guasti e in condizioni di utilizzo simulato, usando metodologie e strumenti in conformità ai Test Plan applicabili; gestire la documentazione delle prove e dei test report; garantire la manutenzione dei macchinari e della strumentazione in dotazione al laboratorio. Si richiede laurea in Ingegneria Aerospaziale/ Meccanica, un’esperienza di almeno un anno di Laboratorio con uso diretto della strumentazione, la conoscenza dei seguenti linguaggi di programmazione: LabVIEW, Visual Basic (Excel VBA), disegno CAD 2D e 3D e ottime attitudini al lavoro in team. Conoscenze richieste possibile proroga alle dirette dipendenze dell’azienda cliente. Sede di lavoro: provincia di Napoli. Tipo di contratto: Assunzione a tempo determinato Data di pubblicazione: 14/10/2008 www.cliccalavoro.it L A B V I E W E L AVO R O TEST ENGINEERS Our client is looking for a Test Engineer to be responsible for developing and implementing various methods of testing systems and equipment. Skill Required: a degree in Engineering or Computer Science (preferably M.Sc.); experience with serial-mass production and mechanical structures. good analytical and problem solving skills; knowledge of test methodology, planning and execution; production tests; making testing equipment for production tests; automatic reading/tests with i.e. LabVIEW; programming in LabVIEW and preferably also C++ and C#. Contact [email protected] Country: Denmark Sector IT and Telecommunications Ref. DKIT25948 Data di pubblicazione: 21/10/2008 www.chronosconsulting.com INSIDE SALES ENGINEER Inserito in un contesto giovane e dinamico, riporterà direttamente al’Area Manager. Avrà la responsabilità di gestire l’attività di offerta dei prodotti, dal ricevimento della richiesta, all’analisi tecnica delle spefiche fino all’elaborazione della quotazione da presentare al Cliente Gestirà il rapporto con i Clienti, fornendo il supporto tecnico necessario e rispondendo alle specifiche esigenze oltre a valutare e sviluppare nuove opportunità di mercato. Il candidato lavorerà per obiettivi in relazione alle zone geografiche assegnate. Requisiti: Il candidato ideale è in possesso di una Laurea Tecnica, di II livello, è fortemente orientata al risultato e realmente motivata, ha ottime capacità relazionali unite ad affermate doti commerciali, propensione al lavoro di team ed al contatto telefonico. Gradita conoscenza di NI LabVIEW. La conoscenza della lingua inglese completa il profilo. Qualora il profilo sopra indicato corrisponda alla sua figura e sia di suo interesse, la invitiamo a presentare il suo CV autorizzando il trattamento dei propri dati personali (Dlgs. 196/2003) e indicando il riferimento di cui sopra, direttamente a: [email protected] (Rif. ISE LW) • Problem-solve effectively; enjoy solving problems • Leadership qualities gaining respect of others, having an entrepreneurial spirit, seen as a leader by others • T.O.E.F.L. Certified - Communicate clearly and concisely in English, so that persons and customers you work with can understand you clearly, particularly when in technical conversations. [email protected] (Rif. AE LW) APPLICATIONS ENGINEER The National Instruments Applications Engineering (AE) Department is looking for new engineering college graduates with strong leadership qualities who are interested in developing their careers in the areas of Technical Sales, System Engineering product support and project management, and Technical Marketing. Core Job Responsibilities • Will interface between National Instruments and our customers to find creative and timely solutions to customers' technical issues as well as work on a variety of technical projects. • Will work cooperatively with many departments at NI, including R&D, Sales, Marketing, and Manufacturing. • Will participate in formal training programs designed in preparation for a career at National Instruments Requisiti: • Bachelor of Technical Engineering (5Y) • Domiciled in Milan • Strong customer service attitude, work ethic and drive to succeed • Solid understanding of electronics, computers, and high-level programming languages (C, C++, LabVIEW) • Interest and skilled in writing on technical subject matter • Ability to take initiative and own tasks and projects SENIOR SOFTWARE ENGINEER Società di Engineering, leader nel settore di automazione di laboratorio, operante in Italia ed all’estero, ricerca per la sede di Milano (Segrate) SENIOR SOFTWARE ENGINEER Laureato in discipline tecniche o cultura equivalente con almeno 3-5 anni di esperienza. Requisiti: • Ottima conoscenza del linguaggio LabVIEW; • Conoscenza linguaggio SQL; • Conoscenza nella progettazione di base dati; I requisiti aggiuntivi preferenziali sono: • Conoscenza dei linguaggi ad oggetti (Java, C++); • Conoscenza del linguaggio C; • Precedente esperienza di programmazione di microcontrollori; • Esperienza nello sviluppo di applicazioni utilizzanti comunicazione mediante socket, TCP-IP, UDP; La buona conoscenza della lingua inglese, subordinatamente francese, la padronanza dei principali pacchetti applicativi in area Windows, l’elevato spirito di team-working e la disponibilità a breve termine, completano i profili e le richieste. 47 INFORMATIVA AI SENSI DEL CODICE IN MATERIA DI PROTEZIONE DEI DATI PERSONALI LA VOCE DEGLI UTENTI 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 Edizioni Fiera Milano 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, Edizioni Fiera Milano 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 Edizioni Fiera Milano 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 Edizioni Fiera Milano 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, Edizioni Fiera Milano 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.edizionifieramilano.it Sede Operativa - Viale Espinasse 141, 20156 Milano tel. +39 02 366092.1 fax +39 02 366092.525 Direzione Sergio Maggioni Presidente Costante Casali Amministratore Delegato Alberto Taddei Publisher Comitato di redazione Nadia Albarello, Matteo Bambini, Matteo Foini, Alessandro Ricco Redazione Alberto Taddei Direttore Responsabile - [email protected] Valerio Alessandroni Direttore Tecnico • [email protected] Alessandra Pelliconi Segreteria - tel: 02 366092.527 [email protected] Collaboratori: Nicola Bavarone, Michele Corrà, Massimo Lorenzi, Marco Luciani, Enzo Nava, Alessandro Ricco, Emanuele Stucchi, Franco Trespidi, Halvor Snellingen Grafica e produzione Bimage.it Progetto grafico e Impaginazione Franco Tedeschi Coordinamento grafici - [email protected] Alberto Decari Coordinamento DTP - [email protected] Grafiche Sima Ciserano - BG - Stampa Pubblicità Giuseppe De Gasperis Sales Manager [email protected] - tel. 02366092 523 - fax: 02 366092 524 Agenti Italia: PIEMONTE, LIGURIA, VALLE D'AOSTA • R. Romeo/Publikappa • tel: 011-723406 • fax: 011-723.406 • cell 335-5304196 VENETO, TRENTINO ALTO ADIGE, FRIULI VENEZIA GIULIA • Idelfonso Elburgo • tel: 049-8642.988 • fax: 049-8642989 • cell 328-8855203 International Sales U.K.-SCANDINAVIA - OLANDA - BELGIO The Huson European Media • Gerry Rhoades-Brown • tel: +44-1932-564999 • fax: +44-1932-564998 SWITZERLAND: Iff media ag • Carla Widmer • tel: +41-52-6330888 • fax: +41-52-6330899 GERMANIA e AUSTRIA: Mediaagentur • Adela Ploner • tel: +49-8131-3669920 • fax: +49-8131-3669929 USA: Huson European Media Usa • Ralph S. Lockwood • tel: +1-408-8796666 • fax: +1-408-8796669 TAIWAN: Worldwide Services • Stuart Phillips-Laurie • tel: +886-4-2325-1784 • fax: +886-4-2325-2967 Abbonamenti N. di conto corrente postale per sottoscrizione abbonamenti: 48199749 intestato a:Edizioni Fiera Milano SpA, Via Salvatore Rosa 14, 20156 Milano. Si accettano pagamenti anche con le principali carte di credito. Per gli utenti Developer Suite e standard Service Program di National Instruments è già incluso l’abbonamento alla rivista Abbonamento annuale (4 numeri): E 20,00 Abbonamento per l'estero (4 numeri) E 40,00 Prezzo della rivista: E 5,00 - Arretrati: E 10,00 Testata associata • Associazione Nazionale Editoria Periodica Specializzata Edizioni Fiera Milano è iscritta al Registro Operatori della Comunicazione n° 11125 del 25/07/2003. Autorizzazione alla pubblicazione del tribunale di Milano n° 754 del 11/12/2006. Tutti i diritti di riproduzione degli articoli pubblicati sono riservati. Manoscritti, disegni e fotografie non si restituiscono. LabVIEW World ha frequenza trimestrale, per un totale di 4 numeri all'anno. Tiratura del presente numero: 3.000 copie. readerservice.it n.21169 Progettazione Embedded. Più semplice di così... Strumenti tradizionali di progettazione di sistemi Piattaforma di progettazione grafica di sistemi Preparati ad affrontare il mercato più velocemente con la progettazione grafica di sistemi, un approccio che integra software grafico aperto e hardware commerciale e che ti permette di progettare in modo iterativo e di implementare semplicemente e velocemente il tuo progetto sulla piattaforma embedded di National Instruments. Il sistema NI CompactRIO ti offre una piattaforma ideale per la prototipazione e la produzione in serie grazie a microcontrollore integrato, RTOS, FPGA programmabile, condizionamento di segnale integrato, I/O modulari e un’integrazione completa con l’intuitivo software NI LabVIEW. readerservice.it n.22313 >> Scopri come semplificare la tua progettazione embedded alla pagina web ni.com/embedded/i NATIONAL INSTRUMENTS ITALY S.r.l. I Via Anna Kuliscioff, 22 I 20152 Milano I Tel.: 02-413091 I Fax: 02-41309215 I P.IVA/C.F.: 09777310153 CCIAA Milano 1317488 I Iscr. Trib. Milano 296073/7502/23 I S.r.l. ©2008 National Instruments. Tutti i diritti riservati. CompactRIO, LabVIEW, National Instruments, NI e ni.com sono marchi commerciali di National Instruments. Altri prodotti e nomi aziendali citati sono marchi commerciali delle rispettive aziende. 2008-10121-821-122 02 41.309.1
Documenti analoghi
GOES INDUSTRIAL CREAZIONE E DISTRIBUZIONE
UN INVITO A ESPRIMERSI RIVOLTO
ALLA COMUNITÀ LABVIEW WORLD
IWeek 2008: con un incremento del 23% rispetto all'edizione precedente, quest'anno è
stato toccato un nuovo record di visitatori registrat...
13 - LabView World
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, Micro...