docs: 측류추출 자동운전 플랜 문서 추가

C-6111 측류추출탑 자동운전 관련 플랜·관계식·운전 주의점 문서.

- 측류추출-자동운전-플랜-byOpus.md / -컨셉회의.md(.docx)
- 측류추출-관계식.md, PGMEA_측류추출운전방식_주의점.md
- 측류추출-시간지연-적용방식.md(박스 정렬 수정)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
windpacer
2026-05-24 06:31:58 +09:00
parent f81044c451
commit 87ab8adfe0
6 changed files with 3202 additions and 2 deletions

View File

@@ -0,0 +1,75 @@
# 반도체 신너(PGMEA) 증류탑 측류 추출(Side-stream) 운전 방식 및 주의점
본 문서는 반도체 공정용 초고순도 PGMEA 정제 과정에서 사용되는 '측류 추출 방식(Side-stream Draw)'의 원리, 2기 직렬 탑 대비 단점, 그리고 정밀 운전을 위한 최우선 관리 항목에 대해 정리한 엔지니어링 가이드입니다.
---
## 1. 측류 추출 운전 방식의 개요 및 목적
단일 증류탑에서 탑 상부(Top) 환류 라인 일부와 탑 하부(Bottom) 리보일러 유량 일부를 제거(Purge/Blowdown)하고, 탑 중간(Middle)에서 제품을 추출하는 이유는 **하나의 증류탑 내에서 PGMEA보다 끓는점이 낮은 물질(경비물)과 높은 물질(중비물)을 동시에 완벽히 분리**하기 위함입니다.
```
[ 탑 상부 (Top) ]
---> 경비물 제거 (수분, 메탄올, PGME 등)
| (리플럭스 라인 일부 Purge)
|
|===|
| |
Feed | | ---> [ 탑 중간 (Middle) ]
------> | | 초고순도 PGMEA 제품 측류 추출 (Side-stream Draw)
| |
|===|
|
|---> [ 탑 하부 (Bottom) ]
중비물 제거 (DPGMEA, 금속 불순물, 중합물 등)
(열교환 유량 일부 Blowdown)
```
* **탑 상부(Top) 리플럭스일부 제거:** 수분, 메탄올, PGME 등 끓는점이 낮은 가벼운 불순물을 계 외로 배출하여 탑 내 농축 및 제품단으로의 하강을 차단합니다.
* **탑 하부(Bottom) 유량 일부 제거:** DPGMEA, 고분자 중합물, 금속 성분 등 끓는점이 높은 무거운 불순물을 배출하여 리보일러 파울링(Fouling)을 방지하고 기류를 통한 제품단 오염을 방지합니다.
* **탑 중간(Middle) 제품 추출:** 가벼운 물질과 무거운 물질이 모두 최소화된 탑 중간의 '최고 순도 구간(Sweet Spot)'에서 측류로 제품을 뽑아내어 반도체급 스펙을 만족시킵니다.
* **경제적 이점:** 2개의 증류탑을 직렬로 연결하는 대신 1개의 증류탑만 사용하여 설비 투자비(CAPEX) 및 에너지 비용(OPEX)을 극적으로 절감할 수 있습니다.
---
## 2. 2개 탑 직렬 연결 방식 대비 단점
측류 추출 방식은 경제성이 우수한 반면, 기술적·운전 측면에서 다음과 같은 명확한 단점과 한계를 가집니다.
### ① 운전 및 제어의 극악한 난이도 (Process Coupling)
* **직렬 방식:** 1번 탑(경비물 제거)과 2번 탑(중비물 제거)의 제어 루프가 독립적입니다.
* **측류 추출 방식:** 모든 운전 변수가 하나로 복잡하게 얽혀 있습니다. 예를 들어, 상부 환류량을 미세하게 조정하더라도 탑 전체의 온도 및 조성 프로파일이 흔들려 중간 제품의 순도가 동시에 출렁이게 되므로 고도의 고급 공정 제어(APC)가 요구됩니다.
### ② 원료 조성 및 공급 조건 변화에 대한 취약성
* 증류탑 내부에서 순도가 가장 높은 '최적의 추출 지점'은 고정되어 있지 않고, 유입되는 원료의 불순물 농도 및 유량에 따라 위아래로 계속 이동합니다.
* 실제 운전 중에는 물리적인 추출단 배관 위치를 바꿀 수 없으므로, 피드(Feed) 조건이 조금만 흔들려도 경비물이나 중비물이 제품단으로 쉽게 유입됩니다.
### ③ 초고순도(Electronic Grade) 달성의 구조적 한계
* 탑 내부의 격렬한 기-액 접촉 과정에서 발생하는 미세한 액적 비산(Entrainment)이나 급격한 증기 흐름으로 인해, 경비물이나 중비물이 제품 측류에 미량 혼입될 위험이 늘 존재합니다.
* ppb(parts per billion) 단위의 극단적인 불순물 제어가 필요한 반도체 최고 등급 품질 관리에서는 안정성 면에서 직렬 방식보다 불리할 수 있습니다.
### ④ 운전 유연성(Turndown Ratio) 저하
* 시장 수요 감소 등으로 인해 공장 생산량을 낮추어 저부하(Low Load) 운전을 할 때, 탑 내부의 유체역학적 균형(기-액 밸런스)이 쉽게 깨집니다.
* 기류 유속이 떨어지면 상부 불순물이 하강하고, 액체 흐름이 약해지면 하부 불순물이 축적되어 생산량을 줄였을 때 오히려 순도가 저하되는 역설적인 상황이 발생할 수 있습니다.
---
## 3. 측류 추출 운전 시 최우선 제어 관리 항목 (우선순위)
단일 측류 추출탑의 운전 성패는 **"탑 내부의 온도 및 조성 프로파일을 설정된 제어 위치에 완벽하게 고정하는 것"**에 달려 있습니다.
### 1순위 | 감도 트레이(Sensitive Tray) 온도의 정밀 제어
* **개념:** 외부 외란에 의해 탑 내부 조성 분포가 흔들리는 것을 막기 위해, 온도가 가장 민감하게 변하는 특정 트레이(Tray)를 지정합니다.
* **조치:** 감도 트레이의 온도를 소수점 단위로 실시간 감시하고, 이 온도와 상부 환류량(Reflux) 또는 리보일러 열량을 연동(Cascaded Control)시켜 탑 전체의 온도 경계선이 위아래로 출렁이지 않도록 묶어두어야 합니다.
### 2순위 | 측류 추출량(Draw Rate)과 내부 물질 수지의 밸런스
* **개념:** 중간에서 제품을 지나치게 많이 뽑아내면(Over-draw), 제품단 아래쪽으로 내려가야 할 액체 환류량이 부족해져 상부의 경비물이 제품단으로 빨려 내려오게 됩니다.
* **조치:** 측류 추출량은 독립 제어하기보다 피드(Feed) 유량 및 상부 환류량과 일정 비율을 유지하도록 비율 제어(Ratio Control)를 적용해야 합니다.
### 3순위 | 피드(Feed) 조건의 외란 원천 차단
* **개념:** 유입되는 원료의 온도, 유량, 조성(수분 등)이 흔들리면 탑 내부 밸런스가 즉시 붕괴됩니다.
* **조치:** 증류탑 전단에 피드 예열기(Preheater)를 설치하여 입조 온도를 항시 일정하게 유지하고, 원료 탱크 내 조성을 균일화하는 완충(Buffering) 시스템을 철저히 관리해야 합니다.
### 4순위 | 물리적 비산(Entrainment) 및 플러딩(Flooding) 방지
* **개념:** 탑 내부의 증기 유속이 임계치를 넘으면 하부의 무거운 불순물(금속, 고분자 중합물)이 기류를 타고 튀어 올라와 제품을 오염시킵니다.
* **조치:** 제품 추출단 하부에 데미스터(Demister) 등 물리적 차단 장치를 점검하고, 탑 내부 차압(Delta P)을 모니터링하여 상한선을 엄격히 통제해야 합니다.

100
측류추출-관계식.md Normal file
View File

@@ -0,0 +1,100 @@
# 반도체 신너(PGMEA) 측류 추출 운전 - 전방먹임 비례 제어(Feedforward Ratio Control) 관계식
본 문서는 실제 석유화학 및 반도체 소재 공장의 DCS(분산제어시스템)나 APC(고급공정제어)에서 사용하는 '전방먹임 비례 제어(Feedforward Ratio Control)' 모델의 핵심 공식을 물질수지(Material Balance)와 열수지(Energy Balance) 관점에서 정리한 자료입니다.
---
## 0. 기호 정의 (Variables)
관계식의 명확성을 위해 다음과 같이 변수를 정의합니다. (단위: kg/h 또는 ton/h)
* F : 원료 투입량 (Feed)
* D : 탑 상부 제거량 (Distillate / Light Purge)
* B : 탑 하부 제거량 (Bottom / Heavy Blowdown)
* P : 탑 중간 제품 추출량 (Side Product)
* R : 탑 상부 환류량 (Reflux)
* S : 리보일러 스팀 공급량 (Steam)
---
## 1. 총 물질수지 관계식 (Total Material Balance)
증류탑으로 유입되는 총 질량과 유출되는 총 질량은 같아야 한다는 기본 법칙입니다.
F = D + P + B
이를 원료 투입량(F) 기준으로 제어하기 위해 각각의 **추출 비율 계수(K)**를 도입하여 DCS 제어식을 도출합니다.
* K_D : 원료 대비 상부 제거 비율 (D/F)
* K_P : 원료 대비 제품 수율 (P/F)
* K_B : 원료 대비 하부 제거 비율 (B/F)
### [DCS 제어 설정식]
D = K_D × F
P = K_P × F
B = K_B × F
> 💡 **추출 비율 계수(K) 산정 팁:**
> 원료(Feed) 내의 불순물 분석 데이터에 따라 결정됩니다. 예를 들어 원료 내 경비물(수분 등)이 1%, 중비물이 1%이고 목표 PGMEA 회수율이 98%라면, K_D = 0.01, K_B = 0.01, K_P = 0.98로 초기 세팅 후 품질을 보며 미세 조정합니다. (단, K_D + K_P + K_B = 1을 만족해야 합니다.)
---
## 2. 환류량(Reflux) 관계식
환류량(R)은 상부 제거량(D)과 연동하며, 기-액 평형 조건을 유지하기 위한 **설계 환류비(R_f = R/D)**를 이용합니다.
R = R_f × D
위의 물질수지 제어식(D = K_D × F)을 대입하여, 최종적으로 원료 투입량(F)에 대한 관계식으로 풀면 다음과 같습니다.
### [DCS 제어 설정식]
R = R_f × K_D × F
* 원료 투입량이 변하면 상부로 나가는 가스/액체 유량도 변하므로, 이에 비례하여 환류량(R)도 자동으로 조절되도록 로직을 구성합니다.
---
## 3. 스팀량(Steam) 관계식
스팀량(S)은 탑 내부에서 끓어 올라가야 하는 **총 증기량(V, Vapor Load)**과 직결됩니다.
PGMEA를 액체(Liquid) 상태로 측류 추출한다고 가정할 때, 탑 상부로 올라가는 대략적인 필요 증기량은 다음과 같습니다.
V ≈ R + D
리보일러 스팀 공급량(S)은 이 증기량(V)을 만드는 데 필요한 잠열을 공급해야 하므로, 스팀-증기 비례 상수(α)를 적용합니다.
S = α × V = α × (R + D)
이 식에 앞서 구한 R과 D의 제어식을 대입하면, 최종적으로 **원료 투입량(F) 기준의 스팀량 공식**이 완성됩니다.
S = α × (R_f × K_D × F + K_D × F) = α × K_D × (R_f + 1) × F
상수들을 하나로 묶어 **K_S (스팀/피드 비례 계수)**로 단순화하면 DCS 식은 매우 간결해집니다.
### [DCS 제어 설정식]
S = K_S × F
---
## 4. DCS 실제 적용을 위한 최종 로직 요약
실제 공장 제어실(DCS)에 알고리즘을 구현할 때는 원료 유량 계측기(FT)의 값을 실시간으로 받아 각 제어 밸브의 유량 설정치(SV)를 아래와 같이 자동 계산(Feedforward Ratio)하도록 연동합니다.
1. **상부 Purge 밸브 설정치 (Distillate SV):** D_SV = K_D × F
2. **중간 제품 밸브 설정치 (Side Product SV):** P_SV = K_P × F
3. **하부 Blowdown 밸브 설정치 (Bottom SV):** B_SV = K_B × F
4. **상부 환류 밸브 설정치 (Reflux SV):** R_SV = R_f × D
5. **리보일러 스팀 밸브 설정치 (Steam SV):** S_SV = K_S × F + f(ΔP) + Bias
---
## ⚠️ 현업 운전 시 필독 주의점 (Bias의 필요성)
이론적인 비례 관계식은 위와 같으나, 실제 현장에서는 **탑 자체의 열손실(Heat Loss), 외기 온도 변화, 계측기 오차, 원료 공급 온도의 미세한 흔들림**이 발생합니다.
따라서 DCS 로직을 설계할 때는 완전 비례식만 적용하기보다, 운전원이 공정 상태를 보며 미세 조정할 수 있도록 **보정값(Bias)** 튜닝 탭을 반드시 확보해야 합니다.
특히 스팀 제어의 경우, 앞서 언급한 **탑 내부 차압[f(ΔP)]에 따른 감쇄(Override) 제어 알고리즘**을 상기 스팀 설정식에 더하여(Cascade/Override 구조) 안전성을 이중으로 확보해야 합니다.

View File

@@ -153,7 +153,7 @@ DCS 로직을 수정하실 수 있다면 **[1번 대책: 5분짜리 시상수를
┌─────────────────────┐
│ Filter Block (300초)
│ Filter Block (300초)│
└─────────┬───────────┘
@@ -161,7 +161,7 @@ DCS 로직을 수정하실 수 있다면 **[1번 대책: 5분짜리 시상수를
┌─────────────────────┐
│ 각종 밸브 연동 공식
│ 각종 밸브 연동 공식 │
└─────────────────────┘
```

View File

@@ -0,0 +1,251 @@
# 측류 추출 증류탑(C-6111) — 로컬 LLM 기반 자동운전 플랜
> **목적**: `측류추출-시간지연-적용방식.md`의 시간지연/시차 보상 제어를 ExperionCrawler 시스템 위에서
> 구현하되, **운전원이 단계적으로 신뢰를 쌓아 권한을 넘기는** 감독제어(Supervisory Control) 형태의
> 자동운전을 설계한다. 결정론 엔진이 제어하고, 로컬 LLM(vLLM Qwen)은 그 위에서 진단·예외·인터페이스를 맡는다.
>
> 문서 성격: **설계/의사결정 기록**. 구현 착수 전 합의 완료본. 코드 미작성 상태.
*작성일: 2026-05-22 / 갱신: 2026-05-22 (논의 합의 반영) / 대상: C-6111 PGMEA 진공 측류추출 증류탑 (P6 영역)*
---
## 0. 핵심 원칙
**LLM을 빠른 제어 루프에 넣지 않는다.** 빠른 보상은 결정론 엔진(코드)이, LLM은 분/이벤트 단위 진단·튜닝·인터페이스만.
| 문제 | 영향 |
|------|------|
| 비결정성 | 같은 입력에 다른 출력 → 밸브 제어에 치명적 |
| 지연(latency) | 토큰 생성 수 초 → Flooding 즉시 대응 불가 |
| 환각 | 잘못된 값 한 줄이 바로 밸브로 → 측류 순도 영역 파괴 |
따름정리: **헌팅 검출·MAN 전환·OP 산출 등 안전·실시간 판단은 모두 결정론.** LLM은 그 트립을 *설명*하고
*원인을 진단*할 뿐, 직접 트립시키거나 OP를 쓰지 않는다.
---
## 1. 물리 결정론 vs LLM — 역할 경계 (이 플랜의 출발점)
운영자가 **밸브 사이즈·배관 종류·컨트롤밸브 Cv 값/Cv 커브·플로우미터 유량범위** 등 물리 데이터를
보유하면, 제어 수학의 상당 부분이 *데이터 피팅 없이 계산*된다.
### 1.1 물리 데이터로 결정론화되는 것 (LLM 불필요)
| 물리 데이터 | 계산되는 모델 |
|------------|--------------|
| Cv 커브(설치특성) | OP(%) → 유량 관계, 밸브 게인 dQ/dOP |
| 배관 종류·구경·길이 | ΔP·마찰, 이송 데드타임 θ = 관내체적/유량 |
| 드럼/트레이 홀드업 체적 | 체류시간 τ = 체적/유량 (D-6113 환류드럼 등) |
| 플로우미터 레인지 | 스케일링·분해능·노이즈 플로어 |
→ 자동운전의 **B(하부)·D/R(상부) 타이밍은 하이드롤릭 홀드업(=체적/유량)으로 직접 계산**된다.
밸브 게인도 Cv 커브 미분으로 나온다. **이 부분은 그냥 프로그램한다.**
### 1.2 물리 데이터가 못 주는 것
- **(가) 분리/조성 동특성** — P(측류)의 "15~20분" 지연은 배관 이송이 아니라 트레이 홀드업+기액평형(VLE)으로
새 조성이 자리잡는 시간. 상대휘발도·트레이 효율·VLE는 Cv 커브에 없음. → **B·D는 물리로 계산되지만 P는 별도 모델 필요.**
- **(나) 모델-플랜트 불일치(드리프트)** — Cv 커브는 신품 설계값. 밸브 stiction·마모, E-6103 파울링, 트레이 효율 저하로 시간에 따라 어긋남.
- **(다) 목적·맥락·예외** — 회수율 최대 vs 에너지 최소 vs 순도 사수, 등급변경, 기동/정지, 계기고장, 상류 외란.
### 1.3 따라서 LLM이 실제로 하는 일
> **LLM의 가치는 물리모델 품질에 반비례.** 물리를 잘 잡을수록 LLM은 제어 산수에서 빠지고 가장자리로 이동.
| LLM 역할 | 구체 | 가치 |
|---------|------|------|
| ① 커미셔닝 보조 | 밸브 데이터시트·Cv 커브·배관 스펙 파싱 → 엔진 config/코드로 조립, 정합성 점검 | ★★ |
| ② 드리프트 진단((나)) | 물리예측 vs 실측 잔차는 수학, *"이 OP·ΔP에서 8% 미달 → 밸브 파울링/마모 의심"* 해석·재교정 트리거는 LLM | ★★ |
| ③ 소프트센서 보조((가)) | 측정 안 되는 조성을 온도(TI-6111B/C)로 추론, 분석기 결측 보간 | ★ |
| ④ 감독형 예외 처리((다)) | 엔진이 프로그램 안 된 상황(기동·등급변경·상류 업셋·계기고장) 판단·완화 | ★★★ |
| ⑤ 운전원 인터페이스 | 의도/경제목표 → SV·제약 번역, "왜 이렇게 도는지" 설명 | ★★★ |
| ⑥ 교차 데이터 융합 | 알람+이벤트+랩분석+정비이력+물리잔차 엮어 진단 (기존 MCP 도구) | ★★★ |
| ⑦ 헌팅 원인 진단 | 튜닝 vs stiction vs 외란 판별 → 4단계(OP 개입) 적용 여부 게이트 (§4.3) | ★★★ |
---
## 2. 감독제어 아키텍처 — 운전원이 권한을 쥔다
핵심 설계 사상: **엔진은 PID 루프의 SP/OP 레지스터를 직접 덮어쓰지 않는다.** 별도 감독변수에 쓰고,
**운전원이 스위치로 채택**한다. 권한 손잡이는 항상 운전원에게 있다. SP 경로와 OP 경로가 대칭이다.
| | SP 경로 (평상시) | OP 경로 (헌팅 시) |
|---|------------------|-------------------|
| 엔진이 쓰는 곳 | RSP 소스 포인트 (별도 변수) | `.op` (PID MAN 상태에서) |
| 운전원 스위치 | **LSP ↔ RSP** (Local ↔ Remote SP = AUTO↔CAS) | **PID MODE: AUTO ↔ MAN** |
| 빠른 규제 담당 | DCS PID (그대로 둠) | 엔진(소프트웨어 컨트롤러) |
| 폴백(엔진 사망) | 운전원이 LSP로 토글 | 데드맨 → MAN→AUTO (bumpless) |
| 적용 | 1~3단계 (신뢰 이양) | 4단계 (튜닝발 헌팅 한정) |
### 2.1 SP 경로 — RSP(Remote Setpoint)
- 엔진은 **루프 SP를 절대 안 건드림.** 자기 감독소스 포인트에만 OPC write → 그 포인트가 PID의 RSP/X 입력에 control connection.
- 운전원의 **LSP/RSP 토글이 유일한 권한 손잡이.** RSP면 엔진 SP 추종, LSP면 운전원 수동 — 언제든 가역.
- **bumpless 요건(중요)**: OPC 외부 감독은 DCS의 back-calculation 핸드셰이크를 못 받음.
→ 루프가 LSP(미선택)일 때 엔진이 **현재 실작동 SP를 읽어 자기 출력=현재 SP로 추종**시켜야 함.
그래야 운전원이 RSP로 토글하는 순간 충격 없음.
- **공짜 안전망**: DCS RSP 한계(SPHILM/SPLOLM, RSP rate)가 엔진과 독립으로 한 겹 더.
- **장점**: 1~2단계(제안 표시)는 페이스플레이트가 RSP 후보값을 네이티브로 보여줌 → **별도 화면 개발 불필요.**
### 2.2 OP 경로 — MAN + OP 쓰기 (튜닝발 헌팅 전용)
- 평상시 RSP로는 **튜닝발 헌팅이 안 잡힘**(PID가 루프에 그대로). 그래서 헌팅 루프에 한해 OP를 직접 잡는다.
- 방식: PID를 **MAN**으로 → 엔진이 `.op`에 직접 write. **MAN이라 적분이 멈춰 windup 없음, OP 쓰기는 본질적 bumpless.**
기존 `ControlOp`(MD→MAN→OP쓰기) / `WriteTagAsync(.op)` 그대로 사용 → **신규 DCS 구성 불필요, 저MoC.**
- **운전원 회수**: MAN의 OP는 엔진이 쓴 마지막 값 → 운전원이 그 값에서 이어 조정, 또는 AUTO로 올림.
- **폴백(엔진 사망)**: 엔진 워치독 + **DCS 컨트롤러 로직이 stale(N초 갱신 없음) 감지 → MAN→AUTO 강제 복귀.**
PID가 bumpless output 설정이라 **현재 OP(=마지막 LLM_OP)에서 적분 임펄스 없이 규제 재개.**
- *정직한 단서*: 폴백은 "헌팅하던 그 PID"로 돌아감 → 안전(규제됨, SIS가 극단 차단)하나 **엔진 복구 전까지 헌팅 재개.** 위험 아님, 차선.
- 설정 확인: MAN 중 SP 추종/홀드 → 폴백 후 어떤 LSP로 규제할지 결정.
- **상위 옵션(임계 루프 한정)**: *순간 규제 공백도 불가*한 빠른 루프는 선택+back-calc(PID는 AUTO 추종 유지, 무충격 즉시 폴백)을 쓰되, 밸브 출력경로를 변형하므로 MoC가 더 엄격. 기본값은 위 MAN 방식.
---
## 3. LLM-OP 모드의 제어법 — FF + 느린 PI (rate 제한)
OP 경로로 개입한 동안 엔진이 매 순간 OP에 무엇을 쓰는가. **크루즈컨트롤과 동일 구조**: 미리 예측(FF) + 잔차 청소(PI).
```
F(헌팅) ─Lag필터→ F_clean ─물질수지→ 목표유량 ─Cv커브→ OP_ff ┐
├→ OP → rate제한 → 절대/변동폭 클램프 → 밸브
설정값 실측PV ───────────────── 느린 PI ───────→ OP_pi ┘
```
- **FF (피드포워드)**: 물리로 *미리* 정답 개도 계산. `개도% = Cv⁻¹( Q / √(ΔP/SG) )`.
필터링된 F_clean로 목표유량(B/D/P)을 물질수지로 구하고 → Cv 커브로 OP 계산 → §5 시간상수로 부드럽게 이동.
**외란발 헌팅을 잡는 주역**(반응이 아니라 예측이라 밸브가 안 채인다).
- **PI (느린 피드백)**: Cv 커브는 신품값이라 마모·파울링·ΔP 부정확으로 살짝 빗나감. 잔차(SPPV)를
**느리게/약하게** 보정. 약한 이유: ①헌팅 재유발 방지 ②큰 일은 FF가 이미 함.
- **rate 제한**: OP 변화율 제한으로 밸브 부드럽게.
- **비채택: "고정+간헐 보정"** — 보정 사이 능동 규제 0 → 외란 시 PV 드리프트(피드백 상실). 사용 안 함.
- **연결**: FF = §5 결정론 보상 엔진 그대로 + 그 위에 작은 PI 트림 하나.
---
## 4. 헌팅 검출 & 원인 진단 — 4단계의 게이트
### 4.1 검출 (결정론)
- 오실레이션 인덱스: 진폭·주기·지속성. 임계 초과(예: 진폭 > 범위의 X%, 주기 안정, N분 지속) 시 트립.
- **MAN 전환 트립은 결정론**(LLM 지연 불가). LLM은 트립을 설명만.
### 4.2 원인 분류 (LLM + 데이터 융합) — §1.3-⑦
| 원인 | 4단계(MAN+OP)로 잡히나 | 조치 |
|------|----------------------|------|
| 튜닝 과민 | ✅ 즉시 | MAN 전환 → FF+PI로 OP 핸드홀딩 |
| 상류 외란 | ✅ 잘 잡힘 | 동일(FF가 주역) |
| 루프 간섭 | ⚠️ 부분 | 시차 조절로 완화 |
| **밸브 stiction** | ❌ 악화 | **정비 플래그.** OP 핸드홀딩 금지(마모만 늘어남) |
→ LLM이 OP-PV 위상·한계주기 파형·상류 신호·정비이력을 엮어 *"이건 stiction → 4단계 말고 정비"* vs
*"외란 → 4단계 유효"* 판정. **초기엔 LLM 진단 → 운전원 확인 권장.**
---
## 5. 보상 제어 수식 (결정론, FF의 본체)
원본 문서 §2·§4 기준.
- **1차 지연(Lag) 필터** (이산): `y[k] = y[k-1] + (Δt/τ) · (x[k] y[k-1])`
- **데드타임**: 링버퍼로 N틱 지연
- **헌팅 제거**: 원료 FT 신호 직후 Lag 필터 τ=**300초(3~5분)** (원본 §4.1)
| MV | 제어 대상 | τ / 데드타임 | 근거 | 목적 |
|----|----------|-------------|------|------|
| B | 하부 제거량 | 1~2분 | 하이드롤릭 홀드업(물리 계산) | 탑 넘침(Flooding) 즉시 방지 |
| D/R | 상부 제거량/환류 | 5분 | D-6113 드럼 체류시간(물리 계산) | 압력/조성 안정화 |
| P | 측류 제품 추출 | 15~20분 | **분리/조성 동특성(§1.2-가, 별도 모델)** | 초고순도 PGMEA 품질 보호 |
| S | 리보일러 스팀 | 가장 빠름 | 압력 즉시 전달 | 하부 온도 직결 |
추가(원본 §4.2/§4.3): PID 블록 **dead band 0.5~1.0%**, 원료탱크 **Surge Control**(P-Gain↓ I-Time↑).
---
## 6. 안전 봉투 (Safety Envelope)
엔진의 모든 쓰기는 아래를 강제 통과한다(다층 독립 방어):
1. **엔진 가드**: rate 제한 · 절대 min/max · **현재 유량범위 대비 밸브 변동폭 제한** · 태그 화이트리스트 · 전 쓰기 감사로그
2. **DCS 측 한계**: RSP 한계(SPHILM/SPLOLM), 출력 한계(OPHILM/OPLOLM) — 엔진과 독립
3. **운전원 스위치**: LSP/RSP, AUTO/MAN — 언제든 즉시 회수 (최우선)
4. **데드맨/워치독**: 엔진 stale → SP경로는 운전원 LSP 회수, OP경로는 DCS 로직이 MAN→AUTO(bumpless) 폴백
5. **ESD/IL/SIS 독립**: BPCS 루프의 MAN/AUTO·LSP/RSP와 무관하게 최종요소에 독립 동작 → 실험을 봉인된 안전 범위에 묶음
6. **한 번에 한 루프**: 간섭 루프 동시 MAN 금지
7. **양방향 bumpless**: 모든 전환에서 충격 없음(PID bumpless output + 엔진 추종)
> ⚠️ **MoC/문화**: 자동 시스템이 SP/OP를 조작하는 것은 현장에서 APC로 간주 → 변경관리·운전원 수용 절차 필요(기술 외 항목).
---
## 7. 단계별 신뢰 이양 로드맵 (운전원 비전)
| 단계 | 내용 | 경로 | 권한 |
|------|------|------|------|
| **1. 제안 표시** | 엔진이 RSP 소스 포인트에 계산값 write → 운전원이 페이스플레이트에서 "제안 SP"를 봄(LSP 유지) | SP/RSP | 운전원 100% |
| **2. 관찰·신뢰 형성** | 제안값이 합리적인지 운전원이 일정 기간 관찰 | SP/RSP | 운전원 100% |
| **3. SP 주도권 이양** | 신뢰 시 운전원이 **RSP로 토글** → 엔진 SP 추종. 언제든 LSP 회수 | SP/RSP | 엔진(가역) |
| **4. 헌팅 자동 안정화** | 헌팅 임계 초과 + 원인=튜닝/외란 확인 시 PID MAN 전환 → FF+PI로 OP 핸드홀딩 → 안정 후 복귀 | OP/MAN | 엔진(데드맨 폴백) |
**구현 선행조건(Phase 0)**: §6-1 엔진 가드 레이어 + 데드맨. *(현재 쓰기 경로에 가드 0건 — §10 참조.)*
---
## 8. 태그/노드 매핑 (실측 — `find_tags`·`trace_connections`)
원료 경로(trace_connections):
```
P-6101(원료펌프) → FT-6101 → FICQ-6101 → FCV-6101 → E-6103(예열) → C-6111 원료 스프레이 분배기
```
| # | 경로 | MV/제어 | 유량 | 온도 | 수위/압력 | τ |
|---|------|---------|------|------|----------|---|
| **F** | 원료 투입 | **FICQ-6101**→FCV-6101 | FT-6101 | (E-6103 예열) | — | 입력(Lag 300s) |
| **S** | 리보일러 스팀 | 스팀밸브 | **FI-6115** | TI-6111A(BOT), TICA-6111A | PI-6700(스팀압) | 가장 빠름 |
| **B** | 하부 제거 | 하부 발출 밸브 *(밸브태그 미확인)* | (미확인) | TI-6111A(BOT) | **LI-6111**(하부수위) | 1~2분 |
| **D/R** | 상부/환류 | **FICQ-6113**(PV29.9/SP36.4) | FI-6113 | TI-6111D(TOP) | **LI-6113**(D-6113 환류드럼), LICA-6113, PI-6111(진공), PICA-6111 | 5분 |
| **P** | 측류 제품 | **🔲 사용자 매핑 예정** | FI-6120(PGMEA) | TI-6111B/C(MID) | LI-6121/6122/6123(제품탱크) | 15~20분 |
- OPC Node 형식: `ns=1;s=sinamserver:ficq-6101.sp` / `.op` / `.md`(MAN=0/AUTO=1).
※ SP 경로 구현 시 write 타깃은 **루프 SP가 아니라 RSP 소스 포인트**로 바뀜(노드 ID만 교체, 쓰기 코드 동일).
- 현재 운전 흔적: FICQ-6113 PV 29.9 / SP 36.4 추종, 진공압 PICA-6111 30.4 → 가동 중 추정.
### 8.1 미완료 매핑 (담당 구분)
- **P(측류 제품 추출) 경로 매핑 — 사용자 직접 진행 예정** (본 플랜 보류)
- B(하부) 발출 유량계·밸브 태그 — `find_tags`(6112/6114/6116번대) 또는 C-6111 `trace_connections downstream`로 보강
---
## 9. 현 시스템 재사용 자산
| 구분 | 자산 |
|------|------|
| 쓰기 | `ExperionOpcWriteClient.WriteTagAsync(.sp/.op)`, `SetModeAsync(MAN/AUTO)`, `ControlOp`(MD→MAN→OP→AUTO) / `POST /api/experion/{write,mode,control}` / UI "OPC UA Write" 탭 |
| 읽기 | `ExperionRealtimeService`(실시간 PV 구독, IHostedService), `query_pv_history`(MCP)/`ExperionHistoryController` |
| 백그라운드 | `IHostedService`/`AddHostedService` 패턴 기존 사용 → 신규 `AutoRunService : BackgroundService` 그대로 적용 |
| LLM 감독 | `query_pv_history`, `find_tags`, `trace_connections`, `active_alarms`, `query_events`, `summarize_events`, `generate_status_report`, ReAct 에이전트 모드 |
---
## 10. 미해결/확인 필요 항목
- [ ] **P(측류 제품 추출) 경로 매핑***사용자 직접 진행*
- [ ] B(하부) 발출 유량계·밸브 태그 확정
- [ ] **쓰기 경로 안전 가드(§6-1) 신규 구현** — 현재 `WriteTagAsync`에 클램프/rate/변동폭 0건 (Phase 0 선행)
- [ ] **DCS 구성**: RSP 소스 포인트 생성·연결, OP 데드맨(stale→MAN→AUTO) 로직, RSP 추종/홀드 설정
- [ ] 헌팅 임계 정의(진폭/주기/지속) 및 stiction 자동판별 신뢰 수준
- [ ] 각 MV의 hard min/max·변화율·밸브 변동폭 한계(공정 안전 범위) + Cv 커브·배관 물리 데이터 수집 형태
- [ ] P(측류) 분리/조성 모델(§1.2-가) 깊이 결정: 고정 τ vs 간이 트레이모델 vs 경험모델
- [ ] `ask_iiot_llm`(vLLM) 빈 응답 — vLLM 엔드포인트 상태 점검
- [ ] Step Test 수행 가능 시점/조건 (가동 중 5~10% 스텝)
- [ ] APC 블록 내장 여부 vs 일반 PID 환경 / MoC 절차
---
## 부록 A. 참조
- 원본 개념 문서: `측류추출-시간지연-적용방식.md`
- 쓰기 구현: `src/Infrastructure/OpcUa/ExperionOpcWriteClient.cs`, `src/Web/Controllers/ExperionControllers.cs`(ExperionWriteController)
- 실시간 읽기: `src/Infrastructure/OpcUa/ExperionRealtimeService.cs`
- UI: `src/Web/wwwroot/index.html` (#pane-write)
- MCP 도구: `mcp-server/server.py` (find_tags, trace_connections, query_pv_history, ask_iiot_llm 등)
## 부록 B. 합의된 핵심 결정 (요약)
1. 감독제어 — 엔진은 별도 변수에만 쓰고 운전원이 스위치로 채택(권한은 운전원).
2. SP는 **RSP** 경로(LSP/RSP 토글), 외부 추종으로 bumpless.
3. OP는 **MAN+`.op` 쓰기** 경로(기존 ControlOp), 엔진 워치독 + **DCS 데드맨→MAN→AUTO bumpless** 폴백.
4. OP 제어법은 **물리 FF(Cv·배관) + 느린 PI + rate제한** (고정+간헐 보정 비채택).
5. PID 파라미터 재튜닝은 **필수 아님** — MAN에서 OP 대체로 헌팅 안정화 가능(stiction 제외).
6. LLM은 물리 결정론 위에서 ①커미셔닝 ②드리프트진단 ③소프트센서 ④예외처리 ⑤인터페이스 ⑥교차융합 ⑦헌팅원인진단.

Binary file not shown.

File diff suppressed because it is too large Load Diff