Demo #1: Measurement and Automation Explorer

Seminario Pratico di LabVIEW
per l’Acquisizione Dati
NOTA: per mantenere dei riferimenti comuni nello svolgimento degli
esercizi che seguono, è consigliato copiare le cartelle Esercizi e Soluzioni
sul desktop.
Page 1 of 61
Esercizio 1a: Configurazione Hardware (MAX)
Obiettivo
Parte A


Connettere il tuo CompactDAQ al PC
Usare Measurement & Automation Explorer per configurare il tuo hardware e
verificare la connessione dei segnali
Connessione e Setup Hardware
L’hardware che avete di fronte include moduli di misura differenti per darvi la
possibilità di apprendere i vantaggi apportati dai sistemi di acquisizione dati
moudulari.
Creeremo semplici applicazioni per acquisizioni di tensione analogica, digital input,
accelerazione, estensione, temperatura così come generazioni di segnali digitali ed
analogici.
1. Verificare che lo chassis è connesso al tuo pc attraverso il cavo d’interfaccia USB
e che entrambi siano connessi all’alimentazione. Il LED verde di Power e quello
arancione dovebbero lampeggiare prima di utilizzare il Compact DAQ con il
software.
2. Assicurarsi che tutti i moduli sono correttamente inseriti nello chassis e se qualche
cavo vi sembra non collegato avvisate il vostro istruttore.
Parte B
Configurazione Software
Similmente al Windows Device Manager, il quale gestisce tutte le periferiche connesse
al vostro PC, così MAX gestisce tutto il software e hardware di NI che avete installato.
In questo esercizio vedrai le principali caratteristiche di MAX: la voce Software e la
voce Devices and Interfaces.
1. Aprire MAX con un doppio click sull’icona presente sul Desktop oppure andate
alla voce Start » All Programs » National Instruments » Measurement &
Automation Explorer.
Note: In questa finestra avete accesso a due sistemi: i sistemi installati localmente che
trovate sotto la voce My System, e i sistemi remoti connessi alla vostra rete come ad
esempio NI CompactRIO (Lo utilizzerete nella sessione pomeridiana) o i sistemi PXI
Real-Time.
Page 2 of 61
1. Dopo aver lanciato MAX, espandete la voce My System » Devices and
Interfaces per riconoscere l’hardware connesso al vostro PC in locale.
Espandere il menu cDAQ-9178 per visualizzare i moduli connessi allo chassis
2. Espandendo la voce My System» Software è possibile osservare il software
installato e le versioni dei driver NI installati sul vostro pc.
Noterai le voci LabVIEW e NI-DAQmx. La prima indica l’ambiente di sviluppo che
useremo durante questo seminario e la seconda è il driver che consente al PC di
comunicare con l’hardware.
Page 3 of 61
3. Per testare la connettività dello chassis NI CompactDAQ cliccare con il tasto
destro del mouse sulla voce cDAQ-9178 e selezionare la voce Self-Test.
Se il tuo chassis è propriamente connesso al tuo PC, otterrai questo messaggio:
4. Per verificare la connessioni dello chassis NI CompactDAQ useremo il Pannello di
Test. Come esempio controllremo la connessione di segnale sul modulo per
termocoppie 9211.
a. Tasto Destro su NI 9211 e selezionare Test Panels…:
Page 4 of 61
b. Selezionando il Pannello di Test abbiamo aperto una semplice utility per
controllare i segnali connessi sui canali del modulo. Quado premi Start dovresti
osservare un segnale come nella seguente finestra.
c. Scaldare la termocoppia con la mano per osservare un aumento di temperatura.
d. Quanto hai finito il tuo test chiudere il Pannello cliccando sul pulsante Close.
Page 5 of 61
5. E’ possibile inoltre rinominare i moduli e richiamarli vedremo in maniera univoca
in LabVIEW
a. Per rinominare i moduli click con Tasto Destro sul modulo e selezionare
Rename
b. E’ possibile rinominare i moduli come nella figura seguente:
Page 6 of 61
Esercizio 1: Creazione di un VI per la simulazione
di segnali
Descrizione dell’esercizio
Obiettivo
In questo esercizio, realizzeremo un semplice VI che simula un segnale analogico e lo visualizza
in un grafico waveform.
Risultati
Al termine dell’esercizio saremo in grado di:
 Utilizzare controlli/indicatori del Pannello Frontale.
 Eseguire codice in esecuzione continua in LabVIEW.

Simulare l’acquisizione di segnali.
Istruzioni
1. Apriamo LabVIEW 2013 e selezioniamo la voce File » New VI
Page 7 of 61
2. Premi <Ctrl+T> per affiancare Diagramma a Blocchi e Pannello Frontale
3. Salvare questo VI nella cartella Esercizi\Esercizio 1\ selezionando la voce File » Save e
nominarlo Simulate Signal to Graph.vi.
4. Cliccare con il pulsante destro del mouse su qualsiasi spazio vuoto nello schema a blocchi
(finestra con sfondo bianco) per aprire la palette Functions e quindi selezionare la sottopaletta
Programming »Structure» While Loop. Cliccate col tasto sinistro sulla voce While Loop e
create ora un riquado nel diagramma a blocchi .
Page 8 of 61
Fare clic e disegnate un riquadro sul diagramma a blocchi per formare il ciclo while nella porzione di
diagramma che si desidera. È possibile ridimensionare il Ciclo While posizionando il cursore del
mouse sopra i bordi del loop.
È inoltre possibile creare un loop While premendo <Ctrl+Space> per aprire la finestra di dialogo
Quick Drop. Iniziare a digitare "While Loop" e apparirà nella lista dei possibili oggetti. Fare doppio
clic sul suo nome e apparirà il ciclo while sul vostro cursore esattamente come al punto 5.
5. I cicli while presentano due terminali nei loro angoli inferiori sinistro e destro.
Sul lato inferiore sinistro si trova il terminale d’iterazione, che fornisce il numero d’iterazione attuale
utilizzabile all’interno del ciclo stesso.
Sul lato inferiore destro, invece, si trova il terminale condizionale, il quale si presenta come un
Page 9 of 61
segnale di stop di default. Il ciclo fermerà la sua esecuzione quando su questo terminale giungerà un
valore booleano TRUE (Vero).
Osservate nell'angolo in alto a sinistra dello schermo la freccia di run
spezzata.
Questo indica che in LabVIEW non è possibile eseguire un’applicazione che contiene un ciclo while
con il terminale condizionale non connesso .
Per la nostra applicazione, abbiamo bisogno di creare un pulsante di arresto, che l'utente dovrà
premere per fermare il Ciclo While e uscire dal programma.
6. Sul pannello frontale (finestra con sfondo grigio), cliccare con il pulsannte destro su uno spazio
vuoto per aprire la palette Controls e selezionare Silver » Boolean » Stop Button. Cliccate col
tasto sinistro sul pulsante Stop per selezionarlo.
LabVIEW contiene decine di elementi da utilizzare per la creazione di interfaccia grafica
7. Click sinistro del mouse dove si desidera posizionare il pulsante sul pannello frontale. Se si
preferisce, è possibile ridimensionare il pulsante Stop posizionandosi e trascinando uno dei bordi
del pulsante.
8. Osservando ora lo schema a blocchi, si può notare che un terminale per il pulsante di arresto è
apparso. Questo terminale funge da connettore tra il controllo sul pannello frontale alla
funzionalità dello schema a blocchi. Fare clic sul pulsante di stop e trascinarlo accanto al
terminale condizione del ciclo ( ) while.
Page 10 of 61
9. Spostare il cursore sul bordo destro del terminale pulsante stop notando che il bordo del
terminale lampeggia e il cursore ora sembra un rocchetto. Questo è lo strumento di cablaggio che
permette di tracciare i fili tra i diversi oggetti sullo schema a blocchi.
10. Click sinistro sul bordo destro del pulsante per tracciare un filo che terminerà con un altro click
una volta collegato al terminale condizionale del ciclo (come in figura)
Il filo trasporta l’informazione tra il pulsante Stop e il terminale condizionale
E’ stata così definita la condizione di uscita dal ciclo, la freccia di Run risulta ora piena e non
spezzata ( ) . L'applicazione attualmente non esegue nessun codice, ma avrete bisogno di
aggiungere all’interno del ciclo codice che sarà eseguito iterativamente.
11. Premere <Ctrl+Spazio> per aprire la finestra di dialogo Quick Drop e digitare "Simulate
Signal." Fare doppio click sulla voce Simulate Signal una volta che apparirà nella finestra Quick
Drop, così il VI Simulate Signal Express.vi apparirà automaticamente sul vostro cursore.
Quick Drop indicizza le funzioni di LabVIEW per una ricerca rapida
12. Clic sinistro del mouse per posizionare il Simulate Signal Express VI all'interno del Ciclo While,
successivamente una finestra di configurazione apparirà in maniera automatica.
Page 11 of 61
Tutti gli Express VIs presentano una finestra di configurazione
13. Per simulare segnali differenti provare a cambiare il tipo di segnale, i valori di ampiezza,
frequenza, offset, e la fase del segnale nella parte Signal della finestra di dialogo e visualizzare
le modifiche nella parte Result Preview.
14. Deselezionare la voce Use signal type name in basso a destra ed inserite il nome Simulated
Signal come nome per il vostro segnale.
15. Una volta scelto il segnale che si desidera visualizzare, quindi premere OK. Il Simulate Signal
Express VI è stato personalizzato in base alle impostazioni che hai fornito.
16. Spostarsti sul Pannello Frontale e usare la combinazione di tasti <Ctrl+Space> per rilanciare il
Quick Drop.
17. Digitare la parola chart. Doppio click sull’indicatore Waveform Chart (Silver).
18. Piazzare l’indicatore Waveform Chart (Silver) sul pannello frontale nella posizione che più
preferisci.
Page 12 of 61
19. Sul diagramma a blocchi selezionare il terminale in blu Waveform Chart e posizionarlo alla
destra del VI Simulate Signal.VI.
20. Utilizzare un filo per collegare l'uscita del segnale Simulate Express VI ("Simulated Signal") al
terminale Waveform Chart .
Si capirà a breve che i terminali grafici cambiano colore a seconda del tipo di dati ricevuto.
Il segnale simulato sarà pubblicato ad ogni iterazione sull’indicatore Waveform Chart
21. Visualizzate il pannello frontale ed eseguite il VI premendo la freccia Run. Il segnale simulato
creato nel VI Express è ora visualizzato sul grafico. Premere il pulsante Stop quando si vuole
arrestare il programma.
22. Clic con il pulsante destro del mouse su uno spazio vuoto sul pannello frontale per aprire la
paletta Controls, trovate la manopola di comando (Silver » Numeric » Knob (Silver)) e
posizionatela sul pannello frontale. Fare doppio clic sull'etichetta della manopola per cambiare il
nome in Amplitude.
23. Ripetere il passaggio 22 per creare un altro controllo Knob. Cambia ora la sua etichetta in
frequenza. Fare doppio clic sul valore massimo sulla scala (predefinito = 10) e modificarlo con
valore pari a 50.
Page 13 of 61
Pannello frontale con controlli Knobs
24. Nello schema a blocchi, spostare ora i due controlli “Amplitude” e “Frequency” all'interno del
ciclo While.
25. Collegare i due controlli agli ingressi Amplitude e Frequency della funzione Simulated Signal.VI
come in figura.
E’ possible ora cambiare programmaticamente Ampiezza e frequenza del segnale
26. Premere la freccia Run, cambiate il valore di Amplitude and Frequency per notare
conseguentemente l’effeto sul grafico. Sull'asse Y del grafico è abilitata l’opzione auto-scala per
massimizzare le dimensioni del segnale sul display. Per disabilitare questa funzione, fare clic
destro sul l grafico e deseleziona AutoScale Y.
Page 14 of 61
È ora possibile modificare il limite superiore e inferiore dell'asse Y cliccando sui numeri lungo l'asse
e digitando nuovi valori.
27. Arresta il programma premendo il pulsante Stop.
Passaggi Aggiuntivi
LabVIEW offre diversi strumenti che possono aiutare a fare debug della tua applicazione. I passi
successivi mostreranno come utilizzare alcuni degli strumenti di debug di LabVIEW più importanti
Block Diagram Cleanup
Quando si inizia a programmare in LabVIEW, non sempre si pensa a scrivere un codice leggibile e
mantenibile nel tempo. Questo si tramuta nella creazione di diagramma a blocchi poco organizzati.
LabVIEW’s Block Diagram Cleanup è uno strumento automatico di riordino del tuo codice per
migliorare la la leggibilità del tuo codice.
28. Premere l’icona Block Diagram Cleanup sulla barra menu come in figura.
Block Diagram Cleanup automaticamente riordinerà il codice del diagramma a blocchi
Page 15 of 61
Il diagramma a blocchi ora dovrebbe essere meglio organizzato, con fili cablati nella maniera
ottimale e una distribuzione spaziale di oggetti nel diagramma a blocchi uniforme.
Highlight Execution
28. Premere il pulsante Highlight Execution sulla barra menu. Si noti come la lampadina contenuta
nell’icona è ora accesa.
Highlight Execution rallenta l’esecuzione del codice per visualizzare il flusso dei dati
29. Lancia ora la tua applicazione con l’opzione Highlight Execution abilitata. Premere il tasto Run
ed osservare come i dati passano attraverso i fili del tuo codice.
Highlight Execution è uno strumento potente per osservare e capire se il codice si comporta
come ci si aspetta.
Context Help
30. Premere sull’icona punto di domanda in alto a destra per abilitare il Context Help
Context Help è un Help Contestuale
31. Con il Context Help attivo, posizionando il cursore del mouse sui differenti oggetti presenti nel
diagramma a blocchi e sul pannello frontale del tuo programma Simulate Signal to Graph.vi,
osserverai le varie descrizioni funzionali degli stessi.
Page 16 of 61
Context Help è un modo veloce per ottenere una panoramica sul funzionamento di un VI.
32. Click destro sul diagramma a blocchi, navigando all’interno della paletta delle funzioni notate
come il Context Help fornisce informazioni sulle funzioni contenute all’interno.
Notate inoltre come per alcuni oggetti la finestra del Context Help fornisce un link all’Help
dettagliato Detailed Help. Questo link aprirà l’Help di LabVIEW per ottenere maggiori
informazioni dettagliate sulla funzione selezionata.
33. Salvare - Simulate Signal to Graph.vi e chiuderlo.
Fine dell'esercizio 1
Page 17 of 61
Esercizio 2a: Acquisizione dati con NI LabVIEW
Descrizione dell’esercizio
Obiettivo
Il primo obiettivo di questo esercizio è imparare ad acquisire un set di dati di temperatura
utilizzando l’Express VI DAQ Assistant.
Il secondo obiettivo è quello di analizzare i dati di temperatura acquisiti e generare un segnale di
uscita digitale se la temperatura supera un valore limite di soglia.
Il terzo obiettivo è la creazione di un file per il salvataggio dei dati acquisiti per successive analisi
e post-processing dei dati.
Risultati
Al termine dell’esercizio saremo in grado di:
 Utilizzare controlli/indicatori del Pannello Frontale.


Eseguire codice in esecuzione continua in LabVIEW.
Acquisire, analizzare e presentare segnali.
Configurazione hardware
In questo esercizio utilizzeremo lo chassis cDAQ-9178 con i seguenti moduli:
• NI 9211: Thermocouple analog input (Inserito nel secondo slot dello chassis)
• NI 9472: Digital Output Source (Inserito nel terzo slot dello chassis)
Istruzioni (Parte A)
1. Apriamo LabVIEW 2013 e selezioniamo la voce File » New VI
Page 18 of 61
2. Premi <Ctrl+T> per affiancare Diagramma a Blocchi e Pannello Frontale
3. Salvare questo VI nella cartella Esercizi\Esercizio 2\ selezionando la voce File » Save e
nominarlo Basic Measurement.vi
4. Aprire la paletta delle funzioni Functions Palette cliccando con il tasto destro sullo
spazio bianco sul diagramma a blocchi.
5. Selezionare la paletta Express » Input e cliccare su DAQ Assistant Express VI. Cliccate
con il tasto sinistro su uno spazio vuoto del diagramma a blocchi per posizionare il VI.
Page 19 of 61
Il VI DAQ Assistant è una funzione ad alto livello configurabile per poter acquisire dati
reali o simulare Hardware di acquisizione.
6. La finestra Create New… apparirà:
I task NI-DAQmx sono un gruppo di canali che presentano stesse caratteristiche di
temporizzazione e di trigger
7. Per configurare una misura di temperatura basata su termocoppia cliccate su Acquire
Signals » Analog Input » Temperature » Thermocouple.
Page 20 of 61
8. Cliccate
sul segno + accanto al
modulo nominato cDAQ1Mod2 (NI 9211) ed
evidenziate il canale ai0, e cliccate su Finish. Questo aggiunge un canale fisico al tuo
task di misura.
9. All’interno della finestra di configurazione cambiate la voce CJC Source in Built in e
Acquisition Mode in Continuous Samples.
10. Cambiate Samples to Read inserendo il valore 100.
11. Cambiate Rate (Hz) inserendo il valore 1k.
12. Cliccate sul pulsante Run. Dovresti visualizzare la lettura di temperatura proveniente
dalla termocoppia sul pannello di test.
13. Cliccate Stop e successivamente cliccate OK per chiudere la finestra di configurazione e
ritornare al diagramma a blocchi di LabVIEW.
14. LabVIEW automaticamente crea il codice per questo task di misura. Dato che abbiamo
selezionato la voce Continuous Samples measurement
Page 21 of 61
ha senso che il codice sia
inserito all’interno di un ciclo. LabVIEW ci informa di questo e premendo su Yes
automatiamente sarà creato un ciclo While.
LabVIEW notifica che può inserire il codice all’interno di un ciclo While.
15. Click destro sul terminale output che trovate alla destra del VI DAQ Assistant e
selezionate la voce Create » Graph Indicator.
16. Rinominare il nuovo indicatore Waveform Graph da Data in Temperature.
17. Notate che il corrispondente grafico è posizionato sul pannello frontale.
18. Il tuo diagramma a blocchi dovrebbe assomigliare a quello della figura seguente. Il ciclo
While automaticamente aggiunge un pulsante di Stop per permetterti di terminare
l’esecuzione del tuo ciclo.
Page 22 of 61
Applicazione finita per acquisire dati di temperatura
19. Sul pannello frontale cliccate sulla freccia di Run per eseguire il VI e testare la
funzionalità.
Premere Stop per terminare.
20. Salvare il VI e chiuderlo.
Istruzioni (Parte B)
Per poter generare un segnale digitale on-off relativo al superamento di una temperatura di soglia
da parte della temperatura misurata con il modulo NI9211 è necessario utilizzare il modulo
NI9472: Digital Output Source.
21. All’interno della cartella Esercizio 2 aprire Analysis and Output.vi.
Questo VI è
identico al VI appena creato ma è stato aggiunto dello spazio nel diagramma a blocchi
per aggiungere ulterior codice.
22. Cliccate con il tasto destro sul pannello frontale per aprire la paletta Controls palette.
Navigate nella sotto-paletta Controls » Silver » Numeric. Selezionate e posizionate un
controllo Numeric Control sul pannello frontale.
Page 23 of 61
23. Doppio click sull’etichetta del controllo numerico, rinominate il controllo con il nome
Alarm Level.
24. Passate ora al diagramma a blocchi, se il nuovo controllo Alarm Level non si trova dentro
al ciclo While trascinatelo all’interno come in figura.
Page 24 of 61
25. Premete
<Ctrl+Spazio>
per lanciare la finestra Quick Drop e digitate la parola
“Comparison” per cercare il VI Comparison Express VI.
26. Doppio-click su Comparison nella finestra con la lista dei risultati del Quick Drop e
posizionatelo all’interno del ciclo. Una volta posizionato, una finestra di dialogo come
quella in figura apparirà.
Finestra di configurazione di Comparison Express VI.
27. Selezionate l’opzione > Greater nella sezione Compare Condition, l’opzione Second
signal input dalla sezione Comparison Inputs e l'opzione One result per channel dalla
sezione Result. Cliccate su OK.
28. Connettete l'uscita del DAQ Assistant con l'ingresso Operand 1 del VI Comparison
Express VI e il controllo Alarm Level con l’ingresso Operand 2.
29. Il diagramma a blocchi risulta essere come in figura seguente:
Page 25 of 61
30. Sul pannello frontale, cliccate con il tasto destro del mouse e navigate nella paletta
cercando Controls » Silver » Boolean » LED (Silver).
Posizionate il LED e
ridimensionatelo per una maggiore visibilità.
31. Rinominate il LED in Alarm. Il tuo pannello frontale assomiglerà a questo:
32. Sul Diagramma a Blocchi connettere l’uscita Result del VI Comparison Express VI
all’indicatore Alarm.
Page 26 of 61
33. Mandate in esecuzione il programma e modificate il valore Alarm Level sopra e sotto il
valore di temperatura acquisita. Osservate il led acceso quando la temperatura acquisita è
al di sopra del valore di allarme.
34. Arrestate l’esecuzione del VI cliccando sul pulsante di Stop.
35. Tornate sul diagramma a blocchi. Cliccate con il tasto destro sulla paletta delle funzioni e
selezionate il VI DAQ Assistant Express VI da Functions » Express » Output.
Posizionatelo all’interno del ciclo While.
L’aggiunta di un altro DAQ Assistant permette il controllo del modulo digitale
Page 27 of 61
36. All’interno della finestra di dialogo Create New… selezionate Generate Signals »
Digital Output » Line Output
37. Cliccare sulla voce Line Output nella seguente finestra e selezionare la linea port0/line0,
e poi cliccare su Finish.
38. Pemere OK nella finestra che appare. Le impostazioni di default sono correte per la
nostra applicazione.
39. Collegare con un filo l’uscita Result del vi Comparison Express VI’s all’ingresso data
del nuovo DAQ Assistant2 Express VI.
Una funzione Convert from Dynamic Data dati viene visualizzata automaticamente. In questo
caso, l'uscita del confronto VI Express è un tipo di dato dinamico (contenente maggiori
informazioni rispetto al singolo valore booleano), mentre l'ingresso del DAQ Assistant è un
ingresso booleano. LabVIEW inserisce in automatico questa funzione di conversione tra i due
nodi in modo che possano essere collegati senza errore di sintassi. Il diagramma a blocchi
dovrebbe apparire come qui di seguito:
Page 28 of 61
40. Mandare in esecuzione il programma. Notare come il LED0 del banco di LED presenti
sul modulo NI9472 che lo stesso sulla Demobox Blu si illumina se la temperatura
acquisita supera il valore Alarm Level.
41. Salvate il VI.
Istruzioni (Parte C)
L’obiettivo di questo esercizio è il salvataggio dei dati acquisiti su file per sia eseguire un analisi di
post-processing in futuro, che condividere i dati con i colleghi o per creare dei report.
1. Analysis and Output.vi dovrebbe essere ancora aperto dal precedetne esercizio. Se così non
fosse, riapritelo dalla cartella Esercizi/Esercizio 2.
2. Tasto destro sul diagramma a blocchi e si selezioni Functions » File I/O » Write to
Measurement File. Posizionate sul diagramma a blocchi l’Express VI all’interno del ciclo sul
diagramma a blocchi.
LabVIEW include dozzine di opzioni per leggere e scrivere file.
Page 29 of 61
3. Una finestra di configurazione apparirà essendo un Express VI. Configurate il vi come nella
finestra mostrata di sotto, tenete in mente la destinazione di salvataggio del file. Quando
finito cliccate OK.
Questa configurazione salverà un file binario che può essere processato dai più comuni
software di post-elaborazione come NI DIAdem o Microsoft Excel.
4. Collegare l’uscita del DAQ Assistant Express VI all’ingresso di Write to Measurement File
Express.VI
5. Il tuo diagramma a blocchi dovrebbe assomigliare a quello della figura successiva:
Questa completa applicazione acquisisce dati di misura di temperatura, genera un segnale
digitale di uscita se la temperatura supera una soglia e salva tutti i dati su file.
Page 30 of 61
6. Lanciate il VI momentaneamente e premete il controllo di STOP sul VI.
7.
Il file sarà creato nella cartella specificata all’interno di Write to Measurement File Express
VI.
8. Navigare all’interno della cartella dove avete salvato il file.
9. Click con il tasto destro in Windows Explorer e selezionare With » Excel Importer per
aprirlo con Microsoft Excel. Osservate sia il tab relativo all’header del file che il tab relativo
ai dati salvati.
Dati relativi alla misura di temperatura savati su file attraverso l’applicazione LabVIEW
10. Chiudere il file e chiudere il VI.
Fine dell'esercizio 2
Page 31 of 61
Esercizio 3: Controllo esecuzione del programma
Descrizione dell’esercizio
Configurazione hardware
In quest’esercizio useremo lo chassis cDAQ-9178 con i seguenti moduli:

NI 9237: input analogico bridge simultaneo - primo slot

NI 9211: input analogico per termocoppie - secondo slot
Obiettivo
Rappresentare la temperatura acquisita attraverso una termocoppia o la deformazione misurata ai
capi di un estensimetro a seconda della posizione assunta da un interruttore.
Risultati
Al termine dell’esercizio saremo in grado di:

usare le strutture While Loop e Case Structure.

configurare il VI Express DAQ Assistant per due misure di temperatura differenti
Istruzioni
1. Apriamo un nuovo VI.
2. Salviamo il VI nella cartella Esercizi/Esercizio 3 nominandolo Esercizio 3a.
3. Inseriamo un While Loop nel diagramma a blocchi. Apriamo la paletta Express»Execution
Control (come mostrato sotto) e selezioniamo While Loop. Tracciamolo abbastanza grande
per meglio poter adattare il codice che completeremo dentro.
Page 32 of 61
4. Sezioniamo la Struttura Case dalla stessa paletta e posizioniamelo all’interno del While
Loop come mostrato dalle immagini che seguono.
Page 33 of 61
Nei punti che seguiranno andremo ad aggiungere dei VI Express DAQ Assistant all’interno
delle due opzioni della Case Structure. Va ricordato che un DAQ Assistant servirà per
acquisire la temperatura dalla termocoppia, mentre l‘altro per misurare la deformazione di un
estensimetro (che trovate sul bordo sinistro delle demo box sopra la colonna di LED).
5. Dalla paletta Express»Input selezioniamo il VI Express DAQ Assistant come mostrato
sotto, e lo posizioniamo nella finestra con il caso TRUE della Case Structure.
Si apre la finestra Create New Express Task…
Page 34 of 61
6. Per configurare un’applicazione di misura di temperatura da termocoppie, clicchiamo su
Acquire Signal»Analog Input»Temperature»Thermocouple. Clicchiamo il segnale +
dopo cDAQ1Mod2 (il nome potrebbe cambiare) (NI 9211), sottolineiamo il canale ai0, e
confermiamo l'impostazione con Finish. Questa operazione aggiunge un canale fisico al
proprio task di misura.
7. Cambiamo il valore di CJC source in Built In e di Acquisition Mode in Continuous.
8. Cliccando sul pulsante Run, si vedrà la temperatura letta dalla termocoppia nella finestra
Express Task
Page 35 of 61
9. Clicchiamo su OK per chiudere la finestra di configurazione del VI Express e per ritornare al
diagramma a blocchi LabVIEW.
Il diagramma a blocchi dovrebbe assomigliare al codice seguente.
10. Passiamo il caso della Case Structure da TRUE a FALSE, agendo sul selettore di caso come
indicato qui di seguito.
11. Ripetiamo i passaggi svolti ai punti 5 e 6. Questa volta però scegliamo Strain come tipo di
segnale per la deformazione, e il primo canale ai0 del modulo 9237 come physical channel.
Page 36 of 61
12. Configuriamo il VI Express DAQ Assistant come mostrato nell’immagine che segue.
13. Passiamo al pannello frontale con la combinazione di tasti <Ctrl-E> e posizioniamo un
grafico di tipo Waveform Chart nel pannello.
14. Aggiungiamo un interruttore Vertical Toggle dalla paletta Booleana
Page 37 of 61
15. Il pannello frontale dovrebbe assomigliare alla figura seguente.
Page 38 of 61
16. Torniamo al diagramma a blocchi e colleghiamo il terminale del controllo booleano
all’ingresso della Case Structure, come mostrato nell’immagine che segue:
17. Colleghiamo le uscite dei VI Express DAQ Assistant al terminale di ingresso dell’indicatore
Waveform Chart. Vanno collegati attraversando la cornice del Case Structure. Portando il
filo oltre la cornice, si creerà sulla cornice stessa un quadratino bianco, detto Tunnel. Non va
dimenticato che entrambi i casi TRUE e FALSE devono essere collegati. Una volta
completati i due casi, il tunnel si colorerà di azzurro Nota: Per non sbagliare, dopo aver fatto
il primo collegamento, proviamo a collegare il filo partendo dal tunnel e spostandoci verso i
terminali del VI Express e del grafico!
Page 39 of 61
18. A questo punto siamo pronti per testare il VI, osservando cosa succede abbassando e
rialzando l’interruttore verticale a pannello frontale. Si vedrà la lettura della temperatura
rappresentata sul grafico in un caso oppure la misura di deformazione nell’altro. Stimolare la
termocoppia e l’estensimetro per verificarne le variazioni sul grafico.
Fine dell'esercizio 3
Page 40 of 61
Esercizio 4: Operazioni multiple con I/O analogici
Descrizione dell’esercizio
Come modularizzare la piattaforma NI Compact DAQ per gestire in parallelo l’acquisizione e la
generazione di segnali analogici
Configurazione hardware
In quest’esercizio useremo lo chassis cDAQ-9178 con i seguenti moduli:

NI 9263: output analogico - quarto slot

NI 9215: input analogico - ottavo slot
Obiettivo
Realizzare un’applicazione LabVIEW che genera un forma d’onda in uscita dal modulo NI 9263.
Questo segnale piloterà la piccola sirena che trovate all’interno della demobox. In parallelo
l’applicazione sarà in grado di acquisire un segnale audio connesso direttamente al connettore
AUDIO IN usando un canale di ingresso analogico del modulo NI 9215.
Risultati
Al termine dell’esercizio saremo in grado di:

generare segnali da LabVIEW con il sistema di acquisizione dati NI CompactDAQ

eseguire loop in parallelo per operazioni analogiche multiple
Istruzioni
1. Apriamo un nuovo VI.
2. Salviamo il VI nella cartella Esercizi/Esercizio 4 nominandolo Esercizio 4.
3. Premiamo <Ctrl-E> per passare al diagramma a blocchi
4. Dalla paletta delle funzioni selezioniamo il VI Express Simulate Signal al percorso
FunctionsExpress»Input. Posizioniamo il VI nel diagramma a blocchi.
Page 41 of 61
5. Nella sezione Signal della finestra di configurazione, impostiamo Amplitude a 0,05 nella
sezione Timing impostiamo Samples per Second (Hz) su 10.000 e clicchiamo su OK per
confermare.
6. Dalla paletta delle funzioni selezioniamo il VI Express DAQ Assistant al percorso
FunctionsExpress»Input. Posizioniamo il VI nel diagramma a blocchi.
7. Selezioniamo Analog Output come Measurement Type e poi Voltage.
Page 42 of 61
8. Nella finestra successiva, clicchiamo il segnale + prossimo al cDAQ1Mod4 (NI 9263),
selezioniamo ao0, e confermiamo con il bottone Finish.
9. Selezioniamo quindi dal parametro Generation mode l’opzione Continuous Samples;
rimuoviamo il contrassegno in Use timing from waveform data, e impostiamo Rate (Hz) a
10,000. Confermiamo attraverso il pulsante OK.
Page 43 of 61
10. MOLTO IMPORTANTE - Non accettiamo la richiesta successiva che appare di far inserire
il codice in un While Loop.
11. Sul diagramma a blocchi, muoviamo il VI Express DAQ Assistant al lato destro del VI
Express Simulate Signal. Colleghiamo l’output Sine del Simulate Signal al terminale di
ingresso del DAQ Assistant. Il diagramma a blocchi dovrebbe assomigliare a quello seguente.
Page 44 of 61
12. Per fare eseguire il VI, creiamo un While Loop. Il While Loop permette a tutte le parti di
codice dentro il loop di eseguire continuamente fino a che il pulsante Stop non viene cliccato.
Selezioniamo il VI Express While Loop al percorso FunctionsExpress»Exec Ctrl.
13. Tracciamo il While Loop attorno al diagramma a blocchi. Il diagramma a blocchi dovrebbe
assomigliare alla figura riportata qui di seguito.
Creiamo un controllo per modificare la frequenza della forma d’onda sine
14. Passiamo al pannello frontale premendo <Ctrl-E>. Clicchiamo con il tasto destro sullo spazio
grigio vuoto per aprire la paletta dei controlli. Selezioniamo Vertical Pointer Slide dalla
subpalette Numeric Controls. Posizioniamo l’indicatore sul pannello frontale.
Page 45 of 61
15. Clicchiamo con il tasto destro il controllo appena inserito e selezioniamo la voce Properties.
Sul tab Appearance, modifichiamo l’etichetta in Frequenza. Sul tab Scale, modificate il
Scale Range mettendo il valore Minimum a 0.00 e il valore Maximum a 1000.00.
Clicchiamo su OK per chiudere la finestra delle proprietà.
16. Premiamo <Ctrl-E> per passare al diagramma a blocchi. Spostiamo il terminale del controllo
Frequenza dentro il While Loop, posizionandolo sul lato sinistro del VI Express Simulate
Signal. Colleghiamo quindi il controllo frequenza con l’ingresso Frequency.
17. Il diagramma a blocchi dovrebbe assomigliare alla figura seguente.
Page 46 of 61
18. Questo VI utilizzerà il valore passato dal controllo Frequenza sul pannello frontale per
generare un’onda di tipo seno alla frequenza specifica. L’onda seno verrà generata sul canale
analogico di uscita del modulo della Serie C NI 9263 dal VI Express DAQ Assistant.
Adesso creeeremo un loop per gestire l’ingresso analogico e acquisire un segnale sonoro.
19. Creiamo nel diagramma a blocchi dello spezio per inserire un altro While Loop al di sotto del
codice appena completato per la generazione analogica.
20. Posizioniamo il DAQ Assistant Express VI dalla sottopaletta Input della paletta
Functions»Express. Selezioniamo Analog Input come Measurement Type e quindi
Voltage. Nella finestra successiva, espandiamo i canali del cDAQ1Mod8 (NI 9215)
selezionando il segno +, e selezioniamo
Page 47 of 61
“ai1”. Confermiamo con il pulsante Finish.
21. Nella finestra di configurazione del DAQ Assistant, impostiamo Acquire Continuously
come Timing Settings nella parte più bassa della finestra. Mettiamo Rate (Hz) su 100KHz,
Number of Samples 10K e clicchiamo OK.
22. Una volta cliccato OK, si aprirà una finestra di dialogo che chiederà di creare un While Loop
attorno al DAQ Assistant. Selezionate Yes per creare automaticamente un While Loop per
l’acquisizione continua.
Page 48 of 61
23. Il diagramma a blocchi dovrebbe assomigliare alla figura qui sopra. Creiamo a questo punto
un indicatore grafico per visualizzare i dati letti dal modulo di input analogico. Per creare un
indicatore grafico, clicchiamo con il tasto destro sul terminale di uscita data del VI Express
DAQ Assistant, e selezioniamo Create Graph Indicator.
24. Qui sotto segue una figura che rappresenta il diagramma a blocchi completo.
Page 49 of 61
25. Premiamo <Ctrl-E> per passare al pannello frontale di LabVIEW
26. Localizziamo il pulsante di controllo stop (F) e cliccando con il tasto destro procediamo a
sostituirlo con un pulsante di controllo di tipo STOP, come mostrato nella figura che segue
sotto. (Replace»Boolean»Stop Button)
27. Riorganizziamo i controlli e gli indicatori del pannello frontale affinchè assomiglino alla
figura qui sotto
Page 50 of 61
28. Salviamo il VI <Ctrl+S> nominandolo nella cartella Esercizi/Esercizio 4 e mandiamo in
esecuzione <Ctrl+R>
29. All’interno della demobox dovreste trovare un cavo mini-jack audio da connettere da un lato
al connettore AUDIOIN posizionato sul bordo sinistro della demobox e dall’altro ad un
dispositivo che generi un segnale sonoro (Telefono, smartphone, lettore mp3).
30. Premiamo entrambi i pulsanti STOP per fermare l’esecuzione dei loop e arrestare il codice.
Oltre l’esercizio
Le strutture For Loop possono essere usate per generare array sfruttando una caratteristica
chiamata indicizzazione automatica, come mostrato nella figura sotto.
Proviamo a costruire il seguente diagramma a blocchi per manipolare ulteriormente la forma
d’onda generata
Page 51 of 61
Fine dell'esercizio 4
Page 52 of 61
Esercizio 5: Misura di Vibrazione, File I/O,
Filtraggio Mathscript
Descrizione dell’esercizio
Obiettivo
L’obiettivo di questo esercizio è quello di mostrare come è possibile eseguire una misura di
vibrazione utilizzando un sensore accelerometrico, filtrare il segnale acquisito utilizzando sintassi
in matematica testuale e di salvare dati in un file utilizzando LabVIEW.
Risultati
Al termine dell’esercizio saremo in grado di:



Usare il VI Express DAQ Assistant e rilevare le misure con LabVIEW
Usare il nodo Mathscript Node per importare codice scritto con sintassi in matematica
testuale
Usare il VI Express Write to Measurement File e salvare dati in un file usando
LabVIEW
Istruzioni
In questo esercizio utilizzeremo lo chassis cDAQ-9178 con il seguente modulo:
• NI 9234 AI +5V IEPE AC/DC (inserito nel settimo slot dello chassis)
1. Apriamo il VI Vibration.vi dalla cartella Esercizi/Esercizio 5. Il codice all’interno del
VI è da completare.
2. Trovate sulla parte sinistra l’Express VI DAQ Assistant. Aprite la sua finestra di
configurazione con un doppio click e inserite le seguenti impostazioni per acquisire una
segnale di durata FINITA dal modulo NI 9234.

Rate=25,6KHz

Number of Samples = 25600

Acquisition Mode = N Samples
Acquisiremo quindi un set di campioni per la durata temporale di 1secondo.
Page 53 of 61
3. Cliccate su Run in alto a destra per osservare in anteprima le vibrazioni acquisite provenienti
dall’accelerometro. (Questo è installato all’interno della Sound and Vibration DemoBox che
trovate all’interno della valigetta nera e connesso al modulo NI9234)
4. Cliccate su OK per chiudere il DAQ Assistant.VI
5. Nella parte centrale del diagramma a blocchi del VI trovate un riquadro col bordo azzurro nel
quale all’interno è scritto del codice in matematica testuale. Il riquadro si chiama MathScript
Node ed all’interno trovate del codice scritto in matematica testuale.
Questo codice esegue calcola una funzione FFT ed un filtraggio di tipo “ellipt” su un vettore
di nome A.
E’ necessario quindi ora definire l’uscita data del DAQ Assistant come vettore d’ingresso A
del nodo Mathscript.
Cliccate col tasto destro del mouse sul bordo sinistro del nodo Mathscript e selezionate la
voce Add Input.
6. Nel riquadro che si viene a creare digitate la lettera “A” come in figura:
Page 54 of 61
7. Connettete ora l’uscita data del DAQ Assistant.vi con l’ingresso A che avete appena creato.
8. Cliccate col tasto destro del mouse sul bordo destro del nodo Mathscript e selezionate la voce
Add Output. Aggiungete quindi in uscita al nodo le grandezze y e A. Dovreste ottenere un
diagramma a blocchi come il seguente:
9. Andremo ora a connettere i due vettori in uscita y e A sull’indicatore Waveform Graph in
modo da visualizzare segnale di vibrazione A e segnale filtrato y su di un grafico. Per poter
fare ciò è necessario utilizzare la funzione Build Array che trovate alla destra del nodo
MathScript che consente di creare un vettore che contiene i due seganali da passare
all’indicatore Waveform Graph.
Page 55 of 61
10. Risalviamo il VI.
11. Mandate in esecuzione il programma per osservare il segnale di vibrazione e il segnale
filtrato sul pannello frontale.
File I/O: Salvataggio su File dei dati:
Andremo ora a salvare su un file segnale acquisito e segnale filtrato
12. Clicchiamo col tasto destro sul diagramma a blocchi, selezioniamo il VI Express Write to
Measurement File dal percorso Express»Output e lo posizioniamo dentro il While Loop sul
diagramma a blocchi.
4. Apparirà la finestra di configurazione. Applichiamo le modifiche come riportate
nell’immagine che segue e confermiamo premendo il pulsante OK.
Page 56 of 61
5. Colleghiamo i dati provenienti dall’indicatore Waveform Graph all’ingresso del VI Express
Write to Measurement File.
6. Il nostro diagramma a blocchi dovrebbe assomigliare al seguente codice.
Page 57 of 61
7. Eseguiamo il VI premendo la freccia di Run e attendiamo 1 secondo per acquisizione e
salvataggio dati.
8. Il file di log è stato creato in una cartella specifica.
9. Apriamo il file usando Microsoft Office Excel o Notepad e controlliamo l’intestazione e i dati
della temperatura salvati nel file.
10. Chiudiamo il file dati e il VI LabVIEW.
Fine dell'esercizio 5
Page 58 of 61
Esercizio Opzionale: Il Driver di basso livello NI
DAQmx
Abbiamo appreso come l’utilizzo del VI Express DAQ Assistant.vi consente in pochi passi di
configurare ed eseguire un’acquisizione dati utilizzando LabVIEW e NI Compact DAQ. Tuttavia
per ottimizzare le prestazioni della tua applicazione DAQ e avere maggior controllo sulla catena
di acquisizione dati si dovrebbe utilizzare il driver DAQmx, driver standard di programmazione.
Il DAQ Assistant ad alto livello nasconde le funzioni di basso livello che il driver DAQmx
esegue. E’ possibile generare automaticamente il codice DAQmx corrispondente alle
impostazioni selezionate all’interno del DAQ Assistant.
1. Aprite Basic Measurement.VI all’interno della cartella Soluzioni/Esercizio 2/. E’un VI
che avete precedentemente creato durante lo svolgimento dell’esercizio 2.
2. Prima di generare codice DAQmx standard partedno dal DAQ Assistant è necessario
rimuovere il codice non utile creato precedentemente dall’Express VI.
3. Click con il tasto destro sul ciclo While e selezionate la voce Remove While Loop.
Successivamente premete il tasto <Delete> per rimuovere il bottone di Stop. Ripetere
questa procedura elimenando Temperature Graph così come qualunque filo superfluo
rimasto. E’ possibile usare lo shortcut <CTRL+B> per rimuovere tutti i fili non connessi
sul digramma a blocchi.
4. Quando vi trovate di fronte solo il DAQ Assistant.VI, cliccate su di esso con il tasto
destro del mouse e selezionate la voce Generate NI-DAQmx Code.
Generate NI-DAQmx code dalla configurazione del DAQ Assistant
5. Il tuo diagramma a blocchi dovrebbe apparire così:
Page 59 of 61
Codice DAQmx di basso livello equivalente alla configruazione selezionata nel DAQ
Assistant.
6. Il DAQ Assistant.VI è stato sostituito da 4 VIs. Andiamo ad esaminare la loro
funzionalità nei prossimi passi.
7. Apriamo prima il Context Help cliccano sull’icona (
diagramma a blocchi.
) sull’angolo in alto a destra del
8. Passate ora il cursore del vostro mouse sopra ogni singolo VI che vedete nel codice ed
esaminate la descrizione e i fili di collegamento tra uno e l’altro.
9. DAQmx Read.vi legge dati basandosi sui paramentri che riceve da Untitled VI sulla parte
sinistra del diagramma a blocchi.
10. Doppio click su Untitled VI per aprire il rispettive diagramma a blocchi (codice mostrato
sotto)
Untitled VI contiene la configurazione di tutti i canali includendo i parametri
relativi al tipo di misura, ai coefficienti di scala ed alla temporizzazione.
11. Tutti i parametri connessi come ingressi dei differenti DAQmx setup VIs riflettono le
configurazioni originalmente selezionate nel DAQ Assistant Express VI.
12. Nota: Modificando questi parametri e i VI all’interno del diagramma a blocchi, potrai
programmaticamente cambaire i loro valori senza dover arrestare la tua applicazione e
riconfigurare l’Express VI dalla finestra di dialogo. Questo consente di risparmiare tempo
Page 60 of 61
di sviluppo e possibilmente di ottimizzare le prestazioni eliminando configurazioni non
necessari a seconda della tua applicazione.
13. Chiudare Untitled.VI e non salvare.
Page 61 of 61