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);