- 프로젝트 만들기
- 개체 및 변수 참조
- 프로젝트 확장
IUAVariable.VariableChange
이 이벤트는
IUAVariable
C# 개체가 참조하는 프로젝트 변수의 값이 변경될 때 발생합니다.event EventHandler<VariableChangeEventArgs> VariableChange;
중요:
프로젝트 변수가 필드 변수를 참조하는 경우 다음 엔터티에 대한 링크가 존재하지 않는 한 프로젝트 변수가
RemoteVariableSynchronizer
개체를 통해 필드와 동기화된 상태로 유지되는 경우에만 이벤트가 생성됩니다.- 그래픽 개체의 태그 변수
- 데이터 로거 개체
- 경보
- 레시피 스키마 개체
이러한 시나리오에서는 NetLogic에서 값 변경 메서드를 연결된 태그 변수에 직접 구독할 수 있습니다.
이벤트 처리기
VariableChange
이벤트 처리기를 사용하면 같은 이름의 이벤트에 메서드를 구독할 수 있습니다.public delegate void VariableChange(object sender, VariableChangeEventArgs e);
이벤트 처리기 인수
- sender(object)
- 이벤트의 프로젝트 원본 개체에 해당하는 C# 개체입니다.
- e(VariableChangeEventArgs)
- 다음 속성을 포함하는 C# 개체입니다.
- variable(IUAVariable)
- 이벤트를 생성한 프로젝트 변수입니다.
- newValue(UAValue)
- 변수의 새 값입니다.
- oldValue(UAValue)
- 변수의 이전 값입니다.
- indexes(uint[])
- 배열에만 해당:값이 변경된 배열 셀의 인덱스입니다.팁: 각 셀의 값이 변경되거나 프로젝트 변수가 스칼라인 경우 이 속성은 비어 있습니다.
예제
Variable1_VariableChange
메서드는 프로젝트 변수 Variable1
의 값이 변경될 때마다 실행됩니다.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; }
의견을 작성 부탁드립니다.