30

MES/ERP 데이터 구조 및 연계

Day 1: 제조 데이터 분석 기초

학습 목표

MES의 핵심 테이블 구조를 이해한다 ERP-MES 데이터 연계 포인트를 파악한다 AI에 필요한 데이터 추출 전략을 수립할 수 있다

MES 핵심 데이터 모델

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│ work_order   │---->│ production   │---->│ quality      │
│──────────────│     │──────────────│     │──────────────│
│ wo_id (PK)   │     │ prod_id (PK) │     │ qc_id (PK)   │
│ product_code │     │ wo_id (FK)   │     │ prod_id (FK)  │
│ qty_ordered  │     │ equip_id(FK) │     │ inspect_type  │
│ start_date   │     │ lot_no       │     │ result (P/F)  │
│ due_date     │     │ qty_good     │     │ defect_code   │
│ priority     │     │ qty_defect   │     │ measured_val  │
│ status       │     │ cycle_time   │     │ spec_upper    │
└──────────────┘     │ start_time   │     │ spec_lower    │
                     │ end_time     │     └──────────────┘
┌──────────────┐     │ operator     │
│ equipment    │---->│ shift        │     ┌──────────────┐
│──────────────│     └──────────────┘     │ downtime     │
│ equip_id(PK) │                     --->│──────────────│
│ equip_name   │                          │ dt_id (PK)   │
│ equip_type   │                          │ equip_id(FK) │
│ line_id      │                          │ start_time   │
│ status       │                          │ end_time     │
│ install_date │                          │ reason_code  │
└──────────────┘                          └──────────────┘

MES 주요 테이블

테이블역할AI 활용
work_order작업 지시생산 스케줄링
production생산 실적OEE 계산
quality품질 검사SPC 분석
equipment설비 마스터설비 관리
downtime비가동 이력가용성 분석

ERP-MES 데이터 흐름

ERP -> MES (하향):              MES -> ERP (상향):
  ├── 생산 계획               ├── 생산 실적
  ├── 작업 지시               ├── 자재 소비
  ├── BOM                     ├── 품질 데이터
  └── 자재 가용 정보          └── 설비 가동률

AI를 위한 데이터 추출 SQL

-- OEE 계산을 위한 데이터 추출
SELECT
    e.equip_name,
    DATE(p.start_time) AS prod_date,
    SUM(EXTRACT(EPOCH FROM (p.end_time - p.start_time)))/3600.0 AS run_hours,
    COALESCE(SUM(d.downtime_min), 0)/60.0 AS down_hours,
    COUNT(p.prod_id) AS total_count,
    AVG(p.cycle_time) AS avg_cycle,
    SUM(p.qty_good) AS good_count,
    SUM(p.qty_defect) AS defect_count
FROM production p
JOIN equipment e ON p.equip_id = e.equip_id
LEFT JOIN downtime d ON e.equip_id = d.equip_id
    AND DATE(d.start_time) = DATE(p.start_time)
WHERE p.start_time >= '2024-01-01'
GROUP BY e.equip_name, DATE(p.start_time)
ORDER BY prod_date;
AI로 학습하기 — 꿀팁
MES-ERP 연계 인터페이스 명세 검증AI 학습 팁

MES와 ERP 연계는 이론상 간단해 보이지만 실제 구현에서는 트랜잭션 타이밍, 데이터 중복, 롤백 처리가 복잡합니다. AI가 설명한 연계 방식의 엣지 케이스와 누락 사항을 점검하세요.

다음 MES-ERP 데이터 연계 설계를 검토하고 실제 운영 시 발생 가능한 문제를 찾아줘. 검토 항목: 1) 생산 실적 전송 시 ERP 전기 완료 전 MES 완료 처리되는 타이밍 오류 가능성, 2) 자재 소비 실적과 ERP 재고의 불일치 케이스(스크랩 처리, 설비 내 잔량), 3) SAP IDoc 또는 REST API 연계에서 네트워크 장애 시 재전송 중복 방지 메커니즘 누락 여부, 4) 교대 마감 시 집계 기준 시간 불일치(MES 실시간 vs ERP 일 마감). 각 문제의 실제 사례와 표준 해결 패턴도 제시해줘:

[연계 설계 내용 붙여넣기]
이 팁이 도움이 됐나요?
핵심 포인트
  • MES 핵심 5개 테이블: work_order, production, quality, equipment, downtime
  • ERP->MES: 작업지시/BOM 하향, MES->ERP: 실적/소비 상향
  • AI를 위해 SQL로 MES 데이터를 추출하여 pandas로 분석