← J-EMS 제어 개선 문서 모음
J-EMS 기능별 개선 상세 · 4/5
절전 스케줄러 개선 상세
결론부터: 절전 스케줄러는 사람이 등록한 요일 + 시작·종료 시각 이 맞으면 그 설비에 절전 신호를 보내는, 순수 시간표 기능입니다. 다섯 기능 중 우선순위가 가장 높아(기동 유예 다음), 그 설비가 피크·부하적응에도 함께 등록되어 있더라도 절전 중에는 절전만 적용됩니다. 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 OFF runControl
실제 절전 동작 서버는 플래그와 옵션 범위만 보냄. 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 도입 지도」 07
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 도입 지도」 09 리포트로
절전 중 사용 감지 절전 중 설비 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 도입 지도」 07 . 같은 시각에 끝나는 설비를 한꺼번에 풀지 않고 순서대로 복귀시킵니다.
방식 end_time이 같은 일정들을 묶어, 운전 스케줄러와 같은 간격으로 한 대씩 절전 해제. 순서는 정상 kW가 작은 설비부터(또는 등록 순)
예산 연동 운전 스케줄러 문서의 허용 조건 (a)·(b)를 그대로 써서, 이번 구간 예산이 빠듯하면 다음 해제를 잠시 미룸(최대 대기 시간 제한)
사전 복귀 설비별 "정상 출력까지 걸리는 시간"이 기록되면, 그만큼 end_time 전에 복귀를 시작하는 옵션
지표 복귀 후 15분 안에 피크 레벨 ≥ 주의가 생긴 비율(지금 방식 대비)
M3
절전 시간 추천 2단계 · 통계
「AI 도입 지도」 04 . 학습 모델 없이 사용 이력 통계로 충분합니다.
입력 설비별 최근 8주 이상 10초 최대 kW(또는 시간별 kWh)와 ON/OFF 이력
방법 설비마다 요일 × 15분 칸별로 "무부하 비율"(kW가 그 설비 정상의 20% 아래인 시간 비율)을 계산 무부하 비율이 높은 칸이 30분 이상 이어지면 절전 후보 휴일 패턴은 따로 집계
출력 설비별 추천 일정, 예상 절감 kWh, 근거(몇 주 중 몇 주가 무부하였는지). 담당자가 승인해야 등록
공회전 리포트 같은 통계로 "생산이 없는 시간인데 정상 출력으로 도는" 칸을 찾아 리포트(3층 층 3 공회전·누설)
4
실행 계획
순서 작업 제어 변경
0-1 절전 구간 kW 기록, 효과 kWh 계산 없음
1-1 자정 넘김 판정, 등록 화면 경고 판정 범위(기존 일정 영향 없음)
1-2 휴일 달력 판정
1-3 순차 복귀(그림자 → 켜기) 해제 시점
1-4 꺼진 설비 절전 신호(팀장님 확인 후) PLC 신호
2-1 절전 시간 추천, 공회전 리포트 없음(승인 후 등록)
5
확인 필요
PLC가 옵션 범위를 절전 중에 어떻게 쓰는지(출력은 가동률 10%로 확인됨), 10%가 현장마다 바꿀 수 있는 값인지
옵션1·2가 현장마다 무엇인지(온도·습도 외), 절전 중 범위를 벗어나면 PLC가 스스로 복귀하는지
꺼진 설비에 절전 신호를 보내지 않도록 바꿀 때 PLC 쪽 영향(보류 결정 이유)
현장 휴일 운영 방식과 생산 일정 데이터를 받을 수 있는지
한 줄 정리
절전 스케줄러는 시간표 기능이라 AI보다 먼저 시간표 자체를 정확하게 만드는 일이 중요합니다. 효과를 재고, 자정 넘김·휴일·순차 복귀를 넣은 뒤, 사용 이력 통계로 절전 시간을 추천하면 됩니다.
내부 검토 문서 · 코드: jems_watch 2026-10-12(dataserver/standbyScheduler.py, database/StandbyScheduler.py, emsPlcClient.py, yym/yym_working.md) · 통계 기준값(20%, 30분, 8주)은 시작용 예시값 · 코드는 작성하지 않았습니다
근거 문서 · 15분 잔여 허용량 3층 구조 v3 6