API per creare variabili

Introduzione

Le API descritte di seguito creano variabili nel progetto Q Studio e restituiscono oggetti C# corrispondenti. Sono fornite dalla classe InformationModel, esposta dal modulo QPlatform.HMIProject.

InformationModel.MakeAnalogItem(browseName, dataTypeId)

Crea una variabile analogica di progetto, derivato dal tipo AnalogItemType, che contiene il tipo di dato indicato e restituisce un oggetto C# di tipo IUAVariable corrispondente.

static IUAVariable MakeAnalogItem(QualifiedName browseName, NodeId dataTypeId);

Argomenti

browseName QualifiedName

BrowseName della nuova variabile.

dataTypeId NodeId

Tipo di dato contenuto dalla nuova variabile.

Nota

è rappresentato da un nodo all’interno delle classi DataTypes (es.:OpcUa.DataTypes.Boolean).

Restituisce

IUAVariable

Oggetto C# corrispondente alla variabile di progetto creata.

Esempio

Di seguito un esempio in cui si crea una variabile analogica MyAnalogVar che contiene un dato float:

var myVar = InformationModel.MakeAnalogItem("MyAnalogVar", OpcUa.DataTypes.Float);
Owner.Add(myVar);

InformationModel.MakeVariable(browseName, dataTypeId, arrayDimensions)

Crea una variabile di progetto, derivato dal tipo BaseDataVariableType (variabile base), che contiene il tipo di dato indicato dal secondo argomento e restituisce un oggetto C# di tipo IUAVariable corrispondente. Tramite il terzo argomento, opzionale, è possibile creare un array specificandone tipo e dimensione.

static IUAVariable MakeVariable(QualifiedName browseName, NodeId dataTypeId, uint[] arrayDimensions);

Argomenti

browseName QualifiedName

BrowseName della nuova variabile.

dataTypeId NodeId

Tipo di dato contenuto dalla nuova variabile.

Nota

è rappresentato da un nodo all’interno delle classi DataTypes (es.:OpcUa.DataTypes.Boolean).

arrayDimensions uint[ ]

Opzionale. Dimensione dell’array.

Restituisce

IUAVariable

Oggetto C# corrispondente alla variabile di progetto creata.

Esempi

Di seguito un esempio in cui si crea una variabile MyVar che contiene un dato float:

var myVar = InformationModel.MakeVariable("MyVar", OpcUa.DataTypes.Float);
Owner.Add(myVar);

Di seguito un esempio in cui si crea un array MyArray di tre celle:

var arrayDimensions = new uint[1];
arrayDimensions[0] = 3
var myVar = InformationModel.MakeVariable("MyArray", OpcUa.DataTypes.Int32, arrayDimensions);
Owner.Add(myVar);

InformationModel.MakeVariable(browseName, dataTypeId, variableTypeId, arrayDimensions)

Crea una variabile di progetto del tipo indicato dal terzo argomento e che contiene il tipo di dato indicato dal secondo argomento. Restituisce un oggetto C# di tipo IUAVariable corrispondente alla variabile di progetto creata. Tramite il quarto argomento, opzionale, è possibile creare un array specificandone tipo e dimensione.

static IUAVariable MakeVariable(QualifiedName browseName, NodeId dataTypeId, NodeId variableTypeId, uint[] arrayDimensions);

Argomenti

browseName QualifiedName

BrowseName della nuova variabile.

dataTypeId NodeId

Tipo di dato contenuto dalla nuova variabile.

Nota

è rappresentato da un nodo all’interno delle classi DataTypes (es.:OpcUa.DataTypes.Boolean).

variableTypeId NodeId

Tipo di variabile da cui derivare la nuova variabile.

Nota

è rappresentato da un nodo all’interno delle classi VariableTypes (es.: QPlatform.CoDeSys.VariableTypes.Tag).

arrayDimensions uint[ ]

Opzionale. Dimensione dell’array.

Restituisce

IUAVariable

Oggetto C# corrispondente alla variabile di progetto creata.

Esempio

Di seguito un esempio in cui si crea una variabile Tag2 di tipo nativo CoDeSysTag e che contiene un dato Int32:

var myVar = InformationModel.MakeVariable("Tag2", OpcUa.DataTypes.Int32, QPlatform.CoDeSys.VariableTypes.Tag);;
Owner.Add(myVar);

InformationModel.MakeVariableType(browseName, dataTypeId, arrayDimensions)

Crea un tipo di variabile di progetto, derivato dal tipo BaseDataVariableType (variabile base), che contiene il tipo di dato indicato dal secondo argomento e restituisce un oggetto C# di tipo IUAVariableType corrispondente. Opzionalmente, è possibile creare un array specificando la sua dimensione tramite il terzo argomento.

static IUAVariableType MakeVariableType(QualifiedName browseName, NodeId dataTypeId, uint[] arrayDimensions);

Argomenti

browseName QualifiedName

BrowseName del nuovo tipo di variabile.

dataTypeId NodeId

Tipo di dato contenuto dal nuovo tipo di variabile.

Nota

è rappresentato da un nodo all’interno delle classi DataTypes (es.:OpcUa.DataTypes.Boolean).

arrayDimensions uint[ ]

Opzionale. Dimensione dell’array.

Restituisce

IUAVariableType

Oggetto C# corrispondente al tipo di variabile di progetto creata.

Esempio

Di seguito un esempio in cui si crea un tipo di variabile MyVarType che contiene un dato Int32:

var myVar = InformationModel.MakeVariableType("MyVarType", OpcUa.DataTypes.Int32);
Owner.Add(myVar);

InformationModel.MakeVariableType(browseName, dataTypeId, variableTypeId, arrayDimensions)

Crea un tipo variabile di progetto del tipo indicato dal terzo argomento (supertipo) e che contiene il tipo di dato indicato dal secondo argomento. Restituisce un oggetto C# di tipo IUAVariableType corrispondente al tipo di variabile di progetto creato. Tramite il quarto argomento, opzionale, è possibile creare un array specificandone tipo e dimensione.

static IUAVariableType MakeVariableType(browseName QualifiedName, NodeId dataTypeId, NodeId variableTypeId, uint[] arrayDimensions);

Argomenti

browseName QualifiedName

BrowseName del nuovo tipo di variabile.

dataTypeId NodeId

Tipo di dato contenuto dal nuovo tipo di variabile.

Nota

è rappresentato da un nodo all’interno delle classi DataTypes (es.:OpcUa.DataTypes.Boolean).

variableTypeId NodeId

Tipo di variabile da cui derivare il nuovo tipo di variabile.

Nota

è rappresentato da un nodo all’interno delle classi VariableTypes (es.: QPlatform.CoDeSys.VariableTypes.Tag).

arrayDimensions uint[ ]

Opzionale. Dimensione dell’array.

Restituisce

IUAVariableType

Oggetto C# corrispondente al tipo di variabile di progetto creata.

Esempio

Di seguito un esempio in cui si crea un tipo di variabile MyTagType derivato dal tipo nativo CoDeSysTag e che contiene un dato di tipo Int32:

var myVar = InformationModel.MakeVariableType("MyTagType", OpcUa.DataTypes.Int32, QPlatform.CoDeSys.VariableTypes.Tag);
Owner.Add(myVar);

InformationModel.MakeVariable<T>(browseName, dataTypeId, arrayDimensions)

Crea una variabile di progetto, derivata dal tipo <T> specificato, che contiene il tipo di dato indicato dal secondo argomento. Restituisce un oggetto C# del tipo <T> specificato corrispondente alla variabile di progetto creata. Tramite il terzo argomento, opzionale, è possibile creare un array specificandone tipo e dimensione.

Nota

a design time, l’API funziona solo se il tipo specificato è un tipo nativo, ovvero contenuto nei moduli Q Platform.

static T MakeVariable<T>(QualifiedName browseName, NodeId dataTypeId, uint[] arrayDimensions);

Argomenti

T

Classe C# di tipo IUAVariable, corrispondente alla classe dell’oggetto C# da restituire e al tipo di variabile da cui derivare la nuova variabile.

browseName QualifiedName

BrowseName della nuova variabile.

dataTypeId NodeId

Tipo di dato contenuto dalla variabile.

Nota

è rappresentato da un nodo all’interno delle classi DataTypes (es.:OpcUa.DataTypes.Boolean).

arrayDimensions uint[ ]

Opzionale. Dimensione dell’array.

Restituisce

IUAVariable

Oggetto C# corrispondente alla variabile di progetto creata.

Esempi

Di seguito un esempio in cui si crea una variabile Speed2 di tipo Speed e restituisce un oggetto C# di tipo Speed:

var myVar = InformationModel.MakeVariable<Speed>("Speed2", OpcUa.DataTypes.Int32);
Owner.Add(myVar);

InformationModel.MakeVariable<T>(browseName, variableTypeId, dataTypeId, arrayDimensions)

Crea una variabile di progetto del tipo indicato dal terzo argomento e che contiene il tipo di dato indicato dal secondo argomento. Restituisce un oggetto C# del tipo <T> specificato corrispondente alla variabile di progetto creata. Tramite il quarto argomento, opzionale, è possibile creare un array specificandone tipo e dimensione.

static T MakeVariable<T>(QualifiedName browseName, NodeId variableTypeId, NodeId dataTypeId, uint[] arrayDimensions);

Argomenti

T

Classe C# di tipo IUAVariable, corrispondente alla classe dell’oggetto C# da restituire.

browseName QualifiedName

BrowseName della nuova variabile.

variableTypeId NodeId

Tipo di variabile da cui derivare la nuova variabile.

Nota

è rappresentato da un nodo all’interno delle classi VariableTypes (es.: QPlatform.CoDeSys.VariableTypes.Tag).

dataTypeId NodeId

Tipo di dato contenuto dalla variabile.

Nota

è rappresentato da un nodo all’interno delle classi DataTypes (es.:OpcUa.DataTypes.Boolean).

arrayDimensions uint[ ]

Opzionale. Dimensione dell’array.

Restituisce

IUAVariable

Oggetto C# corrispondente alla variabile di progetto creata.

Esempio

var myTag = InformationModel.MakeVariable<QPlatform.CoDeSys.Tag>("CodesysTag", OpcUa.DataTypes.UInt16);

InformationModel.MakeVariableType<T>(browseName, variableTypeId, dataTypeId, arrayDimensions)

Crea un tipo di variabile di progetto derivato dal tipo indicato dal terzo argomento (supertipo) e che contiene il tipo di dato indicato dal secondo argomento. Restituisce un oggetto C# del tipo <T> specificato corrispondente al tipo di variabile di progetto creato. Tramite il quarto argomento, opzionale, è possibile creare un array specificandone tipo e dimensione.

static T MakeVariableType<T>(QualifiedName browseName, NodeId variableTypeId, NodeId dataTypeId, uint[] arrayDimensions);

Argomenti

T

Classe C# di tipo IUAVariableType, corrispondente alla classe dell’oggetto C# da restituire.

browseName QualifiedName

BrowseName del nuovo tipo di variabile.

variableTypeId NodeId

Tipo di variabile da cui derivare la nuova variabile.

Nota

è rappresentato da un nodo all’interno delle classi VariableTypes (es.: QPlatform.CoDeSys.VariableTypes.Tag).

dataTypeId NodeId

Tipo di dato contenuto dal nuovo tipo di variabile.

Nota

è rappresentato da un nodo all’interno delle classi DataTypes (es.:OpcUa.DataTypes.Boolean).

arrayDimensions uint[ ]

Opzionale. Dimensione dell’array.

Restituisce

IUAVariable

Oggetto C# corrispondente al tipo di variabile di progetto creato.

Esempio

var myCustomTagType = InformationModel.MakeVariableType<QPlatform.CoDeSys.TagType>("CustomCoDeSysTagType", QPlatform.CoDeSys.VariableTypes.Tag, OpcUa.DataTypes.UInt16);

Vedi anche

Concetti correlati

Variabili

Procedure correlate

Gestire variabili e tipi di variabili