자바스크립트 - Device/Connection 객체(응용) 따라하기

Script

자바스크립트 - Device/Connection 객체(응용) 따라하기

자바스크립트 따라하기 - Device/Connection 객체 (응용)


X-SCADA 에서 연결이 바뀔 때 정보를 출력할 수 있다.


1. Device/Connection 샘플 만들어보기
(객체를 생성할 때는 도구를 클릭하고 마우스 커서를 Design 영역으로 옮겼을 때 커서가 십자 표시로 되면 생성할 위치에 클릭한 상태로 드래그하면 된다.)


cdffbee07a94c39885d6643ba05370fa_1609288782_8153.png 

 1) 장치 탐색기에서 장치를 하나 생성한다.
cdffbee07a94c39885d6643ba05370fa_1609288782_8595.png


 2) 생성한 장치에 네트워크 연결을 두 개 추가한다.
cdffbee07a94c39885d6643ba05370fa_1609288782_9192.png


 3) 첫 번째 네트워크 연결을 아래와 같이 편집한다
cdffbee07a94c39885d6643ba05370fa_1609288782_9925.png

RemotePort 속성을 502 로 설정한다


 4) 두 번째 네트워크 연결을 아래와 같이 편집한다
cdffbee07a94c39885d6643ba05370fa_1609288783_0622.png

RemotePort 속성을 503 로 설정한다


 5) 태그 탐색기에서 아날로그 태그를 하나 생성한다.
cdffbee07a94c39885d6643ba05370fa_1609288783_1186.png


 6) 생성한 아날로그 태그의 속성을 아래와 같이 설정한다.
cdffbee07a94c39885d6643ba05370fa_1609288783_1784.png


 7) 페이지 스크립트를 아래와 같이 편집한다.
cdffbee07a94c39885d6643ba05370fa_1609288783_2431.png



 8) 레이블 객체와 텍스트 객체를 아래와 같이 배치하고 텍스트 객체의
텍스트를 설정한다.
cdffbee07a94c39885d6643ba05370fa_1609288783_2907.png


9) 각 레이블에 태그를 바인딩한다.
cdffbee07a94c39885d6643ba05370fa_1609288783_3522.png


 10) 실행이나 F5 를 눌러 뷰어를 연다.
cdffbee07a94c39885d6643ba05370fa_1609291033_6821.png


 11) X SCADA 설치 폴더를 열어 M odbusSlave.exe 를 두 번 실행한다.
cdffbee07a94c39885d6643ba05370fa_1609291033_7759.png


● 아래 메시지 박스가 나오면 확인을 누른다
cdffbee07a94c39885d6643ba05370fa_1609291033_8378.png


 12) 한 프로그램의 TCP 포트는 502, 다른 프로그램은 503 으로 설정하고
Start Server 버튼을 클릭해 슬레이브를 실행한다
cdffbee07a94c39885d6643ba05370fa_1609291033_9132.png



1 번 서버
cdffbee07a94c39885d6643ba05370fa_1609291033_9805.png



2 번 서버
cdffbee07a94c39885d6643ba05370fa_1609291034_0494.png


 13) 뷰어를 확인한다 한 쪽 서버를 종료하고 다른 쪽 서버를 실행하면 결과를 확인할 수 있다.
cdffbee07a94c39885d6643ba05370fa_1609291034_0995.png


2. 스크립트 코드 해석

 1) page_1 페이지

  ① 이벤트 리스너 추가 코드
$XT("_Devices.device_1.ActiveConnection").addEventListener("change", showInfo);
_D evices. d evice_1.ActiveConnection 태그에 이벤트 리스너를 추가한다
이벤트타입 : change ( 태그 값이 변경될 때 발생
실행할 메서드 : showInfo



  ② showInfo 메소드


function showInfo(event)

{

    var conn =

 $XI("device_1").connections.getByName(event.target.value);

   

    console.log(conn.name);

    console.log(conn.scanTime);

    console.log(conn.timeout);

    console.log(conn.enabled);

    console.log(conn.trialCount);

    console.log(conn.type);

    console.log(conn.remoteAddress);

    console.log(conn.remotePort);

    console.log(conn.localAddress);

}




 (1) var conn = $XI("device_1"). connections.getByName(event.target.value);
device_1 장치의 연결 목록 중 이름이 이벤트를 발생시킨 태그 의 값에 해당하는 연결을
가져온다 이 때 태그는 스크립트의 첫 번째 줄에서 다룬

태그 D evices. d evice_1.ActiveConnection) 이다
● 페이지 콘솔 창 결과 : -

 (2) console.log(conn.name)
가져온 연결의 이름을 출력한다
● 페이지 콘솔 창 결과 : network_1

 (3) co nsole.log(conn.scanTime);
가져온 연결의 스캔 간격을 출력한다
● 페이지 콘솔 창 결과 : 1000

 (4) console.log(conn.timeout)
가져온 연결의 타임아웃을 출력한다
●페이지 콘솔 창 결과 : 1000​

 (5) console.log(conn.enabled)
가져온 연결의 활성화 여부를 출력한다
● 페이지 콘솔 창 결과 : true

 (6) console.log(conn.trialCount);
가져온 연결의 시도 횟수를 출력한다
● 페이지 콘솔 창 결과 : 23


 (7) console.log(conn.type);
가져온 네트워크 연결의 통신 타입 TCP/UDP) 을 출력한다
● 페이지 콘솔 창 결과 :  "tcp”​

 (8) console.log(conn.remoteAddress);
가져온 네트워크 연결의 원격지 주소를 출력한다
● 페이지 콘솔 창 결과 : “127.0.0.1”

 (9) console.log(conn.remotePort);
가져온 네트워크 연결의 원격지 포트를 출력한다
● 페이지 콘솔 창 결과 : 503

 (10) c onsole.log(conn.localAddress)
가져온 네트워크 연결의 로컬 주소를 출력한다
● 페이지 콘솔 창 결과 :​ ""


0 Reply Comment
Title