IUAVariable.VariableChange

Este evento tiene lugar cuando cambia el valor de la variable de proyecto a la que hace referencia el objeto C#
IUAVariable
.
event EventHandler<VariableChangeEventArgs> VariableChange;
IMPORTANTE:
Si la variable de proyecto hace referencia a una variable de campo, el evento se genera únicamente si la variable del proyecto se mantiene sincronizada con el campo a través de un objeto
RemoteVariableSynchronizer
, a menos que exista un vínculo con las siguientes entidades:
  • Variable de etiqueta de un objeto gráfico
  • Objeto de registrador de datos
  • Alarma
  • Objeto de esquemas de receta
En esta situación, en un NetLogic, se puede suscribir el método de cambio de valor directamente a la variable de etiqueta vinculada.

Controlador de eventos

El controlador de eventos
VariableChange
le permite suscribirse a un método con el mismo nombre.
public delegate void VariableChange(object sender, VariableChangeEventArgs e);

Argumentos del controlador de eventos

sender
(objeto)
Un objeto C# que corresponde al objeto del origen del proyecto del evento.
e
(VariableChangeEventArgs)
Un objeto C# que contiene las siguientes propiedades:
variable
(IUAVariable)
Variable de proyecto que generó el evento.
newValue
(UAValue)
Nuevo valor de la variable.
oldValue
(UAValue)
Valor anterior de la variable.
indexes
(uint[])
Solo para matrices:
Índices de las celdas de la matriz en los que ha cambiado el valor.
CONSEJO: La propiedad estará vacía si el valor de cada celda cambia o si la variable del proyecto es escalar.

Ejemplo

El método
Variable1_VariableChange
se ejecuta cada vez que cambia el valor de la variable
Variable1
del proyecto.
public override void Start() { var variable1 = Project.Current.GetVariable("Model/Variable1"); variable1.VariableChange += Variable1_VariableChange; } private void Variable1_VariableChange(object sender, VariableChangeEventArgs e) { var label1 = Owner.Get<Label>("Label1"); label1.Text = "Value of " + e.Variable.BrowseName + " changed from " + e.OldValue + " to " + e.NewValue; }
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.