자바스크립트 - Connection/ConnectionCollection 객체 따라하기
자바스크립트 따라하기- Connection/ConnectionCollection 객체
X-SCADA 스크립트에서 Connection, ConnectionCollection 객체를 사용할 수 있다
1. C onnection/ConnectionCollection 샘플 만들어보기
(객체를 생성할 때는 도구를 클릭하고 마우스 커서를 D esign 영역으로 옮겼을 때 커서가 십자 표시로 되면 생성할 위치에 클릭한 상태로 드래그하면 된다)
1) 장치 탐색기에서 장치를 하나 생성한다
2) 생성한 장치에 시리얼 연결 과 네트워크 연결 을 하나 씩 추가한다
3) 페이지 스크립트를 아래와 같이 편집한다
4) 레이블 객체를 하나 생성하고 텍스트를 설정한다
5) 레이블의 스크립트 속성을 아래와 같이 설정한다
6) 실행이나 F5 를 눌러 뷰어를 연다
레이블 객체를 누르고 F12 키를 눌러 결과를 확인할 수 있다.
2. 스크립트 코드 해석
1) page_1 페이지
① showInfo 메소드
function showInfo() { var device = $XI("device_1"); var conns = device.connections;
console.log(conns.getByName("network_1")); console.log(conns.getAt(0));
var conn = conns.getAt(0);
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);
console.log(conns.getByName("serial_1")); console.log(conns.getAt(1));
conn = conns.getAt(1);
console.log(conn.portName); console.log(conn.bauRate); console.log(conn.parity); console.log(conn.dataBits); console.log(conn.stopBits); console.log(conn.handshake); console.log(conn.dtrEnable); console.log(conn.rtsEnable); console.log(conn.station); console.log(conn.switchingDelay); } |
(1) var device = $XI("device_1");
이름이device_1 인 장치를 가져온다
페이지 콘솔 창 결과 : -
(2) var conns = device.connections;
장치의연결 목록 객체를 가져온다
페이지 콘솔 창 결과 : -
(3) console.log(conns.getByName("network_1"));
연결목록 중 이름이 network_1 인 연결을 가져와 출력한다
페이지 콘솔 창 결과 : 2020 12 28 21:19:51.050 Object {type, remoteAddress,
remotePort, localAddress, scanTime, timeout, enabled, trialCount, desc, name,
hasAttribute(), getAttribute(), setAttribute(), removeAttribute()}
(4) console.log(conns.getAt(0))
연결목록의 첫 번째에 위치한 연결을 출력한다
페이지 콘솔 창 결과 : 2020 12 28 21:19:51.050 Object {type, remoteAddress,
remotePort, localAddress, scanTime, timeout, enabled, trialCount, desc, name,
hasAttribute(), getAttribute(), setAttribute(), removeAttribute()}
(5) var conn = conns.getAt(0)
연결목록의 첫 번째에 위치한 연결을 가져온다
페이지 콘솔 창 결과 : -
(6) console.log(conn.name)
가져온 연결의 이름을 출력한다
페이지 콘솔 창 결과 : network_1
(7) console.log(conn.scanTime);
가져온 연결의 스캔 간격을 출력한다
페이지 콘솔 창 결과 : 1000
(8) console.log(conn.timeout)
가져온 연결의 타임아웃을 출력한다
페이지 콘솔 창 결과 : 1000
(9) console.log(conn.enabled)
가져온 연결의 활성화 여부를 출력한다
페이지 콘솔 창 결과 : true
(10) console.log(conn.trialCount);
가져온 연결의 시도 횟수를 출력한다
페이지 콘솔 창 결과 : 0
(11) console.log(conn.type);
가져온 네트워크 연결의 통신 타입 TCP/UDP) 을 출력한다
페이지 콘솔 창 결과 : "tcp”
(12) console.log(conn.remoteAddress);
가져온 연결의 원격지 주소를 출력한다
페이지 콘솔 창 결과 : “127.0.0.1”
(13) console.l og(conn.remotePort);
가져온 연결의 원격지 포트를 출력한다
페이지 콘솔 창 결과 : 0
(14) console.log(conn.localAddress)
가져온 연결의 로컬 주소를 출력한다
페이지 콘솔 창 결과 : ""
(15) console.log(conns.getByName("serial_1"));
연결 목록에서 이름이 serial_1 인 연결을 출력한다
페이지 콘솔 창 결과 : 2020 12 28 21:19:51.092 Object {portName, bauRate, parity,
dataBits, stopBits, handshake, dtrEnable, rtsEnable, station, switchingDelay,
scanTime, timeout, enabled, trialCount, desc, name, hasAttribute(), getAttribute(),
setAttribute(), removeAttribute()}
(16) console.log(conns.getAt(1));
연결 목록의 두 번째에 위치한 연결을 출력한다
페이지 콘솔 창 결과 : 2020 12 28 21:19:51.092 Object {portName, bauRate, parity,
dataBits, stopBits, handshake, dtrEnable, rtsEnable, station, switchingDelay,
scanTime, timeout, enabled, trialCount, desc, name, hasAttribute(), getAttribut e(),
setAttribute(), removeAttribute()}
(17) var conn = c onns.getAt(1)
연결 목록의 두 번째에 위치한 연결을 가져온다
페이지 콘솔 창 결과 : -
(18) console.log(conn.portName)
가져온 시리얼 연결의 포트 이름을 출력한다
페이지 콘솔 창 결과 : "COM1”
(19) console.log(conn. b auRate
가져온 시리얼 연결의 보드레이트를 출력한다
페이지 콘솔 창 결과 : 9600
(20) console.log(conn. p arity
가져온 시리얼 연결의 패리티 비트를 출력한다
페이지 콘솔 창 결과 : “none”
(21) console.log(conn. dataBits
가져온 시리얼 연결의 데이터 비트를 출력한다
페이지 콘솔 창 결과 : 8
(22) console.log(conn. s topBits
가져온 시리얼 연결의 스탑비트를 출력한다
페이지 콘솔 창 결과 : 1
(23) console.log(conn. handshake
가져온 시리얼 연결의 핸드셰 이크를 출력한다
페이지 콘솔 창 결과 : “none”
(24) console.log(conn. d trEnable
가져온 시리얼 연결의 D TR 핀 사용 여부를 출력한다
페이지 콘솔 창 결과 : false
(25) console.log(conn. rtsEnable
가져온 시리얼 연결의 RTS 핀 사용 여부를 출력한다
페이지 콘솔 창 결과 : false
(26) console.log(conn. station
가져온 시리얼 연결의 국번을 출력한다
페이지 콘솔 창 결과 : 0
(27) console.log(conn. s witchingDelay
가져온 시리얼 연결의 스위칭 지연시간을 출력한다
페이지 콘솔 창 결과 : 0