자바스크립트 따라하기 – 알람 객체(기본)

Script

자바스크립트 따라하기 – 알람 객체(기본)

스크립트에서 알람 객체를 활용할 수 있다.


1. 뷰어로 샘플 실행하기

1) 디자이너에서 F5키를 누르거나 실행 버튼을 눌러 뷰어를 실행한다.

8e6e1d3b3348f0e6b60782ebc2788cd5_1633048009_505.png
 

2) toggle 버튼을 눌러 알람을 발생시킬 수 있다.

8e6e1d3b3348f0e6b60782ebc2788cd5_1633048016_4799.png
8e6e1d3b3348f0e6b60782ebc2788cd5_1633048021_4394.png
 

3) F12 버튼을 눌러 페이지 스크립트 콘솔을 확인할 수 있다.

8e6e1d3b3348f0e6b60782ebc2788cd5_1633048028_6012.png
 


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);

경보가 울렸을 때 열 페이지 이름을 출력한다.

· 페이지 콘솔 창 결과: “”



0 Reply Comment
Title