APC컨트롤러
개요
이 화면은 무엇인가요? 설비에 적용된 고급 공정 제어기(APC)를 등록·관리하는 화면입니다. MPC(모델예측제어), DMC(동적행렬제어), RTO(실시간최적화), Inferential(추정제어) 등 컨트롤러 유형별로 제어변수(CV), 조작변수(MV), 외란변수(DV)를 설정하고 모델 행렬과 제어 구간을 관리합니다.
누가 사용하나요?
- 🔧 공정엔지니어: 컨트롤러 등록, 변수 정의, 튜닝 관리
- ⚙️ 계장 담당자: 샘플링 시간, 예측/제어 구간 설정
- 📋 공정관리자: 컨트롤러 상태 모니터링
언제 사용하나요?
- 신규 설비에 APC 컨트롤러를 적용할 때
- 컨트롤러 튜닝 후 파라미터를 갱신할 때
- 컨트롤러 상태(active/tuning/disabled)를 변경할 때
주요 기능
1. 컨트롤러 등록·관리
무엇을 하나요?: 설비별로 APC 컨트롤러를 등록하고 제어 유형을 설정합니다. 어떻게 사용하나요?:
- 대상 설비를 선택합니다
- 컨트롤러 코드와 명칭을 입력합니다
- 컨트롤러 유형(MPC, DMC, RTO, Inferential)을 선택합니다
- 제어변수(CV), 조작변수(MV), 외란변수(DV)를 JSON 형식으로 정의합니다
- 예측구간, 제어구간, 샘플링시간을 설정합니다
💡 팁: 제어변수는 [{name, target, min, max, unit}] 형식으로, 조작변수는 [{name, min, max, rateLimit, unit}] 형식으로 입력합니다.
2. 튜닝 이력 관리
무엇을 하나요?: 컨트롤러 튜닝 일자와 상태를 기록하여 성능 변화를 추적합니다.
업무 흐름에서의 위치
| 연결 화면 | 관계 | 설명 |
|---|---|---|
| APC모델파라미터 | 1:N | 컨트롤러별 게인·시 정수 등 모델 파라미터 |
| 설비마스터 | N:1 | 제어 대상 설비 |
입력 항목 가이드
| 항목 | 설명 | 입력 방법 | 예시 |
|---|---|---|---|
| 컨트롤러코드 | 고유 식별 코드 | 텍스트 입력 (고유) | APC-RX-001 |
| 컨트롤러명 | 컨트롤러 명칭 | 텍스트 입력 | 반응기1호 MPC |
| 컨트롤러유형 | 제어 방식 | 목록에서 선택 | mpc / dmc / rto / inferential |
| 제어변수(CV) | 제어 대상 변수 | JSON 입력 | [{name:"온도", target:180, min:175, max:185, unit:"℃"}] |
| 조작변수(MV) | 조작 가능 변수 | JSON 입력 | [{name:"스팀밸브", min:0, max:100, rateLimit:5, unit:"%"}] |
| 외란변수(DV) | 외란 변수 | JSON 입력 | [{name:"원료온도", type:"measured", unit:"℃"}] |
| 모델행렬 | 프로세스 모델 | JSON 입력 | (step response / transfer function) |
| 예측구간 | 예측 수평선 (샘플 수) | 숫자 입력 | 30 |
| 제어구간 | 제어 수평선 (샘플 수) | 숫자 입력 | 10 |
| 샘플링시간(초) | 제어 주기 | 숫자 입력 | 60 |
| 설비 | 제어 대상 설비 | 설비 목록에서 선택 | 반응기 1호 |
| 상태 | 컨트롤러 상태 | 목록에서 선택 | active / tuning / disabled |
| 최종튜닝일 | 마지막 튜닝 날짜 | 달력에서 선택 | 2026-03-15 |
| 담당자 | 운영 담당자 | 사용자 목록에서 선택 | 박엔지니어 |
자주 묻는 질문 (FAQ)
Q. MPC와 DMC의 차이는 무엇인가요?
A. MPC(Model Predictive Control)는 상태공간 모델 기반, DMC(Dynamic Matrix Control)는 스텝응답 모델 기반입니다. 프로세스 특성에 맞는 유형을 선택하세요.
Q. 컨트롤러 상태가 tuning이면 어떻게 되나요?
A. tuning 상태에서는 모델 파라미터를 조정하는 중임을 표시합니다. 튜닝이 완료되면 active로 변경하세요.
실무 시나리오
시나리오: 반응기 MPC 컨트롤러 신규 등록
신규 반응기에 온도·압력 MPC를 적용합니다.
- [APC컨트롤러]에서 컨트롤러코드
APC-RX-001, 유형mpc로 등록합니다 - 제어변수에 온도(180±5℃)와 압력(3.0±0.2bar)을 정의합니다
- 조작변수에 스팀밸브(0
100%)와 냉각수밸브(0100%)를 정의합니다 - 예측구간 30, 제어구간 10, 샘플링시간 60초를 설정합니다
- APC모델파라미터에서 게인, 시정수, 지연시간을 입력합니다
- 초기 상태는
tuning으로 설정하고, 검증 후active로 변경합니다
📋 참고: 데이터 구조 (개발자/관리자용)
테이블 정보
- 테이블명:
apc_controllers - 감사 추적: 활성화
- 인쇄 기능: 지원
컬럼 상세
| 컬럼명 | 한글명 | 타입 | 설명 |
|---|---|---|---|
controller_code | 컨트롤러코드 | VARCHAR *필수 *고유 | - |
controller_name | 컨트롤러명 | VARCHAR *필수 | - |
controller_type | 컨트롤러유형 | ENUM(mpc, dmc, rto, inferential) *필수 | - |
controlled_variables | 제어변수 | JSONB *필수 | 제어 변수 목록 (CV) JSON [{name, target, min, max, unit}] |
manipulated_variables | 조작변수 | JSONB *필수 | 조작 변수 목록 (MV) JSON [{name, min, max, rateLimit, unit}] |
disturbance_variables | 외란변수 | JSONB | 외란 변수 목록 (DV) JSON [{name, type, unit}] |
model_matrix | 모델행렬 | JSONB | 프로세스 모델 행렬 (step response / transfer function) |
prediction_horizon | 예측구간 | INT *필수 | 예측 수평선 (샘플 수) |
control_horizon | 제어구간 | INT *필수 | 제어 수평선 (샘플 수) |
sample_time_sec | 샘플링시간(초) | DECIMAL *필수 | 제어 주기 (초) |
equipment_id | 설비ID | UUID (FK) *필수 | equipment 참조 |
status | 상태 | ENUM(active, tuning, disabled) *필수 | - |
tuning_date | 최종튜닝일 | TIMESTAMP | - |
operator_id | 담당자ID | UUID (시스템참조) | - |
description | 설명 | TEXT | - |