자율 제어 플랫폼 v1pdone.co.kr/wp-content/uploads/2018/02/user-manual-0123a.pdf ·...
TRANSCRIPT
1 / 32 ©2018 PDONE Corporation
사용자 매뉴얼
DURASYS 빌딩 계장 센서 데이터 획득
자율 제어 플랫폼 V1.0 DURASYS PLATFORM FOR AUTONOMOUSLY CONTROLLING SENSOR DATA
ACQUISITION FOR BUILDING AND INSTRUMENTATION V1.0
Jan. 17, 2018
(주)피디원 http://www.pdone.co.kr
Phone 02‐6341‐7790 [email protected]
DuraSys Platform v1.0
사용자 매뉴얼 2 / 32 ©2018 PDONE Corporation
목 차
1. 본 문서의 목적 ..................................................................................................... 4
2. 산업자동화 시스템의 데이터획득 최적화 필요성 ............................................. 4
2.1. 센서 데이터 획득 실시간 (Real‐time) 처리성 ............................................................. 4
2.2. 센서 데이터 획득 방식 ................................................................................................... 5
2.2.1. 풀링 (Pulling) 방식 ............................................................................................. 5
2.2.2. 푸싱 (Pushing) 방식 ............................................................................................ 5
2.2.3. 통지획득 (Notify‐n‐Fetch) 방식 ......................................................................... 6
2.2.4. 데이터 획득 방식의 비교 ................................................................................. 6
2.3. 데이터 획득 효율성 최적화 필요성 ............................................................................. 6
3. DuraSys 플랫폼 개요 ............................................................................................ 8
3.1. 플랫폼 공급자 정보......................................................................................................... 8
3.2. 플랫폼의 기능 .................................................................................................................. 8
3.3. 플랫폼의 활용 .................................................................................................................. 8
3.4. 플랫폼의 장점 .................................................................................................................. 9
3.5. 플랫폼 구동 사양, 설치 및 실행 방식 ........................................................................ 9
3.6. 플랫폼 사용자 인도 시 제공 서비스 ......................................................................... 10
4. 플랫폼의 아키텍처 ............................................................................................. 11
4.1. 계층 및 컴포넌트 .......................................................................................................... 11
4.2. 소스 추상화 계층 (Source Abstraction Layer) .............................................................. 11
4.3. 소스 어댑터 (Source Adapter) ....................................................................................... 11
4.4. 플랫폼 추상화 계층 (Platform Abstraction Layer) ....................................................... 11
4.5. 세션 매니저 (Session Manager) ..................................................................................... 12
4.6. 효율성 평가 컴포넌트 (Efficiency Evaluator) ............................................................... 12
4.7. 효율성 최적화 컴포넌트 (Efficiency Optimizer) .......................................................... 12
4.8. 리포트 생성기 (Report Generator) ................................................................................ 12
5. DuraSys 플랫폼 활용 방법 ................................................................................. 13
5.1. 소스 어댑터 구현........................................................................................................... 13
5.2. 싱크 컴포넌트 구현....................................................................................................... 13
5.3. DuraSys 플랫폼에 등록 .................................................................................................. 13
5.4. 복수개의 소스와 싱크 연결 방법 ............................................................................... 14
5.4.1. 1:1 연결 .............................................................................................................. 14
5.4.2. 1:N 연결 ............................................................................................................. 14
5.4.3. N:1 연결 ............................................................................................................. 14
5.4.4. M:N 연결 ............................................................................................................ 15
5.5. DuraSys 플랫폼 Console의 목적과 범위 ..................................................................... 16
6. DuraSys 플랫폼 Console (센서 연결 버전) ........................................................ 17
DuraSys Platform v1.0
사용자 매뉴얼 3 / 32 ©2018 PDONE Corporation
6.1. 데이터 소스의 정보....................................................................................................... 17
6.2. DuraSys 플랫폼 메뉴 구성 ............................................................................................ 17
6.2.1. 항목 1. 데이터 소스의 측정 변수 ................................................................ 18
6.2.2. 항목 2. 데이터 싱크의 획득 변수 ................................................................ 18
6.2.3. 항목 3. 플랫폼 운영 제어 .............................................................................. 19
6.2.4. 항목 4. 데이터 소스의 정보 .......................................................................... 19
6.2.5. 항목 5. 데이터 싱크의 정보 .......................................................................... 20
6.2.6. 항목 6. 데이터 소스의 활동 차트 ................................................................ 20
6.2.7. 항목 7. 획득 최적화 현황 차트 .................................................................... 21
6.2.8. 항목 8. 획득 효율성 메트릭 값 .................................................................... 22
6.2.9. 항목 9. 실시간 시간 표기 .............................................................................. 22
6.3. 출력 콘솔창의 세분화 ................................................................................................... 22
6.4. DuraSys 플랫폼 콘솔 사용 절차 .................................................................................. 23
6.4.1. 스텝 1. 플랫폼의 구동 .................................................................................... 23
6.4.2. 스텝 2. 데이터 소스와 데이터 싱크의 선택 .............................................. 23
6.4.3. 스텝 3. 데이터 소스와 최적화 설정 ............................................................ 23
6.4.4. 스텝 4. 시스템 실행, 중지 및 일시중지 ..................................................... 23
6.4.5. 스텝 5. 차트와 메트릭을 통한 시스템 실행 관찰 .................................... 24
6.4.6. 스텝 6. 시스템 종류 및 보고서 생성 .......................................................... 24
7. 부록 1. DuraSys DA 플랫폼의 DA 효율성 자율 최적화 기법 .......................... 27
7.1. 데이터 획득 효율성 품질 요소 ................................................................................... 27
7.1.1. 데이터 획득 효율성 (Data Acquisition Efficiency, DAE) .................................. 27
7.1.2. 데이터 획득률 (Data Acquisition Rate, DAR) ................................................... 28
7.1.3. 획득 시간 효율성 (Acquisition Time Efficiency, ATE) ...................................... 28
7.1.4. 획득 자원 효율성 (Acquisition Resource Efficiency, ARE) .............................. 28
7.2. 데이터 획득 효율성 평가 메트릭 (Metrics) .............................................................. 28
7.2.1. DAR 메트릭 ........................................................................................................ 28
7.2.2. ATE 메트릭 ......................................................................................................... 29
7.2.3. ARE 메트릭 ........................................................................................................ 30
7.2.4. DAE 통합 메트릭 .............................................................................................. 31
7.3. DA 효율성 최적화 프로세스 ........................................................................................ 31
DuraSys Platform v1.0
사용자 매뉴얼 4 / 32 ©2018 PDONE Corporation
DURASYS PLATFORM FOR AUTONOMOUSLY CONTROLLING SENSOR DATA ACQUISITION FOR BUILDING AND INSTRUMENTATION V1.0
사용자 매뉴얼
1. 본 문서의 목적
이 문서의 목적은 산업자동화 시스템 개발을 위한 “DuraSys 빌딩 계장 센서
데이터 획득 자율 제어 플랫폼 v1.0”의 개요, 기능, 아키텍처, 사용법, 콘솔을
설명하는데 있다.
2. 산업자동화 시스템의 데이터획득 최적화 필요성
2.1. 센서 데이터 획득 실시간 (Real‐time) 처리성
산업 자동화 시스템은 다음 그림과 같이 다양한 종류의 센서들을 통하여,
시스템 주변의 환경 값을 측정하고 이를 처리하는 시스템이다.
센서의 예를 들면, 화재 관련 센서, 전기 계측 센서, 산업 플랜트 센서, 이동
감지 센터, 냄새 식별 센서, 조명 센서, 온도 센서 등이 있다.
산업 자동화 시스템의 센서들은 높은 주기로 발생하는 센서 측정값들을
실시간으로 시스템에 전달하여야 하는 경우가 많다. 실시간으로 센서 측정값이
전달되지 않으면 센서 데이터의 손실이 발생하여, 시스템 운영에 큰 차질을
가져 올 수 있다. 예를 들면, 전력생산 설비에서 생산 전략의 측정치는 20 밀리
초 (20 milli‐second) 이하의 주기로 생성되므로, 센서 데이터 생성에서 시스템에
도달하는 경과시간 (Lag Time)이 최소화 되어야 한다
DuraSys Platform v1.0
사용자 매뉴얼 5 / 32 ©2018 PDONE Corporation
센서 데이터를 시스템에 전달하는 데이터 획득 방식은 풀링(Pulling),
푸싱(Pushing), 통지 획득(Notify‐n‐Fetch) 방식이 있는데, 어떤 방식을 선택하던지
센서 데이터 생성의 빈도와 생성 값의 변화 정도에 따라서 데이터 획득 시간
효율성이 떨어질 수 있다. 즉, 실시간 데이터 획득이 이루어지지 않을 수 있다.
2.2. 센서 데이터 획득 방식
센서 데이터 획득은 시스템이 필요한 데이터를 시스템의 내부 혹은 외부에서
주기성을 갖고 필요한 형태로 수집하는 활동이다. 대표적인 획득 방식은 풀링,
푸싱 및 Notify-n-Fetch 방식이 있으며 각 방식은 장.단점을 가지고 있다.
데이터 소스(Data Source): 센서 디바이스, IoT 디바이스
데이터 싱크(Data Sink): 센서 측정 값을 직접 받아 처리하는 컴포넌트
2.2.1. 풀링 (Pulling) 방식
풀링 방식은 데이터를 가지고 있는 Data Source에게 이 데이터를 필요로 하는
Data Sink가 직접 능동적으로 데이터를 요청하고 리턴(Return) 값으로 필요한
데이터를 가져오는 방식이다.
이 방식은 Data Sink가 원하는 시간에 필요한 데이터를 가져올 수 있다. 그러나
풀링 간격에서 발생할 수 있는 Data Source값의 변경을 놓칠 수 있다. 이 방식은
다양한 시스템이나 센서와 연결이 되면서 빈번하게 데이터를 수집해 와야
하는데 따른 시스템 자원의 오버헤드를 발생시킬 수 있다.
2.2.2. 푸싱 (Pushing) 방식
푸싱 방식은 Data Sink가 필요로 하는 데이터를 가진 Data Source에게 등록한 후,
Data Source가 데이터 값이 변경되었을 때 마다, 등록되어 있는 Data Sink에게
변경된 데이터 값을 전송해 준다.
Data Sink는 한번 등록하면 모든 변경된 값을 전송 받을 수 있는 장점이 있다.
그러나 Data Sink가 어느 변경된 값이 필요하지 않은 시간에도 데이터가
전달되는 비효율성이 있다.
DuraSys Platform v1.0
사용자 매뉴얼 6 / 32 ©2018 PDONE Corporation
2.2.3. 통지획득 (Notify‐n‐Fetch) 방식
통지획득 (Notify‐n‐Fetch) 방식은 Data Source 역할을 하는 Publisher와 Data Sink
역할을 Subscriber로 구성된다. Publisher는 이미 등록되어 있는 Subscriber에게
새로운 센서 데이터 값이 변경되었다는 통지를 하고, 그 Subscriber는 변경된
값이 필요할 경우에만 Publisher에게서 데이터 값을 가져오는 방식이다.
Publisher와 Subscribe 간에는 다대다 (Many to Many) 관계로 구독이 가능하다.
이 방식은 푸싱의 장점을 가지고 있으면 푸싱의 단점인 불필요한 데이터의
전송에 따른 오버헤드를 줄일 수 있다. Subscriber는 필요한 모든 변경된
데이터를 비동기화 방식으로 가져올 수 있는 장점이 있다. 그러나 빈번한
데이터의 변경이 발생할 경우 Publisher와 Subscriber간에 메시지 교환의 빈도가
늘어나는 오버헤드가 발생한다.
2.2.4. 데이터 획득 방식의 비교
센서 데이터 획득 방식은 다음 표와 같이 장 단점을 가지고 있다.
표. 센서 데이터 획득 방식의 장.단점 비교
방식 장점 단점
풀링 Data Sink가 필요한 시점에만 데이터를 획득할 수 있다.
(1) 값의 변경이 없는 센서 데이터 값도 획득하는 비효율성 (2) 변경된 값을 Data Sink가 누락할 수 있는 가능성
푸싱 센서 데이터 값이 변경되었을 때만, 전송하는 효율성
Data Sink가 센서 데이터 값이 필요하지 않는 시간/상황에도 데이터는 전달되는 비효율성
통지
획득
푸싱의 장점을 가지고 푸싱의 단점을 보완
센서 데이터의 값이 빈번하게 발생하면, 통지 및 획득에 따른 많은 메시지 교환으로 네트워크 등 자원 소모가 증가됨.
이 표의 비교에서처럼 각 방식은 장점과 단점을 모두 가지고 있어서, 어떤
방식이 항상 더 우수하다고 판단할 수 없다.
2.3. 데이터 획득 효율성 최적화 필요성
시스템에 장착되었거나 연결되어 있는 센서들은 운영 중에 발생하는 데이터
값의 변화를 늘 일정하지는 않다. 시스템에 따라서는 요일, 시간대, 날씨, 기온,
사용자 수요 등에 따라, 그 값을 변화 패턴은 매우 다양하다. 따라서, 하나의
데이터 획득 방식을 선택해서 계속 사용하는 것은 데이터 획득 효율성
측면에서 바람직하지 않다. 그 대신, 시스템 운영 중에 발생하는 센서 데이터
DuraSys Platform v1.0
사용자 매뉴얼 7 / 32 ©2018 PDONE Corporation
값들의 변화 패턴에 따라, 가장 적합한 데이터 획득 방식을 선택하여 동적으로
바꾸어 주어야 한다. 이렇게 하면, 운영중인 시스템은 항상 높은 데이터 획득
효율성을 유지할 수 있다.
센서 디바이스가 휴대형 배터리 전원으로 작동되거나, 비교적 느린 무선
네트워크 통신을 사용한다면, 동적으로 데이터 획득 방식을 바꾸어 주는 것은
더 중요해 진다.
DuraSys Platform v1.0
사용자 매뉴얼 8 / 32 ©2018 PDONE Corporation
3. DuraSys 플랫폼 개요
3.1. 플랫폼 공급자 정보
공급 업체
㈜ 피디원
홈페이지
http://pdone.co.kr/
회사 주소
경기도 양주시 광적면 현석로 175번길 155
연락처
02‐6341‐7790
팩스 번호
02‐6341‐7791
메일
3.2. 플랫폼의 기능
본 플랫폼의 기능은 다음과 같다.
센서 데이터 획득의 다양한 방식을 지원
대부분의 센서는 풀링 등 한 가지 획득 방식을 지원한다. 본 플랫폼은 대표
적인 획득 방식인 풀링, 푸싱, 통지획득 방식을 모두 가능하도록 지원한다.
센서 데이터 획득 효율성 실시간 계산 및 가시화 인터페이스
센서 데이터 획득 효율성을 실기간으로 계산하고, 이를 확인할 수 있는 인터
페이스를 제공한다. 획득 효율성의 정량적인 평가를 통하여 효율성 최적화를
가능하게 한다.
센서 데이터 획득 효율성을 자율적으로 최적화 함
획득 효율성과 시스템의 상황 정보들을 이용하여, 자율적으로 최적 데이터
획득 방식을 선택 적용하는 기능을 제공한다.
3.3. 플랫폼의 활용
본 플랫폼은 다양한 산업자동화 어플리케이션 개발 시, 센서들을 연결하고
데이터를 효율적으로 획득하는 서브 시스템으로 사용할 수 있다. 사용 방식은
다음과 같이 두 가지로 나누어진다.
라이브러리 형태로 활용
DuraSys Platform v1.0
사용자 매뉴얼 9 / 32 ©2018 PDONE Corporation
본 플랫폼을 라이브러리 형태로 어플리케이션에 포함하여 컴파일 하여, 단일
실행 파일로 사용한다.
독립 프로세스 형태로 활용
본 플랫폼을 독립된 프로그램 프로세스로 실행하고, 어플리케이션에서 프로
세스간 통신 (Inter Process Communication, IPC) 방식을 사용한다.
3.4. 플랫폼의 장점
본 플랫폼은 다음과 같은 장점을 제공한다.
모든 센서에 대해, 풀링, 푸싱, 통지획득 방식의 데이터 획득 방식을 모두 가
능하게 함.
데이터 획득 효율성을 실시간 평가하여 가시화하고, 이를 기반으로 프로그램
설계 최적화를 가능하게 함.
데이터 획득 효율성을 이용하여 자율적으로 최적 데이터 획득 방식을 적용
하게 하여, 상시 높은 데이터 획득 효율성을 유지함.
이러한 장점들은 최근 트렌드인 센서와 IoT 디바이스 기반 컨텍스트 맞춤형
지능형 서비스 개발에 더욱 효과적으로 나타난다.
3.5. 플랫폼 구동 사양, 설치 및 실행 방식
운영체제
Ubuntu 16.04, 64bit
CPU
Intel Core i5 2.0GHz (최소)
Intel Core i7 2.0GHz 이상 (권장)
메모리
4 GB (최소)
8GB 이상 (권장)
보조기억장치
HDD 100GB (최소)
SSD 120GB 이상 (권장)
네트워크 환경
TCP/IP 지원
센서 통신 방식
유선 Serial 통신
플랫폼 서버 모듈
DuraSys Platform v1.0
사용자 매뉴얼 10 / 32 ©2018 PDONE Corporation
python (v.3.6)
django (v.2.0)
channels (v.1.1.8)
redis (v.2.10.6)
redis‐server (v.3.0.6)
asgi‐redis (v.1.4.3)
pyserial (v.3.4)
플랫폼 설치 방식
제공되는 CD를 사용하여 DuraSys 플랫폼 설치
플랫폼 구동 방식
플랫폼 실행 파일 run.sh 실행
3.6. 플랫폼 사용자 인도 시 제공 서비스
사용자 매뉴얼 1부
사용자 매뉴얼은 DuraSys 플랫폼의 시스템 설명, 사용 방법, 도움말 (부록) 등
관련 정보를 제공
다운로드: http://pdone.co.kr/?page_id=1662
CD 1장
제공되는 CD에는 DuraSys 플랫폼 시스템 설치 파일 및 사용자 매뉴얼 포함
플랫폼 사용사례 동영상 제공
플랫폼 구동 작동 영상 10분
영상링크: http://pdone.co.kr/?page_id=1662
DuraSys Platform v1.0
사용자 매뉴얼 11 / 32 ©2018 PDONE Corporation
4. 플랫폼의 아키텍처
4.1. 계층 및 컴포넌트
본 플랫폼은 다음 그림과 같은 계층과 컴포넌트들로 구성된다.
4.2. 소스 추상화 계층 (Source Abstraction Layer)
이 계층은 다양한 센서 하드웨어 간의 이질성(Heterogeneity)을 해결하기 위하여,
특정 하드웨어에 비종속적인 센서 접근 표준 인터페이스를 제공한다. 향후,
센서의 변경이나 추가가 있어도, 이 계층 위의 프로그램은 수정을 필요로 하지
않는다.
4.3. 소스 어댑터 (Source Adapter)
소스 어댑터는 Source Abstraction Layer의 인터페이스를 기반으로 각 센서
하드웨어 특성과 디바이스 드라이버에 맞도록 구현한 객체이다. 센서 별로
하나의 소스 어댑터 객체(Instance)가 할당된다.
4.4. 플랫폼 추상화 계층 (Platform Abstraction Layer)
이 계층은 본 플랫폼의 기능을 어플리케이션 개발 시 API 형태로 이용할 수
있도록 인터페이스를 제공한다. 각 어플리케이션은 이 인터페이스를 이용하여,
데이터 획득 효율성을 항상 최적 상태로 유지할 수 있다.
DuraSys Platform v1.0
사용자 매뉴얼 12 / 32 ©2018 PDONE Corporation
4.5. 세션 매니저 (Session Manager)
이 컴포넌트는 데이터 획득 세션 별로 발생한 다양한 이벤트와 최적화
활동들을 기록한다.
4.6. 효율성 평가 컴포넌트 (Efficiency Evaluator)
이 컴포넌트는 데이터 획득 효율성을 실시간으로 계산한다.
4.7. 효율성 최적화 컴포넌트 (Efficiency Optimizer)
이 컴포넌트는 데이터 획득 효율성을 관찰하면서, 효율성이 떨어질 경우
자율적으로 최적 데이터 획득 방식을 적용하여 효율성을 높여준다.
4.8. 리포트 생성기 (Report Generator)
이 컴포넌트는 세션이 종료되었을 때, 그 세션에서 중요한 정보들을 보고서
형태로 출력해 준다.
DuraSys Platform v1.0
사용자 매뉴얼 13 / 32 ©2018 PDONE Corporation
5. DuraSys 플랫폼 활용 방법
5.1. 소스 어댑터 구현
본 플랫폼은 다양한 형태와 규격의 센서 디바이스를 연결하고 데이터 교류를
할 수 있는 아키텍처를 가지고 있다. 센서 디바이스를 연결은 다음의 절차처럼
간편하게 이루어진다.
Step 1.
센서 디바이스를 컴퓨터 시스템에 연결하고, 전원을 공급한다.
Step 2.
센서 디바이스 드라이버를 이용하여, 센서 정보를 수집할 수 있게 한다. 이
드라이버는 센서 생산자가 제공한다. 센서가 지원하는 데이터 통신 프로토콜
은 USB, WIFI, Bluetooth, Zigbee, MODBUS 등이 있으며, 이는 PLC 서버가 기본적
으로 지원하는 프로토콜이다.
Step 3.
DuraSys 플랫폼의 Source Agent 프로그램에서 센서 데이터를 수집하는 부분은
연결된 센서 드라이버에 맞추어 수정한다. 데이터 수집하는 코드는 대부분
10라인 미만이다.
5.2. 싱크 컴포넌트 구현
이 컴포넌트는 소스 어댑터로부터 센서 측정값을 획득한 후, 이를
어플리케이션의 목적에 맞게 처리한다. 따라서, 플랫폼 인터페이스 계층의 API를
이용하여, 데이터 획득 효율성을 높이는 기능을 요청하게 설계한다.
5.3. DuraSys 플랫폼에 등록
구현된 소스 어댑터와 싱크 컴포넌트를 DuraSys 플랫폼 인터페이스를 통하여
등록한다. 즉, 등록 대상 객체의 레퍼런스(Reference)와 메타(Meta) 정보를
입력하여 플랫폼이 이를 인지하도록 한다.
DuraSys Platform v1.0
사용자 매뉴얼 14 / 32 ©2018 PDONE Corporation
5.4. 복수개의 소스와 싱크 연결 방법
소스에 해당되는 센서는 주변 환경 값을 획득하는 하드웨어 디바이스이므로,
하나의 센서에 동시에 여러 개의 싱크가 접속하면, 데이터 전송에 따른 성능
저하가 발생한다. 성능 저하의 원인은 다음과 같다.
싱크의 개수 만큼 센서 측정이 발생
대부분의 센서가 풀링 방식을 지원하는데, 복수개의 싱크가 센서에게 데이터
를 직접 읽어가면, 센서를 통한 환경 값 측정이 싱크의 수만큼 발생한다.
네트워크 기반의 데이터 전송이 느림
센서는 WIFI, Bluetooth, USB Cable, ZigBee 등 물리적인 통신을 사용하므로, 센서
가 싱크에게 데이터 전송하면, 주 메모리에 있는 소프트웨어 컴포넌트가 다
른 소프트웨어 컴포넌트에게 보내는 경우보다 시간이 더 오래 걸린다. 즉,
네트워크 통신기반의 데이터 전송이 주 메모리 상의 컴포넌트 간의 데이터
따라서, 복수개의 센서와 복수개의 싱크를 연결하는 방법은 기본적으로 1대1로
연결하고, 획득된 정보를 소프트웨어 컴포넌트 간에 전송이나 공유하는 방법을
적용한다. 그 결과 높은 데이터 획득 효율성을 유지할 수 있다.
5.4.1. 1:1 연결
하나의 센서 값을 하나의 싱크에 전달하는 방법은, 다음 그림처럼 둘을 직접
연결하면 된다.
5.4.2. 1:N 연결
하나의 센서 값을 N개의 소스들에게 전달하는 방법은, 다음 그림처럼 하나의
중간 싱크가 목표 싱크들에게 SW적으로 전송하면 된다.
5.4.3. N:1 연결
복수개의 센서 값들을 하나의 싱크에 전달하는 방법은, 다음 그림처럼 각 센서
별로 하나의 중간 싱크를 두고, 이 싱크들이 SW적으로 목표 싱크에게 전송하면
된다.
DuraSys Platform v1.0
사용자 매뉴얼 15 / 32 ©2018 PDONE Corporation
5.4.4. M:N 연결
복수개의 센서 값들을 복수개의 싱크들에게 전달하는 방법은, 다음 그림처럼 각
센서 별로 하나의 중간 싱크를 두고, 이 싱크들이 SW적으로 목표 센서들에게
요청되는 경로에 따라 전송하면 된다.
DuraSys Platform v1.0
사용자 매뉴얼 16 / 32 ©2018 PDONE Corporation
5.5. DuraSys 플랫폼 Console의 목적과 범위
이 콘솔은 플랫폼의 핵심 기능인 데이터 획득 방식의 자율 변경을 입체적으로
가시화하고, 효율성을 정량적으로 계산하여 보여주는 역할을 한다. 따라서, 이
콘솔은 다음 그림처럼 소스와 싱크 컴포넌트 간의 데이터 획득 부분을
입체적이고 정략적으로 보여주는 것이 목적이다.
DuraSys Platform v1.0
사용자 매뉴얼 17 / 32 ©2018 PDONE Corporation
6. DuraSys 플랫폼 Console (센서 연결 버전)
이 콘솔은 DuraSys 플랫폼을 이용하고, 센서들을 직접 연결하여 데이터 획득
효율성을 확인하는 프로그램이다. 이 콘솔은 웹 서비스로 구현되어 있으므로,
웹 브라우저 환경에서 실행되며 Chrome 브라우저를 기본 브라우저로 사용
한다. 본 플랫폼 콘솔(Console)의 사용자 인터페이스는 다음과 같다.
6.1. 데이터 소스의 정보
화면 좌측에 있는 소스들이 실제 DuraSys 플랫폼과 연결되어 있는 센서, 즉
초음파 센서, 조도 센서, 사운드 센서를 나타내고 있다.
6.2. DuraSys 플랫폼 메뉴 구성
본 플랫폼 콘솔(Console)의 사용자 인터페이스는 다음과 같다.
DuraSys Platform v1.0
사용자 매뉴얼 18 / 32 ©2018 PDONE Corporation
이 사용자 인터페이스는 10개의 입력 및 출력 항목들로 구성된다.
6.2.1. 항목 1. 데이터 소스의 측정 변수
Eff. Threshold (%)
획득 효율성 자율변경을 위한 최소 임계치를 나타낸다.
6.2.2. 항목 2. 데이터 싱크의 획득 변수
Pull Interval (ms)
DuraSys Platform v1.0
사용자 매뉴얼 19 / 32 ©2018 PDONE Corporation
풀링 모드에서 데이터 싱크가 측정치를 가져오는 주기를 millisecond단위로
표기한다. 100ms이면 1초에 평균 10회 정도 데이터를 가져온다.
Pull Int.Range (%)
풀링 모드에서 데이터 싱크가 센서 정보를 가져오는 주기에 대한 상하 변동
폭을 %로 표기한다. 100ms 간격에 30% Range이면 70ms에서 130ms 사이의 주
기로 랜덤(Random)하게 값을 가져온다.
Push Util Rate (%)
푸싱 모드에서 데이터 싱크가 전송된 측정치를 실제로 활용하는 비율을 %로
나타낸다. 50%이면 데이터 소스가 푸싱방식으로 전송해 준 측정치 중에서 50%
의 값들만 활용한다. 나머지 값들을 사용하지 않으므로 자원 낭비가 발생한
다.
NF Fetch Rate (%)
Notify‐n‐Fetch 모드에서 데이터 싱크가 데이터 소스에게서 받은 측정 통지
(Notification)에 대하여 실제 값을 가져오는 비율을 %로 나타낸다. 50%이면 데
이터 소스가 측정되었다는 통지에 대해서 50%의 값들만 가져온다. 나머지
통지는 무시된다.
6.2.3. 항목 3. 플랫폼 운영 제어
Run
플랫폼의 구동을 시작한다.
Stop
플랫폼의 구동이 멈추고, 측정, 획득 및 효율성 정보가 출력된다.
Pause
플랫폼의 구동을 일시 멈춘다.
6.2.4. 항목 4. 데이터 소스의 정보
데이터 소스의 ID와 이름
‘SRC’ 뒤에 식별 번호가 표기된다. 그 밑에 소스의 이름이 표기된다. SRC.01은
DuraSys Platform v1.0
사용자 매뉴얼 20 / 32 ©2018 PDONE Corporation
데이터 소스의 고유 ID이며, 이는 Temperature Sensor이다.
현재 적용중인 데이터 획득 방식
현재 적용중인 데이터 획득 방식을 표기한다.
PL은 Pulling, PU는 Pushing, NF는 Notify‐n‐Fetch를 나타낸다.
6.2.5. 항목 5. 데이터 싱크의 정보
데이터 싱크의 ID와 이름
‘SNK’ 뒤에 식별 번호가 표기된다. 그 밑에 싱크의 이름이 표기된다. SNK.01은
데이터 싱크의 고유 ID이며, 이는 pdone_sink_01 이라는 컴포넌트이다.
현재 적용중인 데이터 획득 방식
현재 적용중인 데이터 획득 방식을 표기한다.
PL은 Pulling, PU는 Pushing, NF는 Notify‐n‐Fetch를 나타낸다.
6.2.6. 항목 6. 데이터 소스의 활동 차트
소스 ID
DuraSys Platform v1.0
사용자 매뉴얼 21 / 32 ©2018 PDONE Corporation
데이터 소스의 ID를 나타내며, 마우스로 ID를 클릭하면 측정치의 표기를 중
지하거나 재 구동할 수 있다.
차트
X축은 측정이 발생한 시간을 시간, 분, 초, 밀리 초의 단위로 나타낸다. 즉,
HH:MM:SS:mmm 방식으로 시간을 나타낸다.
Y축은 측정된 값을 나타낸다. 현재 예제는 ‐100에서 100 사이의 값의 범위를
나타내며, 측정된 값을 차트에서 점으로 나타난다.
6.2.7. 항목 7. 획득 최적화 현황 차트
상단부의 4개 효율성 이름
위 2.3절에 설명되어 있는 4개의 데이터 획득 효율성을 나타낸다. 즉, 4개의
메트릭(Metric) 이름을 나타낸다. 마우스로 특정 효율성 이름을 클릭하면 해
당되는 메트릭의 표기를 중지하거나 재 구동할 수 있다.
이 중에서 빨간 색으로 표기된 DAE가 전체적인 데이터 획득 효율성을 나타
낸다. 이 값은 2.3.1에 설명된 것처럼, 다른 3개의 메트릭 값과 해당 가중치
를 사용하여 산출된다.
차트
X축은 데이터 획득 효율성이 계산된 시간을 시간, 분, 초, 밀리 초의 단위로
나타낸다. 즉, HH:MM:SS:mmm 방식으로 시간을 나타낸다.
DuraSys Platform v1.0
사용자 매뉴얼 22 / 32 ©2018 PDONE Corporation
Y축은 계산된 4개의 효율성을 0%에서 100% 사이의 값으로 나타낸다. 빨간
색으로 표기된 DAE값과 다른 3개의 세부 효율성 메트릭 값들이 동적으로 표
기된다.
획득 자율화가 발생한 지점의 표기
전체 효율성인 DAE 값(%)이 설정된 Eff.Threshold 값(%) 이하로 떨어지면, 최적
의 데이터 획득 방식을 플랫폼이 자동적으로 선택한다. 선택된 방식을 자율
적으로 변경해서, 차트에 나타난 것처럼 효율성을 다시 상승한다.
6.2.8. 항목 8. 획득 효율성 메트릭 값
왼편 4개의 메트릭
위 2.3절에 설명되어 있는 4개의 데이터 획득 효율성이 동적으로 나타난다.
전체 메트릭인 DAE는 빨간 색으로 표기된다. 나머지 3개는 세부 속성 값을
나타낸다.
오른편 3개의 메트릭
이 메트릭은 데이터 획득 방식에 종속적인 세부 메트릭을 나타낸다.
RMR (Redundant Measurement Rate)
Pulling에서 중복하여 획득하는 데이터 비율을 나타낸다.
DUR (Data Utilization Rate)
Pushing에서 데이터 활용 비율을 나타낸다.
NAR (Notification Acknowledge Rate)
Notify‐n‐Fetch에서 통지에 대한 데이터 확보 비율을 나타낸다.
6.2.9. 항목 9. 실시간 시간 표기
본 플랫폼의 세션이 시작되면 시계가 0에서 시작하여 점차 증가한다. 날짜의
포맷은 Day, Hour, Minute, Second가 각각 2자리씩 표기된다.
6.3. 출력 콘솔창의 세분화
본 플랫폼 시스템 내부에서 발생되는 주요 실행 현황들은 이 콘솔(Console)에
모두 표기된다. 여러 설정, 소스의 측정, 싱크의 데이터 확보, 획득 방식의 자율
DuraSys Platform v1.0
사용자 매뉴얼 23 / 32 ©2018 PDONE Corporation
변경 등의 정보가 표기된다. 플랫폼 실행 중에 유용한 정보를 출력하기 위한
콘솔창을, 다음 그림과 같이 3개로 세분화하여 제공한다.
6.4. DuraSys 플랫폼 콘솔 사용 절차
6.4.1. 스텝 1. 플랫폼의 구동
본 플랫폼은 클라우드 서비스 형태와 로컬 컴퓨터 모드를 모두 지원한다. 각
방식에 따라 플랫폼을 구동한다.
6.4.2. 스텝 2. 데이터 소스와 데이터 싱크의 선택
좌측에 등록된 데이터 소스들과 우측에 데이터 싱크들이 나타난다. 데이터 획득
최적화를 적용할 데이터 싱크를 마우스로 클릭하면, 해당되는 데이터 소스가
활성화 된다.
6.4.3. 스텝 3. 데이터 소스와 최적화 설정
상단에 나타난 5개의 설정 값을 필요 시 변경한다. 기본 Default 값도
플랫폼에서 제공하고 있고, 필요할 때 동적으로 변경하면 시스템에 반영되어
효과가 나타난다.
6.4.4. 스텝 4. 시스템 실행, 중지 및 일시중지
시스템 상단 가운데 나타난 3개의 버턴을 이용해서, 실행, 중지 및
일시중지(Paue)를 한다. Run을 사용하여 실행한 후, Step 3에 설명한 7개 설정
값들을 변경하면, 그 설정에 따라 데이터 측정, 획득 및 자율화가 실행된다.
DuraSys Platform v1.0
사용자 매뉴얼 24 / 32 ©2018 PDONE Corporation
6.4.5. 스텝 5. 차트와 메트릭을 통한 시스템 실행 관찰
왼쪽의 차트는 데이터 소스의 활동, 우측의 차트는 획득 효율성 및 자율 제어를
나타낸다. 이를 통하여, 데이터 소스, 데이터 싱크 및 자율제어기의 실행 과정을
가시적으로 판단할 수 있다.
또한, 화면 우측 하단부에 있는 매트릭 표시판을 통하여 정량적으로 데이터
획득 효율성을 판단할 있다.
6.4.6. 스텝 6. 시스템 종류 및 보고서 생성
Stop을 눌러서 시스템 실행을 종료하면, 현재 세션에 대한 시스템 실행
보고서가 생성되고, 이는 시스템 데이터베이스에도 저장된다. “Optimization
Session Report” 라는 보고서는 다음의 양식으로 출력된다.
DuraSys Platform v1.0
사용자 매뉴얼 25 / 32 ©2018 PDONE Corporation
DuraSys Platform v1.0
사용자 매뉴얼 26 / 32 ©2018 PDONE Corporation
DuraSys Platform v1.0
사용자 매뉴얼 27 / 32 ©2018 PDONE Corporation
7. 부록 1. DuraSys DA 플랫폼의 DA 효율성 자율 최적화 기법
7.1. 데이터 획득 효율성 품질 요소
데이터 획득 효율성을 평가하기 위한 세가지의 기본 관점(Default Aspect)을
제안한다. 각 관점을 데이터 획득 효율성의 한 가지 측면을 의미한다. 또한,
시스템 별로 이 세가지를 이외에 추가적인 품질 속성이 필요한 경우가 있다.
본 발명에서는 위에서 제안한 세가지의 품질 속성에 대한 구체적인 메트릭을
고정하지 않고, 각 시스템 별로 별도로 지정하여 본 발명이 자율제어 시스템에
장착하도록 한다. 이렇게 품질 메트릭을 범용으로 정의하는 것은, 다양한
빌딩.계장 제어 시스템 별로 획득 효율성 평가에 필요한 메트릭의
요소(Factor)들과 계산 공식이 상이할 수 있기 때문이다.
7.1.1. 데이터 획득 효율성 (Data Acquisition Efficiency, DAE)
다음 그림은 본 발명에서 정의하는 데이터 획득 자율 제어에 사용되는 범용
메트릭을 나타낸다.
DAR 품질 속성은 Data Source에서 생성된 값을 Data Sink에게 전달된 비율을
나타내며, ATE는 데이터 수집에 소요된 시간의 효율성을 나타낸다. ARE는 데이터
수집에 필요한 자원 소모의 효율성을 나타낸다. 그림 우측에서 보여준 것처럼,
추가적인 속성이 정의될 수 있다. 각 품질 속성은 가중치를 가지고 있으며,
모든 가중치들의 합은 1이 되어야 한다. 세 가지이 기본 속성들만 사용할
경우는 다음과 같다.
WDAR + WATE + WARE = 1
데이터 획득 효율성인 DAE는 다음과 같이 계산된다.
DAE = DAR * WDAR + ATE * WATE + ARE * WARE
기본 품질 속성 값들은, 각 시스템 별로 정의된 가중치(Weight)에 따라 전체
효율성인 DAE 계산에 다르게 반영된다. 예를 들면, 고속 유선 네트워크를
사용하고, 메모리 등 자원이 풍부한 환경에서 운영되는 경우, ARE 효율성을
33.3% 이하 보다 훨씬 낮은 15%로 정의할 수 있다. 3개의 가중치 값의 합은
1이어야 한다.
DuraSys Platform v1.0
사용자 매뉴얼 28 / 32 ©2018 PDONE Corporation
7.1.2. 데이터 획득률 (Data Acquisition Rate, DAR)
DAR 품질 속성은 데이터 소스의 변경된 데이터 값들을 데이터 싱크가 확보한
비율을 의미하며, 그 범위는 0 에서 1 사이이다. DAR 값이 0 이면, 데이터
소스의 변경된 데이터 값들을 데이터 싱크가 전혀 획득하지 못한 경우이다. DAR
값이 1 이면, 데이터 소스의 변경된 모든 데이터 값들을 데이터 싱크가 모두
획득한 경우이다. 따라서, 1에 가까울수록 전체적인 데이터 획득 효율성이
높아진다.
7.1.3. 획득 시간 효율성 (Acquisition Time Efficiency, ATE)
ATE 품질 속성은 데이터 소스의 변경된 데이터 값들을 데이터 싱크가
확보하는데 소요되는 시간의 효율성을 의미하며, 그 범위는 0 에서 1 사이이다.
ATE 값이 0에 가까울 수록 데이터 값의 획득에 오랜 시간이 걸린 것이며, 1에
가까울수록 실시간에 이르는 빠른 속도로 데이터 값을 획득한 것이다. 따라서,
1에 가까울수록 전체적인 데이터 획득 효율성이 높아진다.
7.1.4. 획득 자원 효율성 (Acquisition Resource Efficiency, ARE)
ARE 품질 속성은 데이터 소스의 변경된 데이터 값들을 데이터 싱크가
확보하는데 소모되는 자원의 효율성을 의미하며, 그 범위는 0 에서 1 사이이다.
ARE 값이 0에 가까울 수록 데이터 값의 획득에 매우 많은 자원들이 소모된
것이며, 1에 가까울수록 매우 적은 자원으로 데이터 값을 획득한 것이다.
따라서, 1에 가까울수록 전체적인 데이터 획득 효율성이 높아진다.
자원의 종류는 데이터 획득에 사용되는 프로세서의 사용시간, 주 메모리, 부
메모리, 네트워크 부하, 소요되는 배터리(Battery)등이 있다.
7.2. 데이터 획득 효율성 평가 메트릭 (Metrics)
7.2.1. DAR 메트릭
Data source에서 측정한 data의 수로 data sink에서 획득한 data의 수를 나눈 값
Pulling
src_count : 현재까지 data source에서 측정한 data의 개수
snk_count : 현재까지 data sink에서 획득한 data의 총 개수
redundant_measured_count : 현재까지 data sink에서 redundant하게 획득한
data의 개수
DAR _ _ _
_
Pushing
DAR __
DuraSys Platform v1.0
사용자 매뉴얼 29 / 32 ©2018 PDONE Corporation
Notify‐n‐fetch
DAR __
7.2.2. ATE 메트릭
Data source에서 data를 측정하는데 걸리는 평균 시간으로 data sink에서 data를
획득하는데 걸리는 평균 시간을 나눈 값
Pulling
src_ave_measured_time : data source에서 데이터를 측정할 때 걸리는 평균
시간
sum_measured_time : data source에서 데이터가 측정될 때까지 걸리는 시간
의 합
src_ave_acqired_time : data sink에서 데이터를 획득할 때 걸리는 평균 시간
sum_acqired_time : 데이터 측정 시작 시간부터 data sink에서 획득할 때까지
걸린 시간의 합
src_ave_measured_time _ _
_
snk_ave_acquired_time _ _
_ _ _
ATE _ _ __ _ _
Pushing
src_measured_time _ _
_
snk_acquired_time _ _
_
ATE _ __ _
Notify‐n‐fetch
DuraSys Platform v1.0
사용자 매뉴얼 30 / 32 ©2018 PDONE Corporation
src_measured_time _ _
_
snk_acquired_time _ _
_
ATE _ __ _
7.2.3. ARE 메트릭
Pulling
Data sink에서 획득한 총 data의 수로 redundant하지 않는 data의 수를 나눈
값
cost_trans_data : 코드 내 data 전송 비용 ( = 5)
ARE _ _ _ _ _
_ _ _
Pushing
Data sink에서 획득한 총 data의 수로 그 중 사용된 data의 수를 나눈 값
utilized_count : data sink에서 push된 데이터 중 사용된 데이터의 수
ARE _ _ _
_ _ _
Notify‐n‐fetch
Fetch된 data에 notify과정과 fetch 과정에서 소요된 cost를 곱한 후, notify된
data와 fetch된 data에 각각 cost를 곱한 합을 나눈 값
fetched_count : data sink에서 notify된 데이터 중 fetch된 데이터의 수
notified_count : data sink에 notify된 데이터의 수
cost_trans_msg : 코드 내 message 전송 비용 ( = 1)
a _ _ _ cost_trans_msg
b _ _ _ _ _ _
DuraSys Platform v1.0
사용자 매뉴얼 31 / 32 ©2018 PDONE Corporation
ARE
7.2.4. DAE 통합 메트릭
wDAR : DAR의 가중치, wATE : ATE의 가중치, wARE : ARE의 가중치
DAE ∗ ∗ ∗
7.3. DA 효율성 최적화 프로세스
본 시스템은 센서 데이터 획득 효율성에 대한 정량적인 평가를 기반으로,
운영자가 필요 없는 자율적으로 효율성 향상 액션을 판단하고, 이를 시스템에
자율적으로 적용할 수 있는 프로세스를 적용한다. 자율제어 프로세스는 5개의
스텝(Step)으로 구성되며, 그 순서는 다음과 같다.
현재 획득 방식이 변경된 후 DAE값이 Eff.Threshold 보다 낮다면 자율 변경이
되어야 한다. DAE값이 낮은 획득 방식은 아래의 조건에 맞춰 자율 변경이 되고
변경된 획득 방식에서 DAE 연산 결과에 대한 안정화 검증을 수행하는, 안정화
수행 시간(verification duration)을 부여한다.
Pulling
DuraSys Platform v1.0
사용자 매뉴얼 32 / 32 ©2018 PDONE Corporation
현재 획득 방식이 Pulling 일 때, DAE값이 Eff.Threshold 보다 낮다면 현재 입력
된 NF Fetch Rate(curr_fetch_rate)와 현재 입력된 Push Util Rate(curr_util_rate)을
비교한다. NF Fetch Rate이 더 클 경우, Notify‐n‐Fetch 방식으로, 이 외의 경우에
는 Pushing 방식으로 변경한다.
Pushing
현재 획득 방식이 Pushing일 때, DAE값이 Eff.Threshold 보다 낮다면 현재 입력
된 Pull Interval(curr_pull_interval)과 현재 Pull Interval이 입력되기 바로 전의 값
(last_pull_interval)을 비교한다. 현재 값이 더 작을 경우, Pulling 방식으로, 이
외의 경우에는 Notify‐n‐fetch 방식으로 변경한다.
Notify‐n‐fetch
현재 획득 방식이 Notify‐n‐Fetch 일 때, DAE값이 Eff.Threshold보다 낮다면 현재
입력된 Push Util Rate(curr_util_rate)과 현재 Push Util Rate이 입력되기 직전의 값
(last_util_rate)을 비교한다. 현재 값이 더 작을 경우, Pulling 방식으로, 이 외의
경우에는 Pushing 방식으로 변경한다.
END