Tag Value Changed Event 처리

XISOM .NET Library

Tag Value Changed Event 처리

관리자 0 386

1. Form1.cs 파일 내에서 아래와 같이 추가로 소스를 작성한다.

· 전 과정에서 작성한 item_ValueChanged 메소드 생성에 대한 예제이다.

· 변경된 태그의 값을 tagNameBox, curValueBox 객체(화면)에 표현할 예정이다.

· tagNameBox, curValueBox 등에 대한 부분은 다음 과정에서 진행할 예정이다.

d2d9769324c061c88fa0e5c7c8df2e20_1707896577_6446.png
 

void item_ValueChanged(object sender, EventArgs e)

{

    IDataTag dataTag = sender as IDataTag;

    Debug.WriteLine(string.Format("DateTime:{0} tagName:{1} tagValue:{2}",

        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),

        dataTag.Name,

        dataTag.Value));


    tagNameBox.Text = dataTag.FullName.ToString();

    curValueBox.Text = Convert.ToInt32(dataTag.Value).ToString();

}




2. 추가적인 Tag에 대한 활용 방법은 아래와 같다.

1) Tag 종류에 대한 세부 속성

· Tag의 세부 속성에 접근하기 위해서는 해당 형으로 변환 필요

var tag = dataTag as IStringTag; 

var tag = dataTag as IDigitalTag; 

var tag = dataTag as IAnalogTag;


2) Group에 대한 Children Tag

var g = Program.document.Tags.GetByFullName(Group명);

    foreach (var tag in g.Children) 

    {  ...  }

    var port = network .RemotePort; //port


3) 특정 Tag 정보 추출

Program.document.Tags.GetByFullName(FullTag명);


4) Tag 값 쓰기

var tag = Program.document.Tags.GetByFullName(FullTag명);

tag.Value = “값";


5) Tag 값 읽기

var tag = Program.document.Tags.GetByFullName(FullTag명);

var value = tag.Value;


6) Device 정보 추출

var tag = Program.document.Tags.GetByFullName(FullTag명);

var device = tag.Device as IDevice;    //Device 정보

device.IsAlive    //Device 연결상태


7) Network 정보 추출

var network = device.Connections[0] as INetworkConnection;

var address = network.RemoteAddress; //IP




0 답글
제목