Variabili

Cos’è una variabile

Una variabile è un elemento che nel progetto rappresenta un dato, una caratteristica di un oggetto, e ne specifica il valore. Per esempio, una variabile può rappresentare caratteristiche funzionali di un oggetto fisico (una variabile Speed), caratteristiche di stile degli oggetti dell’interfaccia grafica (per esempio il colore di un testo) oppure caratteristiche di altri specifici oggetti (per esempio le proprietà di configurazione di una ricetta).

Una variabile ha le seguenti caratteristiche:

  • può contenere altre variabili (in questo caso si definisce variabile strutturata)

  • contiene solo un tipo di dato (data-type)

  • non può contenere oggetti

  • ha degli attributi che la descrivono

Esempio

Per rappresentare la velocità di un motore (nell’esempio l’oggetto Motor) si può usare una variabile numerica (Speed, di tipo Int32). A scopo di esempio il suo valore è 100. Di seguito come viene visualizzata in Q Studio:

../_images/2c7058a579ed831156e727ea143937276077fb1a.png

Proprietà

Definiamo proprietà le variabili inscindibili di un nodo.

Ad esempio, Testo è una proprietà dell’oggetto nativo Etichetta, poiché non può esistere un oggetto Etichetta senza la proprietà Testo.

Attributi

Una variabile ha sempre i seguenti attributi:

Attributo

Descrizione

BrowseName

Nome della variabile nel progetto

DataType

Tipo di dato che la variabile può contenere

Description

Descrizione della variabile

DisplayName

Nome della variabile, traducibile e usato solitamente per essere visualizzato in interfaccia a runtime

NodeId

Identificativo unico, assegnato automaticamente da UNIQO

Value

Valore del dato

Tipi di variabili e istanze

Un tipo di variabile (VariableType) è una variabile «modello» da cui derivare variabili simili, dette istanze. Le istanze possono comunque contenere altre variabili specifiche.

Creare istanze è vantaggioso in termini di rapidità e coerenza, ogni modifica apportata al tipo viene infatti automaticamente apportata alle istanze.

Importante

se si elimina un tipo di variabile, anche le istanze vengono eliminate.

Tipi di variabili nativi e custom

Sono definiti tipi nativi quelli predefiniti di UNIQO. Questi sono sempre disponibili indipendentemente dal progetto.

Sono definiti tipi custom quelli creati all’interno di un progetto, dagli utenti o dalle logiche applicative realizzate. Questi tipi sono disponibili solo nel progetto in cui sono stati creati.

Tipi di variabili nativi

Tipo

Descrizione

Variabile

Variabile base, che contiene un dato.

Variabile analogica

Variabile strutturata, usata per rappresentare grandezze fisiche (vedere Proprietà di una variabile analogica).

Puntatore a nodo

Variabile il cui valore è un riferimento a un nodo del progetto (vedere Proprietà di una variabile Puntatore a nodo).

Impostazione del valore delle variabili

Il valore di una variabile può essere impostato a design time in diversi modi:

  • con un valore fisso impostato manualmente (di solito per impostare proprietà grafiche o proprietà di oggetti non fisici quali ricette, logger ecc.)

  • ereditato dal tipo di variabile o dal tipo di oggetto (di solito per impostare proprietà grafiche o proprietà di oggetti non fisici)

  • sulla base del valore di un’altra variabile (vedere Collegamenti dinamici).

Il valore delle variabili di campo, per esempio una temperatura, dipende invece dai valori letti dal PLC (vedere Variabili di campo).

Variabili di campo

Per usare e visualizzare valori provenienti dal campo/da un PLC, UNIQO importa le tag/variabili nel progetto e le mantiene sincronizzate.

Queste variabili sono speciali variabili di tipo tag. Di seguito un esempio in Q Studio:

../_images/6955f7f0a37ea7a02a7858caf01161730476d271.png

Per dettagli sull’uso di queste variabili vedere Importare tag dai PLC.

Unità di misura e limiti per variabili numeriche

Per le variabili di tipo numerico, tramite la proprietà EngineeringUnits è possibile impostare l’unità di misura con cui esprimere il valore. Tramite la proprietà EURange invece è possibile impostare i valori minimo e massimo della variabile.

Queste proprietà sono sempre presenti nelle variabili analogiche, mentre è possibile aggiungerle manualmente nelle variabili base (vedere Aggiungere l’unità di misura di una variabile e Aggiungere i limiti minimo e massimo di una variabile).

Proprietà di una variabile analogica

Proprietà

Proprietà

Tipo di dato

Descrizione

EngineeringUnits

Description

Localized text

Descrizione estesa dell’unità di misura

DisplayName

Localized text

Abbreviazione dell’unità di misura

UnitId

Int32

Identificativo dell’unità di misura (vedere Unità di misura supportate dalle variabili)

EURange

Limite inferiore

Double

Limite inferiore dell’intervallo di valori che può assumere la variabile

Limite superiore

Double

Limite superiore dell’intervallo di valori che può assumere la variabile

Vincola

Boolean

True: se l’utente inserisce un valore fuori intervallo, riporta il valore al valore precedente.

False: se l’utente inserisce un valore fuori intervallo, il valore è comunque accettato.

Nota

in Q Studio, la variabile EngineeringUnits e le sue proprietà sono visualizzabili solamente nella finestra dei collegamenti dinamici (vedere Finestra dei collegamenti dinamici).

Proprietà di una variabile Puntatore a nodo

Una variabile di tipo Puntatore a nodo è una speciale variabile il cui valore è un riferimento a un nodo del progetto (vedere Nodi e modello informativo). Il nodo referenziato dev’essere del tipo e della classe definiti dalle seguenti proprietà:

Proprietà

Tipo di dato

Descrizione

Kind

NodeId

Tipo di oggetto o tipo di variabile da cui deriva il nodo

NodeClass

NodePointerNodeClass

Classe del nodo. Istanza = il nodo può essere solo un’istanza; Tipo = il nodo può essere solo un tipo; Qualsiasi = il nodo può essere un’istanza o un tipo.

Esempio

L’oggetto Data logger ha tra le sue proprietà un puntatore a nodo Store, tramite cui è possibile selezionare un database, tra tutti i database nel progetto, in cui memorizzare i dati registrati.

../_images/95e0ab359a991e0c06068cc69574220ccd0f87e9.png

Per fare questo, il puntatore a nodo Store è impostato come segue:

  • Kind è impostato sul tipo di oggetto Store

  • NodeClass è impostato su Istanza

Vedi anche

Procedure correlate

Gestire variabili e tipi di variabili

Riferimenti

API per creare variabili