API per creare oggetti¶
Introduzione
Le API descritte di seguito creano oggetti nel progetto Q Studio e restituiscono oggetti C# corrispondenti. Sono fornite dalla classe InformationModel
, esposta dal modulo QPlatform.HMIProject.
Nella tabella seguente sono indicate le API da usare per gli scopi più comuni:
Scopo |
API |
---|---|
Creare un oggetto di progetto del tipo base BaseObject. |
|
Creare un oggetto di progetto del tipo desiderato. |
|
Creare un tipo di oggetto di progetto del tipo base BaseObject. |
|
Creare un tipo di oggetto di progetto del tipo desiderato. |
InformationModel.MakeObject(browseName)¶
Crea un oggetto di progetto di tipo BaseObject e restituisce un oggetto C# di tipo IUAObject
corrispondente.
static IUAObject MakeObject(QualifiedName browseName);
Argomenti
browseName
QualifiedName
BrowseName del nuovo oggetto.
Restituisce
IUAObject
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui l’API crea un oggetto Motor e restituisce l’oggetto C# corrispondente, che viene assegnato alla variabile motor
. L’oggetto Motor viene poi aggiunto al nodo padre del NetLogic.
var motor = InformationModel.MakeObject("Motor");
Owner.Add(motor);
InformationModel.MakeObjectType(browseName)¶
Crea un tipo di oggetto derivato da BaseObject e restituisce un oggetto C# di tipo IUAObjectType
corrispondente.
static IUAObjectType MakeObjectType(QualifiedName browseName);
Argomenti
browseName
QualifiedName
BrowseName del nuovo tipo di oggetto.
Restituisce
IUAObjectType
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui l’API crea un oggetto Motor (type) e restituisce l’oggetto C# corrispondente, che viene assegnato alla variabile motor
. L’oggetto Motor (type) viene poi aggiunto al nodo padre del NetLogic.
var motor = InformationModel.MakeObjectType("Motor");
Owner.Add(motor);
InformationModel.MakeObject(browseName, objectTypeId)¶
Crea un oggetto di progetto del tipo indicato dal secondo argomento e restituisce un oggetto C# di tipo IUAObject
corrispondente.
static IUAObject MakeObject(QualifiedName browseName, NodeId objectTypeId);
Argomenti
browseName
QualifiedName
BrowseName del nuovo oggetto.
objectTypeId
NodeId
NodeId del tipo da cui derivare il nuovo oggetto.
Restituisce
IUAObject
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui l’API crea un oggetto NewMotor derivato da Motor (type), cercato con metodo Find
e poi specificato tramite NodeId:
var motorType = Project.Current.Find("Motor");
var mymotor = InformationModel.MakeObject("NewMotor", motorType.NodeId);
InformationModel.MakeObjectType(browseName, superTypeId)¶
Crea un tipo di oggetto di progetto derivato dal tipo indicato dal secondo argomento (supertipo) e restituisce un oggetto C# di tipo IUAObjectType
corrispondente.
static IUAObjectType MakeObjectType(QualifiedName browseName, NodeId superTypeId);
Argomenti
browseName
QualifiedName
BrowseName del nuovo oggetto.
superTypeId
NodeId
NodeId del tipo da cui derivare il nuovo oggetto.
Restituisce
IUAObject
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui l’API crea un oggetto SpecialMotor (type) derivato da Motor (type), cercato con metodo Find
e poi specificato tramite NodeId:
var supertype = Project.Current.Find("Motor");
Owner.Add(InformationModel.MakeObjectType("SpecialMotor", supertype.NodeId));
InformationModel.MakeObject<T>(browseName)¶
Crea un oggetto di progetto del tipo <T>
specificato e restituisce un oggetto C# corrispondente e dello stesso tipo.
Nota
a design time, l’API funziona solo se il tipo specificato è un tipo nativo, ovvero contenuto nei moduli Q Platform.
static T MakeObject<T>(QualifiedName browseName);
Argomenti
T
Classe C# di tipo IUAObject
, corrispondente alla classe dell’oggetto C# da restituire e al tipo di oggetto da cui derivare il nuovo oggetto.
browseName
QualifiedName
BrowseName del nuovo oggetto.
Restituisce
T
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui l’API crea un oggetto NewMotor di tipo Motor:
var myObj = InformationModel.MakeObject<Motor>("NewMotor");
Owner.Add(myObj);
InformationModel.MakeObjectType<T>(browseName)¶
Crea un tipo di oggetto di progetto del tipo <T>
specificato e restituisce un oggetto C# corrispondente e dello stesso tipo.
Nota
a design time, l’API funziona solo se il tipo specificato è un tipo nativo, ovvero contenuto nei moduli Q Platform.
static T MakeObjectType<T>(QualifiedName browseName)
Argomenti
T
Classe C# di tipo IUAObjectType
, corrispondente alla classe dell’oggetto C# da restituire e al tipo di oggetto da cui derivare il nuovo oggetto.
browseName
QualifiedName
BrowseName del nuovo oggetto.
Restituisce
T
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui l’API crea un oggetto NewLabelType di tipo Label e restituisce un oggetto C# di tipo LabelType
:
var myObj= InformationModel.MakeObjectType.<LabelType>("NewLabelType");
Owner.Add(myObj);
InformationModel.MakeObject<T>(browseName, objectTypeId)¶
Crea un oggetto di progetto del tipo indicato dal secondo argomento e restituisce un oggetto C# del tipo <T>
specificato corrispondente.
Nota
a design time, l’API funziona solo se il tipo specificato è un tipo nativo, ovvero contenuto nei moduli Q Platform.
static T MakeObject<T>(QualifiedName browseName, NodeId objectTypeId);
Argomenti
T
Classe C# di tipo IUAObject
, corrispondente alla classe dell’oggetto C# da restituire,
browseName
QualifiedName
BrowseName del nuovo oggetto.
objectTypeId
NodeId
NodeId del tipo da cui derivare il nuovo oggetto.
Restituisce
T
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui l’API crea un oggetto NewMotor di tipo Motor, cercato con metodo Find
e poi specificato tramite NodeId, e restituisce un oggetto C# di tipo Motor
:
var motortype = Project.Current.Find("Motor");
var myObj = InformationModel.MakeObject<Motor>("NewMotor", motortype.NodeId);
Owner.Add(myObj);
InformationModel.MakeObjectType<T>(browseName, superTypeId)¶
Crea un tipo di oggetto di progetto derivato dal tipo indicato dal secondo argomento (supertipo) e restituisce un oggetto C# del tipo <T>
specificato corrispondente.
Nota
a design time, l’API funziona solo se il tipo specificato è un tipo nativo, ovvero contenuto nei moduli Q Platform.
static T MakeObjectType<T>(QualifiedName browseName, NodeId superTypeId);
Argomenti
T
Classe C# di tipo IUAObjectType
, corrispondente alla classe dell’oggetto C# da restituire.
browseName
QualifiedName
BrowseName del nuovo oggetto.
superTypeId
NodeId
NodeId del tipo da cui derivare il nuovo oggetto.
Restituisce
T
Oggetto C# corrispondente all’oggetto di progetto creato.
Esempio
Di seguito un esempio in cui l’API crea un oggetto NewMotorType di tipo Motor, cercato con metodo Find
e poi specificato tramite NodeId, e restituisce un oggetto C# di tipo MotorType
:
var supertype = Project.Current.Find("Motor");
var myObj = InformationModel.MakeObjectType<MotorType>("NewMotorType", supertype.NodeId);
Owner.Add(myObj);