API per i collegamenti dinamici¶
Introduzione
Le API descritte di seguito impostano/rimuovono collegamenti dinamici sulle variabili. Sono fornite dalla classe C# IUAVariable
.
IUAVariable.SetDynamicLink(source, mode)¶
Imposta un collegamento dinamico la cui sorgente è la variabile indicata nel primo argomento. Il secondo argomento, opzionale, imposta la modalità del collegamento dinamico.
void SetDynamicLink(IUAVariable source, DynamicLinkMode mode);
Argomenti
source
IUAVariable
BrowseName della variabile sorgente.
mode
DynamicLinkMode
Modalità di collegamento:
DynamicLinkMode.Read (default): lettura (dal nodo sorgente al padre)
DynamicLinkMode.Write: scrittura (dal padre al sorgente)
DynamicLinkMode.ReadWrite: lettura e scrittura (bidirezionale)
Esempio
Di seguito un esempio in cui l’API imposta un collegamento dinamico in lettura sulla proprietà Speed (il cui nodo è rappresentato da SpeedVariable
) dell’oggetto Motor1. La sorgente del collegamento è la proprietà Text dell’oggetto SpeedLabel:
var myObj = Owner.Get<Motor>("Motor1");
var speedValue = Owner.GetObject("SpeedLabel").GetVariable("Text");
myObj.SpeedVariable.SetDynamicLink(speedValue, DynamicLinkMode.Read);
IUAVariable.SetDynamicLink(source, sourceArrayIndex, mode)¶
Imposta un collegamento dinamico la cui sorgente è l’array indicato nel primo argomento e in particolare la cella indicata nel secondo argomento. Il terzo argomento, opzionale, imposta la modalità del collegamento dinamico.
void SetDynamicLink(IUAVariable source, uint sourceArrayIndex, DynamicLinkMode mode);
Argomenti
source
IUAVariable
BrowseName dell’array sorgente.
sourceArrayIndex
uint
Cella dell’array sorgente.
mode
DynamicLinkMode
Modalità di collegamento:
DynamicLinkMode.Read (default): lettura (dal nodo sorgente al padre)
DynamicLinkMode.Write: scrittura (dal padre al sorgente)
DynamicLinkMode.ReadWrite: lettura e scrittura (bidirezionale)
Esempio
Di seguito un esempio in cui l’API imposta un collegamento dinamico in lettura sulla proprietà Speed (il cui nodo è rappresentato da SpeedVariable
) dell’oggetto Motor1. La sorgente del collegamento è la seconda cella dell’array SpeedList:
var myObj = Owner.Get<Motor>("Motor1");
var speedValue = Project.Current.FindVariable("SpeedList");
myObj.SpeedVariable.SetDynamicLink(speedValue, 2, DynamicLinkMode.Read);
IUAVariable.ResetDynamicLink()¶
Rimuove un collegamento dinamico impostato su una variabile.
void ResetDynamicLink();
Esempio
Di seguito un esempio in cui l’API rimuove il collegamento dinamico impostato sulla proprietà Text (il cui nodo è rappresentato da TextVariable
) dell’oggetto di progetto corrispondente a myLabel
:
myLabel.TextVariable.ResetDynamicLink();