Sei sulla pagina 1di 7

SCUOLA DI LABVIEW

01

Training per esperti

STRUTTURE PER LAGGREGAZIONE DI DATI


Vediamo come rappresentare efficacemente dei gruppi di dati correlati fra loro

cuola di LabVIEW offrir ai lettori dei tutorial a due livelli: di base e per utenti pi esperti. In questo primo numero pubblichiamo un articolo dedicato a un argomento fondamentale per tutti coloro che utilizzano LabVIEW: quello delle strutture per laggregazione di dati. Talvolta vantaggioso raggruppare dati correlati gli uni agli altri. Gli array e i cluster sono utilizzati per questo scopo. Gli array combinano dati dello stesso tipo in ununica struttura dati, mentre i cluster combinano dati di tipo diverso in ununica struttura dati. Le definizioni di tipo vengono utilizzate frequentemente per definire array e cluster personalizzati. Questa lezione spiega gli array, i cluster, le definizioni di tipo e le applicazioni in cui il loro utilizzo pu essere vantaggioso. Iniziamo quindi dagli array.

GLI ARRAY
Un array (matrice) caratterizzato da elementi e dimensioni. Gli elementi sono i dati che costituiscono larray. Una dimensione la lunghezza, laltezza o profondit dellarray. Un array pu avere una o pi dimensioni ed un numero di elementi per dimensione pari a (231) - 1, se la memoria lo permette. Potete costruire array di numeri, di booleani, di percorsi, di stringhe, di forme donda e di cluster. Prendete in considerazione luso di array quando lavorate con un insieme di dati simili e quando eseguite calcoli ripetitivi. Gli array sono ideali per la memorizzazione di dati che raccogliete da forme donda o di dati generati nei cicli, in cui ogni iterazione di un ciclo produce un elemento dellarray.

affinch possiate accedere ad un elemento particolare. Lindice parte da zero e arriva a n-1, in cui n il numero di elementi presenti nellarray. Per esempio, con n=9 per i nove pianeti, lindice varia da 0 a 8. La Terra il terzo pianeta, con un indice pari a 2. La fig.1 mostra un esempio di un array di numeri. Il primo elemento mostrato nellarray Fig 1: Controllo di un array (3.00) ha lindice 1 e il di numeri secondo elemento (1.00) ha lindice 2. Lelemento con lindice 0 non mostrato nellimmagine, perch nel display degli indici selezionato lelemento 1. Lelemento selezionato nel display degli indici si riferisce sempre allelemento mostrato nellangolo superiore sinistro del display dellelemento.

CREAZIONE DI ARRAY DI CONTROLLI E INDICATORI


Create un array di controlli o di indicatori sul pannello frontale inserendo una finestra di array sul pannello frontale, come mostrato nella fig. 2 e trascinando nella finestra dellarray un dato o elemento, che pu essere un numero, un valore booleano, una stringa, un percorso, un refnum o un indicatore o un controllo di cluster. Se tentate di trascinare nella finestra un controllo o un indicatore non valido, come Fig 2: Inserimento di un controllo numerico un XY graph, non siete in in una finestra di array grado di rilasciare nella finestra il controllo o lindicatore. Dovete inserire un oggetto nella finestra dellarray prima che possiate utilizzare larray nello schema a blocchi. Altrimenti, il terminale dellarray appare nero con una parentesi vuota e non ha alcun tipo di dato associato ad esso.

RESTRIZIONI
Non potete creare array di array. Tuttavia potete utilizzare un array multidimensionale o creare un array di cluster in cui ogni cluster contiene uno o pi array. Inoltre non potete creare un array di controlli subpanel, tab, .NET, ActiveX, di chart o di XY graph multitraccia. Fate riferimento alla sezione Cluster di questa lezione per ulteriori informazioni sui cluster. Un esempio di semplice array un array di testo che elenca i nove pianeti del nostro sistema solare. LabVIEW lo rappresenta come un array 1D di stringhe con nove elementi. Gli elementi dellarray sono ordinati. Un array utilizza un indice

ARRAY BIDIMENSIONALI
Lesempio precedente utilizza array 1D. Un array 2D memorizza elementi in una griglia. Esso richiede un indice di colonna e un indice di riga per individuare un elemento, entrambi

32

SCUOLA DI LABVIEW

Nella fig. 5 sono inizializzati sei elementi. In un array bidimensionale, una volta che un singolo elemento in una riga stato inizializzato, tutti gli elementi in quella riga che si trovano anche in colonne che sono state inizializzate vengono automaticamente inizializzati e popolati con valori di default per quel tipo di dato. Per esempio, nella fig. 5, se digitate 4 nellelemento della prima colonna, terza riga, gli elementi nella seconda e terza colonna nella terza riga vengono automaticamente popolati con 0.

CREAZIONE DI ARRAY DI COSTANTI


Fig 3: Array bidimensionale

a partire da zero. La fig. 3 mostra un array di 6 colonne per 4 righe, contenente 6 x 4 = 24 elementi. Per creare un array multidimensionale sul pannello frontale, cliccate con il tasto destro sul display dellindice e selezionate Add Dimension dal menu rapido. Potete anche ridimensionare il display dellindice finch non ottenete tante dimensioni quante ne desiderate.

Per creare un array di costanti nello schema a blocchi, selezionate un array di costanti nella palette Functions, ponete la finestra dellarray nello schema a blocchi ed inserite una costante stringa, una costante numerica o una costante cluster nella finestra dellarray. Potete utilizzare array di costanti per memorizzare dati costanti o come base per un confronto con un altro array. Gli array di costanti sono utili anche per il passaggio di dati a subVI.

AUTOINDICIZZAZIONE DI INGRESSI DI ARRAY INIZIALIZZAZIONE DI ARRAY


Potete inizializzare un array o lasciarlo non inizializzato. Quando un array inizializzato, definite il numero di elementi in ogni dimensione e il contenuto di ogni elemento. Un array non inizializzato ha dimensioni ma non ha elementi. La fig. 4 mostra un array 2D di controlli non inizializzato. Osservate che gli elementi sono tutti grigio opaco. Ci indica che larray non inizializzato. Se collegate un array con un For Loop o un While Loop, potete collegare ciascuna iterazione del ciclo ad un elemento dellarray abilitando lautoindicizzazione. Cliccate con il tasto destro del mouse sul tunnel e selezionate Enable Indexing o Disable Indexing dal menu rapido per commutare lo stato del tunnel.

INGRESSI DI ARRAY
Se abilitate lautoindicizzazione in un array collegato al terminale dingresso del For Loop, LabVIEW imposta il terminale di conteggio sulle dimensioni dellarray e quindi non dovete collegare il terminale di conteggio. Siccome potete utilizzare i For Loop per elaborare array un elemento alla volta, LabVIEW abilita lautoindicizzazione di default per ogni array che collegate ad un For Loop. Disabilitate lautoindicizzazione se non avete bisogno di processare array un elemento alla volta. Nella fig. 6, il For Loop viene eseguito un numero di volte pari al numero di elementi nellarray. Normalmente, se il terminale di conteggio del For Loop non collegato, la freccia del run spezzata. Tuttavia, in questo caso, la freccia del run non spezzata. Se abilitate lautoindicizzazione per pi di un tunnel o se collegate il terminale di conteggio, il conteggio diventa la pi piccola delle possibilit. Per esempio, se due array autoindicizzati entrano nel ciclo, con 10 e 20 elementi rispettivamente, e voi collegate un valore di 15 al terminale di conteggio, il ciclo viene eseguito 10 volte, e il ciclo indicizza solo i primi 10 elementi del secondo array.

Fig 4: Array bidimensionale non inizializzato

USCITE DI ARRAY
Fig 5: Array bidimensionale inizializzato con sei elementi

Quando autoindicizzate un array tramite un tunnel di uscita, larray di uscita riceve un nuovo elemento ad ogni iterazione del ciclo. Quindi gli array di uscita autoindicizzati sono

33

SCUOLA DI LABVIEW

01

Fig 6: Array utilizzato per impostare il conteggio del For Loop

sempre uguali in dimensioni al numero di iterazioni. Il collegamento dal tunnel di uscita allindicatore dellarray diventa pi spesso quando diventa un array sulla cornice del ciclo e il tunnel di uscita contiene parentesi quadre a rappresentare un array, come mostrato nella fig.7. Cliccate con il tasto destro del mouse sul tunnel della cornice del ciclo e selezionate Enable Indexing o Disable Indexing dal menu rapido per abilitare o disabilitare lautoindicizzazione. Nei While Loop lautoindicizzazione disabilitata di default. Per esempio, disabilitate lautoindicizzazione se avete bisogno di passare solo lultimo valore in uscita dal tunnel.

CREAZIONE DI ARRAY BIDIMENSIONALI


Potete utilizzare due For Loop, uno dentro laltro, per creare un array 2D. Il For Loop esterno crea gli elementi di riga e quello interno gli elementi di colonna, come mostrato nella fig. 8.

I CLUSTER
I cluster raggruppano elementi di dati di tipo diverso. Un esempio di cluster il cluster degli errori di LabVIEW, che

combina un valore booleano, un valore numerico ed una stringa. Un cluster simile ad un record o ad un costrutto nei linguaggi di programmazione testuali. Fate riferimento allargomento Error Checking and Error Handling di LabVIEW Help per ulteriori informazioni sulluso dei cluster di errore. Raggruppare diversi elementi nei cluster elimina grovigli di collegamenti nello schema a blocchi e riduce il numero di terminali del riquadro dei connettori di cui hanno bisogno i subVI. Il riquadro dei connettori ha, al pi 28 terminali. Se il vostro pannello frontale contiene pi di 28 controlli ed indicatori che volete passare ad un altro VI, raggruppate alcuni di essi in un cluster ed assegnate il cluster ad un terminale sul riquadro dei connettori. La maggior parte dei cluster nello schema a blocchi possiede un collegamento e un terminale di tipo di dato rosa. I cluster di valori numerici, che talvolta vengono riferiti come punti, hanno collegamenti e un terminale di tipo di dato marrone. Potete collegare cluster numerici marroni a funzioni numeriche, come Add o Square Root, per effettuare la stessa operazione contemporaneamente su tutti gli elementi del cluster.

34

SCUOLA DI LABVIEW

Se avete un cluster di controlli o di indicatori nel pannello frontale e volete creare un cluster di costanti contenente gli stessi elementi nello schema a blocchi, potete sia trascinare quel cluster dal pannello frontale allo schema a blocchi sia cliccare con il tasto destro del mouse sul cluster del pannello frontale e selezionare Create Constant dal menu rapido.

ORDINE DEL CLUSTER


Fig 7: Uscita autoindicizzata

Fig 8: Creazione di un array bidimensionale

I cluster, a differenza dagli array, non sono a dimensione fissa. Come un array, un cluster pu essere un controllo o un indicatore. Un cluster non pu contenere un misto di controlli e indicatori.

CREAZIONE DI CLUSTER DI CONTROLLI E DI INDICATORI


Create un cluster di controlli o di indicatori sul pannello frontale inserendo una finestra di cluster sul pannello frontale, come mostrato nella fig. 9 e trascinate nella finestra un oggetto dato o un elemento, che pu essere un numero, dei valori booleani, una stringa, un percorso, un refnum, un array, o un controllo o un indicatore di cluster. Ridimensionate la finestra del cluster trascinando il cursore mentre inserite la finestra del cluster sul pannello frontale. La figura 10 un esempio di cluster contenente tre controlli: una stringa, un selettore booleano ed un numero. Un cluster un controllo o un indicatore; esso non pu contenere un misto di controlli ed indicatori.

Gli elementi del cluster possiedono un ordine logico scorrelato dalla loro posizione nella finestra. Il primo oggetto che inserite nel cluster lelemento 0, il secondo lelemento 1 e cos via. Se cancellate un elemento, lordine si aggiusta automaticamente. Lordine del cluster determina lordine in cui gli elementi appaiono come terminali nelle funzioni Bundle e Unbundle nello schema a blocchi. Potete visualizzare e modificare lordine del cluster cliccando con il tasto destro del mouse sulla cornice del cluster e selezionando Reorder Controls In Cluster dal menu rapido. La barra degli strumenti e il cluster cambiano, come mostrato nella fig. 11. Il riquadro bianco su ogni elemento mostra la sua posizione corrente nellordine del cluster. Il riquadro nero mostra la nuova posizione dellelemento. Per impostare lordine di un elemento del cluster, inserite un nuovo numero dordine nel riquadro Click to set to e cliccate sullelemento. Lordine dellelemento nel cluster cambia e lordine nel cluster degli altri elementi viene modifciato di conseguenza. Salvate le modifiche clicccando sul pulsante Confirm della barra degli strumenti. Tornate allordine originale cliccando sul pulsante Cancel. Per collegare cluster gli uni agli altri, entrambi i cluster devono avere lo stesso numero di elementi. Gli elementi corrispondenti, determinati dallordine del cluster, devono avere tipi di dati compatibili. Per esempio, se un valore numerico a virgola mobile in doppia precisione in un cluster corrisponde nellordine del cluster ad una stringa in un altro cluster, il collegamento sullo schema a blocchi appare spezzato e il VI non si avvia. Se i valori numerici hanno differenti rappresentazioni, LabVIEW li forza alla stessa rappresentazione.

CREAZIONE DI CLUSTER DI COSTANTI


Per creare un cluster di costanti nello schema a blocchi completate i passi seguenti: 1. Selezionate un cluster di costanti sulla palette Functions. 2. Inserite la finestra del cluster nello schema a blocchi. 3. Inserite nella finestra del cluster una costante stringa, una costante numerica o una costante di cluster. Potete utilizzare un cluster di costanti per memorizzare dati costanti o come base per il confronto con un altro cluster.

Fig 9: Creazione di un cluster di controlli

Fig 10: Esempio di un controllo di cluster

35

SCUOLA DI LABVIEW

01

corretto di terminali. Le funzioni Bundle by Name e Unbundle by Name appaiono con il primo elemento nel cluster. Utilizzate lo strumento Positioning per ridimensionare le funzioni Bundle by Name e Unbundle by Name per mostrare altri elementi del cluster.

ASSEMBLAGGIO DI CLUSTER
Utilizzate la funzione Bundle per assemblare un cluster a partire da elementi individuali o per modificare i valori di singoli elementi in un cluster esistente senza dover specificare nuovi valori per tutti gli elementi. Utilizzate lo strumento Positioning per ridimensionare la funzione o cliccate con il tasto destro del mouse sullingresso element e selezionate Add Input dal menu rapido (fig. 12).

MODIFICA DI UN CLUSTER
Fig 11:Riordinamento del cluster

UTILIZZO DI FUNZIONI DI CLUSTER


Utilizzate le funzioni Cluster per creare e manipolare cluster. Per esempio, potete svolgere compiti simili ai seguenti: Estrarre da un cluster elementi di dati individuali. Aggiungere ad un cluster elementi di dati individuali. Scomporre un cluster nei suoi elementi di dati individuali. Utilizzate la funzione Bundle per assemblare un cluster, le funzioni Bundle e Bundle by Name per modificare un cluster e le funzioni Unbundle e Unbundle by Name per disassemblare cluster. Potete anche creare le funzioni Bundle, Bundle by Name, Unbundle e Unbundle by Name cliccando con il tasto destro del mouse su un terminale del cluster dello schema a blocchi e selezionando Cluster Palette dal menu rapido. Le funzioni Bundle e Unbundle contengono automaticamente il numero

Se collegate lingresso cluster, potete collegare solo elements che volete modificare. Per esempio, Input Cluster mostrato nella fig. 13 contiene tre controlli. Se conoscete lordine del cluster, potete utilizzare la funzione Bundle per modificare il valore Command collegando gli elementi mostrati nella fig. 13. Potete anche utilizzare la funzione Bundle by Name per sostituire o avere accesso ad elementi etichettati di un cluster esistente. Bundle by Name lavora analogamente alla funzione Bundle, ma invece di riferirsi ad elementi di cluster tramite lordine del cluster, si riferisce ad essi tramite le loro etichette. Potete avere solamente accesso ad elementi dotati di propria etichetta. Il numero di ingressi non necessita di essere coincidente con il numero di elementi in output cluster. Utilizzate lo strumento Operating per cliccare su un terminale dingresso e selezionare un elemento dal menu a tendina. Potete anche cliccare con il tasto destro del mouse sullingresso e selezionare lelemento dal menu rapido Select Item. Nella fig. 14 si pu utilizzare la funzione Bundle by Name per

Fig 12: Assemblaggio di un cluster nello schema a blocchi

Fig 13: Bundle utilizzato per modificare un cluster

36

SCUOLA DI LABVIEW

modificare Command e Function. Utilizzate la funzione Bundle by Name per strutture di dati che possono cambiare durante lo sviluppo. Se aggiungete un nuovo elemento al cluster o modificate il suo ordine, non avete bisogno di ricollegare la funzione Bundle by Name perch i nomi sono ancora validi.
Fig 14: Bundle by Name usato per modificare un cluster

DISASSEMBLAGGIO DI CLUSTER
Utilizzate la funzione Unbundle per suddividere un cluster nei suoi singoli elementi. Utilizzate la funzione Unbundle by Name per restituire gli elementi del cluster di cui specificate i nomi. Il numero di terminali di uscita non dipende dal numero di elementi del cluster dingresso. Fig 15: Unbundle e Unbundle by Name Utilizzate lo strumento Operating per cliccare su un terminale di uscita e selezionare un elemento dal menu a tendina. Potete anche cliccare con il tasto destro del mouse sul terminale di uscita e selezionare lelemento dal menu rapido Select Item. Per esempio, se utilizzate la funzione Unbundle con il cluster illustrato nella fig. 15, esso ha quattro terminali di uscita che corrispondono ai quattro controlli nel cluster. Dovete conoscere lordine del cluster affinch possiate associare il terminale booleano corretto del cluster disassemblato con il selettore corrispondente nel cluster. In questo esempio gli elementi sono ordinati dallalto verso il basso a partire dalllelemento 0. Se utilizzate la funzione Unbundle by Name, potete avere un numero arbitrario di terminali ed accedere ai singoli elementi per nome in un qualsiasi ordine.

CLUSTER DI ERRORE
LabVIEW contiene un cluster personalizzato chiamato error cluster. LabVIEW utilizza i cluster di errore per passare informazioni sugli errori. Un cluster di errore contiene gli elementi seguenti: - status: valore booleano che riporta TRUE in caso di errore. - code: intero con segno a 32 bit che identifica numericamente lerrore. - source: stringa che identifica dove avvenuto lerrore.

controllo o indicatore su altri pannelli frontali. Potete anche creare unicona per il controllo o indicatore personalizzato e aggiungerlo alla palette Controls. Fate riferimento allargomento del LabVIEW Help: Creating Custom Controls, Indicator and Type Definitions per ulteriori informazioni sulla creazione e lutilizzo di controlli personalizzati e di definizioni di tipo. Utilizzate la finestra Control Editor per personalizzare controlli e indicatori. Per esempio, potete cambiare le dimensioni, il colore e la posizione relativa degli elementi di un controllo o di un indicatore e importare immagini nel controllo o indicatore. Potete visualizzare la finestra Control Editor nei seguenti modi: Cliccate con il tasto destro del mouse su un controllo o indicatore del pannello frontale e selezionate AdvancedCustomize dal menu rapido. Utilizzate lo strumento Positioning per selezionare un controllo o indicatore del pannello frontale e selezionate EditCustomize Control. Utilizzate la finestra di dialogo New. Control Editor appare con loggetto del pannello frontale selezionato nella sua finestra. Control Editor ha due modalit, edit e customize. La barra degli strumenti della finestra Control Editor indica se siete in modalit edit o customize. La finestra Control Editor si apre in modalit edit. Cliccate sul pulsante Edit Mode per passare alla modalit customize. Cliccate sul pulsante Customize Mode per tornare alla modalit edit. Potete anche passare da una modalit allaltra selezionando OperateChange to Customize Mode o Operate Change to Edit Mode. Utilizzate la modalit edit per cambiare le dimensioni o il colore di un controllo o di un indicatore e per selezionare le opzioni dal suo menu rapido, proprio come fate in modalit edit su un pannello frontale. Utilizzate la modalit customize per apportare significativi cambiamenti ai controlli o indicatori cambiando le singole parti di un controllo o di un indicatore. Modalit Edit In modalit edit, potete cliccare con il tasto destro del mouse sul controllo e modificare le sue impostazioni come le vorreste nellambiente di programmazione di LabVIEW. Modalit Customize In modalit Customize, potete spostare i singoli componenti del controllo uno intorno allaltro. Per un elenco completo di quello che potete manipolare in modalit customize, selezionate WindowShow Parts Window. Un modo di personalizzare un controllo di modificare la sua definizione di tipo. Potete salvare un controllo come un controllo, una definizione di tipo o una definizione di tipo strict,

CONTROLLI PERSONALIZZATI
Le definizioni di tipo sono usate frequentemente per definire array e cluster personalizzati. Utilizzate controlli e indicatori personalizzati per estendere linsieme disponibile di oggetti di un pannello frontale. Potete creare componenti personalizzati per linterfaccia utente per unapplicazione che differisce dal punto di vista estetico dai controlli e indicatori di LabVIEW interni. Potete salvare in una directory o in una LLB un controllo o un indicatore personalizzato che avete creato e utilizzare il

37

SCUOLA DI LABVIEW

01

in funzione della selezione visibile nel controllo Type Def. Status. Lopzione del controllo la stessa di un controllo selezionato dalla palette Controls. Potete modificarlo come volete ed ogni copia che ne fate mantiene le sue propriet. Salvataggio dei controlli Dopo aver creato un controllo personalizzato, potete salvarlo per un uso successivo. Di default i controlli salvati su disco hanno unestensione .ctl. Potete anche utilizzare Control Editor per salvare controlli con impostazioni proprie. Per esempio, potete utilizzare Control Editor per modificare i valori di default di un waveform graph, salvarli e richiamarli successivamente in altri VI.

trolli numerici, il data range non fa parte del tipo di dato. Quindi le definizioni di tipo dei controlli numerici non definiscono il data range per le istanze delle definizioni di tipo. Inoltre, siccome i nomi delle voci nei controlli ring non definiscono il tipo di dato, cambiamenti ai nomi delle voci del controllo ring in una definizione di tipo non cambiano i nomi delle voci nelle istanze della definizione di tipo. Tuttavia, se modificate i nomi delle voci nella definizione di tipo per un controllo di tipo enumerated, le istanze si aggiornano perch i nomi delle voci fanno parte del tipo di dato. Unistanza di una definizione di tipo pu avere la propria etichetta, descrizione, valore di default, dimensioni, colore o stile del controllo o indicatore, come un potenziometro invece di un cursore.

DEFINIZIONE DI TIPO
Utilizzate le definizioni di tipo e di tipo strict per collegare tutte le istanze di un controllo o di un indicatore personalizzato ad un file salvato del controllo o indicatore personalizzato. Potete effettuare cambiamenti a tutte le istanze del controllo o indicatore personalizzato modificando solo il file salvato del controllo o indicatore personalizzato, il che utile se utilizzate il controllo o indicatore personalizzato in diversi file. Quando inserite un controllo o indicatore personalizzato in un VI, non esiste collegamento tra il controllo o indicatore personalizzato che avete salvato e listanza del controllo o indicatore nel VI. Ogni istanza di un controllo o indicatore personalizzato una copia indipendente e separata. Quindi i cambiamenti che apportate ad un file del controllo o indicatore personalizzato non influenzano i VI che gi utilizzano quel controllo o indicatore personalizzato. Se volete collegare istanze di un controllo o indicatore personalizzato al file del controllo o indicatore personalizzato, salvate il controllo o indicatore personalizzato come definizione di tipo o come definizione di tipo strict. Tutte le istanze di una definizione di tipo o definizione di tipo strict si collegano al file originale da cui le avete create. Quando salvate un controllo o indicatore personalizzato come definizione di tipo o definizione di tipo strict, ogni modifica che apportate alla definizione di tipo o alla definizione di tipo strict influenza tutte le istanze della definizione di tipo o definizione di tipo strict in tutti i VI che le utilizzano. Inoltre cambiamenti formali alla definizione di tipo strict influenzano tutte le istanze della definizione di tipo strict sul pannello frontale. Le definizioni di tipo identificano il tipo di dato corretto per ogni istanza di un controllo o di un indicatore personalizzato. Quando il tipo di dato di una definizione di tipo cambia, tutte le istanze della definizione di tipo si aggiornano automaticamente. In altre parole, il tipo di dato delle istanze della definizione di tipo cambiano in ogni VI in cui la definizione di tipo viene usata. Tuttavia, siccome le definizioni di tipo identificano solo il tipo di dato, solo i valori che fanno parte del tipo di dato si aggiornano. Per esempio, sui con-

CAMBIAMENTO DI TIPO
Se cambiate il tipo di dato in una definizione di tipo, LabVIEW converte il vecchio valore di default in istanze della definizione di tipo sul nuovo tipo di dato, se possibile. LabVIEW non pu preservare il valore di default dellistanza se il tipo di data cambia in un tipo incompatibile, come nella sostituzione di un controllo o di un indicatore numerico con un controllo o un indicatore a stringa. Quando il tipo di dato di una definizione di tipo cambia in tipo di dato incompatibile con la precedente definizione di tipo, LabVIEW imposta il valore di default delle istanze sul valore di default del nuovo tipo di dato. Per esempio, se cambiate una definizione di tipo da un tipo numerico ad un tipo stringa, LabVIEW sostituisce ogni valore di default associato con il vecchio tipo di dato numerico con stringhe vuote. Una definizione di tipo strict forza tutto ci che relativo allistanza ad essere identico alla definizione di tipo strict, eccetto letichetta, la descrizione e il valore di default. Come nel caso delle definizioni di tipo, il tipo di dato di una definizione di tipo strict rimane la stessa dovunque utilizziate la definizione di tipo strict. Le definizioni di tipo strict definiscono anche altri valori, come la verifica dellintervallo nei controlli numerici e i nomi delle voci nei controlli ring. Le uniche propriet del VI Server disponibili per le definizioni di tipo strict sono quelle che influenzano laspetto del controllo o dellindicatore, come Visibile, Disabled, Key Focus, Blinking, Position e Bounds. Non potete evitare che unistanza di una definizione di tipo strict si aggiorni automaticamente a meno che non rimuoviate il collegamento tra listanza e le definizione di tipo strict. Le definizioni di tipo e le definizioni di tipo strict sono usate tipicamente per creare un controllo personalizzato utilizzando un cluster di molti controlli. Se avete bisogno di aggiungere un nuovo controllo e di passare un nuovo valore ad ogni subVI, potete aggiungere il nuovo controllo al cluster dei controlli personalizzato, invece di aggiungere il nuovo controllo ad ogni pannello frontale di subVI e di realizzare nuovi collegamenti e terminali.

38

readerser vice.it n.309

Potrebbero piacerti anche