상위 문서: 제어 고도화·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
요금 모니터링
시간대별 전력량요금, 일·월·연 예상 요금(과거 참조 데이터의 증감률 기반). 봄·가을 주말·공휴일 할인 반영
계약전력, 요금적용전력, 기본요금단가. 안내 문구: "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
V5
AI 판단 이력이 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단계 기록과 기준선을 모아 일·월 단위로 보여 줍니다.