X-SCADA AI Tag에 Value Changed Event 등록

XISOM .NET Library

X-SCADA AI Tag에 Value Changed Event 등록

관리자 0 538

1. 오른쪽 솔루션 탐색기에서 Form1.cs 파일을 마우스 오른쪽 클릭한 뒤 [코드 보기]를 클릭한다.

7c6cddbb89eae9e0abcbaa2e03e42b7b_1707358938_0838.png
 


2. 오른쪽 솔루션 탐색기에서 Form1.cs 파일을 연 뒤 using 문을 사용해 아래와 같이 작성한다.

7c6cddbb89eae9e0abcbaa2e03e42b7b_1707358946_1304.png 

using Xisom.Scada.Core;

using Xisom.Scada.Model;



3. Form1.cs 파일에서 아래와 같이 소스를 작성한다.

· 태그명이 value로 끝나는 태그에 값 변경 이벤트를 등록한 예제이다.

· item_ValueChanged 메소드에 대한 부분은 다음 과정에서 진행할 예정이다.

7c6cddbb89eae9e0abcbaa2e03e42b7b_1707358968_0714.png

private void initTag()

{

    try

    {

        if (Program.documentContext == null) return;


        foreach(var item in Program.document.Tags)

        {

            if (item.IsGroup())

            {

                if (item.Name.ToUpper().StartsWith("_SYSTEM")) continue;

                if (item.Name.ToUpper().StartsWith("_DEVICES")) continue;

                if (item.Name.ToUpper().StartsWith("_ALARMS")) continue;


                var tags = Program.document.Tags.GetByFullName(item.Name);

                foreach (var tag in tags.Children)

                {                            

                    if (tag.IsGroup())

                    {

                        continue;

                    }

                    if (tag.Name.ToUpper().EndsWith("VALUE"))

                    {

                        tag.LiveChanged += item_ValueChanged;

                    }                           

                }

            }

            else

            {

                if (item.Name.ToUpper().EndsWith("VALUE"))

                {

                    item.LiveChanged += item_ValueChanged;

                }

            }

        }

    }

    catch (Exception exception)

    {

        Trace.WriteLine(exception);

        Debug.WriteLine("태그 이벤트 등록 실패");

    }

}

 

4) public Form1()에 아래와 같이 initTag(); 를 추가 작성한다.
7c6cddbb89eae9e0abcbaa2e03e42b7b_1707359001_2324.png

initTag();


 

0 답글
제목