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
© Copyright 2024 ExpyDoc