Strumentazione Virtuale con LabVIEW
Transcription
Strumentazione Virtuale con LabVIEW
Strumentazione Virtuale con LabVIEW Obbiettivi del corso •Conoscere i componenti di uno Strumento Virtuale (VI). •Introdurre l'ambiente di programmazione LabVIEW e le sue principali funzioni. •Creare una semplice applicazione di acquisizione dati. •Creare una subroutine in LabVIEW. Sezione I •Terminologia dell'ambiente LabVIEW. •Componenti di un'applicazione LabVIEW. •Strumenti di sviluppo dell'ambiente LabVIEW. •Prima applicazione in LabVIEW. I programmi di LabVIEW vengono chiamati Virtual Instruments - VIs (Strumenti Virtuali) Front Panel (Pannello Frontale) • Controlli = INPUT • Indicatori = OUTPUT Block Diagram (Diagramma a Blocchi) • Codice che accompagna il Front Panel. • I componenti sono collegati tramite fili(wires) Pannello Frontale del VI Pulsanti del Front Panel Controllo Booleano Icona del VI Legenda del grafico Grafico Waveform Legenda della scala Legenda delle tracce Block Diagram del VI Pulsanti del Block Diagram Divisione (funzione) Icone di SubVI Terminale del Grafico Filo di dati Struttura While Costante Numerica Temporizzatore (funzione) Terminale del Controllo Booleano VI, VI Express e Funzioni. • VI Standard: VI generici modificabili tramite il relativo codice. • VI Express: VI interattivi modificabili tramite interfaccia grafica. • Functions: elementi fondamentali del linguaggio che permettono la modifica e la manipolazione dei dati Function VI Express VI Standard Paletta dei Controlli e delle Funzioni Paletta dei controlli (Controls Palette) Legata al pannello frontale Paletta delle Funzioni (Functions Palette) Legata al Block Diagram Paletta degli Strumenti (Tools Palette) • Liberamente posizionabile. • Utilizzata per modificare sia gli oggetti del Pannello Frontale che quelli del Block Diagram. Indicatore Selezione Automatica Controllo Oggetti Trascinamento Oggetti Posizione e Dimensione Interruzione/Breakpoint Etichettatura Rocchetto per collegamenti (filo/wire) Sonda/Probe Menu Rapido Copia Colore Modifica Colore Barra di controllo esecuzione/oggetti Pulsante di Avvio Esecuzione Ciclica Interruzione Forzata Pulsanti addizionali (solo per Block Diagram) Pausa esecuzione Visualizzazione Esecuzione Formattazione testo Entra nella Funzione Allineamento oggetti Posizionamento oggetti Raggruppa oggetti Ridimensiona oggetti Salta la Funzione Esci dalla Funzione Aprire ed Eseguire Strumenti Virtuali Ricerca di Esempi Creare un VI Pannello frontale (finestra) Terminali Indicatori Block Diagram (finestra) Terminali dei controlli Terminali Indicatori Creare un VI >>> Block Diagram Realizzare i collegamenti (BD) Rocchetto/Filo (Realizza i Collegamenti) Disposizione automatica Collegamento Selezione dei Collegamenti Sbroglio/pulizia Collegamenti Programmazione Dataflow • Il codice del Block Diagram viene eseguito seguendo il flusso di dati. NON da sinistra a destra! • I nodi vengono eseguiti quando TUTTI gli ingressi possiedono dati validi. • Le uscite vengono assegnate al termine dell'esecuzione della funzione/VI. Finestra d'Aiuto (Help) Aiuto Contestuale • • • • Ulteriore Aiuto Blocca Finestra Aiuto Aiuto Semplice/Completo N.B. Richiamabile con “Ctrl+H” Collegamento Aiuto OnLine • Menù consultabili nell'Aiuto OnLine • Accessibile dal menù a tendina delle funzioni (click tasto dx) Esercizio 1 - Convertire °C to °F Tecniche di Debug (ricerca errori) • Ricerca Errori Cliccando sulla freccia rotta compare la lista degli errori presenti nel codice. • Visualizzazione Esecuzione Cliccando sul tasto di Visualizzazione Esecuzione il passaggio dei dati nei collegamenti viene evidenziato. I valori dei dati nei collegamenti sono consultabili. ● Sonda Il click desto del mouse sul collegamento mostra la finestra di Sonda ed illustra il dato che passa nel attualmente nel collegamento. E' possibile selezionare la Sonda anche dalla Paletta Strumenti del Block Diagram. Sezione II – SubVIs • Cosa è un subVI? • Creare un'icona ed un connettore per il subVI • Usare un VI come subVI Nodi del Block Diagram Nodo visualizzato come icona • • • • Nodo ridimensionabile E' il VI “Generatore di Funzioni”. E' lo stesso VI visto in tre modi. I terminali arancioni sono standard. I terminali azzurri appartengono ai dati dinamici (Express VIs). Nodo Espanso SubVIs • Un SubVI è un VI che può essere utilizzato all'interno di un'altro VI. • Simile ad una subroutine. • Vantaggi – Modularità – Correzione facilitata. – Riutilizzo del codice. – Richiede meno memoria durante l'esecuzione. Icona e Connettore Icon • L'icona identifica il VI, in particolare quando viene utilizzato come subVI. Terminals • Il connettore identifica i terminali dei dati in ingresso Connector ed in uscita. SubVIs Sub VIs Passi per creare un SubVI •Creare l'icona. •Creare il connettore. •Assegnare i terminali dei dati. •Salvare il VI. •Utilizzare il VI all'interno di un'altro VI. Creare l'icona • Doppio Click sull'icona nell'angolo in alto a destra. • Click DX sull'icona e selezionare Edit Icon... Creare il Connettore Nel Pannello Frontale fare click dx sull'icona in alto a destra e selezionare ”Show Connector”. Assegnare i Terminali 1° Click 2° Click Salvare il VI • Scegliere una cartella facilmente raggiungibile. • Organizzare i VI per funzionalità (salva i VI con funzionalità simili nella medesima cartella: es. Cartella “Funzioni Matematiche”). • Organizzare i VI per appartenenza (salva tutti i VI appartenenti ad una stessa applicazione in una singola cartella: es. Laboratorio Segnali). • N.B. I file di libreria .llb raggruppano più VI in un singolo “pacchetto” che può essere facilmente trasportato tra vari computer. Inserire il SubVI nel VI principale Recuperare subVIs salvati: Functions >>All Functions >> Select a VI Oppure Trascina l'icona nel Block Diagram se il VI è ancora aperto. Suggerimenti utili: • Scorciatoie: – <Ctrl-H> – Attiva/Disattiva finestra di Aiuto OnLine. – <Ctrl-B> – Rimuove collegamenti errati nel Block Diagram – <Ctrl-E> – Cambia visualizzazione tra Pannello Frontale e Block Diagram. – <Ctrl-Z> – Annulla operazione precedente. • Tools » Options – Imposta preferenze in LabVIEW • VI Properties – Imposta proprietà del VI. Sezione III – Acquisizione Dati • Basi dell'acquisizione dati(DAQ) • Connettere segnali. • Semplice applicazione DAQ. Scheda DAQ Computer Sensori Cavo Terminal Block DAQ (Data AcQuisition) Acquisizione di Temperatura utilizzando DAQ Assistant Terminologia dell'Acquisizione Dati •Risoluzione – Determina qual'è il cambiamento minimo nel voltaggio che può essere rilevato dal sistema. – Maggiore risoluzione = Maggiore precisione di rappresentazione del segnale. •Range – Differenza tra voltaggio Massimo e Minimo acquisibili. – Range ridotto = Migliore rappresentazione del segnale. •Guadagno – Adatta il segnale al range amplificandolo o riducendolo. Connessioni Hardware BNC-2120 SC-2075 NI-ELVIS SCB-68 Esercizio 2 - Semplice Acquisizione Dati Completa “Converti C to F.vi” e crea “Thermometer.vi”. Sezione IV – Cicli e Grafici • Ciclo For • Ciclo While • Grafici (Charts) • Grafici Multiplots Cicli • Ciclo While – Esegue almeno una volta – L'esecuzione è condizionata dal valore di un controllo di STOP. – Ha terminale d'iterazione corrente (i) •Ciclo For • Esegue un numero definito di volte determinato dal terminale N • Ha terminale d'iterazione corrente (i) Cicli (continua) 1. Seleziona il ciclo 2. Racchiudi il codice da ripetere 3. Aggiungi ulteriore codice Grafici (Charts) Waveform chart – indicatore grafico che visualizza una successione di valori. Controls >> Graph Indicators >> Waveform Chart Collegare dati ai grafici Charts Grafici Charts ad una traccia Grafici Charts a più tracce Esercizio 3 – Utilizzare i cicli. Creare un VI con un ciclo. (Loop.vi) Sezione V – Arrays & File I/O • Creare array manualmente. • Creare array automaticamente con le funzioni di LabVIEW. • Scrivere dati in un foglio elettronico (spreadsheet). • Leggere dati da un foglio elettronico(spreadsheet). Aggiungere un array al Front Panel Dalla paletta Controls >> All Controls >> Array and Cluster selezionare Array 1. 2. Posizionare l'oggetto Array sul Pannello Frontale. Aggiungere un'Array (continua) Inserisci un tipo di dato nell'Array (es. Controllo Numerico) Creare un'Array con un ciclo • I cicli possono creare array ai propri bordi accumulando dati iterazione dopo iterazione. Creare Array a due dimensioni (2D) File I/O File I/O – inserire e recuperare dati da file. - I file possono essere di testo, binari o fogli elettronici. - Funzioni di Scrittura/Lettura dati di LabVIEW in formato LabVIEW Measurement(*.lvm). Scrittura in un file LVM Lettura da un file LVM Scrivere file LabVIEW Measurement • Express VI che include le funzioni di apertura/scrittura e gestione errore. • Gestisce la scrittura di dati delimitati da tabulatore o spazio. • La funzione Merge Signals viene utilzzata per convertire i dati in dati dinamici. Esercizio 4 Analizzare e fare il Log di dati acquisiti. Creare il VI Temperature Logger.vi Approfondimenti? •Programmi d'esempio (Help» Find Examples…) •LabVIEW Student Edition (www.ni.com/labviewse) •Risorse Web (ni.com) –NI Developer Zone (zone.ni.com) –Application Notes –Italian LabVIEW User Group (www.ilvg.it) –Instrument Driver Library (www.ni.com/idnet) Traduzione di: “LabVIEW Introduction-ThreeHour.ppt” a cura di: Massimo Lorenzi - ILVG.it STAFF- Il documento originale in inglese è liberamente scaricabile dal sito www.ni.com