API per restituire nodi noti

Introduzione

Le API descritte di seguito restituiscono oggetti C# corrispondenti a nodi OPC UA del progetto, a partire da nodi di cui si conosce il nome o il tipo da cui derivano. Sono fornite dalla classe IUANode, le cui istanze sono punti di partenza per cercare i nodi da restituire.

Nota

in caso siano presenti più nodi con lo stesso nome, possono restituire un nodo indesiderato.

IUANode.Get(browsePath)

Restituisce un oggetto C# di tipo IUANode, corrispondente al primo nodo figlio del nodo su cui si invoca il metodo e denominato come l’argomento.

IUANode Get(string browsePath);

Argomenti

browsePath string

BrowseName del nodo o percorso del nodo nel modello informativo, espresso univocamente come sequenza di BrowseName separati da /.

Restituisce

IUANode

Oggetto C# corrispondente al nodo richiesto.

Esempi

Di seguito due esempi in cui l’API restituisce un oggetto C# corrispondente al nodo Motor1, figlio di Machine1:

var motor1 = Owner.Get("Machine1").Get("Motor1");
var motor1 = Owner.Get("Machine1/Motor1");

IUANode.GetObject(browsePath)

Restituisce un oggetto C# di tipo IUAObject corrispondente al primo oggetto figlio del nodo su cui si invoca il metodo e denominato come l’argomento.

IUAObject GetObject(string browsePath);

Argomenti

browsePath string

BrowseName dell’oggetto o percorso dell’oggetto nel modello informativo, espresso univocamente come sequenza di BrowseName separati da /.

Restituisce

IUAObject

Oggetto C# corrispondente all’oggetto richiesto.

Esempi

Di seguito due esempi in cui l’API restituisce un oggetto C# corrispondente all’oggetto Motor1:

var motor1 = Owner.GetObject("Machine1").GetObject("Motor1");
var motor1 = Owner.GetObject("Machine1/Motor1");

IUANode.GetVariable(browsePath)

Restituisce un oggetto C# di tipo IUAVariable corrispondente alla prima variabile figlia del nodo su cui si invoca il metodo e denominata come l’argomento.

IUAVariable GetVariable(string browsePath);

Argomenti

browsePath string

BrowseName della variabile o percorso della variabile nel modello informativo, espresso univocamente come sequenza di BrowseName separati da /.

Restituisce

IUAVariable

Oggetto C# corrispondente alla variabile richiesta.

Esempi

Di seguito due esempi in cui l’API restituisce un oggetto C# corrispondente alla variabile Speed dell’oggetto Motor1:

var currentSpeed = Project.Current.GetObject("Motor1").GetVariable("Speed")
var currentSpeed = Project.Current.GetVariable("Motor1/Speed");

IUANode.Get<T>(browsePath)

Restituisce un oggetto C# corrispondente al primo nodo figlio del nodo su cui si invoca il metodo, denominato come l’argomento e del tipo specificato.

Nota

specificare un tipo esatto (<T>) migliora l’IntelliSense nell’editor di codice. Durante la scrittura di codice permette inoltre di identificare gli errori, mentre a runtime è evidente se il nodo cercato è del tipo richiesto o meno (se non lo è, l’API restituisce null).

T Get<T>(string browsePath);

Argomenti

T

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

browsePath string

BrowseName del nodo o percorso del nodo nel modello informativo, espresso univocamente come sequenza di BrowseName separati da /.

Restituisce

T

Oggetto C# corrispondente al nodo richiesto.

Esempio

Di seguito un esempio in cui l’API restituisce un oggetto C# corrispondente al corrispondente al primo nodo Motor1 figlio del nodo che contiene il NetLogic:

var motor = Owner.Get<Motor>("Motor1");
var currentSpeed = motor.Speed;

IUANode.GetByType<T>()

Restituisce un oggetto C# corrispondente al primo nodo figlio del nodo su cui si invoca il metodo e del tipo specificato.

Nota

specificare un tipo esatto (<T>) migliora l’IntelliSense nell’editor di codice. Durante la scrittura di codice permette inoltre di identificare gli errori, mentre a runtime è evidente se il nodo cercato è del tipo richiesto o meno (se non lo è, l’API restituisce null).

T GetByType<T>();

Argomenti

T

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

Restituisce

T

Oggetto C# corrispondente al nodo richiesto.

Esempio

Di seguito un esempio in cui l’API restituisce un oggetto C# corrispondente al primo nodo di tipo Motor figlio del nodo che contiene il NetLogic:

var myMotor = Owner.GetByType<Motor>();

IUANode.GetNodesByType<T>()

Restituisce una lista C# del tipo IEnumerable corrispondente alla lista dei nodi figli del nodo su cui si invoca il metodo e del tipo specificato.

Nota

specificare un tipo esatto (<T>) migliora l’IntelliSense nell’editor di codice. Durante la scrittura di codice permette inoltre di identificare gli errori, mentre a runtime è evidente se il nodo cercato è del tipo richiesto o meno (se non lo è, l’API restituisce null).

IEnumerable<T> GetNodesByType<T>();

Argomenti

T

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

Restituisce

IEnumerable

Lista C# contenente i nodi del tipo richiesto.

Esempio

var model = Project.Current.Get("Model");
var motors = model.GetNodesByType<Motor>();

IUANode.GetAlias(aliasName)

Restituisce un oggetto C# corrispondente al nodo puntato dall’alias denominato come l’argomento.

IUANode GetAlias(string aliasName);

Argomenti

aliasName string

BrowseName dell’alias o percorso del nodo nel modello informativo, espresso univocamente come sequenza di BrowseName separati da /.

Restituisce

IUANode

Oggetto C# corrispondente al nodo puntato dall’alias.

Esempio

Di seguito un esempio in cui l’API restituisce un oggetto C# corrispondente al nodo puntato dall’alias Alias1:

var modelFolder = Project.Current.Get("Model");
var alias = modelFolder.GetAlias("Alias1");