docs: 온도 HIGH LIMIT 탑저 기준 근거 명시 (과분해·증기압·메탈 carryover)

측정점=탑저(최고온)인 이유: 과열→과분해·증기압상승(메탈)→제품/설비 손상+제품단 전파. 구현 변경 없음, 주석·매뉴얼에 도메인 근거 기록.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
windpacer
2026-06-01 22:05:55 +09:00
parent 90b15f8b34
commit 9c74d47611
2 changed files with 4 additions and 2 deletions

View File

@@ -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 운전원 절차
```

View File

@@ -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;