Accesso ai nodi di progetto¶
Introduzione: accesso ai membri di un oggetto in C#
In C#, ogni proprietà o metodo contenuto in un oggetto, è genericamente definito un membro dell’oggetto. Ogni membro è identificato dal BrowseName del nodo di progetto corrispondente.
Nota
per visualizzare il BrowseName di una proprietà nel pannello Proprietà posizionare il puntatore sul suo nome: compare un tooltip con BrowseName, tipo di dato e descrizione breve (se presente).
Per accedere ai membri, in ordine gerarchico, si usa il punto. Negli esempi seguenti si accede a un oggetto Motor
e alle sue proprietà Acceleration
e Speed
.
Motor.Acceleration = 123;
In questo esempio si imposta il valore della proprietà Acceleration
dell’oggetto Motor
sul valore 123
.
int currentSpeed = Motor.Speed;
In questo esempio si assegna al valore della variabile C# di tipo intero currentSpeed
quello della proprietà Speed
dell’oggetto Motor
.
Accedere ai nodi OPC UA di un progetto Q Studio
Per accedere a un nodo del modello informativo in C#, tale nodo dev’essere rappresentato nel NetLogic da un corrispondente oggetto C#. Per ottenere tale oggetto C# è possibile sfruttare le seguenti API:
Variabile LogicObject: accedere direttamente all’oggetto NetLogic
Variabile Owner: accedere direttamente all’oggetto padre del NetLogic
Variabile Session: accedere direttamente all’alias di sessione
Per riferirsi ai nodi OPC UA delle proprietà di un oggetto (vedere Proprietà), il nome della corrispondente proprietà C# è composto dal BrowseName della proprietà a cui si aggiunge il suffisso «Variable». Di seguito un esempio in cui si imposta un collegamento dinamico sulla proprietà Testo di un’etichetta tramite API, accedendo al nodo della proprietà rappresentato da TextVariable
(vedere API per i collegamenti dinamici):
Label1.TextVariable.SetDynamicLink(speedValue);
Variabile LogicObject: accedere direttamente all’oggetto NetLogic
Ogni NetLogic espone la variabile LogicObject
, che rappresenta il nodo NetLogic stesso. È utile per accedere direttamente al nodo senza scrivere ulteriore codice.
Nell’esempio seguente si imposta il valore della variabile Speed, contenuti nel NetLogic, su 100:
LogicObject.GetVariable("Speed").Value = 100;
Nell’esempio seguente si assegna alla variabile C# di tipo intero speed
il valore della variabile Speed:
int speed = LogicObject.GetVariable("Speed").Value;
Variabile Owner: accedere direttamente all’oggetto padre del NetLogic
Ogni NetLogic espone la variabile Owner
, che rappresenta il nodo padre dello NetLogic stesso. È utile per accedere direttamente a tale nodo senza scrivere ulteriore codice.
Nell’esempio seguente si assegna alla variabile C# di tipo stringa name
il valore del BrowseName del nodo padre del NetLogic:
string name = Owner.BrowseName;
Variabile Session: accedere direttamente all’alias di sessione
Ogni NetLogic espone la variabile Session
, che rappresenta il nodo di sessione. È utile per accedere direttamente a tale nodo per leggere o modificare le proprietà della sessione (vedere Nodi della sessione).
Vedi anche
Concetti correlati
API correlate