MES middleware
Peponi │ 2019.11 - 2020.3 │ 4m
SD Optics, Inc.
MES middleware
2019.11 - 2020.3
4m
Peponi
SD Optics, Inc.
1. Overview
SD Optics, Inc.의 여러 종류의 설비를 고객사 MES와 연동할 수 있는 middleware를 개발한다.
2. 역할
- SW 개발 (참여도 : 80%)
3. 기술 스택
- 프로그래밍 언어 : C# (WinForms)
- 네트워크 : Ethernet
- 프로토콜 : XML (고객사 MES)
- 개발환경 : Visual Studio
4. 주요 기능
- 통신 프로토콜 간소화
- 통신 기능에 대한 유닛 테스트 제공
5. 성과
- 제어 SW 개발 기간 단축
- 통신 테스트 사전 완료하여 안정성 확보
6. 회고
이 프로젝트는 간단한 아이디어로부터 시작되었다.
꼭 모든 통신 내용을 설비 SW에서 처리해야 할까?
당시 설비별로 SW 개발 언어가 분리되어 있었는데 (C++, C#), 모든 MES 통신을 각각의 언어로 구현하는 것은 비효율적일 것으로 생각되었다. Ping과 같은 기능 또한 꼭 설비 SW에서 처리할 필요가 없을 것으로 보여 논의 끝에 middleware를 제작하게 되었다.
Middleware의 개발 방향은 기능 및 payload 간소화
로 설정되었다. 그에 따라 기능 구현이 아래와 같은 방식으로 달라지게 되었다.
- 기능 간소화
From
To
- Payload 간소화
From
To
Middleware를 개발하여 얻은 효과는 다음과 같다.
- 설비 SW 개발자가 설비 기능 개발에 집중할 수 있는 환경 조성
- MES payload 사전 검증으로 통신 테스트 기간 단축
(정상적인 설비 가동 상황에 대한 시뮬레이션 기능을 middleware에서 제공) - 예상치 못한 설비 SW 다운에도 MES 연결 정상 유지
(설비 상태 이상 등 리포트 가능)
만들어야 할 SW가 늘어난다는 초기 부담과 달리, 설비 SW 개발 부담이 줄어 더 나은 생산성을 불러온 프로젝트였다. 적절한 시스템 분리는 결과적으로 유리한 선택이 될 수 있음을 알게되었으며 Monolithic, Microservice와 같은 SW architecture
에 대한 관심을 가지는 계기가 되었다.