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

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

Dettagli

13 - LabView World

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

Dettagli