예지보전 실습 · KANG 공정판 튜토리얼
4부 현장 데이터와 과제7

과제와 현장으로 가는 길

팀 과제 다섯 개로 이 프로그램을 「현장에 들일 수 있는가」의 관점에서 다시 봅니다. 모든 과제는 배포본을 고치지 않고 화면·API·파일만으로 할 수 있습니다. 끝에 이번 실행에서 확인한 제약을 개발 측에 전할 목록으로 정리했습니다.

과제#

3~4명이 한 팀을 이룹니다. 과제마다 「무엇을 바꿨고, 무엇을 쟀고, 무엇을 결론 냈는지」를 표 하나와 문단 하나로 정리해 제출합니다. 수치는 반드시 직접 실행한 값이어야 합니다.

과제 A. 학습 길이와 헛알람#

RTU를 「이력 초기화」하고 「운전 시작」을 누른 뒤 5분, 10분, 24분째에 각각 연결(또는 승인 재학습)합니다. 그다음 이상을 넣지 않은 정상 운전 10분 동안 「주의」「위험」이 몇 번 켜졌는지 셉니다.

  • 「이상 알람」 메뉴를 2초마다 기록하거나, PDM의 /api/rtu/sync 응답에서 live.baseline_anomaly, live.process_anomaly를 셉니다.
  • 학습 길이(시점 수)를 가로축, 헛알람 비율을 세로축으로 그립니다. 5장의 두 점(학습 192시점 23%, 864시점 1.3%) 사이가 어떤 모양인지 확인합니다.
  • 결론: 「이 RTU라면 최소 몇 분의 정상 이력이 필요한가」와 그 근거.

과제 B. 기존 방식이 놓치는 이상#

3장의 curl로 한 채널만 바꾸는 실험을 일곱 채널에 각각 진행합니다. 값은 정상 범위 밖으로 1.5배, 3배 벗어난 두 수준으로 넣습니다.

  • 채널 × 수준마다 기존 방식과 PCA가 처음 이상이라고 한 시간과 60초 동안의 알람 비율을 표로 만듭니다.
  • 기존 방식이 끝까지 못 잡은 채널을 고르고, 그 채널이 반응기에서 어떤 고장과 관련되는지(1장 표) 적습니다.
  • 결론: 기존 방식(온도·압력)만 쓰는 현장이라면 어떤 이상을 놓치는가.

과제 C. 이상을 먼저 넣고 연결할 때의 경계#

5장에서 40초는 잡혔고 120초는 못 잡았습니다. 그 사이에서 경계가 어디인지 먼저 계산으로 예측하고 실험으로 확인합니다.

  • 힌트: 연결 때 이력은 정상 320시점 + 이상 L시점입니다. 이상이 검증 구간(60~80% 사이)에 처음 걸치는 L은 얼마인가요?
  • L을 예측값 앞뒤로 10초씩 바꾸어 연결하고, 이상 동안 「위험」이 나는지 봅니다.
  • 결론: 「연결 전에 이상이 이 시간보다 길면 안 된다」는 규칙을 이력 길이로 일반화합니다.

과제 D. 승인 재학습 규칙 만들기#

이 프로그램에서 재학습하려면 사람이 버튼을 눌러야 합니다. 누를지 말지를 정하는 운전 규칙을 쓰고 시험합니다.

  • 규칙 초안 예: 「최근 24분 안에 수동 이상·알람·정지가 없을 때만」, 「『수동 이상 0개』를 확인한 뒤」.
  • 규칙을 어긴 재학습(5장)과 지킨 재학습을 한 번씩 하고, 그 뒤 같은 이상을 넣어 결과를 비교합니다.
  • 현장에는 LABEL이 없습니다. 「수동 이상 0개」 대신 무엇을 보고 판단할지(운전 일지, 알람 이력, 운전 모드 태그)를 정합니다.

과제 E. 현장 PLC_DATA 준비 계획#

반응기 DT-100 하나를 대상으로, 현장에서 PLC_DATA를 받아 이 프로그램에 넣기까지의 계획을 씁니다.

  • 어떤 태그를 넣을지(설비 필터로 걸리는지 포함), 기록 주기, 기간(몇 주), 빼야 할 구간(기동·정지·세정·품종 변경)
  • 파일 앞쪽 80%를 정상으로 만드는 방법(6장)
  • 성능을 잴 라벨: 과거 알람·정비 기록에서 무엇을 가져올지, 「몇 분 먼저 알았나」를 어떻게 잴지
  • 현장 데이터의 외부 반출 금지 원칙을 어떻게 지킬지

평가 기준#

기준 비중 좋은 답
실행 근거 30% 모든 수치가 직접 실행한 값이고, 다시 실행하는 방법(순서·시간·값)이 적혀 있습니다
원리 설명 25% 결과를 창 20시점, 60·20·20 분할, 검증 99% 임계값, 입력 채널로 설명합니다
현장 판단 25% 놓친 시간과 헛알람 수를 따로 재고, 어느 쪽이 더 큰 비용을 초래하는지 현장 관점에서 판단합니다
한계 인식 20% 합성 데이터(잡음 없음)와 화면의 「멈춤」이 결과를 얼마나 쉽게 얻도록 했는지 짚습니다

개발 측에 전할 확인 사항#

다음은 이번 실행(2026-11-11, macOS, 배포본 v0.1.0 수정 없음)에서 확인한 사항입니다. 교육 진행이나 현장 적용 전에 개발 측과 함께 확인하면 좋습니다.

구분 내용
설치 macOS·Linux에서 pip install -e ".[workflow,web]"가 pywin32 때문에 실패합니다. setup_windows.bat은 Python 위치(C:\projects\sdk\python-3.12)가 고정되어 있습니다. launcher.py는 Windows 전용입니다
화면 상태 줄 「마지막 데이터」에 시각 대신 날짜 조각(11.)이 나옵니다(한국어 브라우저). AutoML 후보 표는 세 줄만 보이고 표 안에서 아래로 스크롤해야 나머지가 보입니다
수동 이상 화면은 일곱 값을 모두 상수로 보내므로 「한 변수만」 실험이 되지 않습니다. 「멈춤」이 늘 섞입니다
RTU 생성 「운전 정지」·「이력 초기화」 뒤 1초 안에 「운전 시작」이 오면 생성 작업이 두 개로 늘어나 1초에 두 시점씩 쌓입니다
학습 구간 학습 구간(정상 운전 기간)을 고르는 칸이 없습니다. 연결·재학습 때의 이력 전체를 60·20·20으로 나눕니다. 이상이 학습·검증 구간에 들어가면 헛알람이 크게 늘거나 아무것도 잡지 못합니다
첫 학습 길이 RTU를 켜고 바로 연결하면 학습 192시점(약 3분)으로 학습해, 정상 운전 중 갱신의 20~26%에서 알람이 납니다
AutoML 고른 후보를 알람에 쓰지 않습니다. 알람은 늘 IF-100(온도·압력)과 PCA-95입니다
저장 모델을 파일로 저장하지 않습니다. PDM을 다시 켜면 다시 학습해야 합니다
Zero-shot 첫 채널(온도)만 예측합니다. 화면에서 가중치를 내려받을 수 없으며, 이탈 점수 기능도 없습니다
교육 자료 PPT 10·17쪽의 실습 순서(이상 먼저 → 연결), 7쪽의 열 이름, 12쪽 「시간당 기울기」, 6·14쪽 「모델 저장」이 실제 동작과 다릅니다(시작하기 표)
설비 필터 PLC_LIST 없이 설비 필터를 쓰면 「해당하는 PLC_DATA가 없습니다」가 나옵니다. 순서를 화면에 안내하면 좋겠습니다

앞으로#

  • 같은 반응기를 KANG 판처럼 고장 기록(LABEL)과 함께 다루려면, 고장 분류와 라벨을 현장에서 먼저 정의해야 합니다.
  • 학습 구간을 고르고, 학습 전에 이상·정지 구간을 걸러 내고, 재학습 결과를 섀도로 비교한 뒤 바꾸는 운영 방식은 설비 예지보전 PBL의 3부(에이전트 운영)를 참고하세요.
© uEngine Solutions · 문의하기 · 이 교재의 화면과 수치는 2026년 11월 11일 KANG 공정 PDM v0.1.0 배포본을 고치지 않고 실제로 실행해 얻었습니다. RTU 데이터는 잡음 없는 합성 데이터이며 현장 성능이 아닙니다. 화면 제목의 고객사 이름은 가렸습니다.