B. Icon and Connector Pane

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Linguaggi di programmazione
Scomposizione funzionale
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
CONOSCIAMO IL WINDOWS '95.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
DLL: Dynamic Linking Library
Sequential Function Chart (SFC)
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Introduzione al LABVIEW
LabVIEW Laboratory Virtual Instrument Engineering Workbench
Struttura dei sistemi operativi (panoramica)
Linguaggi di programmazione
Queuing or Waiting Line Models
© CEFRIEL Ricettario dei principali pattern GoF Docente: Gabriele Lombardi
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Espressioni condizionali
DBMS ( Database Management System)
C# LE BASI 2007 Prima lezione - Introduzione.
1 Premessa In questo progetto sono stati implementati tutti gli esercizi di Complementi di esercizi di Reti logiche. Elenco degli esercizi svolti: 1.Registro.
Sviluppo e gestione di sistemi di misura basati su PC
Lezione I: Introduzione a LabView e Fondamenti del DataFlow
LABoratory Virtual Instrument Engineering Workbench LabVIEW.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
BUILDING A USER INTERFACE Using CRYSTAL REPORTS. COME UNAPPLICAZIONE COMUNICA CON LUTENTE? Problema comune a tutte le applicazioni informatiche Forse.
Connected Component Workbanch
Proprieta di file/cartella Pannello di controllo
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
LabVIEW LABoratory Virtual Instrument Engeneering Workbench LabVIEW LABoratory Virtual Instrument Engeneering Workbench.
Chronos Jpdl Designer versione 1.0
14 marzo 2002 Avvisi:.
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.
Threads.
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
Il linguaggio Fortran 90: 3. Procedure e Funzioni
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
I processi.
Il Sistema Operativo Il Sistema Operativo è costituito dall’insieme dei programmi necessari per far funzionare tutto l’hardware del calcolatore e per nascondere.
FUNZIONI Dichiarazione: Definizione:
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
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.
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Internetworking V anno.
SUMMARY Time domain and frequency domain RIEPILOGO Dominio del tempo e della frequenza RIEPILOGO Dominio del tempo e della frequenza.
SUMMARY Quadripoles and equivalent circuits RIEPILOGO Quadripoli e circuiti equivalenti RIEPILOGO Quadripoli e circuiti equivalenti.
Conversione Analogico/Digitale Le grandezze fisiche che vogliamo misurare variano con continuità in un dato intervallo ed in funzione del tempo: sono descrivibili.
OPERAZIONI SUL FILE SYSTEM SPOSTARE un file o una sottodirectory da una directory ad un’altra COPIARE un file o una directory da una directory all’altra.
SUMMARY PLCs RIEPILOGO I PLC RIEPILOGO I PLC. »Un PLC consiste principalmente di una CPU, un’area di memoria, circuiti di ingresso ed uscita. »A PLC consists.
SUMMARY A/D converters RIEPILOGO Convertitori A/D RIEPILOGO Convertitori A/D.
Filtri del secondo ordine e diagrammi di Bode
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Labview I: Introduzione a LabView e Fondamenti del DataFlow.
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 n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi su stringhe e file 15 Stringhe e file.
SUMMARY Checking RIEPILOGO Verifiche RIEPILOGO Verifiche.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
STMan Advanced Graphics Controller. What is STMan  STMan is an advanced graphic controller for Etere automation  STMan is able to control multiple graphics.
Transcript della presentazione:

B. Icon and Connector Pane After you build a VI, build the icon and the connector pane so you can use the VI as a subVI The icon and connector pane correspond to the function prototype in text-based programming languages Every VI displays an icon in the upper-right corner of the front panel and block diagram windows An icon is a graphical representation of a VI If you use a VI as a subVI, the icon identifies the subVI on the block diagram of the VI

B. Icon and Connector Pane – Good VI Icon Characteristics of a good VI icon Conveys the functionality of the VI using: Relevant graphics Descriptive text

B. Icon and Connector Pane – Create Icon Create custom icons by right-clicking the icon in the upper right corner of the front panel or block diagram and selecting Edit Icon or by double-clicking the icon You also can drag a graphic from anywhere in your file system and drop it on the icon

B. Icon and Connector Pane – Setting up the Connector Pane Right-click the icon in the upper right corner of the front panel and select Show Connector Each rectangle on the connector pane represents a terminal Use the terminals to assign inputs and outputs Select a different pattern by right-clicking the connector pane and selecting Patterns from the shortcut menu

Icona dei Connettori Ogni VI può essere a sua volta incluso in un altro VI come un subVI. Ogni operatore dello schema a blocchi è in realtà un subVI L’icona dei connettori definisce input ed output di ogni subVI Un subVI espone la sua icona dei connettori al posto del pannello frontale

Icona dei Connettori Anche per la definizione di input ed output si procede per via grafica L’icona dei connettori, in modalità show connectors, permette di associare ogni elemento del front panel ad un terminale del VI Ogni terminale può essere consigliato (default), obbligatorio od opzionale È importante mantenere la convenzione che vuole gli input a sinistra e gli output a destra

B. Icon and Connector Pane – Standards Use this connector pane layout as a standard Top terminals are usually reserved for references, such as a file reference Bottom terminals are usually reserved for error clusters

C. Using SubVIs – Terminal Setting Bold: Required terminal Plain: Recommended terminals Dimmed: Optional terminals You can designate which inputs and outputs are required, recommended, and optional for your subVIs Right-click a terminal in the connector pane and select This Connection Is. Select Required, Recommended, or Optional. LabVIEW sets inputs and outputs of VIs you create to Recommended by default. Set a terminal setting to required only if the VI must have the input or output to run properly.

D. Undefined or Unexpected Data ∞ (Inf) Infinity Divided a number by zero? NaN Not a number Produced by invalid operations, such as taking the square root of a negative number Check for unexpected Inf values or NaN values in your mathematical operations LabVIEW can process complex numbers. There is a complex number option on the numeric palette.

Errori RunTime Gli errori si distinguono a seconda dell’utilizzatore che li genera: se avvengono mentre stiamo progettando il VI sono errori di DESIGN TIME e impediscono l’avvio del VI stesso se avvengono quando il VI è in esecuzione sono errori di RUNTIME e non sono prevedibili a priori Ogni subVI in grado di generare errori deve prevedere un errore in input ed uno in output

Il Flusso degli Errori Ogni VI che può generare un errore RunTime dispone di due connettori, chiamati error in (no error) ed error out Il tipo di dati che gestiscono questi terminali è un cluster particolare, composto da status, codice e messaggio Alcuni controlli, come il blocco case, sono in grado di adattarsi al tipo di dato errore grazie al polimorfismo

Il Flusso degli Errori un VI che trovi un error in diverso da no error non viene eseguito, ma passa l’errore al terminale error out direttamente un VI che riscontri un errore RunTime scrive sul suo terminale error out l’errore riscontrato, se nulla è collegato ad error out, compare una finestra di errore standard all’utente

E. Error Checking and Error Handling – Manual Error Handling To disable automatic error handling for a subVI or function, wire its error out cluster to the error in cluster of another subVI or function or to an error out indicator Use the LabVIEW error handling VIs, functions, and parameters to manage errors

E. Error Checking and Error Handling – Error Clusters Use the error cluster controls and indicators to create error inputs and outputs in subVIs The error in and error out clusters include the following components of information: Status Code Source Go to Help»Explain Error to access the Explain Error dialog box. Status is a Boolean value that reports TRUE if an error occurred. Most VIs, functions, and structures that accept Boolean data also recognize this parameter. For example, you can wire an error cluster to the Boolean inputs of the Stop, Quit LabVIEW, or Select functions. If an error occurs, the error cluster passes a TRUE value to the function. Code is a 32-bit signed integer that identifies the error numerically. A non-zero error code coupled with a status of FALSE signals a warning rather than a fatal error. Source is a string that identifies where the error occurred

C. Using SubVIs – Handling Errors Use a Case structure to handle errors passed into the subVI

C. Using SubVIs – Handling Errors Avoid using LabVIEW error handler VIs inside subVIs

Sequenze di esecuzione Lavorando in dataflow non si possono controllare le sequenze di operazioni ma solo il flusso di dati Flussi paralleli avvengono secondo le disponibilità del processore e dell’hardware e non possiamo quindi definirne la sequenza Nel caso delle operazioni debbano necessariamente essere eseguite in successione possiamo ricorrere al FLUSSO DEGLI ERRORI per imporre una sequenza specifica Oltre agli errori anche altri tipi di dato contenenti risorse (task, handle, file) sfruttano una catena di connettori IN/OUT utili per creare sequenze

Modello standard di subVI

subVI con memoria FUNCTIONAL GLOBAL VARIABLE Un subvi con uno shift register non inizializzato MANTIENE IN MEMORIA I DATI DELL’ULTIMA VOLTA CHE E’ STATO USATO… quindi lo posso usare come memoria stabile...

Modalità di Esecuzione Grazie alla finestra VI properties possiamo definire varie proprietà di esecuzione del subVI, la principale rimane però la modalità di esecuzione L’esecuzione è detta reentrant se possono esistere più istanze del medesimo subVI in esecuzione in contemporanea L’esecuzione è invece non-reentrant se esiste una sola istanza del subVI cui accedono successivamente i vari VI che lo richiamano In entrambi i casi un unica istanza del subVI viene collegata ad ogni VI che l’ha richiamata, rendendo quindi possibili operazioni iterative in successione (ad esempio un inizializzazione di una risorsa solo alla prima chiamata od un contatore interno)

Memorie dei subvi e execution mode Se il subVI è REENTRANT allora OGNI ISTANZA ha un suo spazio di memoria, se il subVI è NON-REENTRANT allora lo spazio di memoria è unico! REENTRANT NON REENTRANT A 1 B 2 C 3

Projects Whenever more than a VI is required to perform a task we can create and extended group: a project A project is made by the following: One or more TARGET (hardware on the which we’re working) One or more VI per target, if needed grouped in virtual folders One or more LIBRARY grouping different Vis with a common task One or more BUILD SPECIFICATIONS To create executables from our project To create installer for such executables

Project TARGET VI Library VIs Installer Executable

Buone pratiche di programmazione Scegliere uno dei due approcci : BOTTOM-UP: identificare i compiti più difficoltosi del progetto, sviluppare un modulo che li assolve, quindi integrarlo in step successivi nel progetto utile solo se il progetto è semplice, ma il risultato è dubbio e si vuole valutarne la fattibilità TOP-DOWN: definire in linea di massima il funzionamento del progetto, partendo da uno schema logico di funzionamento, e delegare i vari compiti a template (moduli definiti solo in input-output) che verranno realizzati in seguito Utile quando il progetto non prevede vincoli di fattibilità tecnica, anche in casi non complessi!

Buone pratiche di programmazione Mantenere il codice pulito ed intuitivo Scrivere sempre da sinistra a destra Non andare oltre le dimensioni dello schermo Disegnare icone intuitive ed usare nomi estesi Commentare i passaggi meno espliciti Sfruttare al massimo librerie e progetti Se si pensa che una serie di funzioni sia correlata,usare una libreria Se si pensa che qualcosa potrebbe essere riusato, metterlo in una libreria Mantenere il progetto ordinato con cartelle virtuali e librerie

Librerie e LLB Libreria Contiene tutti i vi, i tipi di controlli e le variabili di rete che adempiono a funzioni complementari (es controllare un motore tramite un protocollo specifico, connettersi ad un db).. LLB File compresso direttamente accessibile da labview, comodo per trasportare gruppi di vi tra diversi utenti Libreria + LLB => tenere ordinato contenuto e contenitore

ESERCIZIO Creare in un progetto, la libreria analisi segnale che contenga i seguenti vi: media mobile in grado di effettuare una media mobile su una waveform dato il numero di campioni ed la percentuale di sovrapposizione composizione in grado di sommare al quadrato un insieme di waveform e poi applicarvi la radice quadrata, istante per istante confidenza in grado di aggiungere ad una data waveform il limite superiore ed inferiore dati incertezza standard e livello di confidenza SNR rapporto tra il valore del segnale ed il rumore (incertezza) istante per istante

ESERCIZIO Sfruttando la libreria analisi segnale acquisire per almeno 30s i segnali dei trasduttori che vi vengono messi a disposizione, considerando una frequenza di campionamento adatta per acquisire segnali fino a 2kHz Visualizzare in un grafico la storia temporale dell’acquisizione, in un altro il segnale ottenuto dalla composizione vettoriale, a cui aggiungere l’intervallo di confidenza del 95% con incertezza pari a 1% del fondo scala, in un altro visualizzare il SNR

Suggerimenti Scegliere se usare un approccio TOP-DOWN o BOTTOM-UP Organizzare lo sviluppo secondo un progetto condiviso, DESCRIVENDOLO prima, se possibile tramite schemi standard o creando template vuoti Definire per ogni subVI da integrare INGRESSI ed USCITE Separare il più possibile interfaccia e calcolo

Esempio: SNR Signal to Noise Ratio (SNR): Rapporto tra segnale e rumore (in questo caso lo stimiamo tramite l’incertezza) Normalmente è espresso in decibel quindi usiamo come uscita sia il valore nominale che il valore convertirlo in dB INGRESSI: segnale (waveform), obbligatorio incertezza (double), consigliato (default ___?) USCITE: SNR (waveform) SNR dB (waveform)