개념
공장 소프트웨어는 한 덩어리가 아니다
웹 서비스를 테스트하던 사람이 제조 현장에 처음 들어가면 "MES 를 테스트해 달라"는 말을 듣는다. 그런데 막상 화면을 열면 작업 지시 목록과 실적 조회 그리드가 나오고, 버튼을 눌러도 아무 일이 일어나지 않는 것처럼 보인다. 실제로 일이 일어나는 곳은 화면이 아니라 라인 위 설비 다. 그 사이에 최소 세 겹의 소프트웨어가 더 있다.
제조 소프트웨어의 결함은 그래서 책임 소재가 모호하다. "실적이 2대 적게 올라왔다"는 현상 하나를 두고 설비 담당은 PLC 가 신호를 보냈다고 하고, 제어 담당은 SCADA 로그에 찍혔다고 하고, MES 담당은 수신 큐에 안 들어왔다고 한다. 어느 계층에서 끊겼는지를 말할 수 있는 사람이 없으면 결함은 "간헐적 현상"으로 분류돼 몇 달을 떠돈다.
이 레슨의 목표는 그 지도를 손에 쥐는 것이다. 계층을 구분할 수 있으면 질문이 달라진다. "실적이 왜 틀리죠"가 아니라 "PLC 의 생산 카운터 값과 MES 수신 레코드 수가 어느 시점부터 벌어집니까" 로 좁혀 묻게 된다.
계층 모델 — 현장에서 경영까지
제조 IT 는 전통적으로 계층(level) 으로 나눠 이야기한다. 이 계층 구분의 뿌리는 퍼듀 참조 모델(Purdue Reference Model for CIM) 이고, 기업 시스템과 제어 시스템의 연결을 다루는 ISA-95 가 그 모델 위에서 인터페이스를 규정한다. ISA 의 공식 표준 위원회 소개는 ISA-95 의 목적을 퍼듀 참조 모델의 레벨 3 과 레벨 4 사이 인터페이스 를 다루는 것으로 적고 있고, 국제 표준으로는 IEC 62264 계열과 정렬돼 있다고 안내한다. 계층 번호를 0 부터 4 까지 매기는 관행 자체는 널리 쓰이지만, 각 번호의 정확한 정의 문장과 파트별 범위는 표준 원문에서 확인해야 한다 (ISA-95 / IEC 62264 각 파트의 조항과 레벨 정의 — 원문 확인).
실무에서 통용되는 모습으로 정리하면 이렇다.
| 계층 | 구성 | 하는 일 | QA 가 보는 산출물 |
|---|---|---|---|
| 현장 | 센서·액추에이터·모터·실린더 | 물리적으로 움직이고 측정한다 | 없음(물리 현상) |
| 제어 | PLC·안전 PLC·로봇 컨트롤러·모션 제어기 | 정해진 순서로 설비를 돌리고 인터락을 지킨다 | 래더/ST 프로그램, 태그 값 |
| 감시 | SCADA·HMI | 라인 상태를 사람에게 보여주고 수동 조작을 받는다 | 화면, 알람 이력, 트렌드 |
| 운영 | MES·MOM·WMS·LIMS | 무엇을 몇 개 만들라고 지시하고, 만든 결과를 기록한다 | 작업 지시, 실적, 추적성 |
| 경영 | ERP·PLM·SCM | 수주·자재·원가·납기를 계획한다 | 전표, 재고, 원가 |
여기서 중요한 것은 위로 갈수록 추상화되고 아래로 갈수록 물리에 가까워진다 는
점이다. ERP 는 "9월에 EWP 를 4만 대 만든다"고 말하고, MES 는 "오늘 2교대에
작업 지시 WO-0912 로 1,200대"로 바꾸고, PLC 는 "실린더를 전진시키고 압입 하중이
8.0 ~ 9.2 kN 범위인지 확인한다"로 바꾼다. 같은 "생산"이라는 단어가 계층마다
다른 단위를 가진다.
각 계층의 응답 시간 요구가 다르다
이것이 제조 QA 에서 가장 자주 놓치는 지점이다. 계층마다 허용되는 지연이 자릿수로 다르다.
- 제어 계층 — PLC 의 스캔 주기는 보통 수 밀리초에서 수십 밀리초다. 안전 인터락은 더 빠듯하다. 여기서 10밀리초가 밀리면 제품이 깨지거나 설비가 충돌한다.
- 감시 계층 — SCADA 화면 갱신은 수백 밀리초에서 1~2초면 충분하다. 사람이 보는 속도이기 때문이다. 다만 알람은 다르다 — 알람이 5초 늦으면 작업자가 늦게 달려간다.
- 운영 계층 — MES 실적 수집은 보통 초 단위다. 택트 22초인 라인에서 실적 1건 처리가 3초 걸려도 문제가 없다. 하지만 작업 지시 다운로드 는 설비가 다음 제품을 받기 전에 끝나야 하므로 택트 안에 들어와야 한다.
- 경영 계층 — ERP 연동은 분·시간 단위다. 자재 소요 반영이 10분 늦어도 라인은 멈추지 않는다. 대신 일 마감 처럼 하루 한 번만 도는 처리는 틀리면 하루치가 전부 틀린다.
QA 의 성능 기준은 이 차이를 반영해야 한다. 모듈 16 에서 배운 응답 시간·처리량 개념은 그대로 쓰이지만, 임계값의 근거가 사용자 체감이 아니라 택트 타임 이라는 점이 다르다. "3초 안에 응답"이 아니라 "택트 22초에서 설비가 다음 제품을 집기 전까지 남은 4.5초 안에 응답"이 기준이 된다.
MES 가 실제로 하는 일
MES(Manufacturing Execution System) 를 "생산 관리 시스템"이라고만 알면 테스트 범위를 정할 수 없다. MES 가 담당하는 기능군을 구체적으로 열면 이렇다. 기능 분류의 고전적 출발점은 MESA International 이 1990년대에 제시한 기능 모델이고, 이후 개정판이 여러 번 나왔다(MESA 모델의 기능 목록과 개정 이력 — 원문 확인). 여기서는 한국 제조 현장에서 실제로 MES 가 맡는 일을 기준으로 다섯 덩어리로 묶는다.
1) 작업 지시와 디스패칭 ERP 가 내린 생산 계획을 라인·설비·교대 단위의 작업 지시로 쪼갠다. 지시에는 품목, 수량, 공정 순서(라우팅), 적용할 레시피/파라미터, 투입할 자재 로트가 붙는다. 테스트 질문: 지시 수량이 라인 능력을 넘으면 어떻게 되는가. 지시가 중간에 변경되면 이미 라인에 올라간 제품은 어느 지시로 집계되는가.
2) 실적 수집 설비가 제품 하나를 끝낼 때마다 MES 가 양품/불량, 사이클 타임, 측정값, 작업자, 설비 번호를 기록한다. 수집 방식은 설비가 밀어 주기(push), MES 가 주기적으로 읽기 (poll), 둘의 혼합 중 하나다. 테스트 질문: 설비가 두 번 보내면 2대로 세는가. MES 가 죽어 있던 5분 동안의 실적은 복구되는가.
3) 추적성(traceability) 완성품 시리얼 번호 하나에서 거꾸로 어떤 자재 로트가 들어갔고, 어느 설비가 어느 파라미터로 가공했고, 어떤 측정값이 나왔는지 를 되짚을 수 있어야 한다. 이것이 제조 소프트웨어가 가진 가장 비싼 요구사항이다. 리콜이 터지면 추적성 데이터로 회수 범위를 좁힌다 — 데이터가 끊겨 있으면 전수 회수가 된다.
4) 품질 공정 검사 결과 기록, 불량 코드 분류, 재작업(rework) 과 폐기(scrap) 처리, SPC 관리도, 부적합 격리(hold). 테스트 질문: 불량 판정된 제품이 다음 공정으로 흘러가는 것을 막는가. 재작업 후 재투입된 제품의 이력은 이어지는가.
5) 설비 관리 가동/비가동 상태 집계, 비가동 사유 분류, 설비 종합 효율(OEE) 계산, 예방 보전 주기 관리. 테스트 질문: 상태 전이 시각이 어디 기준인가(PLC 시계인가 MES 시계인가).
이 다섯 덩어리는 서로 데이터를 주고받는다. 그래서 MES 테스트는 화면 단위가 아니라 흐름 단위 로 설계해야 한다. "작업 지시 등록 화면" 을 테스트하는 게 아니라 "지시 → 투입 → 가공 → 검사 → 집계 → 마감" 한 바퀴를 테스트한다.
예제 공장 — 한빛정밀 2공장 EWP 조립 라인
이 모듈 전체가 하나의 가상 공장을 쓴다. 뒤 레슨들은 이 라인에 계속 돌아온다.
한빛정밀 2공장 — 자동차용 전동식 워터펌프(EWP) 를 조립한다.
-
라인 구성(공정 5개)
OP10하우징 압입 — 서보 프레스. 압입 하중·변위 곡선을 측정한다OP20임펠러·모터 조립 — 6축 로봇 2대. 나사 체결 토크를 측정한다OP30기밀 시험 — 리크 테스터. 누설량을 측정한다OP40특성 검사 — EOL(End Of Line) 시험기 2대 병렬. 유량·소비 전류·소음OP50레이저 마킹·포장 — 시리얼 번호를 제품에 각인한다
-
제어 — PLC 5대(공정별 1대), 라인 통합 PLC 1대, 안전 PLC 1대
-
감시 — SCADA 서버 1대, 라인 사이드 HMI 5대
-
운영 — MES(웹 기반, DB 는 관계형 1대 + 이력 테이블 파티셔닝)
-
경영 — ERP(수주·자재·원가), 일 1회 양방향 연동 공장에서 쓰는 통신 방식 이름 둘을 먼저 적어 둔다. OPC UA 는 설비·제어 시스템과 상위 시스템이 데이터를 주고받는 산업용 표준 규약이고(공장판 창구라고 보면 된다), Modbus 는 그보다 훨씬 오래된 단순한 규약으로 아직도 널리 쓰인다. EOL 시험기 는 생산 라인 끝(End of Line)에서 완성품을 최종 검사하는 장비다.
-
통신 — PLC ↔ MES 는 OPC UA, 리크 테스터는 Modbus TCP, EOL 시험기는 자체 TCP 텍스트 프로토콜, ERP 는 파일 연계 + REST
-
운전 조건 — 2교대(08:00
20:00 / 20:0008:00), 일 마감 배치는 매일 06:00, 목표 택트 22초, 계획 일산 2,400대, 설비는 주말 보전 외에는 연속 가동 -
품질 요구 — 완성품 시리얼 단위 추적성 10년 보관, OP30·OP40 측정값 전수 저장
이 라인이 가진 조건이 모듈의 난이도를 정한다. 시리얼 단위 추적성 이 있으니 데이터 정합성이 l04 의 주제가 되고, 연속 가동 이니 장기 안정성이 l05 의 주제가 되고, 프레스와 로봇 이 있으니 설비 안전이 l06 의 주제가 된다.
QA 는 어디에 서는가
계층을 다 알아야 한다는 뜻은 아니다. QA 가 실제로 서는 자리는 계층 사이의 경계 다.
- 제어 ↔ 감시 경계 — PLC 태그 값이 SCADA 화면과 알람에 제대로 반영되는가
- 제어 ↔ 운영 경계 — 설비가 만든 실적이 MES 레코드와 1:1 로 맞는가. 여기가 제조 QA 결함의 최다 발생지다
- 운영 내부 — MES 의 지시·실적·품질·추적성이 서로 모순되지 않는가
- 운영 ↔ 경영 경계 — MES 집계와 ERP 전표의 수량·금액이 맞는가
PLC 래더 로직 자체의 검증은 보통 설비 업체와 제어 엔지니어의 일이고, QA 가 거기까지 들어가는 조직은 많지 않다. 반대로 경계의 검증은 아무도 자기 일이라고 하지 않는다 — 설비 업체는 "우리는 태그에 썼다", MES 업체는 "우리는 받은 걸 넣었다"고 한다. 그 사이에 QA 가 선다.
경계에 서려면 양쪽을 다 읽을 수 있어야 한다. 그래서 이 모듈은 l02 에서 프로토콜을, l03 에서 설비 없이 시험하는 방법을 먼저 다룬다.
실무에서 왜 필요한가
제조 소프트웨어 프로젝트에서 QA 가 가장 먼저 요구받는 산출물은 테스트 케이스가 아니라 인터페이스 목록 인 경우가 많다. 어떤 시스템이 어떤 데이터를 어떤 프로토콜로 어느 주기에 주고받는지가 적힌 표다. 이 표가 없으면 통합 시험 범위를 정할 수 없고, 있으면 그 표의 행 하나하나가 시험 항목이 된다.
계층 지도를 못 쥐면 테스트 전략이 화면 중심으로 쏠린다. MES 화면 300개를 다 클릭해도 설비에서 올라오는 실적이 틀리면 공장은 멈춘다. 반대로 계층을 알면 적은 공수로 큰 위험을 덮을 수 있다 — 경계 네 곳에 집중하는 쪽이 화면 전수 클릭보다 언제나 효율이 높다.
응답 시간 요구가 계층마다 다르다는 사실도 실무 판단을 바꾼다. 제조 프로젝트에서 "MES 조회가 8초 걸린다"는 결함은 심각도가 낮을 수 있다. 같은 8초가 작업 지시 다운로드 에서 걸리면 라인이 택트를 못 맞춰 멈춘다. 같은 숫자인데 영향이 전혀 다르다. 이 판단을 하려면 그 기능이 어느 계층 경계에 있는지를 알아야 한다.
마지막으로, 이 지도는 이관 책임의 지도 이기도 하다. 공장 소프트웨어는 설비 업체·SI·사내 IT·운영 부서가 나눠 만든다. 결함이 났을 때 누구를 불러야 하는지를 QA 가 알고 있으면 대응 시간이 줄어든다.
채용시장에서의 위치
제조 QA 수요는 완성차·부품(1·2차 벤더), 반도체·디스플레이 장비, 2차전지, 화학· 제약, 식품 쪽에서 꾸준히 나온다. 공고 제목은 "MES QA", "스마트팩토리 품질 엔지니어", "생산정보시스템 검증", "설비 연동 테스트" 처럼 붙고, 자격 요건에는 SQL, 생산 공정 이해, PLC·SCADA 용어 이해, OPC UA·Modbus 경험이 자주 들어간다.
이 영역의 특징은 도메인 지식이 곧 희소성 이라는 점이다. 웹 QA 는 공급이 많지만 "압입 하중 곡선이 왜 품질 데이터인지 아는 QA" 는 적다. 반대로 제조 현장 경력자는 많지만 테스트 설계·결함 보고·자동화를 아는 사람은 적다. 두 쪽을 겹쳐 가진 사람이 협상력을 가진다.
면접에서 힘을 갖는 이야기는 "MES 를 테스트했다"가 아니라 "설비 카운터와 MES 실적이 교대 경계에서 어긋나는 패턴을 찾아, 설비 시계가 MES 서버보다 7초 앞서 있던 것을 원인으로 특정했다" 처럼 계층 경계에서 원인을 규명한 이야기다.