Favicon

MES middleware

Peponi2019.11 - 2020.34m

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 간소화로 설정되었다. 그에 따라 기능 구현이 아래와 같은 방식으로 달라지게 되었다.

  1. 기능 간소화

From

To

  1. Payload 간소화

From

To

Middleware를 개발하여 얻은 효과는 다음과 같다.

  1. 설비 SW 개발자가 설비 기능 개발에 집중할 수 있는 환경 조성
  2. MES payload 사전 검증으로 통신 테스트 기간 단축
    (정상적인 설비 가동 상황에 대한 시뮬레이션 기능을 middleware에서 제공)
  3. 예상치 못한 설비 SW 다운에도 MES 연결 정상 유지
    (설비 상태 이상 등 리포트 가능)

만들어야 할 SW가 늘어난다는 초기 부담과 달리, 설비 SW 개발 부담이 줄어 더 나은 생산성을 불러온 프로젝트였다. 적절한 시스템 분리는 결과적으로 유리한 선택이 될 수 있음을 알게되었으며 Monolithic, Microservice와 같은 SW architecture 에 대한 관심을 가지는 계기가 되었다.