기상청 날씨누리 RSS 서비스를 활용한 X-SCADA AI 날씨 표현

Protocol

기상청 날씨누리 RSS 서비스를 활용한 X-SCADA AI 날씨 표현

기상청 날씨누리에서 날씨 정보를 구독 형태로 쉽고 빠르게 제공하기 위해 RSS 서비스를 운영하고 있습니다.

XML 데이터 형식을 기초로 만들어진 날씨누리 RSS 서비스를 X-SCADA AI 에서 어떻게 활용할 수 있을지 소개합니다.


날씨누리 웹사이트 : https://www.weather.go.kr/w

날씨누리 RSS 서비스 가이드 : https://www.weather.go.kr/w/pop/rss-guide.do




1. 날씨누리 RSS 서비스 확인 및 분석하기

1) 날씨누리 RSS 서비스에서 보고자 하는 동네를 선택한다.

· 동네는 자이솜 본사(대전)를 기준으로 설정했으며, [1시간별 RSS]를 기준으로 진행할 예정입니다.

29a705ec20594f95882e14d0be9604c4_1720170828_6644.png
 


2) [RSS] 버튼을 클릭하면 나타나는 팝업에 있는 주소를 기록(복사)한다.

· 해당 주소는 X-SCADA AI에서 장치 탐색기(Device Explorer)에서 장치 설정 시 사용할 예정이다.

29a705ec20594f95882e14d0be9604c4_1720170836_3615.png
 


3) 2번 과정에 얻은 주소에 접근하여 RSS를 분석한다.

· 해당 분석 과정을 거쳐 규칙을 알아야 태그 탐색기(Tag Explorer)에서 태그 설정을 통해 해당 데이터에 접근할 수 있다.

예시 1) 지역 정보를 받아오고 싶은 경우, 지역을 나타내는 category 항목이 있는 주소를 장치내 주소에 입력한다. 규칙에 따라 장치내 주소에 #rss/channel/item/category를 입력하면 된다.

예시 2) 강수량 정보를 받아오고 싶은 경우, 날씨누리 RSS 규칙에 따르면 pcp 항목이 강수량이다. 규칙에 따라 강수량 정보를 확인하고 싶으면 #rss/channel/item/description/body/data[@seq="0"]/pcp를 입력한다.

29a705ec20594f95882e14d0be9604c4_1720170848_6103.png
 




2. X-SCADA AI 설정하기

1) X-SCADA AI Designer에서 아래와 같이 날씨를 표현하기 위해 작화한다.

29a705ec20594f95882e14d0be9604c4_1720170929_2104.png
 


2) 장치 탐색기(Device Explorer)에서 새 장치 추가(New Device) 후 기타 연결 추가(New Other)를 진행한다.

29a705ec20594f95882e14d0be9604c4_1720170935_4313.png
 


3) 속성(Properties)에서 프로토콜(Protocol)을 "Web Request"로 설정한 뒤 Http > URL에 1. – 2) 과정에서 복사했던 지역 주소를 붙여넣기한다.

29a705ec20594f95882e14d0be9604c4_1720170943_1235.png
 


4) 태그 탐색기(Tag Explorer)에서 날씨누리의 정보 중 표현하고 싶은 정보들을 정한 뒤 태그를 추가한다.

· 다양한 날씨 정보들을 받아올 수 있지만, 이번 샘플에서는 지역(category), 온도(temp), 습도(reh), 풍속(ws), 날씨(wfKor) 정보만을 받아온다.

· 더 복잡한 조건 및 설정을 위해 연산식을 적용할 "category_split"와 "wfKor_code" 태그도 추가한다.

· RSS의 태그 값에 대한 자세한 설명은 우측 링크에 접속하면 확인할 수 있다. (https://www.weather.go.kr/w/resources/pdf/dongnaeforecast_1hr_rss.pdf)

29a705ec20594f95882e14d0be9604c4_1720170953_0001.png
 


5) 설정하고자 하는 태그 선택 후 속성(Properties) > 장치(Device) 항목에서 이전에 생성했던 장치를 설정한 뒤, 장치내 주소(DeviceAddress)에 1.-3)에서 분석했던 태그 주소를 입력한다.

· 지역 정보를 받아오고 싶은 경우, #rss/channel/item/category 입력

· 풍속을 알고 싶은 경우, #rss/channel/item/description/body/data[@seq="0"]/ws 입력

29a705ec20594f95882e14d0be9604c4_1720171003_9238.png
 


6) 더 디테일한 설정 및 변형을 하고 싶은 경우, 태그를 추가로 생성한 뒤 속성(Properties)에서 연산식(Expression)을 설정한다.

· 날씨누리에서 제공하는 category는 "대전광역시 유성구 관평동"과 같이 정확한 지역 정보를 제공해주지만, 이번 X-SCADA AI 샘플에서는 "대전광역시"와 같이 텍스트를 줄여서 표현하고자 한다.

· 스크립트(JavaScript)를 활용하는 방법도 있지만, 태그의 기본 속성 중 하나인 연산식을 아래와 같이 작성하여 텍스트를 분리/활용한다.

· 연산식에서 다른 태그를 참조해서 가져오고 싶은 경우, #{폴더명.태그명} 과 같은 규칙으로 작성하여 참조할 수 있다. (자기 자신 참조 불가)

29a705ec20594f95882e14d0be9604c4_1720171010_8737.png
 


7) 미리 생성한 객체를 선택한 뒤 속성(Properties) > 바인딩(Binding) > 태그(Tag)에서 바인딩하고자 하는 태그를 설정한다.

29a705ec20594f95882e14d0be9604c4_1720171019_4203.png
 



3. X-SCADA AI Viewer로 날씨 정보 확인하기 

1) 프로젝트 저장 후 X-SCADA AI Viewer로 실행하여 날씨 정보를 잘 불러오는지 확인한다.

29a705ec20594f95882e14d0be9604c4_1720171032_4207.png
 


2) 첨부한 샘플을 다운로드 받아 자세한 설정을 확인할 수 있다.




2 답글
스카린이 07.22 15:21  
Scada를 해외 법인에서 사용합니다. 혹시 세계 날씨를 받는 예제는 없을까요???
관리자 07.26 15:16  
스카린이 님, 안녕하십니까. 저희 X-SCADA에 관심을 가져주셔서 감사합니다. 메일 주소를 남겨주시면 샘플을 보내드리겠습니다. 감사합니다.
제목