Opzioni Block diagram. Lezione 5 Array, Grafici e Cluster A.Uso degli arrays B.Creazione di arrays tramite i cicli C.Alcune funzioni base per la manipolazione.

Slides:



Advertisements
Presentazioni simili
MODULO 4 – Il Foglio elettronico
Advertisements

PHP.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Esercitazione 2 Array, funzioni, form
Operazioni elementari
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
File.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Introduzione al LABVIEW
Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,
Introduzione agli stream e alle classi
LabVIEW Laboratory Virtual Instrument Engineering Workbench
Introduzione alla programmazione lll
Laboratorio di Informatica
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
SOMMARIO Introduzione Interfaccia excel Celle Immissioni dati
Strutture di controllo in C -- Flow Chart --
I File.
Corso di PHP.
Manipolazione dei dati
Lezione I: Introduzione a LabView e Fondamenti del DataFlow
LABoratory Virtual Instrument Engineering Workbench LabVIEW.
Caselle si fa in 4 – Modulo2
Lezione 12 Riccardo Sama' Copyright Riccardo Sama' Excel.
Un report è in grado di personalizzare la stampa delle informazioni rispetto alla stampa di una tabella, di un recordset o di una maschera. I report possono.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
LabVIEW LABoratory Virtual Instrument Engeneering Workbench LabVIEW LABoratory Virtual Instrument Engeneering Workbench.
1 Gestione dei File. 2 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi –Si usano dall'interno dei programmi Realizzano.
Foglio elettronico Excel Livello avanzato
Array e Funzioni in PHP Laboratorio di Progettazione Web AA 2007/2008 Chiara Renso ISTI- CNR -
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
Esercizi su File e Liste
REDIREZIONE INPUT E OUTPUT
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Le Toolbar di default Quando avviamo Writer vengono visualizzate di default due toolbar o barre degli strumenti La toolbar superiore è definita Standard.
Microsoft Access Chiavi, struttura delle tabelle.
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Modulo 6 Test di verifica
RISOLUZIONE DI EQUAZIONI
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
JavaScript Generalità Cos'è JavaScript?
Word: gli strumenti di formattazione
HTML 4.01 Apogeo. I tag di base Capitolo 1 I tag SintassiEsempi:
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
Stampe ArcView lezione 5. Preparazione alla lezione Realizzare una mappa tematica: Aprire ea av ai Realizzare una mappa tematica come.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Informatica e Informatica di Base
Excel.
Conversione Analogico/Digitale Le grandezze fisiche che vogliamo misurare variano con continuità in un dato intervallo ed in funzione del tempo: sono descrivibili.
Cloud Tecno V. Percorso didattico per l’apprendimento di Microsoft Access 2 - Le tabelle.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
LA STRUMENTAZIONE VIRTUALE
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Strumentazione Virtuale con LabVIEW. Obbiettivo del Corso Comprendere i componenti di uno Stumento Virtuale Introduzione a LabVIEW e alle funzioni più.
Lezione 13 Variabili Local e Global Obiettivi di apprendimento: A.Come usare le local variables B.Come usare le global variables C.Consigli sull’uso di.
Lezione 14 Tecniche di I/O Avanzate Obiettivi di apprendimento: A.Come lavorare con stream binari B.Lavorare con I datalog files C.Vantaggi e svantaggi.
03/06/20161 SPSS Statistics Statistical Package for Social Science.
Transcript della presentazione:

Opzioni Block diagram

Lezione 5 Array, Grafici e Cluster A.Uso degli arrays B.Creazione di arrays tramite i cicli C.Alcune funzioni base per la manipolazione degli arrays D.Il concetto di polimorfismo E.Utilizzo dei grafici per la visualizzazione dei dati F. Uso dei clusters G. Alcune funzioni base per la manipolazione dei clusters Obiettivi di apprendimento:

Arrays Raggruppamento di dati dello stesso tipo 1D o 2D, fino a 2 elementi per dimensione Si accede agli elementi tramite il loro indice posizionale Il primo elemento ha indice 0 31 index Array di 10 elementi D array Array di 35 elementi: 5-righe per 7-colonne Nota: non si possono avere array di array, charts o graphs

Array Controls e Indicators Aggiungere una dimensione per array 2D 1. Selezionare l’Array Shell dalla Controls palette 2. Posizionare il dato nella shell Indice di riga Indice di colonna

Creare Array di costanti 1. Selezionare l’ “Array Constant” shell dall’Array subpalette 2. Posizionare all’interno della shell le costanti di interesse

Creare Arrays tramite i cicli Auto-Indexing – “Accumulo dei dati ai bordi di un ciclo” Auto indexing di default per i cicli For; Disabilitato per i While Auto-indexing può essere usato per accedere ad un singolo elemento di un input array

Creare array 2D Il ciclo più interno crea gli elementi della colonna Il ciclo esterno riempe le righe Esempio: 2DArray.vi

Impostare il numero di cicli Un array in ingresso ad un ciclo For ne determina il numero di iterazioni Nel caso di impostazioni discordanti, viene selezionato il numero di iterazioni minore

Funzioni che operano sugli Arrays Array Size Initialize Array Array Subset

La funzione Build Array Realizzare array multi-dimensionali Concatenazione degli ingressi (default) Append di un elemento

La funzione Index Array Estrazione di un elemento Estrazione di una riga

Polimorfismo Gli ingressi di una funzione possono essere diversi Tutte le funzioni aritmetiche sono polimorfiche Realizzare Polymorphism Example.vi Scalar + Scalar Array + Scalar CombinationResult Scalar Array Array + Array Array

Esercizio 5-1 Array Exercise.vi Tempo a disposizione: 20 min.

Esercizio 5-1 Array Exercise.vi Tempo a disposizione: 20 min.

Grafici (Visualizzatore 2D) Selezionabili dalla Graph subpalette Waveform Graph – traccia un array numerico vs l’indice XY Graph – riceve due array e traccia uno rispetto all’altro Plot Legend (stile punti e linea) Graph Palette Scale Legend

Waveform Graphs – grafico singolo Asse X uniformemente spaziato – X(0) = 0.0, delta X = 1.0 Asse X uniformemente spaziato X(0) e delta X impostato dall’utente

Waveform Graphs – grafici multipli Ogni riga dell’array è un grafico (X(0) = 0, delta X = 1) Ogni riga dell’array è un grafico (X(0) e delta X specificati dall’utente: possono essere differenti per i due grafici!)

XY Graphs Asse X non unifome Un array per l’asse X e uno per l’asse Y

Esercizio 5-2 Graph Circle.vi Tempo a disposizione: 20 min.

Esercizio 5-2 Graph Circle.vi Tempo a disposizione: 20 min.

Chart e Graph: riepilogo Finestra del Context Help:

Clusters Strutture che inglobano più dati I dati possono essere di tipi differenti Simiili ai record in Pascal o alle struct in C Gli elementi devono essere o tutti dei controlli o tutti degli indicatori Similitudine: fili all’interno di un cavo!

1. Selezionare la Cluster shell dall’Array & Cluster subpalette Cluster Controls e Indicators 2.Posizionare gli oggetti nella shell (devono essere tutti Controls o Indicators) Nota: si possono avere cluster nidificati in cluster? No.

Cluster di Costanti Selezionare la Cluster Constant shell dalla Cluster subpalette Right-click su un cluster esistente e menù contestuale Create>>Constant

Ordine degli oggetti Gli elementi hanno un ordine logico (si inizia da 0) Per cambiare ordine, right-click sul bordo e selezionare Reorder Controls nella voce Cluster...

Ordine degli oggetti L’ordine è molto importante: CORRETTO! ERRATO!

Usare i Clusters per passare dati a un SubVIs Un solo cluster passa più valori diversi ad un SubVI Supera la limitazione di 28 terminali d’ingresso Semplifica le interconnessione

Funzioni per i Cluster Nella Cluster subpalette della Functions palette Oppure tramite right-clicking su i terminali del cluster terminal Bundle (Le etichette dei Terminal indicano il tipo di dato) Bundle By Name Nota: un cluster esistente deve essere collegato al terminale della funzione

Funzioni per i Cluster Unbundle Unbundle By Name Blocco Unbundled nel diagram

Esercizio 5-3 Realizzare il Cluster.VI Tempo a disposizione: 10 min

Esercizio 5-3 Realizzare il Cluster.VI

Riepilogo Un array è una collezione di elementi dello stesso tipo – numeric, Boolean, string, etc. Creare un array o un cluster di controls/indicators richiede 2 fasi 1. Creare una shell vuota 2. Posizionare all’interno i controls/indicators voluti I cicli possono creare array – auto-indexing Le funzioni sugli Array sono nella Array subpalette della Functions palette Le funzioni aritmetiche sono polimorfiche Grafici: – Possibilità di personalizzazione – Più grafici possono essere visualizzati contemporaneamente Un Cluster racchiude tipi di dati differenti Le funzioni di Bundle e Unbundle functions sono usate per assemblare e disassembleare cluster

Lezione 6 Struttura Case e Sequence A.La struttura Case B.La struttura Sequence C.I Formula Nodes Obiettivi di apprendimento:

Struttura Case Nella Structures subpalette della Functions palette Trascinare o riquadrare i nodi all’interno della struttura I casi sono “impilati” come un mazzo di carte

Case: Boolean e Numeric Nota: tutte le possibili uscite di un Case devono essere collegate

Case: Intervalli – Default Case Nota: il “default case” è necessario se non sono specificati tutti i possibili “case”

Esercizio 6-1 Square Root.vi (sqrt(x)=error if x<0) Tempo a disposizione: 20 min.

Esercizio 6-1 Square Root.vi (sqrt(x)=error if x<0) Tempo a disposizione: 20 min. Time & Dialog palette

Automi a stati finiti Utili nella gestione delle GUI dei VI Si implementano grazie alla struttura CASE Relativamente facile da modificare ValueState NameDescriptionNext State No Event Monitor Boolean menu to select next state. Depends on Boolean button pressed. If no button is pressed, next state is No Event. 0LoginLog in userNo Event (-1) 1 2 Configure Acquisition Acquire (2) AcquireAcquire DataNo Event (-1)

Automi a stati finiti

Struttura Sequence Nella Structures subpalette della Functions palette Consente un’elaborazione di tipo “sequenziale”, Frame 0 (0..x), dove x è il numero totale di frames I frames sono “impilati” come un mazzo di carte

Sequence: passaggio dei dati Locals: passano un dato dal frame attuale al successivo Creati sul bordo di una struttura Sequenza Sequence local creato nel Frame 1 Dato non disponibile Dato disponibile

Esercizio 6-2 Time to Match Tempo a disposizione: 20 min.

Esercizio 6-2 Time to Match Tempo a disposizione: 20 min.

Formula Node Nella Structures subpalette; si usa il “Labeling Tool” Consente di implementare equazioni “complicate” Le variabili (dip e indipendenti) sono create ai bordi Il nome delle variabili è “case sensitive” Ogni equazione deve terminare con un ; Help: mostra le funzioni disponibili Nota: punto e virgola!

Condizioni nei Formula Nodes if (x >= 0) then y = sqrt(x) else y = end if Condizione Operatore condizionale Condizione VERA Condizione FALSA

Esercizio 6-3 Formula Node Exercise.vi ( a = tanh(x) + cos(x); y = a**3 + a; ) Tempo a disposizione: 20 min.

Esercizio 6-3 Formula Node Exercise.vi

Rimpiazzare le Sequence Aggiornare un Indicator da diversi frame di una sequence non è banale (e.g. local variables) Es: indicare la fine dell’esecuzione di più test: Data Flow Programming: i dati in uscita ad un tunnel sono aggiornati solamente alla fine dell’esecuzione dell’intera sequence

Rimpiazzare le Sequence L’accoppiata di un ciclo while e di un case può efficacemente sostituire una sequence In questo caso, il tunnel è aggiornato alla fine dell’esecuzione di un singolo “caso”:

Riepilogo Due strutture per il controllo del flusso di programmazione – Case structure – Sequence structure Case structure – Condizione Booleana o numerica – dipende dal selettore – il Subdiagram è posizionato all’interno della struttura – L’uscita di Case deve essere definita per tutti i casi Le Sequence structure consentono l’esecuzione “sequenziale” di un subdiagram I Locals consentono il passaggio dei dati tra i frame – Creati al bordo di una Sequence structure – Il dato è disponibile al frame successivo I Formula Nodes consentono l’immissione di equazioni in un diagram Le Sequence structures possono essere sostituite con un Case all’interno di un ciclo

Lezione 7 Stringhe e File I/O Obiettivi di apprendimento: A.Come creare controlli e indicatori di tipo stringa B.Alcune funzioni per la manipolazione di stringhe C.Come gestire le operazioni di file I/O D.Come formattare file ASCII per importarli nei fogli elettronici E.I VIs per la gestione dell’I/O ad alto livello

Stringhe Una stringa è una sequenza di caratteri (codificati secondo lo std. ASCII) Scopi molteplici – messaggi all’utente, controllo di strumentazione (GPIB), file I/O Gli String controls/indicators si trovano nella Controls >> String subpalette Menù contestuale >> Visible Item >> Scrollbar

Modalità di visualizzazione Normale Modalità PWD Modalità Caratteri Non Mostrabili Modalità Hex

Modalità di visualizzazione Caratteri non visualizzabili:

Funzioni stringa Concatenate Strings The quick brown fox jumped over the lazy dog. Stringa concatenata Stringhe spaces here String Length = 20 Length Stringa

Funzioni Stringa Se non si trova alcuna corrispondenza, offset past match vale -1

Funzioni stringa Convertire valori numerici in stringhe Convertire stringhe in valori numerici

Formattazione di una stringa

File I/O Tre livelli gerarchici: File Vis di tipo “High-level” Vis di livello intermedio Funzioni di I/O avanzate High Level File VIs File VIs e funzioni di livello intermedio Funzioni avanzate

File I/O VIs di livello intermedio Open/Create/Replace file – creare, aprire e sovracrivere un file Read File – acquisire dati da un file Write File – scrivere dati in un file Close File – chiudere un file Gestione degli errori –Subpalette Time & Dialog –Mostrarle in un dialog box all’utente USATE IL CONTEXT HELP!

Controllo degli errori Error In/Out: cluster contenente lo stato (boolean), il codice (Numeric) e la sorgente (stringa) dell’errore. Una funzione testa innanzitutto lo status e viene eseguita solamente se non ci sono errori, altrimenti passa il controllo alla successiva Subpalette “Time & Dialog”

Salvare dati in un File Open/Create/Replace apre o crea il file TEST1.DAT generando un refnum e un cluster degli errori occorsi Write File scrive i dati Close File chiude il file Simple Error Handler: gestisce la visualizzazione gli errori

Rileggere i dati da unFile Open/Create/Replace apre il file Read File legge un numero prefissato di byte dal file Close File chiude il file Simple Error Handler:gestione della visualizzazione degli errori

Esercizio 7-1 File Writer.vi Tempo a disposizione: 20 min.

Esercizio 7-1 File Writer.vi Tempo a disposizione: 20 min.

Esercizio 7-2 File Reader.vi Tempo a disposizione: 20 min.

Esercizio 7-2 File Reader.vi Tempo a disposizione: 20 min.

Formattare una Stringa I fogli elettronici sono strumenti molto diffusi per l’elaborazione e la gestione di dati numerici Ci sono diversi formati per il salvataggio dei dati. Uno dei più diffusi è il cosiddetto tab-delimited: –Colonne diverse sono separate da un carattere di tabulazione –Righe diverse sono individuate da un carattere di fine linea Utilizzo di appositi LabVIEW File I/O Vis (Format Into File = Format Into String + Write File)

Creare uno Spreadsheet File TabEnd of Line Importato in un foglio elettronico:

High-level File I/O VIs Write to Spreadsheet File Read from Spreadsheet File Write Characters to File Read Characters from File Read Lines from File

Riepilogo Una Stringa è un insieme di caratteri ASCII – usi: –Messaggi all’utente –Controllo della strumentazione (GPIB) –File I/O Esistono diverse funzioni per le stringhe – Strings palette del Functions menu Tre livelli gerarchici di File I/O VIs –High-level VIs –Vis e funzioni di livello intermedio –Funzioni avanzate File in formato foglio elettronico –Colonne separate da una tabulazione –Righe separate da un End-of-line –Write/Read high-level File I/O VIs

Costruire appllicazioni con LV Selezionare Build Application or Shared Library (DLL) dal menù Tools Creare un “distribution kit” che includa un installer per distribuire l’applicazione

VI library.llb File speciale all’interno del quale si possono salvare e caricare i VI +Fino a 255 caratteri per i nomi a prescindere dall’ OS +Ottimizzazione nell’uso dello spazio su disco +Alcuni VIs in una LLB possono essere di “Top Level” così che appaiano per primi quando mostrati +Esportare i VI su altre piattaforme è più semplice –Le prestazioni del sistema diminuiscono –Non c’è gerarchia; tutti i VI allo stesso livello –Non si possono usare le funzioni di FIND del OS –Il controllo del codice è più difficoltoso