팀 과제 다섯 가지와 평가 기준을 안내합니다. 회사 데이터를 받기 전에 준비할 체크리스트도 살펴봅니다. 과제는 모두 예측 시스템 코드를 고치지 않고 할 수 있습니다. 이 교재의 2~5장에서 쓴 도구(가상 RTU, 시나리오 RTU,
replay.py, 고장 기록 파일 생성기)와 예측 시스템 화면만으로 충분합니다.
팀 과제#
| 과제 | 하는 일 | 내는 것 |
|---|---|---|
| A. 고장 분류 정의서 | 회사의 설비 목록과 정비 기록을 받아 4장의 견본 표를 실제 설비로 채웁니다. 분류마다 「1」로 칠 구간, 기록의 출처, 시각의 정확도, 필요한 PLC 태그를 정합니다 | 분류표, 라벨 규칙, 없는 태그 목록 |
| B. 재학습 정책 표 | replay.py --every 30·60·120과 --manual로 다섯 시나리오를 모두 돌려 5장의 두 표를 채웁니다. 팝업 시각은 화면 규칙대로 셉니다 |
정책별 첫 알람·헛팝업 표, 추천 설정과 이유 |
| C. 레시피별 기준선 | recipe 시나리오에서 레시피 A 구간과 B 구간을 따로 CSV로 만들어(「데이터 수집」의 파일 업로드) 각각 학습한 모델로 분석합니다. 기준선을 나누면 레시피 변경 헛알람이 얼마나 주는지 잽니다 |
나누기 전후의 AI 알람 분, 필요한 태그 |
| D. 라벨 모델 흔들기 | 4장 파일을 바꿔 봅니다. 예측 단계를 10·30·120으로 바꾸고, 전조 없이 갑자기 오는 걸림을 섞고, 라벨 시각을 ±30분 흔듭니다 | 조건별 「50% 이상이 계속된 시작」 표와 해석 |
| E. 진동 채널을 더하면 | 설비 예지보전 PBL의 진동 특징(베어링 결함 주파수)을 1분 간격 다섯째 채널로 넣는다면 베어링 열화를 얼마나 일찍 볼지 설계합니다 | 채널 정의, 측정 방식, 예상 효과와 근거 |
과제 D는 다음 부분에서 시작합니다. kang/scenarios.py의 labeled_pump에서 걸림 하나를 전조 없이 바꾸려면, 그 걸림의 for i in range(j - 240, j) 부분만 건너뜁니다.
평가 기준#
| 항목 | 비중 | 좋은 답 |
|---|---|---|
| 실행 재현성 | 25% | 명령·설정·시드·버전이 적혀 있어 다른 팀이 같은 숫자를 얻음 |
| 숫자의 정직함 | 25% | 헛알람을 함께 셈. 「대조 실행에서도 뜬 팝업」을 구분함. 합성 데이터의 한계를 밝힘 |
| 현장 연결 | 25% | 어떤 태그·기록이 있어야 하는지, 누가 언제 무엇을 확인해야 하는지까지 씀 |
| 설명 | 25% | 「점수가 높다」를 「곧 고장 난다」로 단정하지 않음. 규칙과 AI가 각각 무엇을 보는지 말로 설명함 |
회사 데이터를 받기 전에: 체크리스트#
-
설비 목록: 분산기·비드밀·레트다운 교반기·이송 펌프가 몇 대씩이고, 펌프는 어떤 종류(기어·나사·원심·AODD)인지 확인합니다. 펌프 종류에 따라 걸림 신호의 방향이 반대입니다(1장).
-
PLC 태그 사전 원본: 태그마다 주소·형·단위·스케일을 확인합니다. 먼저 레시피·배치 단계·설정 회전수·운전 상태 태그, 그다음 모터 전류·펌프 압력·온도 태그를 찾습니다. 진동 태그는 없을 가능성이 큽니다.
-
측정 원본: 엑셀이든 CSV든, 시각·태그·값이 있는 실제 기록 며칠 치를 받습니다. 2장의 CSV 형식(
USER출처)으로 변환할 수 있는지 확인합니다. -
고장 기록: PLC 트립·인터록 이력(기계가 남긴 시각), 정비 일지(사람이 남긴 시각과 부품), 청소·세척 기록을 받습니다. 이 기록으로 4장의 라벨을 만듭니다.
-
고장이 아닌 사건 기록: 레시피 변경, 원료 투입, 세척, 계획 정지 시각입니다. 5장의 헛알람을 거르는 데 씁니다.
-
사람의 확인 기록: 알람이 울렸을 때 운전자가 「맞다/아니다」를 남길 방법을 정합니다. 이 기록이 쌓이면 가장 좋은 라벨이 됩니다(1장의 현장 연구에서 헛경보를 90% 줄인 방법).
에이전트 연동에 대하여#
이 교재의 예측 시스템은 머신러닝 분석과 보고까지 수행합니다. 데이터가 들어올 때마다 에이전트가 모델을 고르고, 섀도로 검증하고, 승격하는 운영은 설비 예지보전 PBL 5장에서 합성 데이터로 실습할 수 있습니다. KANG 시스템에 에이전트를 연결하려면 에이전트용 API가 따로 필요합니다. 이 기능은 기본 배포본에 포함되지 않으므로 개발 측과 협의해야 합니다.
이번 실행에서 확인한 제약#
v0.5.1을 이 교재대로 실행하면서 확인한 제약입니다. 실습할 때 당황하지 않도록 정리했습니다.
| 무엇 | 어떻게 보이나 | 어떻게 하나 |
|---|---|---|
| 8765 포트를 다른 프로그램이 쓰는 경우 | 예측 시스템이 새로 뜨지 않고 그 주소의 다른 화면을 엶 | --port로 빈 포트를 줌(2장) |
| 자동 재학습 문구 | 재학습 뒤에도 학습 상태 줄 앞부분이 「초기 학습 완료」 | 모델 ID와 「다음 ○○시점」으로 확인(2장) |
| macOS의 PDF 한글 | 이상·기간·학습 PDF의 한글이 □로 나옴(글꼴 등록 실패, Helvetica로 대체) | 숫자는 읽을 수 있음. Windows에서는 맑은 고딕 사용 |
| 좁은 화면 | 창 폭이 1440보다 좁으면 카드가 겹침(1440에서도 미리보기 표 일부가 가려짐) | 브라우저 창을 넓히거나 확대 비율을 줄임 |
| 실시간 경로의 고장 확률 | RTU 연결로는 고장 확률 모델이 만들어지지 않음 | 라벨이 붙은 파일로 학습(4장) |
| 문서의 시험 개수 | 배포 문서마다 자동 시험 수가 다르게 적혀 있고(59+3 / 85 / 92), 배포본에 tests/ 폴더가 없음 |
기능 확인은 이 교재의 실행 기록으로 |