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

Documenti analoghi
Introduzione al linguaggio di programmazione LabVIEW

Corso di Misure per l Automazione e la Produzione Industriale

Evoluzione della Strumentazione. Software Architecture. Multiplatform Compatibility

DEI DATI. Training per principianti RAPPRESENTAZIONE SCUOLA DI LABVIEW

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

Laboratory Virtual Pannello frontale

LabVIEW (Laboratory Virtual Instrument Engineering Workbench)

Raccolta degli esercizi svolti in aula

Programma del corso Elettronica 2

IL LABVIEW LEZ_3. Corso di

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

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

L ambiente di lavoro di LabVIEW

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

LabView IL LABVIEW LEZ_3. Parte 3. Corso di Strumentazione Virtuale. Corso di

Dipartimento di Ingegneria Industriale e dell Informazione. Sistema per la misura del guadagno di corrente beta in transistori bipolari

Dispense delle Esercitazioni dei moduli:

Dipartimento di Ingegneria Industriale e dell Informazione. Acquisizione dati da sistemi di misura

LabVIEW - generalità

Introduzione a LabVIEW

Sviluppare un programma in FORTRAN

LabView: Corso Base pag. 1

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

Capitolo Tavola e grafico

Introduzione al MATLAB c Parte 2

Insert > Object > Chart

LabView: Corso Base pag. 7

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO

Programmazione in Java (I modulo) Lezione 4

Corso di Laboratorio di Sistemi Operativi

FONDAMENTI DI ACQUISIZIONE DATI E INTRODUZIONE AL SISTEMA LabVIEW

A B C LabVIEW. Sviluppo di Software per la Stazione di raggi cosmici EEE

Esercizi di base per l apprendimento di LabView

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Informatica (A-K) 5. Algoritmi e pseudocodifica

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

Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Programmare con MatLab IV

Javascript: il browser

Fondamenti di Informatica

Dichiarazione di variabili

Capitolo Tavola e grafico

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Programmazione. Selezione e ripetizione. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino

STRUTTURE DI CONTROLLO DEL C++

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Il primo programma C++

Elementi di Informatica A. A. 2016/2017

Gocce di Java. Gocce di Java. Selezione e ripetizione. Pierluigi Crescenzi. Università degli Studi di Firenze

Esercizi su array di array

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Java SE 7. Strutture di programmazione (2)

Programmazione in Java (I modulo)

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Introduzione a Matlab

Dati due punti sul piano calcolare la loro distanza

Dispense delle Esercitazioni dei moduli:

10 STRUTTURE DI CONTROLLO REPEAT E WHILE. Strutture di controllo e variabili strutturate

Introduzione alla programmazione

Costrutti condizionali e iterativi

La formattazione dei dati

Un esempio di applicazione: Robot Dance

Le basi del linguaggio Java

Excel & VBA. Excel e Visual Basic for Application

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

Javascript: il browser

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

4. I moduli in Access 2000/2003

Esercitazione n 2 Costruzione di grafici

Esercitazione n 2. Costruzione di grafici

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61

Esercitazioni di Elementi di Informatica

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Programmare con MATLAB c Parte 5 Cicli: for e while

Daniela Tondini

Loop in Matlab. Informatica B. Daniele Loiacono

Esercitazione n 3. Ancora grafici

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

Strutture dati e loro organizzazione. Gabriella Trucco

Informatica Applicata al Suono Tutorial Matlab

Ing. Simone Giovannetti

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

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:

Istruzioni di ripetizione in Java 1

Fondamenti di Informatica A. A. 2018/19

Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.

Assegnazione di una variabile

Istruzioni di ripetizione in Java 1

Transcript:

Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento ) IL LABVIEW LEZ_2 Luigi Ferrigno ferrigno@unicas.it Gruppo Misure Elettriche ed Elettroniche Facoltà di Ingegneria, DAEIMI. Università degli Studi di Cassino

LabView Parte 2 " Strutture di controllo " Grafici " Array e cluster " Formula node

Il ciclo Da Functions >> Structures while Iteration terminal Qui va il codice da iterare Ripetere? Conditional terminal " Il ciclo termina quando si fornisce FALSE al conditional terminal " Il codice è eseguito almeno una volta " L'iteration terminal dà il numero di iterazioni raggiunto

Ciclo while: esempio

Waveform chart Label Legenda Palette Aggiornamento: " Strip chart " Scope chart " Sweep chart

Visualizzazione con waveform chart Ad ogni iterazione il waveform chart riceve uno scalare

Tipi numerici e conversioni " Interi con segno: I8, I16, I32 " Interi senza segno: U8, U16, U32 " In virgola mobile: SGL (32), DBL (64), EXT " Complessi Coercion dot I 16 DBL DBL

Comportamento dei controlli booleani Switch - Commuta per pressione e rilascio Latch Ritorna nello stato di default quando viene letto dal diagramma " When pressed " When released " Until released

Temporizzazione Esempio: in un loop while si aggiorna un waveform chart: 50000 cicli / s senza synchronous display " 100 cicli / s con synchronous display " Sono valori effettivi?

Ciclo while temporizzato Esecuzione di azioni ad intervalli prestabiliti Impegno limitato di risorse Adeguamento ai tempi di risposta dell'utente

Grafici multiple plot Bundle (nella palette Functions >> Cluster): assembla i suoi ingressi in un unico cluster Un cluster è una struttura che raccoglie più elementi in un nuovo tipo di dato

Proprietà di controlli e indicatori Representation (tipo numerico) Numero di cifre e notazione Range ( o autorange ) Label e caption Description Display sincrono Per i waveform chart: History length Update mode Opzioni grafiche (colori, griglia,...)

Shift Registers Trasferiscono dati da una iterazione alla successiva Si inseriscono con un right-click sul bordo del loop Il terminale destro conserva il dato alla fine della iterazione Il terminale sinistro fornisce il dato alla iterazione successiva Inizializzazione Da passo precedente Per il prossimo passo

Shift Registers: esempio

Shift Registers 1 loop prima 2 loop prima 3 loop prima L'ultimo valore va passato qui Si possono aggiungere altri shift register per ottenere valori di iterazioni precedenti

Esempio: Running average

Il ciclo for Numero di iterazioni da eseguire Numero corrente di iterazioni Esegue il codice al suo interno un numero prestabilito di volte

Arrays " Collezioni di elementi (dati) dello stesso tipo " Una o più dimensioni, fino a 2 31 elementi per dimensione " Si accede agli elementi con un indice per dimensione " Il primo elemento ha sempre indice 0 Indice 0 1 2 3 4 5 6 7 8 9 array di 10 elementi 1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7 Array bidimensionale 0 1 2 3 4 0 1 2 3 4 5 6

1. Selezionare Array dalla palette dei controlli Controlli e indicatori per gli array 2. Inserire un controllo del tipo desiderato nella Array Shell Add Dimension per 2D arrays Procedura analoga per le costanti array

Autoindexing Il loop accumula l'array al suo margine Auto-Indexing abilitato (Default nel For) 1D array 0 1 2 3 4 5 Auto-Indexing disabilitato (Default nel While) Scalare risultato dell'ultima iterazione

Creazione di array 2D 1D array # righe 0 1 2 3 4 5 # colonne 0 1 2 3 2D array Il loop interno crea gli elementi di ogni riga Il loop esterno sovrappone le righe

Autoindexing e lettura di array Non deve essere impostato direttamente Il ciclo viene eseguito per un numero di volte pari al numero di elementi dell'array collegato

Funzioni per gli array (1) Array 7 3 2 5 4 Number of Elements element dimension size Initialize Array initialized array 10 4 10 10 10 10

Funzioni per gli array (2) array Elemento Array Elemento Array 3 2 5 7 1 4 2 Build Array Array con il nuovo elemento accodato 3 2 5 7 1 4 2 La funzione Build Array resizable Nuovo array 1D Array 1D Array 3 2 5 1 4 2 3 2 5 1 4 2 2D Array Dal menu di contesto: change to element change to array 1D Array 1D Array 3 2 5 1 4 2 3 2 5 1 4 2 1D Array

Funzioni per gli array (3) array index(0) length subarray Array Subset Array 1 2 7 3 2 5 8 Index Length 2 4 7 3 2 5 Array Subset array index element Array 3 2 5 7 1 4 2 Index 2 Element 5 Index Array 2D Array 3 2 5 1 4 2 Row Index Column Index 0 2 Element 5

Funzioni per gli array (4) Index array Estrae una colonna 0 0 0 Dal menu di contesto della Index Array: " Add dimension " Disable input Estrae una riga

Polimorfismo Ingressi delle funzioni di tipo diverso " Comportamento dipendente dal tipo degli ingressi Tutte le funzioni aritmetiche sono polimorfiche Combinazione Scalare + Scalare 5 2 7 Risultato Scalare Array + Scalare 1 4 2 2 3 6 4 Array Array + Array 3 2 5 1 4 2 4 6 7 Array Array + Array 1 4 2 3 2 5 7 4 6 7 Array

Waveform Graph Tracciano un array di valori numerici rispetto all'indice Legenda Palette

Single-Plot Waveform Graph 1D Array Terminale del Waveform Graph (è un Array 1D) 1D Array Terminale del Waveform Graph (è un Cluster) " X0 è il valore iniziale per le ascisse " deltax è la distanza orizzontale tra i punti del grafico

Multiple-Plot Waveform Graph Build Array 1D Arrays 2D array Terminale del Waveform Graph (è un Array 2D) clusters cluster array Terminale del Waveform Graph (è un Array di Cluster)

XY Graph Traccia un array rispetto ad un altro Single-plot XY Graph Multi-plot XY Graph

I Cluster " Combinano più strutture dati in un nuovo tipo dati " Possono contenere elementi di tipo diverso " Si possono definire costanti, controlli e indicatori di tipo Cluster " L'ordine degli elementi è importante Unbundle

Altre funzioni per i Cluster Modifica di un elemento di un Cluster:

La struttura Case " Solo un sottodiagramma viene eseguito " Il valore passato al selettore determina il codice da eseguire " Il selettore può essere booleano, numerico o stringa Selettore booleano: if...then...else

La struttura Case " Con selettori di tipo numerico o stringa si possono gestire scelte multiple " Add Case dal menu di contesto per aggiungere nuove scelte " Un Case deve essere quello di default

Menu di scelta " I controlli List & Ring associano un intero ad una voce selezionabile

Ingressi ed uscite del case (tunnel) Tunnel di uscita " In TUTTI i case devono essere collegati TUTTI i tunnel

La struttura Sequence " I sottodiagrammi vengono eseguiti uno dopo l'altro " Consente di fissare l'ordine di esecuzione di VI non dipendenti

Sequence Locals Passano dati da un frame al solo frame successivo Si definiscono sul bordo della Sequence Dati non disponibili Sequence local in uscita dal Frame 1 Dati disponibili

Formula Node - Implementazione di equazioni complicate - Variabili create sul bordo - I nomi delle variabili sono case sensitive - Ogni istruzione deve terminare con un punto e virgola (;) - <Ctrl-H> per l'elenco delle funzioni disponibili

Formula Node: Conditional Branching if (x >= 0) then y = sqrt(x) else y = -99999.0 end if Conditional Operator False Condition Condition True Condition

Formula Node: Variabili temporanee " Si definiscono come uscite, ma non vengono collegate

La generazione dei segnali

generaz ione dei segnali: esempi o

ure sui seg nali : ese mpi o