=== 민감단온도(T_C) 전환복귀제어 (작업플랜 구현) ===
- FeedforwardModels: TempLowLimit, TcReturnRebTarget/Band, TcReturnDeltaAdRef/Band 추가
- FeedforwardEngine: sigTLow (T_C 하한 트리거, -1e9=비활성) + 온도기반 복귀게이트(tcRecovered)
-> Recovering→Returning 전이: mbRecovered(물질수지) OR tcRecovered(reb-A+ΔT+T_C)
- FeedRampCalculator: 하강 램프 전면 구현 (RateUpPerMin/RateDnPerMin 분리, θ_up/θ_dn 분기, floor clamp)
- FeedRampExecutorService: 하강 램프 step 방향 지원
- FeedforwardConfigStore: 신규 6개 컬럼 SELECT/INSERT/UPDATE
- Hc900DbContext: temp_low_limit, tc_return_reb_target/band, tc_return_delta_ad_ref/band
- FeedforwardController: API 노출 + feed-ramp start/cancel/status
=== SteamAdvisor ===
- SteamAdvisorController: steam map 로드/시각화/제품매칭/온도프로파일
- steam.js, steam.html: SteamAdvisor 전용 UI 패널
=== Feed Ramp 실행 ===
- FeedRampExecutorService: BG service (BackgroundService)
- FeedRampJobStore: in-memory job store
- FfTrackingStore: ramp tracking DB
- FeedforwardSupervisor/WriteGuard: SP 쓰기 advisory + rate-limit
=== 분석 스크립트 ===
- gen_temp_profiles.py: 컬럼 온도 프로파일 기준 산출 → c{prefix}_tempref.json
- export_plotdata.py: analysis 결과 plot data export
- gen_instrument_ranges.py: 계기 범위 생성
- c6111_extract.py: C-6111 추출/운전모드 분류
- run_column.py: 전체 분석 파이프라인
=== Web UI ===
- ff.js/ff.html/ff.css: 전환류 상태기계 UI, TagBrowser, config save
- fast.js: Fast 조작 패널
- trend.js, pb.js, llmchat.js: 각 패널 확장
3.0 KiB
3.0 KiB
작업 플랜 — 컬럼 온도 프로파일 이격 모니터 (2026-06-06)
메모리 §17(온도프로파일=신뢰도/품질 게이트). 차트 라이브러리 ECharts(기보유).
목적
컬럼 단면 온도 배열(탑상→리보일러)을 한 차트로 표시 → 오퍼레이터가 기준 대비 이격(드리프트)을 한눈에. 근거: 같은 제품·진공이면 온도 프로파일(reb-A > T_B > T_C > T_D)이 부하무관 불변 → 이격 = 조성/순도 이상 또는 제품전환 신호.
데이터
- 단별 온도:
reb_temp(TICA-x111A, 리보일러),T_B(TI-x111B),T_C(TI-x111C 민감단),T_D(TI-x111D 탑상). - 진공: PICA(프로파일은 진공일정 가정 하 유효 → 진공 동시표시).
- 기준 프로파일: 안정구간(6-1·9-1의 2~4월) 제품별 클러스터 중앙값 + 밴드(±2σ). 제품 식별=온도프로파일(PM<PMA/PGMEA<EL).
차트 (ECharts)
- 세로 프로파일: Y축=컬럼 위치(탑 T_D → 보텀 reb-A), X축=온도. 현재값 라인 + 기준밴드(회색 음영) 오버레이. 이격 시 라인이 밴드 밖 → 빨강 강조.
- ★진공압력 필수 동시표시: 온도 프로파일은 진공에 종속(비점=f(압력)) → 진공 변하면 온도 전체 이동. 차트에 PICA 진공압력을 반드시 병기(게이지 또는 프로파일 옆 패널). 이격 판정 시 "진공 정상 하에서의 이격"인지 "진공 변동에 따른 정상 이동"인지 구분 — 진공 보정 후 온도 이격을 평가. 진공 이탈 자체도 경보.
- 이격 지표: 각 단 |현재−기준| → 막대/색상. ΔT(A-D) 스팬 표시(분리도). 스팬이 기준 이탈 시 경보.
- 시간추이(옵션): 단별 온도 + 진공 trend(uPlot) + 기준선.
단계
- 기준 프로파일 산출(Python): 안정구간에서 제품별 단별 온도 중앙값·σ →
c{prefix}_tempref.json(제품 라벨별). - API(C#):
GET /api/steam/tempprofile/{col}— 현재 단별 온도(realtime) + 기준밴드 + 이격상태(정상/약화/붕괴/역전, AdvisoryResult.TempProfileState 재활용). - 프론트: ff.html 또는 steam pane에 프로파일 차트 추가. 실시간 갱신.
- 경보 연계: 이격→§17 신뢰/품질 경보. STEAM advisory 신뢰도 게이트와 연동(이격 크면 advisory 보류).
검증기준
- 6-1차 현재 온도가 기준밴드 내 표시(정상). 6-2차 5~6월 고온구간 = 밴드 이탈 강조(제품전환/실험구간 식별).
- 오퍼레이터가 차트만 보고 이격 즉시 인지.
주의
- ★진공 단위 확인 필요(PICA 113 표기 vs 50TORR — 메모리 미해결). 프로파일 해석 전 단위 확정.
- 기준 프로파일은 안정구간만으로 학습(실험·SP방치 구간 제외, 메모리 §17.3).
- TI-x111C 부재 컬럼(5차)은 대체단 처리.
기존 자산 재활용
AdvisoryResult.Temps/TempProfileState/TempSpan/TempSpanRef(이미 존재) — 이격 판정 로직 일부 구현됨. 차트는 이걸 시각화.