diff --git a/docs/측류추출-운전제안-사용매뉴얼.md b/docs/측류추출-운전제안-사용매뉴얼.md index 8996b88..bc6eafe 100644 --- a/docs/측류추출-운전제안-사용매뉴얼.md +++ b/docs/측류추출-운전제안-사용매뉴얼.md @@ -198,7 +198,7 @@ LevelDriven 드로우(D 경비물·B 중비물)에 대해 **"제거 목표량 + 2. **프론트 드리프트** 3. **차압(ΔP) 플러딩**: 탑 차압 > 상한 *(신규: ΔP 태그 없으면 **pi-6111b − pica-6111**로 자동 합성)* 4. **온도역전/붕괴** *(신규)* — **단, 1·3·5 중 하나와 동반(코러보)될 때만 발동**. 온도만 이상하면 "센서 점검 권고"에 그침(오발동 방지). -5. **온도 HIGH LIMIT** *(신규)* — 온도 태그 중 **최고값(raw)이 운전원이 설정한 한계 초과**. 운전원이 명시한 안전 한계라 **단독 발동**(코러보 불요). 컬럼별 UI 설정값이라 다른 물질·컬럼에도 동일 루틴 적용. 미설정 시 비활성(1e9). +5. **온도 HIGH LIMIT** *(신규)* — 온도 태그 중 **최고값(raw, 정상 시 탑저 tica-6111a)이 운전원 설정 한계 초과**. 탑저 과열은 **과분해(thermal cracking)·증기압 상승(메탈 성분 carryover)** 등으로 제품·설비를 손상시키고 제품단 온도에도 전파되므로, 탑저온도를 한계 대상으로 잡음. 운전원이 명시한 안전 한계라 **단독 발동**(코러보 불요). 컬럼별 UI 설정이라 타 물질·컬럼 동일 루틴 재사용. 미설정 시 비활성(1e9). ### 12.3 운전원 절차 ``` diff --git a/src/Infrastructure/Control/FeedforwardEngine.cs b/src/Infrastructure/Control/FeedforwardEngine.cs index c4a71fb..fa33e46 100644 --- a/src/Infrastructure/Control/FeedforwardEngine.cs +++ b/src/Infrastructure/Control/FeedforwardEngine.cs @@ -422,7 +422,9 @@ public sealed class FeedforwardEngine bool sigCollapse = tempProfileState == "프로파일붕괴"; bool corroborated = sigVloss || sigDp; bool tempSevere = (sigInv || sigCollapse) && corroborated; - // 온도 HIGH LIMIT(raw, UI 설정) — 운전원이 명시한 안전 한계라 단독 severe(코러보 불요). 1e9 기본=비활성. + // 온도 HIGH LIMIT(raw, UI 설정) — 탑저(최고온) 과열 방지. 과열 시 과분해·증기압↑(메탈 carryover)로 제품/설비 손상, + // 탑저온도는 제품단에도 전파. 운전원이 명시한 안전 한계라 단독 severe(코러보 불요). 1e9 기본=비활성. + // (정상 A>B>C>D 프로파일에서 최고값=탑저 tica-6111a. 역전 시 타 단 최고면 그게 더 위험하므로 잡는 게 안전.) double maxTemp = (pv.Temps is not null && pv.Temps.Count > 0) ? pv.Temps.Where(t => t.Good && Num.IsFinite(t.Value)).Select(t => t.Value).DefaultIfEmpty(double.NaN).Max() : double.NaN;