수집된 설비 원시 데이터의 트렌드 조회
통계 생성이 설정된 설비 데이터의 시간, 일, 주, 월 단위의 통계 트렌드 조회
여러 디바이스들을 복수 선택하여 비교 트렌드 조회
원시, 통계 데이터 Excel 다운로드 기능 제공
빠르고 편리한 Quick Search Dialog 및 Slider Bar 기능 제공
통계데이터는 매시 정각에 생성되며 시작 시간 기준으로 통계 데이터가 생성됩니다(예: 2시 부터 2시 59분 59초 사이 데이터는 2시 정각으로 생성됨)
왼쪽 상단 대 메뉴 버튼 클릭
분석 메뉴 클릭 후 분석 리스트 조회 화면 표시 됨
분석 리스트 화면에서 오른쪽 하단에 추가 버튼 클릭
추가 가능한 분석 아이템 리스트가 표시 됨
'트렌드 분석 추가' 버튼 클릭
트렌드 분석 아이템의 이름을 입력
분석 아이템이 생성 될 위치 선택(선택할 위치가 없다면 분석 리스트에서 폴더를 추가)
관련 설명 입력
스크립트를 사용하여 표현하고자 하는 데이터를 변경할 때 사용(별도 기술 지원 필요)
트렌드 조회를 하고자 하는 디바이스 선택. 클릭하면 다음 화면으로 전개되어 등록된 디바이스 목록이 조회
라벨이나 범례, 라인의 두께 등 차트 관련 속성 설정
트렌드 분석 조회시 기본으로 조회 하고자 하는 데이터의 조회 범위와 원시 데이터 또는 통계 데이터 조회 여부 설정
조회 단위(시간, 일, 주)와 조회 기간 설정
최초 원시 데이터 조회 또는 통계데이터 조회 여부 설정
생성된 트렌드 분석 아이템에 대한 사용 권한 부여
선택된 디바이스의 이름 또는 설명 내지는 사용자가 입력한 타이틀 출력
10번에서 선택된 통계 항목명 표시
트렌드 분석 화면을 로그인 없이 사용할 수 있는 공유 URL생성 기능
트렌드 분석 속성 설정 화면 표시
조회 기간을 빠르고 쉽게 선택하는 Quick Dialog 표시
슬라이더를 이동 또는 왼쪽 오른쪽 끝 부분을 늘이거나 줄여서 조회 기간을 빠르게 변경하는 기능
왼쪽과 오른쪽에 화살표는 현재 기준으로 다음 데이터 조회 구간까지 Jump하는 기능
원시데이터 조회 모드와 통계 데이터 조회 모드로 변경
통계모드에서 통계 단위를 시간, 일, 주, 월 단위로 변경하는 기능
통계 항목을 선택하는 기능(미분, 평균, 조화평균, 최쇠, 최대, 표준편차, 개수, 면적, 합계, 제곱합)
그래프로 출력할 대상 디비이스 선택 기능
북마크 기능으로써 특정 구간의 조회 설정을 저장하는 기능
현재 조회된 컴퓨터에 Excel로 저장하는 기능
차트 유형 선택 화면 표시(막대, 꺽은선, 테이블, 파이)
차트 선택은 아이콘을 선택하면 왼쪽 그림과 같이 선택 가능한 차트 리스트가 표시
각각의 차트를 선택할 때마와 오른쪽 예시와 같이 차트가 나타남
북마크는 특정 조회구간을 저장하기위한 기능
특정 조회 구간에 대한 기록을 추후 다시 보기위하여 커맨트를 달고 저장하여 추후 다시 조회를 쉽게 하도록 하는 기능
북마크 목록은 이미 저장된 목록을 선택하거나 다수를 선택하여 비교 하는 기능 제공
북마크 추가는 명칭과 설명을 넣고 추가하면 목록에 추가됨
문자열 타입의 디바이스를 복수 선택 시 대부분 조화평균 분석을 위함이다
복수개의 문자열 디바이스를 분석에서 선택하면 해당 통계 속성별로 여러 디바이스의 값을 합산하여 평균처리하여 일자별로 생성한다
복수 디바이스 선택시 왼쪽과 같이 각각의 통계 조화 평균 세부 항목(RUN,IDLE,HOLD,STOP)에 대해서 색상을 지정한다
그 외에 옵션을 선택하지 않고 생선 시 X축을 시간으로 하여 Y는 각각의 통계 결과가 세부 항목별로 합산되어 처리된다
예를 들어 A동 전체 설비의 설비 상태별로 통계를 분석하고 싶은 경우 사용 가능하다.
이 기능은 복수(2개 이상) 문자열 디바이스의 특정 통계 항목을 기준으로 분석 할 때 사용한다.
문자열 타입의 복수 디바이스의 조화 평균에서 특정 항목 기준으로 Bar차트를 구성하여 보여줄 때 사용
두가지 형태로 보여주는데 조회 기간에 대해서 시간,일, 주,월 등으로 통계 결과를 보여줌
조화 평균 데이터에서 보고자 하는 시리즈 값(Ex. RUN, IDLE, HOLD)을 넣으면 통계 결과 에서 해당 값만 누적 처리하여 보여줌
시계열 합계 사용은 X축이 시간, 일, 주, 월 단위 등으로 보여지고 카테고리 합계 사용은 선택된 각 디바이스의 Title명으로 X축의 값이 보여 짐
'시계열 합계 사용'이나 '카테고리 합계 사용'은 복수(2개 이상) 디바이스가 선택 될때만 사용 가능하다
조화 평균 백분율 처리
for(var i = 0;i<dataList.length;i++) {
var list = dataList[i];
for(var j = 0;j<list.length;j++) {
var data = list[j];
var json = {};
_.each(JSON.parse(data.timeAverage), function (iValue, iKey) {
iValue = iValue * 100;
json[iKey] = iValue;
});
data.timeAverage = JSON.stringify(json);
}
}
장애코드 라벨 변경
for(var i = 0;i<dataList.length;i++) {
var list = dataList[i];
for(var j = 0;j<list.length;j++) {
var data = list[j];
var json = {};
_.each(JSON.parse(data.timeAverage), function (iValue, iKey) {
iValue = iValue * 100;
delete json[iKey];
if(iKey == '0') {
iKey = 'OK';
}
json[iKey] = iValue;
});
data.timeAverage = JSON.stringify(json);
}
}
장애코드를 실제 내용으로 변경
for(var i = 0;i<dataList.length;i++) {
var list = dataList[i];
for(var j = 0;j<list.length;j++) {
var data = list[j];
var json = {};
_.each(JSON.parse(data.timeAverage), function (iValue, iKey) {
iValue = iValue * 100;
delete json[iKey];
if(iKey == '0') { iKey = '정상';
} else if(iKey == 'K00011') { iKey = 'PLC에러';
} else if(iKey == 'K00012') { iKey = '비상정지';
} else if(iKey == 'K00021') { iKey = '바디이스케이프원점센서';
} else if(iKey == 'K00022') { iKey = '바디이스케이프전진센서';
} else if(iKey == 'K00023') { iKey = '바디푸셔원점센서';
} else if(iKey == 'K00024') { iKey = '바디푸셔전진센서';
} else if(iKey == 'K00025') { iKey = '셔터원점센서';
} else if(iKey == 'K00026') { iKey = '셔터전진센서알람';
} else if(iKey == 'K00027') { iKey = '브러쉬이스케이프원점센서';
} else if(iKey == 'K00028') { iKey = '브러쉬이스케이프전진센서';
} else if(iKey == 'K00029') { iKey = '코킹원점센서';
} else if(iKey == 'K00030') { iKey = '코킹하강센서';
} else if(iKey == 'K00031') { iKey = '배출원점센서';
} else if(iKey == 'K00032') { iKey = '배출전진센서';
} else if(iKey == 'K00081') { iKey = '연속불량발생';
} else if(iKey == 'K00082') { iKey = '바디피더감지시간초과';
} else if(iKey == 'K00083') { iKey = '브러쉬피더감지시간초과';}
json[iKey] = iValue;
});
data.timeAverage = JSON.stringify(json);
}
}
조회된 결과에서 데이터 조작처리
// dataList: 전체 디바이스 목록
for(var i = 0;i<dataList.length;i++) {
// list: 하나의 디바이스의 데이터 목록
var list = dataList[i];
for(var j = 0;j<list.length;j++) {
var data = list[j];
data.countAverage = data.countAverage * 10;
}
}
여러 디바이스의 데이터를 일자별로 aggregation 처리
// dataList: 전체 디바이스 목록
console.log(dataList);
var dataList2 = JSON.parse(JSON.stringify(dataList));
dataList.length = 0;
dataList.dataStructModified = true;
console.log(dataList);
for(var i = 0;i<dataList2.length;i++) {
// list: 하나의 디바이스의 데이터 목록
var list = dataList2[i];
for(var j = 0;j<list.length;j++) {
var data = list[j];
if(!dataList[data.date]) {
dataList.push(data.date);
dataList[data.date] = {label: data.date, value: data.countAverage };
} else {
dataList[data.date].value = dataList[data.date].value + data.countAverage ;
}
}
}
라벨 변경
아래와 같이 iKey의 값에 따라 해당 값을 변경하고 다시 update하여 조회된 데이터를 변경할 수 있다.
for(var i = 0;i<dataList.length;i++) {
var list = dataList[i];
for(var j = 0;j<list.length;j++) {
var data = list[j];
var json = {};
_.each(JSON.parse(data.timeAverage), function (iValue, iKey) {
iValue = iValue * 100;
json[iKey] = iValue;
delete json[iKey];
if(iKey == 'N') {
iKey = '정상';
} else {
iKey = '장애발생';
}
json[iKey] = iValue;
});
data.timeAverage = JSON.stringify(json);
}
}
설비 상태 키값 변경
아래와 같이 iKey의 값에 따라 해당 값을 변경하고 다시 update하여 조회된 데이터를 변경할 수 있다.
for(var i = 0;i<dataList.length;i++) {
var list = dataList[i];
for(var j = 0;j<list.length;j++) {
var data = list[j];
var json = {};
_.each(JSON.parse(data.timeAverage), function (iValue, iKey) {
iValue = iValue * 100;
if(iKey == 'RUN') {
iKey = '가동중';
}
else if(iKey == 'STOP') {
iKey = '중지';
}
json[iKey] = iValue;
});
data.timeAverage = JSON.stringify(json);
}
}
트렌드 분석 기능은 생성된 트렌드를 공유하여 별도의 로그인 없이 사용할때 필요한 기능이다.
그 외에 타 UI에 팡데이터 트렌드 아이템을 공유하고 이 트렌드를 삽입(Embed)시 사용한다.
끝으로 여러 대의 동일한 설비가 있고 각 설비마다 동일한 디바이스를 팡데이터에서 수집하고 있다고 가정하고, 하나의 분석 트렌드를 생성하여 여러 설비의 동일한 디바이스 트렌드를 조회 하기 위해서도 사용 가능하다.
생성한 분석 아이템을 공유 하여 별도의 로그인 없이 분석 기능을 사용하는 기능.
공유 기능을 사용하기 위해서는 공유 버튼을 선택하여 공유 URL을 생성해야 한다.
아래 예제 설명과 같이 생성된 공유 URL에 PREFIX, FROMTIME, TOTIME을 예제와 같은 형식으로 사용한다.
추가 파라메터는 다음과 같다.
smt=false
공유시 대시보드 타이틀이 나타나지 않음
http://localhost/shared?smt=true&sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO/M02/1602288000000/1602295200001
customTitle=Custom Title
대시보드나 트렌드등 화면에서 메뉴 경로 대신 설정한 타이틀명을 출력
http://localhost/shared?customTitle=Title&sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO/M02/1602288000000/1602295200001
dfl=true
Responsive web 기능 비활성화. 즉 모바일 화면에서도 원래 디자인된 크기를 유지도록 고정
http://localhost/shared?dfl=true&sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO/M02/1602288000000/1602295200001
생성된 공유 URL
http://localhost/shared?sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO
PREFIX
PREFIX는 설비코드를 의미하며 팡데이터에 생성된 여러 설비의 공통된 디바이스 이름의 각각의 설비 코드를 의미한다.
반드시 PREFIX는 분석 아이템에 등록된 디바이스명의 PREFIX와 동일한 문자열 길이를 가져야 한다.
PREFIX가 URL에 전달되면 분석 아이템에 등록된 디바이스명에서 PREFIX(설비코드)의 길이만큼 디바이스 명에서 변경하여 데이터를 조회한다.
M02
FROMTIME
FROMTIME은 트렌드 조회 시작 시간이며 Timestamp형식의 Long타입 값을 사용한다.
1602288000000
TOTIME
TOTIME은 조회 완료 시간이면 Timestamp형식의 Long타입 값을 사용한다.
1602295200001
아래는 완성된 예제 이다.
모든 파라메터를 사용하는 예제
http://localhost/shared?sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO/M02/1602288000000/1602295200001
설비 코드만 사용하여 최근 데이터만 조회하는 예제
http://localhost/shared?sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO/M02
설비 코드 없이 시작시간과 종료시간만 사용하는 예제
http://localhost/shared?sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO/1602288000000/1602295200001
트렌드 설정에서 '디바이스 동적 선택'을 사용하는 경우 동적으로 복수의 디바이스를 선택하는 기능 제공
분석 아이템설정에서 디바이스를 선택하지 않고 동적으로 선택하는 기능
'디바이스 동적 선택'이 선택되면 데이터를 디바이스 선택 화면이 왼쪽에 나타난다.
이때 PREFIX가 URL에 전달되면 해당 문자열을 시작으로 포함하는 하위 디바이스 목록이 출력 된다.
PREFIX가 없으면 최상위 디바이스 그룹과 등록된 디바이스가 나타난다(로그인 상태에서만 동작)
PREFIX
PREFIX는 설비코드를 의미하며 팡데이터에 생성된 여러 설비의 공동된 디바이스 이름의 각각의 설비 코드를 의미한다.
이 문자열을 시작으로 하는 디바이스 목록이 검색된다.
M02
FROMTIME
FROMTIME은 트렌드 조회 시작 시간이며 Timestamp형식의 Long타입 값을 사용한다.
1602288000000
TOTIME
TOTIME은 조회 완료 시간이면 Timestamp형식의 Long타입 값을 사용한다.
1602295200001
아래는 완성된 예제 이다.
모든 파라메터를 사용하는 예제
http://localhost/shared?sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO/M02/1602288000000/1602295200001
설비 코드만 사용하여 최근 데이터만 조회하는 예제. 화면이 로딩 되면 M02를 시작으로 하는 하위 디바이스들의 선택창이 왼쪽 판넬에 출력된다.
http://localhost/shared?sharedKey=iGtKUZdwRtD3969R#/atools/Trends/gYuO/M02
트렌드 분석 아이템을 공유시 개별 디바이스를 트렌드에서 화면 오픈 시 즉시 조회할 때 사용
디바이스 동적 선택은 URL이 아래 예제처럼 atools/TrendDevice로 시작하고 단 1개의 디바이스 명을 사용할 수 있다.
생성된 공유 URL
http://localhost/shared?sharedKey=iInROPDFz4WrcUGx#/atools/TrendDevice/z_be/devicename/1602288000000/1602295200001
DEVICENAME
조회하려는 대상 디바이스 명이며 하나의 디바이스만 설정할 수있다.
FROMTIME
FROMTIME은 트렌드 조회 시작 시간이며 Timestamp형식의 Long타입 값을 사용한다.
URL에 등록하지 않으면 최근 데이터 조회 처리
1602288000000
TOTIME
TOTIME은 조회 완료 시간이면 Timestamp형식의 Long타입 값을 사용한다.
1602295200001
URL에 등록하지 않으면 최근 데이터 조회 처리
Tip
화면에 Title을 전송하여 변경하고 싶다면 아래와 같이 URL설정 가능
shared?뒤에 customTitle=Custom과 같이 파라메터 추가. 아래와 같이 예제 가능.
http://localhost/shared?customTitle=Custom&sharedKey=iInROPDFz4WrcUGx#/atools/Trends/z_be