• Non ci sono risultati.

4. Orientamento agli oggetti

4.3 Progettazione con orientamento ad oggetti

4.3.2 Tipi di dato

I tipi di dato sono il cuore del parametrizzare in riferimento agli oggetti. Visto che nei tipi di oggetto driver -non possono essere effettuate delle impostazioni, essi non sono utilizzabili per questo orientamento agli oggetti. I tipi di dato, invece, offrono molte possibilità.

Distinguiamo tre tipi:

Semplici tipi di dato:

Struttura di tipi di dato

Elementi struttura

Tipi di dato semplice

Tipi di dato semplice sono sempre tipi di dato IEC, cioè quelli definiti nello standard IEC 61131-3, come BOOL, INT, USINT, UDINT, USINT, STRING, WSTRING ecc; hanno una dimensione predefinita - per esempio:

BOOL: 1 bit INT: 16 bit signed UINT: 16 bit unsigned

I tipi di dato in zenon consentono, però, accanto al tipo di dato IEC, l´impostazione di molte più proprietà. Esse hanno le stesse denominazioni di quelle delle variabili:

Identificazione

Unità di misura

Campo valori

Valori limiti

Perché questa "partita doppia"?

La ragione è tanto semplice, quanto pratica:

la variabile riprende il calcolo del valore, unità e anche valori limite dal tipo di dato che ne è alla base, come un elemento di visualizzazione riprende il tipo e la dimensione del font dal carattere collegato.

ORIENTAMENTO AD OGGE TTI

Diversamente da quello che accade per il collegamento di elementi dinamici e caratteri, qui abbiamo a che fare con un approccio orientato agli oggetti: l´oggetto tipo di dato trasmette le sue proprietà alla variabile. La differenza?

15 Delle proprietà collegate/derivate possono essere separate dalla variabile o sovrascritte. Ciò funziona per ogni singola proprietà, ma anche per tutte le proprietà nel loro complesso. Potete, per esempio, riprendere l´unità dal tipo di dato centralmente, ma potete sovrascrivere l´identificazione, oppure l´indirizzo direttamente sulla variabile. Ciò funziona nel modo seguente:

Se modificate nella variabile il valore corrispondente, il collegamento viene eliminato.

Lo notate anche per il fatto che nella proprietà scompare la spunta.

Servendovi del menù contestuale, potete usare le seguenti funzioni:

Prendi proprietà dal tipo di dato:

Se avete separato un collegamento, potete ristabilirlo.

Separa proprietà:

Potete separare delle singole proprietà senza dover modificare il valore. Se, in un secondo tempo, modificate il valore nel tipo di dato, potete essere sicuri che la variabile non ne viene interessata in alcun modo. A voi spetta decidere se il concetto di trasmissione ereditaria deve essere applicato, oppure no.

Un ulteriore aiuto che il sistema vi mette a disposizione, consiste nella possibilità di riprendere, oppure di separare dal tipo di dato tutte le proprietà con un semplice clic del mouse. In tal modo, potete

ripristinare velocemente lo stato originario (tutto derivato), oppure revocarlo. Quali vantaggio comporta tutto ciò in pratica?

Soprattutto un elevato grado di flessibilità: Se avete molte variabili con lo stesso valore limite, per esempio un allarme con il valore 1, allora impostate questo valore direttamente nel tipo di dato. Il testo del valore limite e altri parametri opzionali, poi, li potete fissare separatamente per ogni variabile. Così risparmiate tempo e fatica, perché non dovete creare e monitorare il valore limite per ogni singola variabile. L´efficienza della progettazione, poi, cresce considerevolmente. Il tipo di dato BOOL, creato di default, del resto, ha un valore limite di 0 e di 1!

Se, però, non avete un valore limite per ogni variabile BOOL, non dovete per questo controllare ogni variabile e disattivare di nuovo il valore limite. In questo caso, non dovete far altro che sfruttare un utile meccanismo messo a disposizione da zenon e creare un tipo di dato BOOL extra. Procedete nel modo seguente:

Lasciate così com´è il tipo di dato standard.

Cliccate su Nuovo tipo di dato.

Apparirà una lista con i tipi di dato esistenti.

Selezionate Standard-Bool.

Indicate un nome, per es. MyBool

Tutte le proprietà del nuovo tipo di dato vengono riprese automaticamente dal vecchio.

Per MyBool cancellate i valori limite.

Tutte le variabili Bool che non devono avere dei valori limite, le create per questo tipo di dato nuovo MyBool; ed ecco che i valori limite non desiderati spariranno. Quelli, invece, che desiderate siano attivi, continuano a funzionare regolarmente.

16 Naturalmente, potete creare non solo un proprio tipo di dato Bool, ma anche qualsiasi altro tipo di dato desideriate. Tutte quelle variabili che hanno bisogno in larga misura delle stesse proprietà, riceveranno un tipo di dato proprio. Se volete cambiare una proprietà, fatelo centralmente e tutte le variabili derivate riprenderanno automaticamente la modifica; fatta eccezione per quelle il cui il collegamento è stato separato.

Tipi di dato strutturato - elementi di struttura - array di struttura

TIPO DI DATO STRUTTURATO

Tipi di dato struttura significa un gruppo di tipi di dato che sono definiti esattamente nella loro successione e nel loro ordine. Per esempio, la struttura motore può comporsi degli elementi giri e prestazione.

Una struttura può essere anche di tipo nidificato, con un numero qualsiasi di livelli gerarchici.

Per mezzo di tipi di dato strutturato, si può costruire il variable household in modo tale che corrisponda a quello esistente nella realtà controller o logicamente.

ELEMENTO DI STRUTTURA

Un tipo di dato struttura è, i realtà, solamente un contenitore, che nasconde il nome per la struttura, ma non porta con sé delle proprietà proprie.

Esse vengono solo con gli elementi di struttura che vengono aggiunti al tipo di dato struttura. Si deve distinguere fra:

tipi di dato struttura collegati:

Relazione con un tipo di dato già esistente. Tutte le proprietà vengono riprese, ad eccezione del nome.

Vantaggio: se l´elemento struttura ha molte proprietà di un tipo di dato già esistente, queste possono essere riutilizzate. Nel caso delle variabili, naturalmente, si può continuare a modificare delle singole proprietà, oppure le si può separare dal tipo di dato.

Tipo di dato struttura proprio separato:

permette delle impostazioni di indirizzamento individuali. Questo nuovo tipo di dato è valido solamente all´interno di questa struttura.

Info

Pratico orientamento agli oggetti: se la struttura cambia in qualsiasi momento, basta modificare il tipo di dato struttura per adattare automaticamente tutte le variabili che si basano su questa struttura.

17 Modifiche possibili in ogni forma:

proprietà semplici come unità di misura nel caso di tipo di dato

delle proprietà complesse, come l´aggiunta o la cancellazione di un valore limite.

modifica della struttura completa per mezzo, per esempio, della modifica della successione degli elementi oppure l´aggiunta di singoli elementi di struttura nel tipo di dato struttura.

ARRAY DI STRUTTURA

Se non si tratta di un macchinario, ma di molti, è il momento di usare l´array di struttura.

Per esempio: 100 pompe anziché una 1 pompa.

In questo caso la variabile di struttura si trasforma semplicemente in un array di struttura. In tal modo, con un solo clic del mouse, 110 variabili diventano 100 variabili di struttura.

Se dobbiamo impostare, per esempio, per ogni pompa 12 variabili singole, abbiamo bisogno

complessivamente di 1200 variabili. Il metodo "parametrizzare in modo orientato agli oggetti" permette di far ciò con pochi clic del mouse. Un altro vantaggio è che tutte le variabili sono già impostate in anticipo. Ogni singola variabile porta con sé già tutte le proprietà di cui ha bisogno, come unità, calcolo valore, allarmi, inserimenti CEL ecc.

Info

Tipi di dato struttura si prestano anche a facilitare il riutilizzo (A pagina: 32) di variabili.

Esempio: pompa

SITUAZIONE DI PARTEN ZA

Una pompa consiste di due motori. Ognuno di essi ha alcune variabili, come:

Numero di giri attuale

Consumo elettricità

Energia

ecc.

Ogni motore, a sua volta, ha un regolatore motore con le seguenti variabili:

Numero di giri attuale

18

Quota P

Quota I

Per realizzare quanto sopra, procedete nel modo seguente:

1. create una struttura Regolatore di rispettivamente un tipo di dato per

Numero di giri attuale

Quota P

Quota I

2. Create una struttura Motore con rispettivamente un tipo di dato:

Numero di giri attuale

Consumo elettricità

Energia

ecc.

3. Nella struttura Motoreriorendete il Regolatore. 4. Create una struttura pompa e integrateci il motore.

Visto che abbiamo due motori, riprendete il tipo di dato motore semplicemente due volte nella Vostra struttura Pompa.

5. Create una variabile che si basa su questo tipo di dato struttura:

Crea nuova variabile

Scegli tipo di dato struttura Pompa

I singoli elementi di questa variabile di struttura si chiamano Elementi struttura (A pagina: 16) e possono essere usati in zenon come elementi singoli, come, per esempio, in immagini, allarmi, archivi, ricette ecc.

Documenti correlati