[비전실무 프로젝트 4편] MES 연동 방법 | 머신비전 검사 데이터를 생산관리 시스템과 연결하는 실무 가이드

머신비전 시스템은 제품의 PASS/FAIL 판정만 수행하는 장비가 아닙니다. 최근 제조업에서는 검사 결과를 MES(Manufacturing Execution System) 와 연동하여 생산 이력, 품질 데이터, 설비 정보까지 통합 관리하는 것이 일반적입니다.
특히 자동차, 반도체, 배터리, 전자부품과 같은 산업에서는 MES 연동이 필수 요구사항인 경우가 많습니다.
이번 글에서는 MES의 개념, 머신비전과의 연동 방식, 실제 데이터 구성, 구현 시 고려사항, 실패 사례, Q&A까지 실무 중심으로 자세히 알아보겠습니다.
MES(Manufacturing Execution System)란?
MES는 생산 현장에서 발생하는 모든 데이터를 실시간으로 관리하는 생산 실행 시스템입니다.
쉽게 말해 생산 계획과 ERP, 그리고 실제 생산 설비 사이에서 데이터를 연결하는 역할을 합니다.
MES에서는 다음과 같은 정보를 관리합니다.
- 생산 작업 지시
- 제품 생산 이력(Traceability)
- 검사 결과(PASS/FAIL)
- LOT 관리
- 설비 상태
- 작업자 정보
- 불량 통계
- 생산 실적
머신비전 시스템은 이 중 검사 결과와 품질 데이터를 제공하는 핵심 장비입니다.
머신비전과 MES를 연동하는 이유
예를 들어 자동차 부품을 검사한다고 가정해 보겠습니다.
머신비전 프로그램에서 다음과 같은 결과가 생성됩니다.
| 항목 | 내용 |
| 제품번호 | A2407110001 |
| LOT 번호 | LOT20260711 |
| 검사결과 | PASS |
| 검사시간 | 2026-07-11 10:15:25 |
| 검사설비 | Vision-01 |
| 작업자 | Operator01 |
| 검사이미지 | PASS_0001.jpg |
이 데이터를 MES로 전송하면 제품별 검사 이력이 자동으로 저장됩니다.
이후 고객 불량이 발생했을 때 해당 제품의 검사 기록을 즉시 조회할 수 있습니다.
MES 연동 전체 흐름
실제 현장에서 가장 많이 사용하는 구조입니다.
제품 투입
↓
Barcode 읽기
↓
PLC 검사 시작
↓
Camera 촬영
↓
Vision 검사
↓
PASS / FAIL 판단
↓
이미지 저장
↓
검사 결과 생성
↓
MES 전송
↓
ACK 수신
↓
PLC 완료 신호
검사 결과를 전송하기 전에 이미지 저장이 완료되어야 이미지 경로 오류를 방지할 수 있습니다.
MES로 전송하는 주요 데이터
실무에서는 PASS/FAIL만 전송하지 않습니다.
| Serial Number | 제품 고유번호 |
| Barcode | 바코드 |
| QR Code | QR 정보 |
| LOT 번호 | 생산 LOT |
| 검사결과 | PASS / FAIL |
| 검사시간 | DateTime |
| 검사설비 | Vision ID |
| Camera 번호 | Camera ID |
| Recipe | 검사 모델명 |
| AI Score | 검사 점수 |
| 측정값 | Width, Height 등 |
| NG Code | 불량 코드 |
| NG Reason | 불량 내용 |
| 이미지 경로 | 저장 위치 |
| 검사시간(ms) | Tact Time |
필요에 따라 고객사의 요구사항에 맞춰 데이터를 추가합니다.
가장 많이 사용하는 연동 방식
1. TCP/IP Socket
가장 널리 사용하는 방식입니다.
장점
- 빠른 전송 속도
- 실시간 통신
- PLC와 함께 사용하기 편리
단점
- 프로토콜 정의가 필요합니다.
2. REST API
최근 구축되는 MES에서는 REST API 방식이 많이 사용됩니다.
예시
POST /inspection
{
"Serial":"A001",
"Result":"PASS",
"Score":99.5,
"Time":"2026-07-11 10:20:15"
}
장점
- 유지보수가 쉽다.
- 웹 기반 시스템과 연동이 편리하다.
- 확장성이 높다.
3. Database 저장
일부 MES에서는 SQL Server, Oracle, MySQL 등에 직접 저장하기도 합니다.
장점
- 구현이 단순
- 검색 속도가 빠름
단점
- 보안 정책에 따라 접근이 제한될 수 있습니다.
4. CSV 파일 연동
중소기업에서 아직도 많이 사용하는 방식입니다.
Serial,Result,Score
A001,PASS,99.3
A002,FAIL,84.6
MES에서 일정 주기로 파일을 읽어갑니다.
검사 결과를 전송하는 타이밍
실무에서는 다음 순서를 권장합니다.
- 검사 완료
- 이미지 저장
- 검사 로그 저장
- 결과 생성
- MES 전송
- ACK 확인
- PLC 완료 신호
이 순서를 지키면 데이터 누락 가능성을 크게 줄일 수 있습니다.
실무에서 반드시 구현해야 하는 기능
1. 재전송(Retry)
네트워크 장애로 전송이 실패하면 자동으로 재전송해야 합니다.
2. Queue 저장
MES가 일시적으로 중단되더라도 데이터를 로컬에 저장한 뒤 정상화되면 다시 전송합니다.
3. ACK 확인
MES에서 정상 수신 응답(ACK)을 받은 후 전송 완료로 처리해야 합니다.
4. 통신 로그 저장
다음과 같은 로그를 남기면 유지보수가 쉬워집니다.
10:20:01 MES Connect
10:20:02 Send PASS
10:20:02 ACK OK
10:20:03 Complete
실패 사례
사례 1. MES 서버 장애로 검사 데이터 유실
MES 서버 점검 중에도 비전 프로그램은 계속 검사했습니다.
하지만 전송 실패 데이터를 저장하지 않아 약 2,500개의 검사 결과가 모두 사라졌습니다.
해결 방법
- Queue 기능 구현
- Retry 기능 추가
- 서버 복구 후 자동 재전송
사례 2. 이미지 저장 전에 결과 전송
검사 결과를 먼저 전송한 뒤 이미지를 저장하도록 개발했습니다.
이미지 저장 오류가 발생하여 MES에는 이미지 경로만 존재하고 실제 파일은 없었습니다.
해결 방법
- 이미지 저장 성공 여부 확인
- 저장 완료 후 MES 전송
사례 3. Barcode 중복 문제
동일 제품번호가 두 번 MES로 전송되어 생산 이력이 중복되었습니다.
원인은 PLC 신호가 중복 발생했기 때문입니다.
해결 방법
- Serial Number 중복 검사
- PLC Trigger Lock 적용
- 동일 데이터 재전송 방지
실무 노하우
프로젝트를 진행하면서 가장 많이 사용하는 구조는 다음과 같습니다.
Camera
↓
Vision Inspection
↓
Image Save
↓
Inspection Log
↓
Result Create
↓
MES Send
↓
ACK Check
↓
PLC Notify
또한 FAIL 제품은 이미지를 반드시 저장하고, PASS 제품은 고객 요구사항에 따라 저장 정책을 결정하는 것이 일반적입니다.
자주 묻는 질문(Q&A)
Q1. MES와 ERP는 무엇이 다른가요?
ERP는 회사 전체의 자원과 업무를 관리하는 시스템이고, MES는 생산 현장의 실시간 데이터를 관리하는 시스템입니다.
Q2. 모든 검사 결과를 MES에 저장해야 하나요?
일반적으로 PASS와 FAIL 모두 저장하지만, 고객 요구사항에 따라 FAIL 데이터만 저장하는 경우도 있습니다.
Q3. MES 연동 시 가장 중요한 것은 무엇인가요?
데이터 무결성입니다. 검사 결과와 제품번호가 정확히 일치해야 하며, 전송 실패 시 재전송 기능이 반드시 필요합니다.
Q4. 통신 방식은 무엇을 선택해야 하나요?
고객사에서 지정하는 경우가 많으며, 최근에는 REST API와 TCP/IP Socket이 가장 많이 사용됩니다.
Q5. 검사 이미지는 MES에 직접 저장하나요?
일반적으로 이미지는 파일 서버 또는 NAS에 저장하고, MES에는 이미지 경로(Path)만 저장하는 방식을 사용합니다.
마무리
MES 연동은 단순히 검사 결과를 전송하는 기능이 아니라 생산 이력 관리, 품질 추적(Traceability), 통계 분석, 불량 원인 분석을 위한 핵심 기능입니다.
실무에서는 재전송(Retry), ACK 확인, Queue 저장, 이미지 관리, 통신 로그 기록까지 함께 구현해야 안정적인 시스템을 구축할 수 있습니다.
다음 편에서는 **「5편 검사 로그 관리 시스템」**을 통해 로그 설계 방법, 저장 구조, 검색 기능, 오류 추적 및 유지보수 전략을 자세히 알아보겠습니다.