IUAVariable.VariableChange

Esse evento ocorre quando muda o valor da variável do projeto que o objeto C#
IUAVariable
faz referência.
event EventHandler<VariableChangeEventArgs> VariableChange;
IMPORTANTE:
Se a variável do projeto fizer referência a uma variável de campo, o evento será gerado somente se a variável do projeto for mantida sincronizada com o valor de campo por meio de um objeto
RemoteVariableSynchronizer
, a menos que exista um vínculo para as seguintes entidades:
  • Variável tag de um objeto gráfico
  • Objeto Registrador de dados
  • Alarme
  • Objeto Esquema de receita
Nesse cenário, em um NetLogic, você pode inscrever o método de alteração de valor diretamente na variável tag vinculada.

Manipulador de eventos

O manipulador de eventos
VariableChange
permite que você inscreva um método para um evento com o mesmo nome.
public delegate void VariableChange(object sender, VariableChangeEventArgs e);

Argumentos do manipulador de eventos

sender
(object)
Objeto C# que corresponde ao objeto da origem do projeto do evento.
e
(VariableChangeEventArgs)
Objeto C# que contém as seguintes propriedades:
variable
(IUAVariable)
Variável do projeto que gerou o evento.
newValue
(UAValue)
Novo valor da variável.
oldValue
(UAValue)
Valor anterior da variável.
indexes
(uint[])
Somente para matrizes:
Índices das células da matriz em que o valor foi alterado.
DICA: A propriedade fica vazia se o valor em cada célula for alterado ou se a variável do projeto for escalar.

Exemplo

O método
Variable1_VariableChange
é executado sempre que a variável
Variable1
do projeto muda de valor.
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; }
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.