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

절전 스케줄러 개선 상세

2026년 11월 6일 · v1
기준 코드: jems_watch 2026-10-12 (현행과 같음 확인)
상위 문서: 제어 고도화·AI 도입 통합안 v1 · 관련: AI 도입 지도 04·07
결론부터: 절전 스케줄러는 사람이 등록한 요일 + 시작·종료 시각이 맞으면 그 설비에 절전 신호를 보내는, 순수 시간표 기능입니다. 다섯 기능 중 우선순위가 가장 높아(기동 유예 다음), 그 설비가 피크·부하적응에도 함께 등록되어 있더라도 절전 중에는 절전만 적용됩니다. AI는 아직 붙어 있지 않습니다. 문제는 시간표가 실제로 설비가 노는 시간과 맞는지 아무도 확인하지 않고, 자정을 넘는 일정을 걸 수 없으며, 끝나는 시각에 여러 설비가 한꺼번에 복귀한다는 점입니다. 개선은 기록·효과 측정(0) → 일정 표현과 순차 복귀(1) → 사용 이력 기반 절전 시간 추천(2) 순서이고, 학습 모델은 필요하지 않습니다.
표시확인 10/12 코드로 확인가정 추정·미확인신규 이번에 새로 찾은 문제
0

한눈에 보기

단계바꾸는 것AI넘어가는 조건
0 기록절전 전·중·후 설비 kW, 절전 중 부하 상승, 수동 해제 기록. 절전 효과 kWh 계산없음일정별 효과가 숫자로 나옴
1 기본값자정 넘김 일정, 휴일 달력, 꺼진 설비에 절전 신호 안 보내기, 종료 시 순차 복귀없음복귀 직후 피크 레벨 상승 없음
2 계수설비 사용 이력의 요일 × 시각 통계로 절전 시간 후보 추천(담당자 승인), 공회전 리포트통계추천 채택률·효과 확인
3 선택생산 일정·출근 데이터와 연결한 사전 복귀, 이상 사용 감지지도학습(선택)2단계로 부족할 때
1

지금 절전 스케줄러가 하는 일

항목동작위치
일정standby_scheduler: 설비, repeat_day(0 = 매일, 1~7 = 월~일), start_time·end_time('HH:MM' 문자열), 옵션1·2 최소·최대database/StandbyScheduler 확인
판정매초 "요일이 맞고 start_time ≤ 현재 'HH:MM' < end_time"이면 control = 1. 바뀔 때만 로그 S(시작)/E(종료)standbyScheduler.updateControlStatus
재시작dataserver가 켜질 때 켜져 있던 일정을 모두 0으로 돌리고 E 기록, 다음 초에 다시 판정resetActiveSchedules
PLC 전송설비마다 옵션 4개(D1012~D1018, 값 × 10)를 먼저 쓰고, 모두 성공하면 절전 플래그 M1004를 씀. 실패하면 로그 F와 알람emsPlcClient.runControl
우선순위기동 유예 중이면 절전 미적용. 그 외에는 절전이 최우선: 부하적응 OFF 확인 후 피크 채널을 100%(D1010 = 1000)로 비우고 M1006 OFFrunControl
실제 절전 동작서버는 플래그와 옵션 범위만 보냄. PLC는 절전 플래그를 받으면 가동률 10%(60 × 0.11/3 ≈ 27.9Hz)로 낮추고, 부하적응·피크가 켜져 있어도 절전이 우선. 옵션(온도·습도 범위 등)을 어떻게 쓰는지는 아직 확인 안 됨사내 PLC 시뮬레이터로 확인(11/6) 확인
AI없음. aiControlProc2 작업 기록에도 "절전 스케줄러는 미착수"yym_working
2

문제점

#문제영향근거
T1시간표가 실제 사용과 맞는지 모름설비가 노는 시간을 사람이 짐작해 넣음. 실제 사용 이력과 비교하는 기능이 없음. 틀리면 절전 기회를 놓치거나, 생산 중에 절전이 걸림updateControlStatus
T2자정을 넘는 일정을 걸 수 없음문자열 비교 "start ≤ 현재 < end"라 22:00~06:00은 한 번도 참이 되지 않음. 두 개로 나눠 등록해야 하고, 화면에서 막지 않으면 조용히 동작하지 않음updateControlStatus 신규
T3휴일·특별 일정 없음요일 단위 반복만. 공휴일·하계휴가·특근일에 맞출 방법이 없음. 요금 계산 쪽(timerate)에는 고정 공휴일 + 사용자 지정 휴일 판정이 이미 있는데 절전은 쓰지 않음StandbyScheduler, timerate.checkIsTotalFreeday 확인
T4꺼진 설비에도 절전 신호를 보냄설비가 정지 상태여도 절전 플래그가 PLC로 나감. 화면 표시는 고쳤으나 PLC 전송부는 그대로 두기로 함yym_working 7번(진단 완료, 수정 보류)
T5종료 시각에 한꺼번에 복귀같은 end_time의 설비들이 같은 초에 절전이 풀려 정상 출력으로 동시에 올라감. 출근 시간대 피크와 겹치기 쉬움「AI 도입 지도」
T6절전 효과를 재지 않음S/E/F 이벤트만 남고, 절전 중에 몇 kWh를 아꼈는지는 계산하지 않음StandbySchedulerLog
T7절전 중 실제 사용을 모름절전 시간에 누가 설비를 쓰기 시작해도 서버는 알 수 없음. PLC 옵션이 이를 처리하는지도 불명runControl 가정
3

모듈별 개선 설계

M1·M7

기록과 효과 측정

0단계
구간 기록
절전 일정 1회마다 시작 전 30분 설비 평균 kW, 절전 중 평균·최대 kW, 종료 후 30분 평균 kW, 수동 해제 여부를 standby_scheduler_log에 덧붙임
효과
절전 효과 kWh = (절전이 없었을 때 추정 kW − 절전 중 실제 kW) × 시간. 추정 kW는 같은 요일·시각에 절전이 없던 날의 설비 평균(기준선). 「AI 도입 지도」 리포트로
절전 중 사용 감지
절전 중 설비 kW가 기준선의 일정 비율을 넘으면 "절전 중 사용" 표시(T7). 처음에는 기록만
재료
unit_used_data 10초 최대값, 시간별 설비 kWh(total_unit_kwh_hour) 확인
M2·M6

일정 표현과 안전

1단계 · 규칙
자정 넘김
start > end면 "start ≤ 현재 또는 현재 < end"로 판정. 요일은 시작 시각 기준(월 22:00~화 06:00은 월요일 일정). 기존 데이터는 그대로 동작(T2)
휴일 달력
요금 계산이 쓰는 휴일 판정(고정 공휴일 + 사용자 지정 휴일)을 그대로 재사용하고, 일정마다 "휴일에도 적용 / 휴일에만 적용 / 휴일 제외"를 고르게 함. 특근일은 사용자 지정 예외로 추가(T3)
꺼진 설비
units.run = 0이면 절전 플래그 0. 운영 영향 확인 후 반영(T4, 보류 결정이 있었으므로 팀장님 확인 필요)
화면 검증
같은 설비의 일정 겹침, 길이 0 일정, 자정 넘김 표시를 등록 화면에서 경고
M5

종료 시 순차 복귀

1단계 · 규칙

「AI 도입 지도」 . 같은 시각에 끝나는 설비를 한꺼번에 풀지 않고 순서대로 복귀시킵니다.

방식
end_time이 같은 일정들을 묶어, 운전 스케줄러와 같은 간격으로 한 대씩 절전 해제. 순서는 정상 kW가 작은 설비부터(또는 등록 순)
예산 연동
운전 스케줄러 문서의 허용 조건 (a)·(b)를 그대로 써서, 이번 구간 예산이 빠듯하면 다음 해제를 잠시 미룸(최대 대기 시간 제한)
사전 복귀
설비별 "정상 출력까지 걸리는 시간"이 기록되면, 그만큼 end_time 전에 복귀를 시작하는 옵션
지표
복귀 후 15분 안에 피크 레벨 ≥ 주의가 생긴 비율(지금 방식 대비)
M3

절전 시간 추천

2단계 · 통계

「AI 도입 지도」 . 학습 모델 없이 사용 이력 통계로 충분합니다.

입력
설비별 최근 8주 이상 10초 최대 kW(또는 시간별 kWh)와 ON/OFF 이력
방법
  1. 설비마다 요일 × 15분 칸별로 "무부하 비율"(kW가 그 설비 정상의 20% 아래인 시간 비율)을 계산
  2. 무부하 비율이 높은 칸이 30분 이상 이어지면 절전 후보
  3. 휴일 패턴은 따로 집계
출력
설비별 추천 일정, 예상 절감 kWh, 근거(몇 주 중 몇 주가 무부하였는지). 담당자가 승인해야 등록
공회전 리포트
같은 통계로 "생산이 없는 시간인데 정상 출력으로 도는" 칸을 찾아 리포트(3층 공회전·누설)
4

실행 계획

순서작업제어 변경
0-1절전 구간 kW 기록, 효과 kWh 계산없음
1-1자정 넘김 판정, 등록 화면 경고판정 범위(기존 일정 영향 없음)
1-2휴일 달력판정
1-3순차 복귀(그림자 → 켜기)해제 시점
1-4꺼진 설비 절전 신호(팀장님 확인 후)PLC 신호
2-1절전 시간 추천, 공회전 리포트없음(승인 후 등록)
5

확인 필요

한 줄 정리

절전 스케줄러는 시간표 기능이라 AI보다 먼저 시간표 자체를 정확하게 만드는 일이 중요합니다. 효과를 재고, 자정 넘김·휴일·순차 복귀를 넣은 뒤, 사용 이력 통계로 절전 시간을 추천하면 됩니다.