Introduzione a LabVIEW



Documenti analoghi
LabVIEW. E un acronimo per. "Laboratory Virtual Instrument Engineering Workbench. Ideato dalla National Instrument nel 1986 È standard mondiale per:

Esercizi di base per l apprendimento di LabView

What is LabVIEW???? Pietro Giannone. Dipartimento di Ingegneria Elettrica Elettronica e dei Sistemi. Università degli Studi di Catania

Docente Prof. Claudio De Capua Ing. Antonella Meduri

Gestione Rapporti (Calcolo Aree)

Corso di Elettronica Industriale (CdL in Ingegneria Meccatronica, sede di Mantova) Acquisizione dati da sistemi di misura

FONDAMENTI di INFORMATICA L. Mezzalira

DINAMIC: gestione assistenza tecnica

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

LabVIEW. Apertura del programma

Guida alla registrazione on-line di un DataLogger

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

IRSplit. Istruzioni d uso 07/10-01 PC

Cosa è un foglio elettronico

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

ALGEBRA DELLE PROPOSIZIONI

DOCUMENTO ESERCITAZIONE ONENOTE. Utilizzare Microsoft Offi ce OneNote 2003: esercitazione rapida

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Creare diagrammi di Gantt con Visio 2003

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

PowerPoint 2007 Le funzioni

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

Registratori di Cassa

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Manuale per l utilizzo dell applicazione Client per il controllo remoto di apparecchiature da laboratorio

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

Corso di Sistemi di Elaborazione delle informazioni

SOMMARIO... 3 INTRODUZIONE...

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Lezione Power Point. Eleonora Di Maria. Corso di Marketing

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Introduzione al MATLAB c Parte 2

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

INFORMATICA 1 L. Mezzalira

1 SOMMARIO FIRMA DI DOCUMENTI... 2

MANUALE PARCELLA FACILE PLUS INDICE

Tutorial 3DRoom. 3DRoom

Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici

Interfaccia ottica Iskraemeco Sonda 5 / Sonda 6 Guida all installazione del driver per i sistemi operativi Windows 7 e Windows XP

MODULO 5 Appunti ACCESS - Basi di dati

Appunti di Sistemi Elettronici

Marca4NG - Documentazione

Microsoft Office XP. dott. ing. Angelo Carpenzano. La suite Microsoft Office XP

MANUALE ESSE3 Gestione Registro delle lezioni

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Medici Convenzionati

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

SVG Editor. Istituto Italiano Edizioni Atlas 1

L amministratore di dominio

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

Uso di base delle funzioni in Microsoft Excel

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Manuale di programmazione BerMar_Drive_Software

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

LITESTAR 4D v Manuale d Uso. WebCatalog Catalogo Elettronico interattivo su Internet. Luglio 2013

InitZero s.r.l. Via P. Calamandrei, Arezzo

A tal fine il presente documento si compone di tre distinte sezioni:

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

A tal fine il presente documento si compone di tre distinte sezioni:

L analisi dei dati. Capitolo Il foglio elettronico

MODULO 02. Iniziamo a usare il computer

30 giorni di prova gratuiti, entra nel sito scarica e installa subito mypckey

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

LA FINESTRA DI GOAL (SCHERMATA PRINCIPALE E PANNELLO DEI COMANDI)

Introduzione. Installare EMAS Logo Generator

Il foglio elettronico. Excel PARTE

Capitolo 26: schemi di installazione

MANUALE UTENTE Fiscali Free

MANUALE UTENTE. P.I.S.A. Progetto Informatico Sindaci Asl

Fasi di creazione di un programma

Come usare P-touch Transfer Manager

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

Guida alla personalizzazione delle stampe per Scrutinio 10 e Lode e ScrutiniOnLine

Il Sistema Operativo (1)

Hub-PA Versione Manuale utente

Arduino: Programmazione

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

EasyPrint v4.15. Gadget e calendari. Manuale Utente

B R E V E G U I D A ( V I S I S L A B C O F F E E ) Breve guida page 1

Approccio stratificato

UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)

GUIDA STUDENTI HOMEPAGE DEI CORSI ON-LINE

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

SERVIZIO PAGHE ON-LINE

GUIDA UTENTE PRIMA NOTA SEMPLICE

GUIDA UTENTE BILLIARDS COUNTER (Vers )

Transcript:

Dipartimento di Elettronica Università di Pavia Introduzione a LabVIEW 1 Acquisizione dati e controllo remoto L acquisizione dati riveste grande importanza in tutti i campi dove sia necessario il controllo di sistemi remoti o la memorizzazione delle informazioni provenienti da strumentazione di misura. Alcuni esempi di situazioni in cui il ricorso a queste tecniche è indispensabile o comunque vantaggioso sono: il controllo remoto di strumenti localizzati in aree pericolose o inaccessibili; l esecuzione automatica di misure ripetitive; l acquisizione, l elaborazione e la presentazione dei risultati di una misura; il controllo di processi on-line; I processi descritti necessitano di hardware e software specifici che possono essere riassunti nei seguenti punti: interfaccia di comunicazione sullo strumento e relativo firmware; interfaccia di comunicazione sul calcolatore; bus di comunicazione (per esempio ethernet, GPIB, RS232); software di controllo per il processo di acquisizione dal lato del calcolatore. Il software LabVIEW T M di National Instruments consente di sviluppare in modo relativamente semplice programmi mirati al controllo automatico di processi remoti ed alla acquisizione ed elaborazione di dati e misure.

2 CHE COS È LABVIEW 2 2 Che cos è LabVIEW LabVIEW T M è un ambiente per lo sviluppo di programmi, simile, negli effetti, ad altri ambienti di programmazione che si basano su linguaggi più noti, quali il C o il BASIC. La tecnica di programmazione costituisce la principale differenza rispetto agli ambienti di sviluppo classici: laddove questi ultimi impiegano linguaggi testuali (text-based), LabVIEW T M ricorre invece ad un linguaggio di programmazione grafico (G) che consente la creazione di programmi in forma di diagrammi a blocchi. Dunque, la descrizione del compito svolto dal programma è affidato a simboli grafici piuttosto che a linee di codice. LabVIEW T M esiste nelle versioni per Windows 95/NT, Macintosh, SunOS e Linux. L ambiente di sviluppo offerto da LabVIEW T M possiede: estese librerie di funzioni per la maggior parte delle necessità di programmazione; librerie specificamente realizzate per le diverse piattaforme software sopra elencate; librerie specificamente progettate per il controllo remoto di strumenti (per esempio via GPIB o porta seriale); librerie per il salvataggio, l analisi e la presentazione dei dati; strumenti per il debugging e lo sviluppo dei programmi: è possibile fissare punti di interruzione (breakpoints), animare l esecuzione di un programma per seguire il flusso dei dati e muoversi al suo interno un passo per volta. 3 Strumenti virtuali (Virtual Instruments) I programmi sviluppati in ambiente LabVIEW T M sono definiti Virtual Instruments (o VIs, strumenti virtuali) in quanto sono in grado di emulare lo strumento reale non solo nelle operazioni eseguite ma anche nell aspetto. Fondamentalmente ogni VI possiede: un interfaccia interattiva per l utente; uno schema a blocchi che costituisce l equivalente del codice sorgente nei linguaggi di programmazione testuali.

3 STRUMENTI VIRTUALI (VIRTUAL INSTRUMENTS) 3 Temperature System Demo.vi Last modified on 11-04-2000 at 18:39 Acquisition on off Analysis on off System Controls Current Temperature Update 1.00 Period (sec) 2.00 9 85.00 8 75.00 7 (deg F) Temp High Low Histogram Temperature 9 85.0 8 75.0 7 0 History 50 70 Temperature Range Statistics Low Limit 75.0 80 Histogram Minimum bin 7 90 70 High Limit 85.0 Parameters Maximum bin 9 80 90 Mean Temp 10 8 6 4 2 Standard Deviation 2.00 1.50 1.00 0.50 Histogram 10 8 6 4 2 65.0 7 8 9 95.0 Figura 1: esempio di pannello frontale di un programma sviluppato in ambiente LabVIEW T M. 3.1 Pannello frontale (Front panel) L interfaccia interattiva per l utente è chiamata pannello frontale, in quanto riproduce il pannello di uno strumento reale, sul quale si possono trovare pulsanti, manopole, display grafici, controlli ed indicatori. Mediante il pannello frontale, l utente ha la possibilità di inserire dati secondo varie modalità e di osservare il risultato dell operazione, più o meno complessa, compiuta dal programma sui medesimi dati. Un esempio di pannello frontale di un programma sviluppato in ambiente LabVIEW T M è rappresentato in figura 1. 3.2 Diagramma a blocchi (Block Diagram) Il diagramma a blocchi costituisce il codice sorgente del VI e rappresenta una soluzione grafica ad un problema di programmazione. Esso è costituito da blocchi variamente interconnessi, con l aggiunta di strutture (cicli for o while, strutture condizionali, sequenze) che governano il flusso dei dati. Un esempio di Diagramma a blocchi di un programma sviluppato in ambiente LabVIEW T M è rappresentato in figura 2.

4 PROGRAMMAZIONE IN LABVIEW 4 Temperature System Demo.vi Last modified on 11-04-2000 at 18:15 50 10 Acquisition Loop Analysis True Structure 1 High Limit 25 Low Limit 1000 Analysis Maximum bin Minimum bin 1 2 Maximum bin Minimum bin 0 Maximum bin Minimum bin Update Period Mean Temp Standard Deviation 0 Acquisition False 50 Clear past data if Analysis is turned off. Allow user to reset Histogram Parameters. Maximum bin 0 Minimum bin 0 Figura 2: esempio di diagramma a blocchi di un programma sviluppato in ambiente LabVIEW T M. 4 Programmazione in LabVIEW La programmazione in ambiente LabVIEW T M offre notevoli vantaggi in termini di strutturazione e sviluppo delle applicazioni. 4.1 Strutturazione gerarchica e modulare dei programmi Ciascun VI può essere inserito all interno di una struttura gerarchica o modulare. Un VI può essere utilizzato come programma di massimo livello (toplevel VI) o come sottoprogramma (subvi) all interno di un altro programma o sottoprogramma (strutturazione gerarchica). Inoltre ciascun VI possiede un pannello dei connettori (connector panel) che opera come una lista grafica di parametri in modo tale che i dati prodotti da uno strumento virtuale possano essere passati ad un altro (strutturazione modulare). Sulla base di queste proprietà LabVIEW TM consente di suddividere un ap-

5 CREARE UNO STRUMENTO VIRTUALE 5 Untitled 1 Last modified on 11-04-2000 at 19:31 Controllo digitale Pulsante Slide orizzontale 5.0 1 Manopola 4.0 6.0 Interruttore a levetta Interruttore 2.0 8.0 1 Figura 3: esempi di controlli. plicazione in una serie di programmi più semplici, ciascuno dei quali può essere realizzato con uno strumento virtuale appropriato. La National Instruments rende disponibili sul proprio sito web (http://www.ni.com) programmi per l acquisizione dati ed il controllo remoto dei più diffusi strumenti di misura. 4.2 Debugging Dal momento che ciascun VI può essere eseguito singolarmente, la ricerca e l eliminazione degli errori all interno del programma (debugging) si presenta molto più semplice. E inoltre possibile effettuare l esecuzione di un programma un passo per volta, seguendo il percorso dei dati. LabVIEW T M fornisce altri utili strumenti per il debugging, quali la possibilità di inserire breakpoints e sonde lungo i cammini che uniscono i diversi blocchi. 5 Creare uno strumento virtuale La realizzazione di uno strumento virtuale richiede il posizionamento ed il collegamento di vari blocchi e strutture all interno del diagramma di flusso. 5.1 Controlli ed indicatori Un controllo è un oggetto che viene posizionato sul pannello frontale ed utilizzato per introdurre interattivamente un dato in uno strumento virtuale. Un indicatore è un oggetto che viene piazzato sul pannello frontale per visualizzare un dato in uscita da uno strumento virtuale. Controlli ed indicatori possono essere selezionati dalla tavolozza dei controlli (Controls) che può essere visualizzata selezionando Windows Show Controls Palette

5 CREARE UNO STRUMENTO VIRTUALE 6 Untitled 2 Last modified on 11-04-2000 at 19:40 Indicatore digitale Indicatore analogico Indicatore luminoso 2.0 4.0 6.0 8.0 1 Termometro 1 8.0 6.0 4.0 2.0 Contenitore 1 8.0 6.0 4.0 2.0 Figura 4: esempi di indicatori. ad applicazione avviata. Esempi di controlli ed indicatori sono rappresentati rispettivamente nelle figure 3 e 4. 5.2 Funzioni Le funzioni sono blocchi elementari nel linguaggio di programmazione G e sono equivalenti agli operatori ed alle funzioni di libreria dei linguaggi di programmazione tradizionali. Le cateorie di funzioni disponibili sono le seguenti: strutture di controllo (Structures): cicli for, while, strutture case, sequenze, strutture di tipo formula; funzioni numeriche (Numeric Functions); funzioni logiche (Boolean Functions); funzioni che operano su stringhe (String Functions); funzioni che operano su vettori (Array Functions); funzioni di raggruppamento (Cluster Functions) funzioni di confronto (Comparison Functions); funzioni di temporizzazione e gestione degli errori e delle finestre di dialogo (Time and Dialog Functions); funzioni per la gestione dei file (File I/O Functions); funzioni avanzate (Advanced Functions);

6 ESEMPIO DI PROGRAMMAZIONE 7 Untitled 1 Last modified on 11-04-2000 at 19:57 Funzioni numeriche Funzioni di confronto Multiply Square Root Greater Than 0? Greater Or Equal? Strutture di controllo Funzioni logiche Sequence For Loop And Or Figura 5: esempi di funzioni e strutture elementari. funzioni per l acquisizione dati (DAQ); funzioni per la comunicazione remota con strumenti (Instrument I/O); funzioni per la comunicazione remota con calcolatori (Communication); funzioni per l analisi dei dati (Analysis VIs). I blocchi che rappresentano tali funzioni possono essere collegati tra loro e con controlli ed indicatori mediante opportune connessioni. Alcuni simboli di funzioni e strutture sono riportate in figura 5. 5.3 Connessioni (Wires) Una connesione è il percorso seguito dai dati tra due nodi diversi. Il colore dei fili di connessione dipende dal tipo di dato trasportato: il colore blu è associato agli interi, il colore arancione ai numeri in virgola mobile, il verde viene utilizzato per i dati booleani ed il rosa per le stringhe. Per collegare tra loro due blocchi si utilizza il wiring tool selezionabile sulla tavolozza degli strumenti (Tools). 6 Esempio di programmazione in ambiente Lab- VIEW In questa sezione viene proposta la realizzazione di un programma che calcoli le radici dell equazione di secondo grado

6 ESEMPIO DI PROGRAMMAZIONE 8 y = ax 2 + bx + c una volta che l utente abbia introdotto i valori dei coefficienti a, b, c dell equazione. Il programma deve informare l utente nel caso in cui il discriminante = b 2 4ac sia minore di 0 (soluzioni complesse e coniugate). 6.1 Pannello frontale Il pannello frontale dovrà ospitare tre terminali di controllo numerici, mediante i quali verranno introdotti i coefficienti dell equazione Per posizionare un terminale di controllo sul pannello frontale 1. selezionare Numeric Digital Control sulla tavolozza dei controlli; 2. trascinare la relativa icona sul pannello. In corrispondenza di questa operazione sulla finestra riservata al diagramma a blocchi comparirà un oggetto che rapresenta la variabile di ingresso associata al controllo, per default di tipo floating point a doppia precisione (double). L operazione deve essere ripetuta per altre due volte; sarà inoltre opportuno contrassegnare ciascun terminale con il simbolo del coefficiente corrispondente. Per fare questo: 1. clickare col pulsante destro del mouse sul terminale di controllo; 2. selezionare Show Label; 3. digitare il testo voluto (in questo caso a, b o c). Sul pannello frontale dovranno essere presenti anche due indicatori numerici (Numeric Digital Indicator, sempre sulla tavolozza dei controlli) per la visualizzazione delle soluzioni dell equazione ed un indicatore booleano (che potrà dunque assumere solo due valori, ottenuto per esempio selezionando Boolean Round LED) che segnalerà all utente l assenza di soluzioni in campo reale per l equazione in esame. Come in precedenza, queste operazioni faranno comparire nella finestra relativa al diagramma a blocchi tre oggetti che rappresentano altrettante variabili di uscita, di tipo double nel caso degli indicatori numerici, di tipo booleano nel caso del terzo indicatore. Ora il pannello di controllo è completo ed avrà l aspetto rappresentato in figura 6.

6 ESEMPIO DI PROGRAMMAZIONE 9 Untitled 1 Last modified on 11-04-2000 at 21:00 a b c x1 x2 Discriminante<0 Figura 6: Pannello frontale del VI per il calcolo delle radici dell equazione di secondo grado. 6.2 Diagramma a blocchi I simboli già presenti sul diagramma a blocchi devono essere ora opportunamente utilizzati per produrre il risultato desiderato. A tale scopo saranno necessari blocchi che siano in grado di compiere operazioni matematiche e logiche e strutture più complesse che controllino il flusso dei dati e delle istruzioni. Il programma che si intende realizzare dovrà produrre lo stesso risultato delle seguenti linee di pseudocodice in linguaggio testuale: Delta=b^2-4ac if Delta>=0 x1=(-b+sqrt(delta))/(2a) x2=(-b-sqrt(delta))/(2a) led spento else x1=0 x2=0 led acceso end if I blocchi che realizzano le operazioni matematiche richieste (prodotto, divisione, sottrazione, somma, prodotto per -1, radice quadrata) possono essere individuati selezionando Numeric nella tavolozza delle funzioni. Un blocco di confronto dovrà essere impiegato per stabilire se > 0 (selezionare Comparison Greater Or Equal To? sempre nella tavolozza delle funzioni). Sarà inoltre necessario utilizzare alcune costanti di tipo numerico (Numeric Numeric Constant) e di tipo booleano (Boolean Boolean Constant) per il calcolo delle radici dell equazione e per l azionamento dell indicatore luminoso.

6 ESEMPIO DI PROGRAMMAZIONE 10 Si osservi che i vari blocchi possiedono uno o più ingressi ed una uscita. Ingressi ed uscite non sono necessariamente dello stesso tipo; per esempio il blocco di confronto Greater Than 0 ha un ingresso numerico ed una uscita logica. Una volta posizionati sulla finestra del diagramma di flusso, i blocchi dovranno essere opportunamente collegati mediante il wiring tool (dall aspetto di un rocchetto di filo) che si trova sulla tavolozza degli strumenti (Tools). Il flusso del programma dovrà essere in qualche modo controllato dalla condizione posta sul valore del discriminante ( 0?). A questo scopo può essere utilizzata la struttura case (Structure Case) che possiede due o più sottodiagrammi, dei quali uno solo viene eseguito quando la struttura stessa viene eseguita; la selezione viene effettuata sulla base del valore assunto da una variabile di controllo logica o scalare. Per default la struttura case offre la possibilità di scegliere tra due alternative (true/false) ed è quindi governata da una variabile di tipo booleano. Nel caso in esame il valore della variabile di controllo coincide col valore della variabile di uscita del blocco di confronto (vedi figura 7). Se tale confronto fornisce come risultato true, i risultati delle operazioni matematiche eseguite sui tre coefficienti a, b e c dovranno essere passati agli indicatori x1 e x2, mentre il led rimarrà spento. In questo caso all interno Untitled 1 Last modified on 11-04-2000 at 22:25 4 Compound Arithmetic a Subtract Case x1 False b Multiply Greater Than 0? x2 c Discriminante<0 True Figura 7: controllo della struttura case mediante il blocco condizionale 0?.

6 ESEMPIO DI PROGRAMMAZIONE 11 della struttura case con intestazione true passeranno le connessioni verso gli indicatori numerici ed una costante booleana false posta all interno della struttura verrà connessa all indicatore luminoso. Se il risultato del confronto è false agli indicatori verrà passato il valore 0 mentre il led si accenderà. In questo caso una costante 0 posta all interno della struttura case con intestazione false verrà connessa ad entrambi gli indicatori numerici mentre una costante booleana true verrà collegata all indicatore luminoso.