Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAlbino Di Matteo Modificato 8 anni fa
1
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 local e global variables
2
Data Management Dataflow è il modo più efficiente di trasportare dati –I Nodi sono eseguiti quando i dati in ingresso sono disponibili –I Nodi forniscono i dati a tutte le uscite al termine dell’esecuzione –I dati si muovono dalla sorgente alla destinazione La maggior parte delle applicazioni usa i fili per trasferire i dati Non si possono usare i fili per trasferire dati tra task eseguiti in parallelo (il collegamento crea una dipendenza)
3
Creare le Local Variables Consentono di accedere ad oggetti del front panel da diverse locazioni del diagram Due modi per creare una local variable: –Right-click sul terminale di un oggetto e Create >> Local Variable –Selezionare local variable dalla Structures palette
4
Creare le Local Variables Right-click sulla local variable node e scegliete Select Item per selezionare l’oggetto desiderato Owned label diventano i nomi delle variabili Selezionare se si vuole leggere o scrivere la local variable
5
Local Variable: Esempio Si consideri un’applicazione che necessita l’arresto di due While Loops data-independent (o paralleli) allo stesso istante Ogni While Loop disegna un seno su un chart
6
Soluzioni all’esempio Metodo 1 (scorretto) Metodo 2 (scorretto)
7
Soluzioni all’esempio Metodo 3 (Corretto)
8
Local Variable Reminders Se un oggetto del front panel deve avere una local variable associata, allora deve avere una owned label Quando si scrive in una local variable, si aggiorna anche l’oggetto del front panel corrispondente Quando si legge una local variable, si legge il valore corrente dell’oggetto del front panel corrispondente
9
Global Variables Caso particolare di VI (Le locals operano solo nel VI) –Costituiti solamente dal Front panel e da oggetti del front panel –Non c’è il block diagram Panel objects sono “posti” dove collocare i dati Utilizzati per passare i dati tra VIs che sono in esecuzione o tra VIs che non possono essere collegati da un filo Leggere e scrivere le global variables –Scrivere tramite il “Write Global” –Leggere tramite il “Read Global” –Pop up sul nodo per scambiare tra read e write Write GlobalRead Global
10
Scambio di dati tra VIs VI Number 1VI Number 2
11
Creare le Global Variables Creare i controlli che si comporteranno da global variables Ogni controllo deve avere una owned label Right-click con l’Operating Tool
12
Global Variable Reminders Dare ad ogni global variable una owned label Scrivere (inizializzare) una global variable prima di leggerla Se non inizializzata, viene restituito il valore di default La global variable è scritta in un luogo diverso da dove viene letta, solitamente in un VI differente
13
Esercizio 13-2 Realizzare due VI che si scambiano dati tramite una GLOBAL variable Tempo a disposizione: 15 min.
14
Considerazioni su Locals e Globals Essere sicuri di inizializzare local e global variables prima di leggerle Evitare attentamente le “race conditions” Usare le locals e globals solo se necessario –Ogni “Read” di una local o global genera una copia dei dati –Accedere alle globals e locals può richiedere più risorse di memoria e rallentare l’esecuzione LabVIEW Code Sequential Code x = x * 5 x = x + 2 OR x + 2 x = x * 5 Non c’è una chiara data dependency, quindi l’ordine di esecuzione non è noto in modo preciso
15
Riepilogo Le Local variables accedono agli oggetti del front panel nel quale sono create Quando si legge o scrive una local variable, si legge o aggiorna lo stato corrente dell’oggetto del front panel associato Le Global variables scambiano dati tra VI che girano in parallelo Scrivere una global variable prima di leggerla Usare Local e Global Variables solo se necessario!!
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.