중소제조업용 MES, ERP에 AI를 적용한다고 하면 거창하게 들릴 수 있습니다.
하지만 실제로는 처음부터 복잡한 AI 모델을 만드는 것보다 기존 시스템의 데이터 흐름 안에 AI 판단 기능을 하나씩 넣는 방식이 가장 현실적입니다.
핵심은 이것입니다.
MES·ERP는 데이터를 모으고,
AI는 데이터를 분석하고,
사람은 최종 판단하는 구조입니다.
1. 전체 구조는 이렇게 잡는 것이 좋다
MES·ERP에 AI를 붙일 때 기본 구조는 다음과 같습니다.
현장 설비 / 작업자 / 검사장비 / ERP
↓
MES·ERP DB
↓
데이터 정리 / 전처리
↓
AI 분석 서버
↓
예측 / 추천 / 요약 / 이상감지
↓
MES·ERP 화면에 결과 표시
↓
관리자 확인 / 승인 / 조치
즉, AI가 MES를 대체하는 것이 아닙니다.
MES·ERP 안에 AI 기능이 들어가는 것입니다.
처음에는 AI가 직접 업무를 실행하기보다, 다음 정도가 안전합니다.
AI가 분석한다
AI가 추천한다
AI가 경고한다
사람이 확인한다
사람이 승인한다
시스템이 처리한다
제조 현장에서는 AI가 잘못 판단했을 때 생산계획, 재고, 품질, 납기에 직접 영향이 생길 수 있으므로 완전 자동 처리보다는 승인형 AI 구조가 적합합니다.
2. 적용 가능한 AI 기능
1) AI 작업일보 자동 요약
가장 먼저 적용하기 좋은 기능입니다.
MES에는 매일 생산실적, 불량, 비가동, 작업자 메모, 검사 결과가 쌓입니다.
이 데이터를 AI가 하루 단위로 요약해 줍니다.
예시는 다음과 같습니다.
금일 생산량은 계획 대비 92% 수준입니다.
A라인에서 14:20~15:10 사이 비가동이 발생했습니다.
B품목의 외관불량이 평소보다 높게 발생했습니다.
주요 원인은 금형 교체 이후 조건 미안정으로 추정됩니다.
기술적으로는 LLM을 사용하면 됩니다.
구조는 간단합니다.
MES DB 조회
→ 일자별 생산/불량/비가동 데이터 추출
→ AI 프롬프트 생성
→ LLM API 호출
→ 요약 결과 저장
→ 관리자 화면 표시
이 기능은 별도 학습 데이터가 많지 않아도 적용 가능합니다.
2) AI 사용법 도우미
MES·ERP 사용자가 화면 사용법을 모를 때 AI에게 질문하는 기능입니다.
예를 들면 사용자가 이렇게 묻습니다.
작업지시는 어디서 등록하나요?
불량 등록 후 수정할 수 있나요?
BOM 엑셀 업로드는 어떻게 하나요?
월별 생산실적은 어디서 조회하나요?
AI는 매뉴얼, 화면 설명, 업무 규칙을 기반으로 답변합니다.
이때 사용하는 방식이 RAG입니다.
RAG는 AI 모델이 자체 기억만으로 답하는 것이 아니라, 회사의 매뉴얼, 업무 규칙, 화면 설명 같은 외부 지식을 검색해서 답변에 활용하는 방식입니다. OpenAI의 최신 API도 파일 검색, 벡터 저장소, 도구 호출을 활용해 이런 검색 기반 응답 구조를 구성할 수 있습니다.
구조는 다음과 같습니다.
MES 매뉴얼 PDF / DOC / MD
→ 문서 분할
→ 임베딩 생성
→ 벡터 DB 저장
→ 사용자 질문
→ 관련 문서 검색
→ AI 답변 생성
→ 화면에 표시
이 기능은 MES·ERP 업체 입장에서 매우 유용합니다.
고객 문의를 줄이고, 사용자의 시스템 적응을 빠르게 도와줄 수 있습니다.
3) 불량 이상 감지
품질 데이터가 쌓이면 AI로 이상 여부를 판단할 수 있습니다.
예를 들어 평소 불량률이 1%인데 특정 시간대에 5%로 올라가면 시스템이 자동으로 알려줍니다.
품목: A-100
공정: 사출
설비: IMM-03
평균 불량률: 1.2%
현재 불량률: 5.8%
판정: 이상 가능성 높음
처음에는 복잡한 딥러닝이 필요 없습니다.
간단한 방식부터 시작하면 됩니다.
이동평균
표준편차
관리도
임계값
Z-Score
Isolation Forest
Random Forest
XGBoost
기술 구조는 다음과 같습니다.
검사 데이터 수집
→ 품목/공정/설비/시간대별 집계
→ 과거 평균과 비교
→ 이상 점수 계산
→ 이상 발생 시 알림
초기에는 통계 기반으로 시작하고, 데이터가 충분해지면 머신러닝 모델로 확장하는 것이 좋습니다.
4) 납기 지연 예측
ERP에는 수주, 납기, 재고, 구매 데이터가 있고, MES에는 생산계획, 작업지시, 실적, 불량, 비가동 데이터가 있습니다.
이 데이터를 연결하면 납기 지연 가능성을 예측할 수 있습니다.
예측에 사용할 수 있는 데이터는 다음과 같습니다.
수주일
납기일
품목
수량
현재 재고
자재 입고 예정일
생산계획 시작일
현재 생산 진도
공정별 표준시간
최근 불량률
설비 비가동 시간
외주 공정 여부
결과는 이렇게 표시할 수 있습니다.
수주번호: SO20260627-001
품목: BRACKET-A
납기일: 2026-07-05
현재 진도율: 42%
납기 지연 가능성: 높음
예상 지연일: 2일
주요 원인: 자재 입고 지연, 가공공정 부하 증가
기술적으로는 분류 모델 또는 회귀 모델을 사용할 수 있습니다.
분류 모델: 정상 / 위험 / 지연
회귀 모델: 예상 지연일 계산
C# 기반 시스템이라면 ML.NET을 사용할 수 있습니다. ML.NET은 .NET 환경에서 사용자 정의 머신러닝 모델을 만들고 앱에 통합할 수 있는 프레임워크이며, ONNX나 TensorFlow 같은 외부 모델도 활용할 수 있습니다.
5) 재고 부족 예측
ERP·MES에서 가장 실용적인 AI 기능 중 하나입니다.
현재 재고만 보는 것이 아니라, 앞으로의 수주, 생산계획, BOM 소요량을 기준으로 부족 가능성을 예측합니다.
필요 데이터는 다음과 같습니다.
현재 재고
안전재고
수주 수량
생산계획
BOM 소요량
구매 발주 잔량
입고 예정일
평균 사용량
리드타임
결과는 다음처럼 표시합니다.
자재코드: RM-001
현재 재고: 120kg
예상 소요량: 180kg
입고 예정: 2026-07-03
부족 예상일: 2026-07-01
부족 예상량: 60kg
권장 조치: 긴급 발주 또는 생산계획 조정
초기에는 AI보다 계산식 기반으로 시작해도 됩니다.
예상재고 = 현재재고 + 입고예정 - 생산소요량
이후에는 과거 사용 패턴, 납기 변동, 불량률, 긴급 수주 데이터를 포함해 AI 예측 모델로 확장할 수 있습니다.
6) 설비 이상 예측
설비에서 데이터를 받을 수 있다면 AI 적용 효과가 큽니다.
수집 대상은 다음과 같습니다.
온도
전류
전압
진동
압력
속도
가동시간
정지시간
알람코드
작업조건
생산수량
불량수량
설비 데이터를 수집하는 방법은 여러 가지가 있습니다.
PLC 통신
OPC UA
Modbus TCP
Serial RS232/RS485
장비 API
센서 게이트웨이
IoT 장비
OPC UA는 산업 설비와 데이터 시스템을 연결하는 표준적인 방식 중 하나이며, PLC·센서·ERP 같은 여러 데이터 소스를 연결해 분석 가능한 구조로 만드는 데 활용됩니다.
예지보전 구조는 다음과 같습니다.
설비 데이터 수집
→ 초 단위 또는 분 단위 저장
→ 정상 패턴 학습
→ 이상 패턴 감지
→ 고장 가능성 점수 계산
→ 관리자 알림
예시는 다음과 같습니다.
설비: COMP-02
상태: 이상 징후
근거: 전류값 18% 상승, 온도 12℃ 상승, 진동 패턴 변화
예상 위험: 모터 과부하 가능성
권장 조치: 베어링 점검, 냉각팬 확인
예지보전은 IoT 데이터와 머신러닝을 활용해 설비 고장을 사전에 예측하고 다운타임을 줄이는 방향으로 제조업에서 계속 확대되고 있습니다.
7) AI 품질 원인 분석
불량이 발생했을 때 원인 후보를 AI가 찾아주는 기능입니다.
예를 들어 특정 불량이 증가했을 때 다음 데이터를 함께 봅니다.
품목
공정
설비
작업자
원재료 LOT
금형
작업조건
온도
습도
검사값
작업시간
교대조
AI는 패턴을 찾아냅니다.
최근 7일간 외관불량은 IMM-03 설비에서 집중 발생했습니다.
특히 야간조, 금형 M-102 사용 시 불량률이 높습니다.
원재료 LOT RM-20260620 투입 이후 불량이 증가했습니다.
이 기능은 단순 조회보다 훨씬 가치가 큽니다.
관리자가 원인을 찾는 시간을 줄여주기 때문입니다.
초기 구현은 SQL 분석과 통계만으로도 가능합니다.
SELECT item_code, machine_code, defect_code, COUNT(*) defect_count
FROM mes_defect
WHERE work_date BETWEEN '2026-06-01' AND '2026-06-27'
GROUP BY item_code, machine_code, defect_code
ORDER BY defect_count DESC;
이후 AI가 결과를 자연어로 해석해 주면 됩니다.
3. 기술 구성 방식
중소제조업용 MES·ERP 기준으로는 다음 구성이 현실적입니다.
1) 기존 업무 시스템
C# WinForms
C# MAUI
ASP.NET Core
Python Flask
MariaDB / MS SQL Server
현재 중소 제조 현장에는 Windows 기반 프로그램이 많으므로 C# WinForms 기반 MES는 여전히 현실성이 있습니다.
다만 앞으로 태블릿, 모바일, 웹까지 고려한다면 API 중심 구조가 좋습니다.
2) AI 서버
AI 기능은 업무 프로그램 안에 직접 모두 넣기보다 별도 서버로 분리하는 것이 좋습니다.
MES Client
→ MES API Server
→ AI Service Server
→ AI Model / LLM API / Vector DB
AI 서버는 Python이 적합합니다.
Python FastAPI 또는 Flask
pandas
scikit-learn
PyTorch
ONNX Runtime
LangChain 또는 LlamaIndex
Vector DB
C# 프로그램은 AI 서버에 HTTP API로 요청합니다.
C# WinForms
→ http://server/api/ai/defect-analysis
→ AI 서버 분석
→ JSON 결과 반환
→ 화면 표시
3) DB 구조
AI를 적용하려면 기존 업무 테이블 외에 AI용 테이블을 추가하는 것이 좋습니다.
예시는 다음과 같습니다.
CREATE TABLE ai_request_log (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
request_type VARCHAR(50),
user_id VARCHAR(50),
input_text LONGTEXT,
input_json LONGTEXT,
result_text LONGTEXT,
result_json LONGTEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE ai_prediction_result (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
prediction_type VARCHAR(50),
target_key VARCHAR(100),
score DECIMAL(10,4),
result_code VARCHAR(50),
result_message TEXT,
model_version VARCHAR(50),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE ai_model_info (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
model_name VARCHAR(100),
model_type VARCHAR(50),
model_version VARCHAR(50),
train_from_date DATE,
train_to_date DATE,
accuracy DECIMAL(10,4),
deployed_yn CHAR(1),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
이렇게 해야 AI가 언제, 어떤 데이터로, 어떤 결과를 냈는지 추적할 수 있습니다.
제조업에서는 AI 결과도 나중에 설명 가능해야 합니다.
그래서 AI 로그, 모델 버전, 입력 데이터, 결과 데이터를 반드시 남기는 것이 좋습니다.
4. C# WinForms에서 AI 기능 호출 예시
MES 화면에서 AI 서버를 호출하는 방식은 단순합니다.
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Newtonsoft.Json;
public partial class frmAiSummary : Form
{
private readonly HttpClient _httpClient = new HttpClient();
private async void btnAiSummary_Click(object sender, EventArgs e)
{
try
{
var request = new
{
workDate = dtpWorkDate.Value.ToString("yyyy-MM-dd"),
plantCode = "P01",
lineCode = "L01"
};
string json = JsonConvert.SerializeObject(request);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await _httpClient.PostAsync(
"http://localhost:8000/api/ai/daily-summary",
content
);
response.EnsureSuccessStatusCode();
string result = await response.Content.ReadAsStringAsync();
dynamic data = JsonConvert.DeserializeObject(result);
txtResult.Text = data.summary;
}
catch (Exception ex)
{
MessageBox.Show(
"AI 분석 중 오류가 발생했습니다.\n" + ex.Message,
"AI 분석 오류",
MessageBoxButtons.OK,
MessageBoxIcon.Warning
);
}
}
}
5. Python FastAPI AI 서버 예시
from fastapi import FastAPI
from pydantic import BaseModel
import pymysql
app = FastAPI()
class DailySummaryRequest(BaseModel):
workDate: str
plantCode: str
lineCode: str
@app.post("/api/ai/daily-summary")
def daily_summary(req: DailySummaryRequest):
# 1. MES DB 조회
# 2. 생산/불량/비가동 데이터 집계
# 3. AI 요약 생성
# 4. 결과 반환
summary = f"""
{req.workDate} 기준 {req.lineCode} 라인의 생산실적을 분석했습니다.
계획 대비 생산량은 양호하나 일부 불량 증가가 확인되었습니다.
비가동 시간과 불량 유형을 추가 점검하는 것이 좋습니다.
"""
return {
"result": "OK",
"summary": summary
}
실제 운영에서는 여기에 DB 조회, 통계 분석, LLM 호출, 결과 저장 기능을 추가하면 됩니다.
6. AI 기능별 구현 난이도
낮은 난이도
바로 적용하기 좋은 기능입니다.
AI 작업일보 요약
AI 사용법 도우미
AI 보고서 생성
AI 오류 메시지 설명
AI SQL 조회 보조
AI 매뉴얼 검색
이 기능들은 기존 데이터와 문서만 있어도 시작할 수 있습니다.
중간 난이도
MES 데이터가 어느 정도 쌓여야 합니다.
불량 이상 감지
납기 지연 예측
재고 부족 예측
생산계획 추천
원가 상승 요인 분석
작업 부하 분석
이 기능은 데이터 정리와 모델 검증이 필요합니다.
높은 난이도
설비 데이터, 센서 데이터, 이미지 데이터가 필요합니다.
설비 예지보전
AI 비전 검사
로봇 작업 최적화
디지털 트윈
공정 조건 자동 최적화
이 영역은 데이터 수집 장치, 현장 인터페이스, 모델 학습, 검증 환경이 필요합니다.
7. 중소제조업에 가장 현실적인 적용 순서
처음부터 AI를 크게 적용하려고 하면 실패할 가능성이 높습니다.
현실적인 순서는 다음과 같습니다.
1단계: AI 요약 기능
작업일보 요약
불량 현황 요약
생산실적 요약
월간 경영 리포트
가장 빠르게 효과를 볼 수 있습니다.
2단계: AI 도우미
MES 사용법 질문
ERP 사용법 질문
업무 매뉴얼 검색
오류 메시지 설명
고객 지원과 교육 부담을 줄일 수 있습니다.
3단계: 이상 감지
불량률 이상
생산량 저하
비가동 증가
재고 급감
통계 기반으로 시작할 수 있습니다.
4단계: 예측 모델
납기 지연 예측
재고 부족 예측
설비 이상 예측
품질 불량 예측
이때부터는 과거 데이터가 중요합니다.
5단계: 승인형 AI Agent
AI가 발주 추천
AI가 생산계획 추천
AI가 작업지시 초안 생성
AI가 고객 납기 답변 초안 생성
관리자가 승인 후 처리
마지막 단계에서 자동화 수준을 높이는 것이 안전합니다.
8. MES·ERP 업체가 준비해야 할 공통 모듈
AI 기능을 제품화하려면 공통 모듈을 미리 만들어야 합니다.
AI API 호출 모듈
AI 요청/응답 로그 모듈
AI 결과 저장 테이블
AI 모델 버전 관리
AI 권한관리
AI 사용량 관리
AI 프롬프트 관리
AI 매뉴얼 문서 관리
AI 알림 모듈
AI 분석 결과 화면
특히 프롬프트 관리가 중요합니다.
예를 들어 작업일보 요약 프롬프트를 DB에 저장해두면, 고객사별로 문체나 분석 기준을 다르게 적용할 수 있습니다.
CREATE TABLE ai_prompt_template (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
prompt_code VARCHAR(50),
prompt_name VARCHAR(100),
prompt_text LONGTEXT,
use_yn CHAR(1),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
9. AI 기능 적용 시 주의할 점
1) AI 결과를 무조건 믿으면 안 된다
AI는 틀릴 수 있습니다.
그래서 제조업에서는 반드시 근거 데이터를 함께 보여줘야 합니다.
AI 판단: 불량 위험 높음
근거 1: 최근 3일 불량률 4.8%
근거 2: 평소 평균 1.2%
근거 3: 특정 설비에서 집중 발생
2) 보안이 중요하다
ERP와 MES에는 회사의 핵심 데이터가 들어 있습니다.
거래처
단가
원가
수주
생산량
불량률
재고
도면
공정조건
외부 AI API를 사용할 경우 어떤 데이터를 보낼지 신중해야 합니다.
민감한 데이터는 마스킹하거나 내부 AI 서버를 사용하는 것이 좋습니다.
3) 데이터 품질이 AI 품질이다
AI 모델보다 중요한 것이 데이터입니다.
품목코드가 엉망이면 예측도 엉망
불량명이 제각각이면 분석도 엉망
작업실적이 부정확하면 납기 예측도 엉망
따라서 AI 프로젝트의 첫 단계는 항상 데이터 정비입니다.
4) 현장 사용성이 더 중요하다
AI 분석 결과가 아무리 좋아도 현장 작업자가 쓰지 않으면 의미가 없습니다.
AI 결과는 짧고 명확해야 합니다.
위험
주의
정상
그리고 바로 조치할 수 있어야 합니다.
상세 보기
작업지시 확인
불량내역 조회
설비점검 등록
자재발주 요청
10. 추천 기술 스택
중소제조업 MES·ERP 업체 기준으로는 다음 구성이 좋습니다.
업무 프로그램:
C# WinForms, C# MAUI, ASP.NET Core
DB:
MariaDB, MS SQL Server
AI 서버:
Python FastAPI
데이터 분석:
pandas, scikit-learn
딥러닝/비전:
PyTorch, ONNX Runtime
C# AI 연동:
ML.NET, ONNX Runtime, HTTP API
문서 기반 AI:
RAG, Vector DB, Embedding
설비 연동:
OPC UA, Modbus TCP, Serial, PLC 통신
운영:
Docker, Windows Service, Linux Server
C# 기반 MES에서는 AI 모델을 직접 포함하기보다, 초기에는 Python AI 서버와 API로 연결하는 방식이 가장 유연합니다. 이후 성능이나 오프라인 운영이 필요하면 ONNX 모델로 변환해 C#에서 직접 추론하는 방식도 가능합니다. ML.NET은 .NET 앱에서 자체 모델을 학습·사용하거나 ONNX 같은 외부 모델을 소비할 수 있어 C# 기반 제조 시스템과 결합하기 좋습니다.
마무리
MES·ERP에 AI를 적용하는 핵심은 복잡한 AI 기술 자체가 아닙니다.
중요한 것은 다음입니다.
업무 데이터를 제대로 모으는 것
AI가 분석할 수 있는 구조로 정리하는 것
작은 기능부터 적용하는 것
AI 결과를 MES·ERP 화면 안에서 바로 활용하는 것
최종 판단과 승인은 사람이 하는 것
중소제조업에서는 처음부터 거창한 AI보다 다음 기능부터 시작하는 것이 가장 현실적입니다.
AI 작업일보 요약
AI 사용법 도우미
불량 이상 감지
재고 부족 예측
납기 지연 예측
설비 이상 알림
결국 앞으로의 MES·ERP는 단순 입력 프로그램이 아니라,
현장 데이터를 모으고,
AI가 분석하고,
관리자가 더 좋은 결정을 하게 만드는 제조 운영 플랫폼이 되어야 합니다.
'AI' 카테고리의 다른 글
| 영상 제작 툴은?! (0) | 2026.06.27 |
|---|---|
| AI 서버 없이 C# ML.NET으로 구현한다면? (0) | 2026.06.27 |
| AI 시대, SI 업체와 중소제조업 MES·ERP 업체가 준비해야 할 일 (0) | 2026.06.27 |
| AI와 로봇의 시대, 사라질 직업과 살아남을 인간의 일 (0) | 2026.06.27 |
| AI에서 토큰(Token)의 의미와 가격 구조 (0) | 2026.06.21 |