자바스크립트 - Device/Connection 객체(응용) 따라하기
자바스크립트 따라하기 - Device/Connection 객체 (응용)
X-SCADA 에서 연결이 바뀔 때 정보를 출력할 수 있다.
1. Device/Connection 샘플 만들어보기
(객체를 생성할 때는 도구를 클릭하고 마우스 커서를 Design 영역으로 옮겼을 때 커서가 십자 표시로 되면 생성할 위치에 클릭한 상태로 드래그하면 된다.)
1) 장치 탐색기에서 장치를 하나 생성한다.
2) 생성한 장치에 네트워크 연결을 두 개 추가한다.
RemotePort 속성을 502 로 설정한다
RemotePort 속성을 503 로 설정한다
5) 태그 탐색기에서 아날로그 태그를 하나 생성한다.
6) 생성한 아날로그 태그의 속성을 아래와 같이 설정한다.
8) 레이블 객체와 텍스트 객체를 아래와 같이 배치하고 텍스트 객체의
텍스트를 설정한다.
11) X SCADA 설치 폴더를 열어 M odbusSlave.exe 를 두 번 실행한다.
12) 한 프로그램의 TCP 포트는 502, 다른 프로그램은 503 으로 설정하고
Start Server 버튼을 클릭해 슬레이브를 실행한다
13) 뷰어를 확인한다 한 쪽 서버를 종료하고 다른 쪽 서버를 실행하면 결과를 확인할 수 있다.
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)
가져온 네트워크 연결의 로컬 주소를 출력한다
● 페이지 콘솔 창 결과 : ""