P0 셀프서비스 결정론 리포트 — 적산·물질수지 폐합·cleaning 마스크 (+ P1 온라인 스펙) #1
100
docs/PT100-RTD-양자화-원인분석-RTD레인지설정.md
Normal file
100
docs/PT100-RTD-양자화-원인분석-RTD레인지설정.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# PT100 RTD 온도값 양자화 원인 분석 — RTD 레인지 설정 문제
|
||||
|
||||
> 작성일: 2026-06-12
|
||||
> 대상: TI-6111C(P6/C3), TI-9211C(P9/C4) 등 일부 온도점의 값이 소수점 5자리까지 반복되는 현상
|
||||
> 결론: **데이터·이관·OPC·하드웨어 모두 정상. 원인은 해당 채널의 RTD 입력 레인지가 불필요하게 넓은 "high(-184~816°C)"로 설정된 것.** 레인지를 "low(-184~316°C)"로 바꾸면 분해능·정확도가 동시에 2배 개선됨.
|
||||
|
||||
---
|
||||
|
||||
## 1. 발단 (현상)
|
||||
|
||||
`hc900.history_table`에서 **TI-6111C.PV**의 24시간(2026-05-09, KST) 최대값 84.14166이 **30초 간격으로 정확히 46회 반복**됨. "현장 실데이터인데 소수점 5자리까지 수십 번 동일할 수 있는가?"라는 의문에서 출발.
|
||||
|
||||
- 하루 distinct 값이 **단 6개**(83.808 / 83.875 / 83.941 / 84.008 / 84.075 / 84.142), 간격 일정(0.06677).
|
||||
|
||||
## 2. 데이터 출처 확인
|
||||
|
||||
- 같은 PostgreSQL 서버에 별도 DB **`field_hist`** = 신암정유㈜ Experion 히스토리안 덤프 (dtat 범위 2026-02-05~06-05, local=KST).
|
||||
- 구조: `ptlist`(태그) → `mapping`(pid→tid/oit) → `tblist`(cont001~017) → `cont0NN`(dtat + col01~colNN).
|
||||
- 예: TI-6111C.PV = `/ASSETS/P6/TI-6111C.PV` = `cont009.col48`.
|
||||
- `field_hist` 원본과 `hc900.history_table` 값이 **완전히 일치** → 이관/저장 artifact 아님. **양자화는 원본부터 존재.**
|
||||
- 출처 체인: 센서(PT100) → HC900 → Experion 서버 → OPC Classic → DB 서버 덤프.
|
||||
|
||||
## 3. 가설 검증 (기각 과정)
|
||||
|
||||
| 가설 | 검증 | 결과 |
|
||||
|---|---|---|
|
||||
| 데이터 이관/저장 손상 | field_hist 원본과 일치 | ❌ 기각 |
|
||||
| 전송(OPC Classic/Experion) 양자화 | 양자화가 **저항(Ω) 영역에서 일정**(°C는 변해도 Ω 고정). OPC/Experion은 °C(EU)만 봄 | ❌ 기각 |
|
||||
| EU 레인지 스케일링 | TI-6111C(0~120) vs TICA-6111A(0~500) **레인지 다른데 °C step 동일** | ❌ 기각 |
|
||||
| "온도종류"/계기 둔감 | PICA-6111(압력)·P10 온도 8채널은 풀 해상도(연속) | ❌ 기각 |
|
||||
| 컨트롤러 하드웨어 세대(C3 구형 vs C4 신형) | 양자화 TI-9211C와 연속 TI-10111C가 **둘 다 C4** | ❌ 기각 |
|
||||
| 입력 모듈 버전 차이 | P9·P10 **동일 버전 AI 모듈** | ❌ 기각 |
|
||||
| ADC 비트수 부족(12-bit) | 데이터시트상 **15-bit** | ❌ (비트수 자체는 충분) |
|
||||
|
||||
## 4. 핵심 — 센서/ADC/필터/레인지의 역할 분리
|
||||
|
||||
- **PT100 센서**: 아날로그(온도비례 연속저항). 양자화 안 함.
|
||||
- **양자화 발생 지점**: HC900 Universal Analog Input 모듈의 **ADC + 선형화**(저항→디지털). 저항 영역에서 일정한 격자.
|
||||
- **모듈 분해능**: ControlEdge HC900 Universal Analog Input = **15-bit**.
|
||||
- **LSB = (RTD 레인지 저항 스팬) ÷ 2^bits** → 레인지가 넓을수록 LSB가 거칠어짐.
|
||||
|
||||
### 데이터시트(11p) RTD 정확도/레인지 (100 Pt.)
|
||||
|
||||
| 레인지 | °C 범위 | °C 스팬 | 정확도(±°C) |
|
||||
|---|---|---|---|
|
||||
| low | -184 ~ 316 | **500** | **±0.5** |
|
||||
| mid | -184 ~ 649 | 833 | ±0.8 |
|
||||
| high | -184 ~ 816 | **1000** | **±1.0** |
|
||||
|
||||
> 주의: 위 표의 0.5/0.8/1.0은 **정확도(accuracy, 참값 대비 오차)** 이며, **분해능(resolution, 최소 스텝)과 별개**. 분해능(~0.03~0.066°C)이 오히려 정확도(±0.5°C)보다 더 곱다.
|
||||
|
||||
## 5. 결정적 실측 (필터 0 고정, 레인지만 비교)
|
||||
|
||||
P2 채널들은 **low 레인지(-184~316°C) + FILTER 0** 으로 설정되어 있어, 필터를 0으로 고정한 채 레인지 효과만 단독 분리 가능 (대조군).
|
||||
|
||||
| 그룹 (설정) | 채널 | °C_LSB | Ω_LSB |
|
||||
|---|---|---|---|
|
||||
| **P2 (low, F0)** | TICA-2111, TI-2111A, TI-2111B, TIA-2121A, TI-2121B, TI-2121C | **0.0329** (6채널 동일) | **0.0126 Ω** |
|
||||
| 거친 기준 (F0) | TI-6111C | 0.0660 | 0.0253 Ω |
|
||||
| 거친 기준 (F0) | TI-9211C | 0.0656 | 0.0252 Ω |
|
||||
|
||||
- P2 6채널 모두 **0.0126Ω로 일치**, TI-6111C·TI-9211C는 **정확히 2.0배 거친 0.0253Ω**.
|
||||
- 양쪽 다 FILTER 0 → 차이는 **레인지 단독 효과**.
|
||||
- **°C 스팬 비율 low:high = 500:1000 = 정확히 2배** → 관측 LSB 비율(2.01배)과 일치 → **TI-6111C·TI-9211C는 "high" 레인지, P2는 "low" 레인지** 임이 수치로 확정.
|
||||
|
||||
## 6. 최종 결론 (완결 모델)
|
||||
|
||||
| 무엇이 | 무엇으로 결정 |
|
||||
|---|---|
|
||||
| **분해능(LSB)** | **RTD 레인지** (low=0.033°C 고움 / high=0.066°C 거침) |
|
||||
| **정확도** | **RTD 레인지** (low ±0.5°C / high ±1.0°C) |
|
||||
| **연속 vs 양자화 "겉모습"** | **입력 FILTER** (0=raw 격자 노출 / 1=디지털 평활로 연속처럼 보임) |
|
||||
|
||||
- **TI-6111C·TI-9211C가 거친 진짜 이유**: 동작점이 84°C인데 RTD 레인지가 불필요하게 넓은 **high(-184~816°C)** 로 설정됨 → 15-bit를 1000°C에 펴 쓰니 LSB 2배 거침 + 정확도 ±1.0°C.
|
||||
- **P10(TI-10111x)이 연속처럼 보이는 이유**: FILTER 1(평활). 참 분해능은 별개이며 필터는 겉모습 + 응답 지연만 추가(참 정확도는 ADC/레인지가 결정).
|
||||
- **TI-6111C가 6레벨로 보이는 이유**: high 레인지(거친 LSB) + 안정 공정(하루 0.33°C). 같은 필터 0이라도 P2 민감단처럼 넓게 움직이면 distinct가 많아짐.
|
||||
|
||||
## 7. 권장 조치
|
||||
|
||||
**TI-6111C, TI-9211C(및 동일 증상 채널)의 RTD 입력 레인지를 "100 Pt (low, -184~316°C)"로 변경.**
|
||||
|
||||
- 동작점 84°C가 low 범위에 충분히 포함됨.
|
||||
- 효과: **분해능 2배 개선(0.066 → 0.033°C)** + **정확도 2배 개선(±1.0 → ±0.5°C)**.
|
||||
- 필터·센서·모듈 교체 불필요. **HC900 Designer의 레인지 파라미터 변경만으로 해결.**
|
||||
- (선택) 겉보기 평활이 필요하면 FILTER도 정책적으로 통일. 단, 필터는 참 분해능을 올리지 못하고 응답을 느리게 함.
|
||||
|
||||
### 더 높은 raw 분해능이 필요하다면 (레인지 외 옵션)
|
||||
- PT1000 센서(저항 10배 → 같은 ADC에서 °C/LSB ~10배 개선), 또는 고분해능 입력 모듈. 단 동일 모듈 공유 시 전 채널 동일 적용.
|
||||
|
||||
## 부록 A. 참고 수치
|
||||
- PT100 IEC 60751: R(T)=100(1+A·T+B·T²), A=3.9083e-3, B=-5.775e-7. dR/dT ≈ 0.379~0.388 Ω/°C (0~100°C).
|
||||
- 15-bit = 32768 counts. LSB(°C) ≈ 레인지 °C 스팬 ÷ 유효 counts.
|
||||
- 관측 LSB: low 레인지 ≈ 0.0126Ω/0.033°C, high 레인지 ≈ 0.0253Ω/0.066°C.
|
||||
|
||||
## 부록 B. 조회 경로 (재현용)
|
||||
- 원본 DB: `postgresql://.../field_hist`
|
||||
- 태그→컬럼: `ptlist.ptname` → `mapping(pid→tid,oit)` → `tblist(tid→tblname)` → `cont0NN.colNN`
|
||||
- TI-6111C.PV=cont009.col48, TI-9211C.PV=cont013.col13, TICA-2111.PV=cont005.col20, TI-10111C.PV=cont015.col01
|
||||
- 컨트롤러 매핑: `hc900.tag_metadata.controller_id` (TI-6111C=C3, TI-9211C/TI-10111x=C4, TICA-2111=C2)
|
||||
- 양자화 LSB 측정: 해당 컬럼의 distinct 값 정렬 후 인접 최소 간격(min gap) → PT100 dR/dT로 Ω 환산.
|
||||
Reference in New Issue
Block a user