← J-EMS 제어 개선 문서 모음
J-EMS 기능별 개선 상세 · 5/5

화면·리포트 개선 상세

2026년 11월 6일 · v1
기준 코드: jems_watch 2026-10-12 (현행과 같음 확인)
상위 문서: 제어 고도화·AI 도입 통합안 v1 · 관련: 3층 구조 v3 5-7, AI 도입 지도 08·09·10
결론부터: 지금 화면은 실시간 값, 사용량·요금 통계, 설정과 이벤트 로그는 충분히 갖추고 있습니다. 비어 있는 것은 세 가지입니다. ① 요금 기준인 "월 최대 15분 평균"을 보여 주는 곳이 없고, 화면의 "금월 최대"는 순간값입니다. ② "현재 15분 피크"는 진행 중 구간의 부분 평균이라 이 구간이 어떻게 끝날지는 알 수 없습니다. ③ 제어가 얼마나 아꼈는지, AI가 무엇을 근거로 판단했는지가 남지 않습니다. 개선은 요금 기준 피크 카드(0) → 구간 진행 카드·설정 검증 경고(1) → 절감·피크 분석 리포트(2) → 위험 예보(3) 순서이고, 앞의 네 기능 문서에서 만든 기록과 계산을 그대로 화면에 올리는 일입니다.
표시확인 10/12 코드로 확인가정 추정·미확인신규 이번에 새로 찾은 문제
0

한눈에 보기

단계화면재료
0요금 기준 피크 카드(월 최대 15분 평균), "순간 최대" 표기 정리지금 있는 15분 평균 테이블
1이번 구간 진행 카드, 설정 검증 경고, AI 판단 이력피크제어 층 1, 각 기능 설정
2제어 효과(절감) 리포트, 피크 구간 분석, 피크 위험 시간표각 기능의 0단계 기록, 기준선
3피크 위험 예보남은 구간·다음 구간 예측
4설치 설정 도우미(LLM 설명)설정 검증 규칙
1

지금 있는 화면

화면보여 주는 것원천
총괄현황15분 피크 카드(현재 구간 평균, 요금적용전력까지 여유, 금일·금월 최대), 설비별 kW·토크·Hz, 피크·부하적응·절전 상태statistics/totalmonitoring 확인
15분 피크 모니터링같은 카드 + 15분 평균 선 그래프(기간 선택)statistics/peak15monitoring
요금 모니터링시간대별 전력량요금, 일·월·연 예상 요금(과거 참조 데이터의 증감률 기반). 봄·가을 주말·공휴일 할인 반영statistics/usedcostmonitoring, dataserver/timerate
설비별 전력·요금, CO2설비별 사용량·요금 추이, 탄소 배출량statistics/units*·usedco2
피크 리포트일·월별 설비마다 순간 최대 kW와 시각, kWhreport/peakpower
알람·제어 로그시스템 알람, 피크·부하적응·운전·절전 제어 로그(엑셀·PDF)report/alarmLog
최적 제어 설정네 기능 설정, AI 토글, 설비별 상태(AI제어/제어/해제), 기능별 로그smart/optctlpower
계약 설정계약전력, 요금적용전력, 기본요금단가. 안내 문구: "15분 피크가 요금적용전력을 넘으면 적용전력이 올라가 기본요금 증가"settings/contract
2

문제점

#문제영향근거
V1요금 기준 피크를 보여 주는 곳이 없음총괄현황의 "금월 최대"와 15분 피크 화면의 "금월 최대 전력"은 live_total_kw_peak_data의 최대값, 즉 순간값(분마다 남긴 1초 최대)임. 요금을 정하는 것은 15분 평균의 최대인데, 서버 코드에 15분 평균의 월 최대를 계산하는 곳이 없음. 계약 화면 안내대로 15분 피크가 적용전력을 넘었는지 화면으로 확인할 수 없음live_total_kw_peak_data.async_getMaxPeakKw, peak15monitoring 신규
V2"현재 15분 피크"는 진행 중 부분 평균구간 초반에는 몇 초·몇 분의 평균이라 크게 흔들리고, 여유(적용전력 − 부분 평균)는 구간 끝의 결과와 다름. 운영자가 "괜찮다/위험하다"를 판단할 근거가 아님avrg_kw_peak_15min_data.async_getLastPeakKw
V3제어 효과가 화면에 없음로그는 "언제 걸고 풀었나" 이벤트뿐. 절감 kWh, 회피 피크, 제어 시간 집계가 없어 고객 보고·과제 성과에 쓸 숫자가 없음각 기능 문서 0단계
V4피크 리포트가 설비별 순간 최대요금을 정한 15분 구간에 어느 설비가 얼마나 썼는지, 그때 제어가 걸려 있었는지는 볼 수 없음report/peakpower
V5AI 판단 이력이 DB에 없음피크 AI의 예측값·구간·결과, 운전 스케줄러 AI의 yes/no와 두 예측값은 로그 파일에만 남음. 화면은 현재 AI 값과 "AI제어" 표시뿐이라 AI가 왜 그렇게 했는지, 맞았는지 볼 수 없음aiControlProc2 run_once·run_scheduler_run_once 신규
V6설정 실수를 미리 막지 않음정상가동률 < 피크 행 값(피크 때 가동률 상승), 자정 넘김 절전 일정(동작 안 함), 부하적응 보정 Hz(평형이 약 2.5~3배 이동)를 등록 때 경고하지 않음피크·절전·부하적응 문서
V7설비 Hz의 0이 정지·통신 실패와 섞임설비별 Hz는 PLC가 최종으로 건 주파수(D1020)라 값 자체는 믿을 수 있음. 다만 설비 정지나 통신 실패 때도 0.0이 기록되어 화면·DB에서 실제 0Hz와 구분되지 않음. 화면은 "정지"·"통신 끊김"으로 따로 표시하고, 분석할 때는 이 기록을 빼야 함emsPlcClient.collectSecData 확인
3

화면별 개선 설계

S1

요금 기준 피크 카드

0단계 · 집계
보여 줄 것
금월 최대 15분 평균(kW)과 그 구간 시각, 요금적용전력 대비 %, 넘었으면 경고. 기존 "금일·금월 최대"(15분 피크 화면은 "금월 최대 전력")는 순간 최대로 이름을 바꿔 옆에 둠
계산
avrg_kw_peak_15min_data에서 이번 달 완료된 구간 중 avrgkw 최대(진행 중 구간 제외). 프로젝트 지침대로 MAX 먼저 조회 후 그 행을 찾는 2단계 쿼리
주의
15분 누적이 샘플 평균이고 재시작 시 소실되는 문제(피크제어 )가 고쳐지기 전에는 "서버 계산값"으로 표시. 한전 계량값과 다를 수 있음
S2

이번 구간 진행 카드

1단계 · 층 1 값 표시
이번 구간 14:30 ~ 14:45 · 화면 예시 · 가상 수치
시간 경과6분 / 15분 (40%)
예산 사용110 / 250kWh (44%) · 시간보다 예산을 빨리 쓰고 있음
종료 예상1,088kW (목표 1,000kW)
남은 시간 허용 평균933kW
필요 감축 / 제어 여력147kW / 200kW → 방어 가능
원천
피크제어 층 1이 매초 공유 테이블에 쓰는 E_B·E_r·P_allow·P_end·ΔP·C 3층
V2 대체
지금의 "현재 15분 피크(부분 평균)"는 "지금까지 평균"으로 이름을 바꾸고, 판단은 종료 예상으로
제어 여력
감축표(피크제어 2단계) 전에는 가동률(전력 비율)과 설비 유형으로 계산. 유형을 모르는 설비는 팬·정토크 두 값 사이 범위로 표시
S3

설정 검증 경고

1단계 · 규칙
설정경고 조건출처
피크 정상가동률정상가동률 < 어떤 피크 행 가동률 (피크 때 그 설비 가동률이 오름)피크제어
절전 일정시작 > 종료(자정 넘김), 길이 0, 같은 설비 일정 겹침절전
부하적응 보정 Hz입력값과 함께 "평형 약 ±(2.5~3 × 입력)Hz 이동" 안내부하적응
부하적응 제어주기인버터 가감속 시간보다 짧음(값이 등록된 경우)부하적응
운전 스케줄러목록에 PLC 미연결 설비 포함운전
설비별 정책 현황(안내)경고가 아니라 안내: 그 설비가 등록된 정책 목록과, 지금 우선순위로 실제 적용 중인 정책 하나를 함께 표시. 동시 등록은 정상이므로 막지 않음runControl 우선순위
제어 간격자동 생성 기본값(3600초)이 그대로임3층
S4

AI 판단 이력

1단계 · 기록 + 그래프
기록
AI가 판정할 때마다 기능, 시각, 입력 요약(예측값·분위수), 판정(가동률·yes/no·예측 토크), 실제 사용 여부(하트비트·토글), 나중에 채울 실제값을 한 줄로 저장
화면
기능별로 "예측 vs 실제" 선 그래프와 오차, 최근 판정 표. 그림자 운영(새 방식 계산만) 비교 화면으로도 씀
쓰는 곳
각 기능 3단계의 "켜는 기준"(그림자에서 오차 개선 확인), 교수님 자문 자료
S5

제어 효과 리포트

2단계 · 집계

「AI 도입 지도」 . 각 기능 문서의 0단계 기록과 기준선을 모아 일·월 단위로 보여 줍니다.

기능지표계산 출처
피크제어회피 피크(kW), 제어 시간, 불필요 제어 시간, 놓친 구간피크
부하적응기준선 대비 절감 kWh·%부하적응
절전일정별 절감 kWh, 절전 중 사용 횟수절전 ·
운전 스케줄러기동 후 피크 레벨 상승 비율, 보류 시간운전 ·
합계절감 kWh × 시간대 단가 = 전력량요금 절감, 회피 피크 × 기본요금단가 = 기본요금 영향(참고치)timerate 단가, 계약 설정

기본요금 영향은 요금적용전력이 실제로 바뀌는 조건(15분 최대수요가 적용전력을 넘는지)에 달려 있어 참고치로만 표시합니다.

S6

피크 구간 분석과 위험 시간표

2단계 · 집계·통계
피크 구간 분석
월 최대 15분 구간(상위 N개)마다 설비별 그 구간 kWh 기여, 그때 피크 레벨과 제어 상태, 기동·절전 해제 이벤트. 기존 피크 리포트(설비별 순간 최대) 옆 탭으로(V4)
위험 시간표
요일 × 96구간 히트맵: 구간 평균 ÷ 적용전력의 분포. 운전 스케줄러 기동·절전 해제 시각을 정할 때 참고(3층 )
S7

피크 위험 예보와 설치 도우미

3~4단계
위험 예보
「AI 도입 지도」 . 남은 구간·다음 구간 예측이 생기면 "다음 1시간 중 위험 구간"을 미리 표시. 제어는 바꾸지 않음
설치 도우미
「AI 도입 지도」 . 판단은 S3 규칙이 하고, LLM은 경고 내용과 권장 값을 사람이 읽기 쉽게 설명만 함
4

실행 계획

순서작업선행 조건
0-1요금 기준 피크 카드, 순간 최대 이름 정리없음
1-1설정 검증 경고없음
1-2AI 판단 이력 저장·그래프없음
1-3이번 구간 진행 카드피크제어 층 1
2-1제어 효과 리포트각 기능 0단계 기록 2주 이상
2-2피크 구간 분석, 위험 시간표15분 누적 정비(피크 )
3-1피크 위험 예보남은 구간 예측
5

확인 필요

한 줄 정리

화면은 실시간과 통계는 충분하고, 요금 기준(월 최대 15분 평균)·이번 구간의 결말·제어 효과·AI 근거가 빠져 있습니다. 앞의 네 기능에서 만든 기록과 계산을 올리면 대부분 채워지고, 요금 기준 피크 카드는 지금 데이터로 바로 만들 수 있습니다.