L ambiente di lavoro di LabVIEW

Documenti analoghi
Laboratorio II, modulo LabView

Conversione Analogico/Digitale

LabView Parte 1 IL LABVIEW LEZ_1. Corso di. Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento )

LabVIEW (Laboratory Virtual Instrument Engineering Workbench)

LabVIEW - generalità

LabVIEW. Laboratory Virtual Instrument Engineering Workbench. Esempio. Misure Elettroniche 1. Introduzione. Differenze tra strumento stand-alone e VI

Laboratory Virtual Pannello frontale

Introduzione al linguaggio di programmazione LabVIEW

LabView: Corso Base pag. 1

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6

Corso di Misure per l Automazione e la Produzione Industriale

Dati due punti sul piano calcolare la loro distanza

IL LABVIEW LEZ_2. Corso di. Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento )

Università di Cagliari

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi

Introduzione alla programmazione in linguaggio C

Raccolta degli esercizi svolti in aula

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Rappresentazione di interi

Ingresso ed Uscita in C. Informatica 1 / 15

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Precisazione sui tipi in ANSi C

LabVIEW parte II. Ing. Gianfranco Miele November 3, 2010

Introduzione alla programmazione. Alice Pavarani

Introduzione al linguaggio C Primi programmi

Gerardo Iovane Giuseppe Lamponi Luigia Puccio Metodi matematici per l analisi delle immagini. Applicazioni e laboratorio

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Il Linguaggio di Programmazione Pascal

DEI DATI. Training per principianti RAPPRESENTAZIONE SCUOLA DI LABVIEW

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.2b: Programmazione in Pascal (1)

Primi programmi in C

5.4 Istruzione di input L istruzione di input ha la forma:

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot

Elementi di Base. Introduzione a Python.

Qualsiasi programma in C++ segue lo schema:

ALGORITMI E STRUTTURE DATI

Ingresso ed Uscita in C. Luca Abeni

Dipartimento di Ingegneria Industriale e dell Informazione. Programmazione di un convertitore digitale/analogico

LA CODIFICA LORENZO BRACCIALE

Struttura di un programma C++

Dipartimento di Ingegneria Industriale e dell Informazione. Realizzazione e programmazione di un convertitore digitale/analogico

PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii

Sistemi di numerazione posizionali

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin

Numeri floating point

Algoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Corso di Fondamenti di Informatica Università degli Studi di Cassino

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.

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

Excel & VBA. Excel e Visual Basic for Application

Tipi di dato semplici

Primi passi col linguaggio C

CLASSE: 3ELE MATERIA: SISTEMI AUTOMATICI DOCENTE: PELLEGRINI PROGRAMMAZIONE DIDATTICA. competenze chiave competenze base abilità conoscenze

CLASSE: 3ELE MATERIA: SISTEMI AUTOMATICI DOCENTE: PELLEGRINI PROGRAMMAZIONE DIDATTICA

Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Caratteristiche di un linguaggio ad alto livello

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

Codifica dei Tipi di Dati in Linguaggio C

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Lezione 6 Introduzione al C++ Mauro Piccolo

Manualistica 01 Variabili e costanti

Informatica. Stefano Lodi. 16 novembre in linguaggio C

Linguaggio Macchina. Numeri binari. E il linguaggio che il microprocessore comprende. In Esadecimale

Variabili e Funzioni. Informatica 1 / 19

Tipi di dato primitivi

1

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

14. Tipi e conversioni di tipo. Andrea Marongiu Paolo Valente

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

Somma di numeri binari

UD 3.2b: Programmazione in Pascal (1)

Lezione 5: Introduzione alla programmazione in C

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Caratteristiche generali del linguaggio Visual Basic

Classe III A. A.s Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti. Prof. Alberto Ferrari Prof.

Tipi di dato semplici

Programmazione in Java (I modulo) Lezione 4

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Sistemi a microprocessore

Il linguaggio C. Notate che...

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

I Fondamenti del Linguaggio

Il linguaggio C. Notate che...

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

Il primo programma C. Un programma utile. Compilazione & linking con il compilatore GNU. Introduzione alla programmazione in linguaggio C

Laboratorio di Architettura lezione 5. Massimo Marchiori W3C/MIT/UNIVE

Esercizi Programmazione I

Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo

Istituto Tecnico Industriale A. Righi

L AMBIENTE CODE BLOCKS E L IO

Dichiarazioni e tipi predefiniti nel linguaggio C

Il Modello di von Neumann (2) Prevede 3 entità logiche:

28/02/2014 Copyright V. Moriggia

Transcript:

L ambiente di lavoro di LabVIEW FRONT PANEL dove compaiono gli oggetti che l utente vede (cioè la GUI dell utente) BLOCK DIAGRAM dove il programmatore disegna il codice che corrisponde a ciò che l utente vede Finestre di strumenti

Nuovo programma Un programma nel linguaggio LabView è detto VI: Virtual Instrument Supponiamo di realizzare un programma che in una finestra utente richieda 2 numeri in input e dia in uscita il risultato della seguente operazione: Cap01Es01: 2 2 2 y = x + x = x x + x x 1 1 1 2 2

Analisi del programma fatto Nel semplice codice appena disegnato troviamo gli elementi base di programma per LabVIEW: Nodi: i Digital Controls x1 e x2 ed il Digital indicator y Wires: le linee che collegano i nodi Data Packets: le informazioni che circolano tra i nodi tramite i wires. Per vedere quest ultimi utilizzare lo strumento di debug (lampadina)

Tipi di dati numerici Nell esempio appena fatto i controlli e gli indicatori compaiono con la scritta DBL, cioè LabVIEW li considera dei numeri in virgola mobile, doppia precisione Vediamo il formato dei numeri in LabVIEW: Integer Type Abbr. Range Signed 32 bit I32-2.147.483.648 to 2.147.483.647 Signed 16 bit I16-32.768 to 32.767 Signed 8 bit I8-128 to 127 Unsigned 32 bit U32 0 to 4.294.967.295 Unsigned 16 bit U16 0 to 65535 Unsigned 8-bit U8 0 to 255

Float. Type Abbr. Bits Decimal digits Extendedprecision floating-point Double-precision floating-point Single-precision floating-point EXT 128 varies from 15 to 33 by platform Range Minimum positive number: 6.48e-4966 Maximum positive number: 1.19e+4932 Minimum negative number: -6.48e-4966 Maximum negative number: -1.19e+4932 DBL 64 15 Minimum positive number: 4.94e-324 Maximum positive number: 1.79e+308 Minimum negative number: -4.94e-324 Maximum negative number: -1.79e+308 SGL 32 6 Minimum positive number: 1.40e-45 Maximum positive number: 3.40e+38 Minimum negative number: -1.40e-45 Maximum negative number: -3.40e+38

Numeri complessi Sequenza di due numeri reali: Float. Type Bits Decimal digits Complex Extendedprecision Complex Double-precision Complex Singleprecision 256 varies from 15 to 33 by platform Range Same as extended-precision floating-point for each (real and imaginary) part 128 15 Same as double-precision floating-point for each (real and imaginary) part 64 6 Same as single-precision floating-point for each (real and imaginary) part

Sempre sui tipi di dati Due nodi possono accettare in ingresso o produrre in uscita dati che possono essere: Singoli numeri Interi, virgola mobile, carattere, Arrays: vettori di numeri, stringhe, Clusters Un cluster è un insieme eterogeneo di dati. Nel modo di pensare di LabVIEW i dati viaggiano in pacchetti (data packets). Se un pacchetto, per portare l informazione dovuta, necessita, per esempio, di mettere insieme un array con una stringa, realizza un cluster (pensate alla struttura del C)

Waveform data type Dalla versione 6i di LabVIEW, esiste un nuovo tipo di dati: Waveform Esso è un cluster costituito da: Componente t0 dt Y Descrizione Rappresenta il tempo iniziale della forma d onda. E un DBL ed è definito come un tempo, tipo l output della funzione Get Date/Time In Seconds. Rappresenta l intervallo temporale in secondi fra un punto della sequenza temporale e il successivo (se esiste più di un punto) E la sequenza temporale vera e propria. Può essere un array o un singolo numero

Wires e Data types In base all informazione che si passano due nodi, il filo di collegamento assume aspetti diversi: Colore Blu Arancione Magenta Verde Marrone Tipo di dati Intero (Numerico) Virgola mobile (Numerico) Cluster che contiene tipi di dati non numerici(booleani, clusters, arrays ) Booleani Cluster con dati solo numerici

Il pannello dei controlli Il pannello dei controlli serve per mettere nel Front Panel una serie di controlli visibili all utente Ad ogni controllo corrisponde un nodo nel block diagram.

Il pannello delle funzioni Contiene nodi di diverso tipo da collocare nel Block Diagram Gli oggetti piazzati tramite questo pannello esistono solo nel Block Diagram e non nel Front Panel

Prendere decisioni con LabVIEW Il costrutto if/then/else è alla base di tutti i linguaggi di programmazione. Vediamo come lo implementa LabVIEW if valore > soglia then switch on LED

Controllo del flusso In LabVIEW il controllo del flusso del programma può avvenire in due soli modi: Dataflow, cioè unendo i nodi con i fili Utilizzando una Sequence Structure:

Arrays In LabVIEW si possono realizzare vettori tipi di dati omogenei Per esempio di numeri: [4, 6, 8, 3, 0, 1] o di stringhe [ Barbara, Paola, Francesca, Luisa ] Non si possono effettuare vettori eterogenei. Per questo occorroni i Clusters I vettori possono essere mono o multidimensionali Creiamo un vettore con LabVIEW: Front Panel -> Control Palette -> Array

Loops In LabVIEW è possibile implementare i loops di tipo: for i=0 to N-1 While continue if true stop if true

Grafici I grafici delle grandezze acquisite sono una componente fondamentale di un programma di DAQ LabVIEW ha diversi tipi di grafici: Grafico Waveform Chart Waveform graph XY Graph Intensity Chart Intensity Graph Digital waveform graph Descrizione Essenzialmente visualizza un punto o un gruppo di punti alla volta. Ha memoria interna chiamata history Visualizza un intero array (o più arrays) in un colpo solo, con punti equispaziati nell ascissa x. Non ha history Visualizza un intero array (o più arrays) in un colpo solo, con punti a spaziatura arbitraria nell ascissa x. Non ha history Vedi libro Comodo per visualizzare dati digitali (DAQ)

SubVI Se LabVIEW non ha la funzione che voi cercate e, per esempio, voi dovete utilizzarla ripetutamente, è conveniente creare un SubVI Questo corrisponde a crearsi una propria libreria di funzioni Supponiamo di dover creare un SubVI che esegue il teorema di Pitagora: a c 2 c = a + b 2 b

Clusters Un formato di dati molto usato in LabVIEW sono i clusters Un Array è un gruppo di dimensione variabile di oggetti dello stesso tipo Un Cluster è un gruppo, di dimensione fissata, di oggetti di tipo diverso Durante l esecuzione di un VI un array può anche incrementare o diminuire la sua dimensione, mentre un cluster la mantiene sempre fissa

File I/O LabVIEW ha diversi strumenti per la lettura/scrittura di dati su disco Essenzialmente li possiamo distinguere in due famiglie strumenti di alto livello vengono usati come funzioni, ma in realtà sono dei subvi più o meno complicati strumenti di basso livello sono funzioni proprie. Ogni qual volta viene aperto un file viene creato un numero di riferimento (refnumber) che viene utilizzato dalle funzioni di scrittura/lettura e chiusura file

Formato binario vs ASCII Scrivere i dati in ascii ha i seguenti vantaggi: I files scritti in ascii sono facilmente leggibili da altri programmi è facile capire il contenuto del file Scrivere i dati in ascii ha i seguenti svantaggi: il file assume notevoli dimensioni la scrittura è piuttosto lenta Conviene quindi usare il formato binario quando sono necessari requisiti di velocità di scrittura e riduzioni delle dimensioni dei files

Dimensioni dei dati scritti ASCII vs BINARIO Supponiamo di dover scrivere due numeri (10.347, 20.531) in singola precisione (SGL) in un file e di limitarci a 3 cifre decimali: ASCII: 1 0. 3 4 7, 2 0. 5 3 1 \r \n Cioè 15 Bytes Binario: 2x4Byte = 8Bytes

Variabili Locali e Globali Come in un linguaggio di programmazione più convenzionale è possibile definire delle variabili locali e globali Locali: che hanno valore solo nel VI corrente e necessitano di un pannello presistente Globali: hanno valore in tutti i Vis e hanno un proprio pannello E buona norma non utilizzare queste variabili per non incorrere in problemi tipici dei sistemi di acquisizione: race condition: due eventi avvengono in ordine casuale, mentre la condizione di correttezza vorrebbe un ordine ben preciso