본문으로 건너뛰기
블로그›2026. 8. 30.

스마트 HACCP CCP 배치 기록을 HTTP API와 Firebase로 잇는 설계 기준

스마트 HACCP CCP 배치 기록을 HTTP API와 Firebase로 잇는 설계 기준

먼저 결론부터 볼게요

식품공장 CCP 기록은 숫자 하나를 화면에 띄우는 것보다 어느 배치의 어느 공정에서 언제 측정됐는지를 다시 확인할 수 있게 만드는 일이 먼저예요. 식품의약품안전처의 HACCP 기준도 관리계획을 운영하고 문서화·기록을 유지하는 흐름을 전제로 하므로, 현장값과 기록의 연결이 끊기면 사후 확인이 어려워져요.

이번 글의 독자는 온도·압력·유량 같은 CCP 항목을 PLC에서 읽어 배치 단위로 남기려는 운영 담당자예요. 필요한 운영 판단은 ‘현재 한계기준 안에 있는가’와 ‘이 기록이 어떤 배치와 공정에 속하는가’를 빠르게 확인하는 일이에요. 그래서 센서 또는 현장 입력, PLC 주소, 수집 시각, 배치 식별자, 전송 결과를 한 흐름으로 먼저 설계해요.

처음부터 모든 라인을 연결할 필요는 없어요. 한 공정의 한 CCP 필드로 현재값과 배치 키가 맞는지 확인하고, HTTP API 응답과 Firebase 화면에서 같은 기록을 찾은 뒤 범위를 넓히는 순서가 안전해요.

CCP 기록이 현장 PLC에서 외부 화면으로 이어지는 제품 구성

현장 연결 장치와 상위 기록 화면의 역할을 나눠 본 구성 예시예요.

현장 필드와 기록 단위를 먼저 정해요

CCP 배치 기록의 최소 필드는 batch_id, process_step, measured_at, field_address, value, unit, quality예요. 실제 이름과 주소는 설비 문서와 현장 필드 주소 맵을 대조해 정해야 하고, 아래의 LSCCP, D0100, batch-20260830-001은 예시로만 봐야 해요. 주소를 먼저 고정한 뒤 값을 담는 구조를 정하면 같은 데이터가 API와 대시보드에서 다른 의미로 보이는 일을 줄일 수 있어요.

LS PLC의 필드 주소를 예로 들면 온도 입력이 D0100인지, 정수 배율이 10인지, 단위가 ℃인지 확인표에 남겨요. PLC 값이 235라면 변환된 23.5와 원시값 235를 함께 기록할지 운영 규칙으로 정해야 해요. 배치 시작·종료 시각과 공정 단계도 별도 필드로 두면 한계기준을 벗어난 기록을 찾을 때 주소만 검색하지 않아도 돼요.

EASY-LINK는 센서와 PLC의 신호를 수집해 정해진 전달 대상으로 보내고, 현장 연결과 데이터 전달의 게이트웨이 역할을 맡아요. 주소 읽기와 값 변환까지의 책임을 이 계층에 두면 상위 시스템은 확인된 필드 구조를 받아 처리할 수 있어요. 한 장비와 한 목적지의 연결만 필요하면 EASY-LINK만으로 충분한지 먼저 검토해요.

EASY LOGGER는 여러 장치의 기록을 모으는 데이터 로거로서 저장 이력과 전달 상태를 관리하고 대시보드에서 통합 관리해요. 배치별 검색, 누락 확인, API 응답과 화면 값의 대조가 필요하거나 여러 공정을 함께 봐야 한다면 EASY LOGGER가 운영 계층으로 유용해요. 연결만 필요한 구간과 이력·화면이 필요한 구간을 분리하면 제품 역할을 과장하지 않고 범위를 정할 수 있어요.

HTTP API와 Firebase의 경계를 비교해요

HTTP API는 요청·응답을 기준으로 외부 기록 서비스나 MES·CIM과 연계하기 좋아요. 반면 Firebase는 모바일·웹 화면에서 배치 상태를 빠르게 동기화하는 목적에 맞춰 검토할 수 있어요. 둘 중 하나를 고르는 문제라기보다 원본 기록의 책임, 재조회 방식, 사용자 권한을 먼저 정하고 목적지별로 같은 필드 주소를 유지하는 일이 중요해요.

MQTT는 여러 소비자가 변화 이벤트를 구독할 때 유리하고, HTTP API는 서버가 정한 엔드포인트에 배치 기록을 전송하고 응답을 확인할 때 유리해요. MySQL은 외부 스키마의 이력 조회와 감사용 검색에 적합하고, Firebase는 대시보드의 현재 상태와 배치별 화면을 구성할 때 비교 대상이 될 수 있어요. 이 글의 주 경로는 HTTP API와 Firebase이며, MQTT와 MySQL은 목적이 달라지는 지점을 설명하는 비교 대상으로 둬요.

MES와 CIM은 확인된 MQTT·HTTP API·DB 인터페이스 범위에서 연계해요. 배치 키, 필드 주소, 수집 시각, 응답 상태를 상위 시스템의 계약으로 정하고, 변경 시 버전과 재처리 정책을 남기는 편이 안전해요. 프로토콜 비교에서는 원본 기록의 책임과 재조회 방식을 함께 살펴요. 산업 데이터 보안 관점에서는 계정 권한과 허용 주소 범위를 필요한 만큼만 정해요.

배치 키와 CCP 필드가 API 응답과 대시보드로 이어지는 운영 화면 흐름

배치 식별자와 필드 주소를 저장 이력·전달 상태·대시보드에서 함께 확인하는 흐름이에요.

EASY LOGGER HTTP API 예제

센서 또는 CCP 입력 필드는 PLC 주소 맵의 D0100과 대응한다고 가정해요. LSCCP와 CCP_BATCH는 예시 이름이므로 실제 현장 필드 주소 맵과 설정을 대조해야 해요. Automatic Endpoint Preview에서 요청 주소와 필드 매핑을 확인한 뒤, Runtime Status에서 전송 결과를 보고 Payload Log에서 같은 배치의 JSON을 확인해요.

{
  "method": "POST",
  "endpoint": "https://API_SERVER_HOST/v1/ccp-records",
  "headers": {"Content-Type": "application/json"},
  "body": {
    "device": "LSCCP",
    "config": "CCP_BATCH",
    "batch_id": "batch-20260830-001",
    "process_step": "heating",
    "field_address": "D0100",
    "value": 23.5,
    "unit": "C",
    "measured_at": "2026-08-30T06:15:00Z"
  }
}

HTTP API 요청의 D0100 값과 배치 키가 Payload Log에 기록되고, Runtime Status에서 응답 코드와 마지막 전송 시각이 갱신되는지 확인해요. Firebase를 화면 목적지로 함께 쓸 때는 외부 기록 서비스의 문서 구조와 권한을 별도로 정하고, 대시보드에는 배치 상태와 품질을 구분해 표시해요.

{
  "write_callback_url": "https://CALLBACK_SERVER_HOST/v1/ccp-records/status",
  "callback_endpoint": "https://CALLBACK_SERVER_HOST/v1/ccp-records/status",
  "status": "accepted",
  "batch_id": "batch-20260830-001",
  "field_address": "D0100"
}

write_callback_url은 callback endpoint 예시 주소로 기록하고, API Payload Log에서 같은 배치의 응답 상태와 field_address를 확인해요.

WRITE CALLBACK을 호출할 때는 테스트 주소만 사용해요.

  • 테스트 주소만 사용합니다.
  • 최소 권한만 부여합니다.
  • 허용 주소 범위를 제한합니다.
  • PLC 인터록을 확인합니다.
  • 수동 복구 절차를 준비합니다.

도입 순서를 작게 잡아요

첫 단계는 한 대의 LS PLC와 한 공정의 CCP 필드예요. 현장 표시값, PLC 원시값, 변환값, HTTP API 요청 본문, 응답 코드, Firebase 화면의 배치 키를 같은 시각에 대조해요. 그다음 정상 배치와 경계값 배치를 나눠 기록하고, 네트워크가 잠시 끊긴 경우에는 누락과 재전송을 운영 규칙에 따라 표시해요.

다음 단계에서 공정과 장치를 늘릴 때는 field_address와 process_step의 조합이 겹치지 않는지 확인해요. 데이터베이스 설계가 필요한 경우 외부 스키마의 ccp_records 같은 테이블에 batch_id, field_address, measured_at, quality를 저장하는 식으로 검토할 수 있지만, 실제 테이블명과 보존 기간은 운영 조직의 기준으로 정해야 해요.

산업용 IoT 게이트웨이의 수집·전송 기능을 먼저 보고, EASY LOGGER 대시보드 운영 매뉴얼에서 화면과 권한 확인 순서를 이어서 살펴보세요. 한 장치의 연결과 데이터 연동만 필요하면 EASY-LINK 중심으로 시작하고, 여러 배치의 저장 이력·전달 상태·대시보드 운영이 필요해지는 시점에 EASY LOGGER를 더하는 방식이 현실적이에요.

현장 연결 가능 여부를 확인하고 상담을 요청할 때는 PLC 모델, CCP 필드 주소, 단위·배율, 배치 키 생성 위치, HTTP API 또는 Firebase 목적지, 필요한 확인 화면을 함께 적어 주세요. 이 정보가 있으면 한 공정에서 작게 검증할 범위와 단계적으로 넓힐 범위를 나누기 쉬워요.

관련 글

← 목록으로 돌아가기