자바스크립트 따라하기 – 알람 객체(기본)
스크립트에서 알람 객체를 활용할 수 있다.
1. 뷰어로 샘플 실행하기
1) 디자이너에서 F5키를 누르거나 실행 버튼을 눌러 뷰어를 실행한다.
2) toggle 버튼을 눌러 알람을 발생시킬 수 있다.
3) F12 버튼을 눌러 페이지 스크립트 콘솔을 확인할 수 있다.
2. 스크립트 코드 해석
1) page_1 페이지
① 이벤트 등록 부분
(1) $XT("analog_monitor").addEventListener("change", monitor_onChange);
analog_monitor 태그의 값 변화 이벤트 발생 시 monitor_onChange함수를 실행한다.
· 페이지 콘솔 창 결과: -
(2) $XT("digital_monitor").addEventListener("change",monitor_onChange);
digital_monitor 태그의 값 변화 이벤트 발생 시 monitor_onChange함수를 실행한다.
· 페이지 콘솔 창 결과: -
(3) $XT("string_monitor").addEventListener("change",monitor_onChange);
string_monitor 태그의 값 변화 이벤트 발생 시 monitor_onChange함수를 실행한다.
· 페이지 콘솔 창 결과: -
② monitor_onChange 메소드
function monitor_onChange(event) { var tag = event.target; var alarm = scada.alarms.getByName(tag.name.split('_')[0] + "_alarm"); console.log(alarm.name); console.log(alarm.message); console.log(alarm.lastModified.toString()); console.log(alarm.level); console.log(alarm.zone); console.log(alarm.enabled); console.log(alarm.status); console.log(alarm.acknowledged); console.log(alarm.statusTag); console.log(alarm.sound); console.log(alarm.soundLooping); console.log(alarm.page); } |
(1) var tag = event.target;
이벤트가 발생된 태그를 tag 변수에 저장한다.
· 페이지 콘솔 창 결과: -
(2) var alarm = scada.alarms.getByName(tag.name.split('_')[0] + "_alarm");
이름이 (태그 이름의 첫 부분)_alarm 인 경보(ex stirng_alarm)를 alarm 변수에 저장한다.
· 페이지 콘솔 창 결과: -
(3) console.log(alarm.name);
경보 이름을 출력한다.
· 페이지 콘솔 창 결과: “analog_alarm”
(4) console.log(alarm.message);
경보 메시지를 출력한다..
· 페이지 콘솔 창 결과: “An analog alarm has occurred.”
(5) console.log(alarm.lastModified.toString());
경보의 마지막 변경 시간을 출력한다..
· 페이지 콘솔 창 결과: "Tue Sep 28 2021 11:12:17 GMT+0900 (대한민국 표준시)" (Date 객체)
(6) console.log(alarm.level);
경보의 등급을 출력한다.
· 페이지 콘솔 창 결과: 1
(7) console.log(alarm.zone);
경보의 지역을 출력한다.
· 페이지 콘솔 창 결과: "A"
(8) console.log(alarm.enabled);
경보의 사용 여부를 출력한다.
· 페이지 콘솔 창 결과: true
(9) console.log(alarm.status);
경보의 상태를 출력한다.
· 페이지 콘솔 창 결과: true
(10) console.log(alarm.acknowledged);
경보의 인식 여부를 출력한다.
· 페이지 콘솔 창 결과: false
(11) console.log(alarm.statusTag);
경보 상태를 모니터링하는 태그를 출력한다.
· 페이지 콘솔 창 결과: Object {type, value, rawValue, inverted, …} (디지털 태그 객체)
(12) console.log(alarm.sound);
경보가 재생할 소리 파일 이름을 출력한다..
· 페이지 콘솔 창 결과: “”
(13) console.log(alarm.soundLooping);
경보의 소리 반복 재생 여부를 출력한다.
· 페이지 콘솔 창 결과: true
(14) console.log(alarm.page);
경보가 울렸을 때 열 페이지 이름을 출력한다.
· 페이지 콘솔 창 결과: “”