꼭은 아니지만 일반적으로 MES 메세지의 구성이 있다.
바로 Validation, Start, Report, End 구성으로 간다.
아무래도 배터리 제조 공정에 있었던 터라 예시를 배터리로 진행하겠다.
메세지 구성

1) Validation
: 공정이 시작하기 전에 이 공정을 진행해되도 되는 셀인지 확인하는 메세지이다.
ex1) A > B > C 공정이라고 하면 해당 설비가 C 공정 차례인데 지금 투입되려고 하는 셀이 B를 끝냈는지 확인
ex2) 다른 공정을 아직 진행 중인 셀인데, C 공정을 투입하려고 Validation 메세지가 온 상태에서는 Nck를 보낸다.
2) Start
: 여기서 Track In이라는 개념이 중요한데,
셀의 ID 마다 이 셀의 상태를 구분해 둔다. 바로 공정 중, 공정 완료/대기 상태 이렇게 있다.
여기서 공정 중(In Process)인 상태로 변환하는 그때를 Track In이라고 한다.
실제 물리적으로 설비 안에 있다고 공정 Track In 상태와 괴리가 있다.
눈으로는 설비 안으로 트레이가 리프트를 타고 올라갔다고 해도,
예를 들어 더 안 쪽에 바코드가 읽히는 부분에서 Track In 함수가 돌아서
공정 중으로 변환될 수도 있다.
3) Report
: 설비의 공정이 돌고 나서 결과 데이터를 보내는 메세지이다.
굳이 밑에 설명할 End와 구분해서 Report 메세지가 따로 있는 이유는
만약에 Msg TimeOut으로 메세지를 못 받을 경우에 결과 데이터와 Track Out 모두를 놓쳐버릴 수 있기 때문에 나누는 걸 선호한다.
4) End
: Start와 동일하게 Track Out이 되는 함수를 타는 메세지이다.
전산상의 공정 종료 시점이며, 물리적인 Lot의 위치와 괴리가 있을 수 있다.
설비부터 MES까지의 단계
: MES로 근무할 때 아까 말한 Lot의 공정 상태를 Track In/Out으로 변화하고 Validation으로 상태를 확인하고 한다고 언급했다.
그럼 대체 무얼 보고 상태를 아는 것일까?
이걸 알기 위해서 MES 시스템에서 이용하는 프로그램의 연관성을 알 필요가 있다.

크게 설비 <-> CIM <-> MES AP <-> DataBase(Oracle) <-> MES UI 이렇게 단계를 가져간다고 보면 된다.
(MES UI에서 MES AP처럼 설비에게 명령하는 메세지를 바로 쏘는 것도 있긴 하지만 많이 있지 않다)
주로 설비 EQ에서 데이터를 올려주면 CIM에서 설비에서 보낸 HSMS나 PLC로 구성된 데이터를 C#으로 변환해 주고
내용을 DB에 저장하거나 DB 데이터를 로직에 맞게 변환해 준다.
MES AP가 Lot이 읽혀오는 flag로 보내지는 메세지에 따라서 Lot의 상태를 DB에서 읽어와서 Validation을 하던지 아님 DB의 Lot 상태를 업데이트를 진행한다
사용자가 MES UI로 DB에서 출력해 온 데이터를 보게 된다
'배터리' 카테고리의 다른 글
| PLC Address Map 읽기 (0) | 2026.05.29 |
|---|---|
| HSMS 통신 간략 정리 (0) | 2026.05.27 |
| 온도 측정 방법 Thermistor - 원리 (0) | 2026.05.22 |
| BMS (Battery Management System) 간략 정리 (0) | 2026.05.19 |
| 배터리 화성공정 8 : CPM (Cell Packing Machine) (0) | 2026.05.18 |