1. 참여 배경

2025년 9월, 약 한 달 동안 배터리 제조 현장의 컴퓨터 시스템 세팅 업무에 참여했다.

업무 자체는 복잡한 개발 프로젝트라기보다는 현장 PC에 프로그램을 설치하고, PLC와 통신이 되도록 설정하고, 공정 데이터와 파일을 맞춰 넣는 세팅 작업에 가까웠다. 하지만 제조 현장에서 실제로 쓰이는 시스템을 직접 보고 싶었다.

학교나 개인 프로젝트에서는 코드가 실행되는 환경이 대부분 내 PC 안에서 끝난다. 반면 공장 시스템은 PC, PLC, MES, 설비, 네트워크, 작업자 화면이 함께 맞물려야 한다. 단순한 설정 하나가 잘못되어도 장비와 데이터 흐름 전체가 멈출 수 있다는 점이 궁금했고, 그 흐름을 경험해보고 싶어서 지원했다.

결과적으로 한 달 동안 현장 세팅 과정을 따라가며 CIM이 어떤 역할을 하는지, PLC와 MES 사이에서 데이터가 어떻게 오가는지, 현장 시스템을 다룰 때 왜 절차와 기록이 중요한지 배울 수 있었다.

2. 프로젝트 개요

이번 경험의 핵심은 배터리 제조 라인에서 사용하는 CIM 환경을 설치하고 설정하는 일이었다.

CIM은 현장 설비와 상위 시스템 사이에서 데이터를 주고받는 중간 역할을 한다. 생산 현장에서는 PLC가 설비 상태와 데이터를 다루고, MES는 생산 실행과 이력 관리를 담당한다. CIM은 그 사이에서 이벤트를 감지하고, 필요한 데이터를 읽고, 결과를 전달하는 역할을 한다.

보안과 비밀유지 범위를 고려해 실제 프로그램 화면, 공정명, 설정값, 메모리맵, IP 정보 등은 공개하지 않고 역할과 배운 점 중심으로만 정리했다.

내가 정리하고 수행한 범위는 크게 다음과 같았다.

  • CIM 프로그램 설치 및 Auto Run 설정
  • Inspection 데이터와 라이브러리 파일 배치
  • PC와 PLC 간 네트워크 연결 확인
  • MELSOFT 통신 설정 및 Connection Test
  • 메모리맵 기준 L영역, D영역 구조 이해
  • 이벤트 흐름, Heart Beat, 로그 확인 방식 정리
  • 업데이트 시 백업과 재설치 절차 정리

3. 설치 및 기본 세팅

처음에는 현장 PC에 CIM 프로그램을 설치하고 실행 환경을 맞추는 작업부터 진행했다.

설치 전에는 작업할 컴퓨터 근처 설비가 수동 모드인지 확인하고, 라이센스 USB를 PC에 연결했다. 이후 설치 USB를 이용해 Auto RunCim Controller System을 설치하고, Auto Run에서 실행할 프로그램 경로를 등록했다.

설치 후에는 Auto Run에서 실행할 애플리케이션 경로를 등록했다. 단순히 프로그램을 설치하는 것에서 끝나는 것이 아니라, 현장 PC가 재실행되거나 작업자가 Auto Run을 실행했을 때 CIM이 정확한 경로에서 실행되도록 맞추는 과정이 필요했다.

설치 후에는 공정에서 사용하는 데이터를 맞춰 넣어야 했다.

  • 압축 해제한 블록 데이터를 C:\inspection\library 폴더에 배치
  • Auto Run에서 Device MES USE 옵션 확인
  • PLC Logical Number 값을 현장 기준에 맞게 설정
  • 공정관리 실행에 필요한 xlsx 파일을 지정 위치에 배치

세팅 과정에서는 메모리맵과 프로그램 설계서 파일을 함께 보면서 CIM 데이터를 맞췄다. 파일 위치가 맞지 않으면 프로그램이 실행되어도 필요한 공정 데이터와 설비 기준을 불러오지 못할 수 있기 때문에, 파일 배치와 버전 확인도 중요한 작업이었다.

이 단계에서 느낀 점은, 공장 시스템 세팅은 “설치 버튼을 누르면 끝나는 작업”이 아니라는 것이다. 프로그램 설치, 파일 위치, 설정값, 실행 순서가 모두 맞아야 다음 단계로 넘어갈 수 있었다.

4. 네트워크와 PLC 연결 확인

PC와 PLC가 통신하려면 물리적인 케이블 연결과 네트워크 설정이 모두 맞아야 했다.

현장에서는 PC 뒷면의 선 연결 상태를 확인하고, PC IP와 서브넷 마스크를 설정한 뒤 CMD에서 ping PLC IP를 실행해 TTL 응답이 오는지 확인했다. 또한 네트워크 어댑터 이름을 PLC 용도에 맞게 정리했다.

이후 MELSOFT 설정에서 이더넷 보드, 네트워크 번호, 스테이션 번호, PLC IP, CPU 모델 등을 입력하고 Connection Test를 수행했다.

이 과정은 단순히 “통신이 된다/안 된다”를 보는 작업처럼 보이지만, 실제로는 다음 내용을 함께 확인하는 과정이었다.

  • PC가 올바른 네트워크 대역에 있는지
  • PLC IP가 정확히 입력되었는지
  • 현장 기준의 네트워크 번호와 스테이션 번호가 맞는지
  • 통신 테스트가 성공한 뒤 CIM 실행까지 이어지는지

네트워크 설정이 맞지 않으면 프로그램은 정상적으로 설치되어 있어도 설비 데이터가 들어오지 않는다. 이 경험을 통해 소프트웨어가 현장에서 동작하려면 OS, 네트워크, 장비 설정까지 모두 하나의 시스템으로 봐야 한다는 것을 배웠다.

5. CIM 데이터 흐름 이해

세팅 작업을 하면서 가장 중요하게 정리한 부분은 CIM의 데이터 흐름이었다.

메모리맵은 크게 PLC 영역과 PC 영역으로 나누어 이해했다. L영역은 이벤트 신호에 사용되고, D영역은 데이터 전송에 사용된다.

Process 화면에서는 공정별 Message 항목을 추가하고, 각 항목의 PLC/PC Device 주소와 모델 값을 설정한다. 이 화면을 보면서 CIM이 단순 실행 프로그램이 아니라, 메모리맵을 기준으로 현장 설비 데이터를 구조화하는 도구라는 점을 이해할 수 있었다.

기본 흐름은 다음과 같이 정리할 수 있다.

  1. PLC에서 이벤트가 On 된다.
  2. CIM이 PLC 데이터를 읽는다.
  3. 필요한 경우 MES로 데이터를 전송한다.
  4. MES 응답 값을 기준으로 Reply를 전달한다.
  5. 이벤트가 Off 된다.

처리 실패 시에는 Timeout이 발생하고, 다시 처음부터 재시도되는 구조였다. 모든 과정은 로그로 남기 때문에 문제가 생겼을 때는 로그를 기준으로 어느 단계에서 멈췄는지 확인할 수 있다.

또한 일반 이벤트 외에도 예외적으로 봐야 하는 이벤트가 있었다.

  • MES UnUse Event: MES를 거치지 않고 Skip해야 하는 경우
  • PC Online Event: PC와 PLC의 온라인 상태 확인
  • Heart Beat: PC와 PLC가 서로 살아있는지 주기적으로 확인

이 부분을 이해하면서 CIM은 단순히 데이터를 넘기는 프로그램이 아니라, 설비와 상위 시스템 사이의 상태를 계속 확인하고 조율하는 역할을 한다는 것을 알게 되었다.

6. 매뉴얼과 로그 확인

CIM 매뉴얼을 보면서 메인 화면, Buffer, Device, Process, Log, Help 메뉴의 역할도 정리했다.

  • Buffer: 프로그램 데이터가 임시로 저장되는 영역
  • Device: PLC, MES, 설비 사용 여부와 연결 상태를 설정하는 영역
  • Process: 설비별 공정 데이터와 Message를 관리하는 영역
  • Log: System, MES, Nutrunner 등 동작 및 에러 기록을 확인하는 영역

현장 시스템에서는 문제가 발생했을 때 “무엇이 안 된다”만으로는 원인을 찾기 어렵다. 그래서 로그를 확인할 수 있는 기준을 갖는 것이 중요했다. 설비, 타입, 일시, 내용 기준으로 로그를 확인하고, 필요한 경우 검색 기능으로 특정 기록을 찾는 방식도 함께 익혔다.

7. 업데이트 절차 정리

프로그램 업데이트가 필요한 경우에는 기존 세팅을 보존하는 것이 중요했다.

업데이트 후에는 CIM 실행 화면의 버전과 날짜를 확인했다. 설치가 끝났다고 바로 마무리하는 것이 아니라, 실제 실행 화면에서 버전이 바뀌었는지 확인하고 기존 데이터가 정상적으로 반영되는지 보는 과정이 필요했다.

업데이트 절차는 다음 흐름으로 정리했다.

  1. Inspection 데이터 백업
  2. 메모리맵 파일을 D드라이브로 이동
  3. 제어판에서 기존 CIM 프로그램 제거
  4. 최신 CIM 설치 파일 실행
  5. 실행 후 좌측 상단의 날짜 또는 버전 정보 확인

업데이트 작업에서 가장 중요한 것은 “새 프로그램을 설치하는 것”보다 “기존 현장 데이터를 잃지 않는 것”이었다. 백업과 확인 절차가 빠지면 설치는 성공해도 실제 라인에서는 문제가 생길 수 있다.

8. 배운 점

이번 경험은 화려한 개발 프로젝트는 아니었다. 하지만 실제 제조 현장의 컴퓨터 시스템을 세팅하면서, 책이나 강의로만 보던 PLC, MES, CIM 같은 용어가 어떻게 연결되는지 직접 확인할 수 있었다.

가장 크게 배운 점은 세 가지다.

첫째, 현장 시스템은 작은 설정 하나도 중요하다. IP, 폴더 경로, 파일명, 장비 번호, 스테이션 번호가 하나라도 틀리면 전체 흐름이 막힐 수 있다.

둘째, 문서화는 선택이 아니라 업무의 일부다. 설치 순서, 설정값, 예외 이벤트, 업데이트 절차를 기록해두지 않으면 같은 문제를 반복해서 겪게 된다.

셋째, 소프트웨어는 결국 실제 환경 위에서 동작한다. 코드만 아는 것과, 그 코드가 연결되는 장비와 네트워크를 이해하는 것은 다르다.

9. 마무리

처음에는 단순한 세팅 업무라고 생각했지만, 한 달 동안 현장에서 직접 경험하면서 제조 시스템의 기본 흐름을 몸으로 익힐 수 있었다.

이 경험을 통해 앞으로 개발을 할 때도 화면이나 코드만 보는 것이 아니라, 그 프로그램이 실제로 연결되는 환경과 사용자를 함께 생각해야겠다고 느꼈다. 특히 공장, 장비, 네트워크처럼 현실의 조건이 강하게 작용하는 분야에서는 꼼꼼한 확인과 기록이 기술 실력만큼 중요하다는 것을 배웠다.

10. 정리 기준

이 글은 당시 Notion에 정리해둔 CIM 설치 메뉴얼, CIM 세팅 정리, CIM 업데이트 절차, CIM 매뉴얼 기록을 기반으로 작성했다. 실제 수행 내용을 포트폴리오에 맞게 재구성하면서, 현장 기밀이 될 수 있는 상세 값보다는 맡았던 역할과 배운 점 중심으로 정리했다.

댓글남기기