> For the complete documentation index, see [llms.txt](https://kopens.gitbook.io/plantpulse-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kopens.gitbook.io/plantpulse-platform/readme.md).

# 플랜트펄스 플랫폼 - 도큐먼트

## 개요

\*\*플랜트펄스(PlantPulse)\*\*는 제조 현장의 데이터 수집부터 저장, 실시간 처리, 분석, 시각화까지 전체 데이터 라이프사이클을 하나의 플랫폼에서 통합 운영하는 **산업용 IoT(IIoT) 및 데이터옵스(DataOps) 플랫폼**입니다.

공장 설비에서 발생하는 센서 데이터를 초당 수만 건 규모로 실시간 수집하고, 고성능 메시징 파이프라인으로 분배하여 시계열 저장, 복합 이벤트 처리(CEP), 분산 분석까지 자동으로 연결합니다. 운영자는 웹 기반 관리 콘솔에서 대시보드, 연결 상태, 엣지 게이트웨이, 설비, 알람, 생산 관리(MES)를 즉시 사용할 수 있으며, 개발자는 V5 REST API 를 통해 외부 시스템과 자유롭게 연동할 수 있습니다.

**7개 영역, 24개 이상의 마이크로서비스**가 단일 설치 패키지로 제공되며, 별도의 연동 작업 없이 설치 즉시 전체 파이프라인이 가동됩니다.

![PlantPulse 플랫폼 개요](https://www.kopens.com/img/plantpulse-platform-image.png)

## 플랫폼 강점 <a href="#strengths" id="strengths"></a>

### 올인원 통합 아키텍처

별도 제품을 따로 설치하고 연동할 필요 없이, 데이터 수집 → 메시징 → 저장 → 처리 → 분석 → 시각화의 전체 파이프라인이 **단일 패키지**로 제공됩니다. 검증된 엔터프라이즈급 엔진들이 사전 통합되어 있어, 설치만으로 산업용 데이터 인프라가 즉시 구성됩니다.

### 엔터프라이즈급 실시간 처리 성능

| 지표          | 성능                                                       |
| ----------- | -------------------------------------------------------- |
| 메시지 처리량     | 초당 **40,000건** (36스레드 병렬 처리)                             |
| CEP 이벤트 처리  | 초당 **500,000 이벤트** (인메모리 CEP 엔진)                         |
| 데이터 수집 프로토콜 | OPC-DA/UA, Modbus, PLC, MQTT, REST, DB, CSV 등 **10종 이상** |
| REST API    | **150개 이상** 엔드포인트, 실시간 Push API 지원                       |

### 산업 표준 준수 및 확장성

* **ISA-95 국제 표준** 기반의 물리/논리 에셋 모델링으로 설비 자산을 체계적으로 관리합니다
* **Scale-out 아키텍처** — 클러스터 노드를 추가하여 저장 용량을 무한 확장할 수 있습니다
* **OPC-UA 표준 프로토콜**을 기본 지원하여 글로벌 산업 설비와 바로 연결됩니다

### 10년 노하우의 자동 진단 엔진

제조 현장 10년간의 운영 경험을 바탕으로 구축된 자동 진단 엔진이 설비 이상 징후를 선제적으로 감지합니다. 머신러닝 기반 트렌드 예측과 결합하여, 장애가 발생하기 전에 예방 조치를 취할 수 있습니다.

### 보안 및 신뢰성

* **TLS 암호화** — 프로토콜 및 데이터 전구간 암호화
* **RBAC** — 역할 기반 접근 제어로 사용자별 권한을 세밀하게 관리
* **XSS/CSRF 방어**, API 토큰 인증 등 웹 보안 표준 적용
* **장애 격리** — 서비스별 독립 포트 구성으로 하나의 서비스 장애가 전체 시스템에 영향을 주지 않습니다

## 도입 효과 <a href="#benefits" id="benefits"></a>

PlantPulse를 도입하면 공장 운영에 다음과 같은 실질적인 효과를 얻으실 수 있습니다.

### 설비 가동률 향상

실시간 모니터링과 자동 진단 엔진이 설비 이상 징후를 조기에 감지하여 **비계획 정지(Unplanned Downtime)를 최소화**합니다. 예방 정비 계획을 데이터 기반으로 수립하여, 설비가 멈추기 전에 미리 조치할 수 있습니다.

### 생산 품질 개선

CEP 엔진이 공정 변수의 미세한 변화를 실시간으로 감지하고, 품질에 영향을 미치는 이상 패턴을 즉시 알려줍니다. 불량이 발생한 후 대응하는 것이 아니라, **불량 발생 전에 선제적으로 공정을 조정**할 수 있습니다.

### 에너지 비용 절감

설비별 에너지 소비를 실시간으로 추적하고, EMS(에너지 관리 시스템) 분석을 통해 **에너지 낭비 구간을 식별**합니다. 피크 시간대 부하 분산, 비효율 설비 운전 패턴 개선 등 에너지 비용 절감에 직접 활용하실 수 있습니다.

### 데이터 기반 의사결정

과거에는 현장 경험과 감에 의존하던 의사결정을, 축적된 데이터와 분석 결과를 바탕으로 **객관적이고 신속하게** 내릴 수 있습니다. 대시보드와 보고서를 통해 경영진부터 현장 작업자까지 동일한 데이터를 기반으로 소통할 수 있습니다.

### 운영 비용 절감

하나의 통합 플랫폼으로 데이터 수집, 모니터링, 분석, 보고를 처리하므로 **여러 솔루션을 개별 도입·관리하는 비용이 사라집니다**. 시스템 통합(SI) 비용과 유지보수 복잡성이 크게 줄어듭니다.

## 주요 기능 <a href="#features" id="features"></a>

### 데이터 수집 및 연결

| 기능               | 설명                                                                      |
| ---------------- | ----------------------------------------------------------------------- |
| **산업 프로토콜 수집**   | OPC-DA/UA, Modbus, PLC, MQTT, REST, Database, CSV 등 10종 이상의 프로토콜을 지원합니다 |
| **고성능 파이프라인**    | 36스레드 병렬 비동기 처리로 초당 40,000건의 메시지를 안정적으로 처리합니다                           |
| **데이터 공유 (트리거)** | 실시간 메시지 전달, DB 트리거를 통해 ERP/MES 등 외부 시스템과 연계합니다                          |

### 저장 및 분석

| 기능                  | 설명                                                 |
| ------------------- | -------------------------------------------------- |
| **시계열 저장**          | 대용량 시계열 데이터베이스 기반 데이터 관리, Scale-out 무한 확장을 지원합니다   |
| **복합 이벤트 처리 (CEP)** | 초당 500,000 이벤트 처리가 가능한 인메모리 CEP 엔진으로 실시간 패턴을 감지합니다 |
| **분산 분석**           | 빅데이터 분산 분석 엔진, SQL 게이트웨이를 통한 대화형 쿼리를 지원합니다         |
| **머신러닝 분석**         | 고성능 기계학습 엔진을 활용한 트렌드 예측 및 설비 이상 진단을 수행합니다          |

### 모니터링 및 시각화

| 기능                | 설명                                                           |
| ----------------- | ------------------------------------------------------------ |
| **캔버스**           | SVG 기반 캔버스에 13종 위젯을 배치하여 실시간 모니터링, 데이터 시각화, 설비/에너지 분석을 제공합니다 |
| **알람 관리**         | 밴드/불리언/CEP 알람, 실시간 알림, 이메일/SMS 연동을 지원합니다                     |
| **ISA-95 에셋 모델링** | 물리적 태그 데이터를 논리적 자산 모델로 전환하며, 드래그앤드롭 맵핑이 가능합니다                |

### 생산 관리 및 운영

| 기능              | 설명                                                           |
| --------------- | ------------------------------------------------------------ |
| **생산 관리 (MES)** | 워크 오더, 생산 캘린더, OEE 실시간 계산으로 생산 효율을 관리합니다                     |
| **REST API**    | V5 API, Bearer Token 인증, 도메인 서비스별 엔드포인트, 실시간 Push API를 제공합니다 |
| **보안**          | RBAC, XSS/CSRF 방어, API 토큰 인증, TLS 전구간 암호화를 적용합니다             |

## 운영 콘솔 빠른 길잡이 <a href="#console-guide" id="console-guide"></a>

화면 개편 이후 사용자 매뉴얼은 실제 좌측 메뉴와 운영 동선을 기준으로 재정리되었습니다.

| 콘솔 영역                              | 주요 화면                                   | 먼저 볼 문서                                                                                                                       |
| ---------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| **공통 프레임**                         | 상단 도메인 검색, LIVE, 알람, 좌측 메뉴              | [콘솔 탐색과 공통 화면](/plantpulse-platform/user/navigation.md), [전체 메뉴 구조와 운영 흐름도](/plantpulse-platform/user/menu-flow.md)           |
| **OVERVIEW**                       | 대시보드, 일일 통계                             | [대시보드](/plantpulse-platform/user/summary.md), [일일 통계](/plantpulse-platform/user/statistics.md)                                |
| **CONNECTIVITY**                   | 프로토콜, 연결 상태, 엣지 게이트웨이                   | [연결 관리](/plantpulse-platform/user/connection.md)                                                                              |
| **FACTORY MODEL**                  | 모델, 에셋, 태그, 온톨로지, 메타데이터, 기준정보           | [팩토리 모델](/plantpulse-platform/user/factory.md)                                                                                |
| **PRODUCTION**                     | 고객, 제품, 직원, 근무표, 워크오더                   | [생산 관리](/plantpulse-platform/user/production.md)                                                                              |
| **EQUIPMENT / ISO**                | 설비 목록, 데이터 조회, 타임라인 비교, ISO 데이터, ISO 분석 | [설비 관리](/plantpulse-platform/user/equipment.md), [ISO 데이터 및 분석](/plantpulse-platform/user/plugins.md)                         |
| **DATA / ALARM**                   | 스트림, 트렌드, 스냅샷, 데이터 출력, 오브젝트, 알람         | [데이터 포인트](/plantpulse-platform/user/data-point.md), [알람](/plantpulse-platform/user/alarm.md)                                  |
| **AUTOMATION / STANDARD / SYSTEM** | 플로우, EQL, UNS, 외부 표준 UI, 시스템 운영         | [플로우](/plantpulse-platform/user/flow.md), [UNS](/plantpulse-platform/user/uns.md), [시스템](/plantpulse-platform/user/system.md) |

## 아키텍처

### 계층 구조

```
┌─────────────────────────────────────────────────────────┐
│                     Application                          │
│   Dashboard │ Report │ Alert │ Trend │ Configuration     │
├─────────────────────────────────────────────────────────┤
│                  Management Console                      │
│              REST APIs │ In-Memory Cache                 │
├─────────────────────────────────────────────────────────┤
│                     Framework                            │
│  CQRS │ MVC │ DAO Framework │ Application Template      │
├─────────────────────────────────────────────────────────┤
│                      Server                              │
│   IIoT Engine │ Industrial Messaging Bus                 │
│   Complex Event Processing │ Runtime                     │
├─────────────────────────────────────────────────────────┤
│                     Database                             │
│  Time Series Engine │ Metadata RDBMS                     │
├─────────────────────────────────────────────────────────┤
│                     Collector                            │
│   OPC-DA/UA │ PLC │ Modbus │ DB │ MQTT/REST │ CSV       │
└─────────────────────────────────────────────────────────┘
```

### 데이터 파이프라인

산업 현장의 센서 데이터가 PlantPulse 안에서 어떻게 흐르는지를 한눈에 보여드립니다.

```mermaid
flowchart LR
  subgraph EDGE["산업 현장 (Edge)"]
    PLC[PLC / 제어기]
    OPC[OPC-UA 서버]
    SENSOR[IoT 센서]
  end

  subgraph COLLECT["수집 계층"]
    AGENT[Edge Agent / OPC-UA Plugin]
    MQTT[MQTT Broker<br/>HiveMQ]
    KAFKA[Kafka Broker]
  end

  subgraph PROCESS["처리 계층"]
    TSE[Time-Series Engine<br/>:7800]
    CEP[CEP Engine<br/>:7400]
    FLOW[Flow Engine]
  end

  subgraph STORE["저장 계층"]
    CASS[(Cassandra<br/>시계열)]
    PG[(PostgreSQL<br/>메타데이터)]
    MINIO[(MinIO<br/>오브젝트)]
    VALKEY[(Valkey<br/>캐시)]
  end

  subgraph ANALYTICS["분석 계층"]
    SPARK[Spark]
    KYUUBI[Kyuubi SQL]
    GRAV[Gravitino]
  end

  subgraph WEB["콘솔 / API"]
    SERVER[Management Console<br/>:80 / :443]
    API[REST API V5]
    GW[Data Gateway<br/>:5500]
  end

  PLC --> AGENT
  OPC --> AGENT
  SENSOR --> MQTT
  AGENT --> KAFKA
  MQTT --> KAFKA
  KAFKA --> TSE
  KAFKA --> CEP
  TSE --> CASS
  CEP --> FLOW
  FLOW --> KAFKA
  TSE --> PG
  SERVER --> PG
  SERVER --> VALKEY
  SERVER --> CEP
  SERVER --> GW
  GW --> CASS
  GW --> PG
  SPARK --> CASS
  KYUUBI --> SPARK
  KYUUBI --> GRAV
  API --> SERVER
  SERVER --> MINIO
```

### 모듈 토폴로지

PlantPulse 는 7개 영역의 24개 이상 마이크로서비스가 단일 패키지로 배포됩니다.

```mermaid
graph TB
  subgraph APP["애플리케이션"]
    SVR[plantpulse-server<br/>웹 콘솔 :80]
    BAT[plantpulse-batch<br/>:9500]
    DG[plantpulse-data-gateway<br/>:5500]
    SQL[plantpulse-sql<br/>:4000]
    MON[plantpulse-monitor<br/>:4949]
    WH[plantpulse-warehouse<br/>:9600]
  end

  subgraph PROC["처리"]
    CEPSVR[plantpulse-cep<br/>:7400]
    PLUG[plantpulse-plugin<br/>OPC-UA :11004 / AAS :8007]
    TS[plantpulse-timeseries<br/>:7800 / UI :3000]
  end

  subgraph MSG["메시징"]
    KK[Kafka :9092]
    MQ[MQTT :1883]
    ST[STOMP :61000]
  end

  subgraph STG["스토리지"]
    CA[Cassandra :9042]
    PGS[PostgreSQL :5432]
    VK[Valkey :6379]
    MN[MinIO :9000]
  end

  subgraph ANL["분석"]
    SP[Spark :7077]
    KY[Kyuubi :10000]
    GR[Gravitino :19001]
    HV[Hive :9083]
  end

  subgraph WF["워크플로우"]
    TP[Temporal :7233 / UI :8233]
    KE[Kestra :8380]
  end

  APP --> MSG
  APP --> STG
  PROC --> MSG
  PROC --> STG
  MSG --> STG
  ANL --> STG
  WF --> STG
```

상세 모듈 설명은 [모듈 상세](/plantpulse-platform/admin/modules-detail.md) 페이지를 참고해 주세요.

### 기동 순서

플랫폼은 의존성 순서에 따라 단계별로 컴포넌트가 기동됩니다. 전체 부팅에 약 **3 \~ 5분** 이 소요됩니다.

```mermaid
flowchart TD
  S1[1. 스토리지<br/>Valkey · PostgreSQL · Cassandra · MinIO]
  S2[2. 분석<br/>Spark · Hadoop · Hive · Kyuubi · Gravitino]
  S3[3. 시계열<br/>Time-Series Engine · UI]
  S4[4. 메시징<br/>Kafka · MQTT · STOMP]
  S5[5. 워크플로우<br/>Temporal · Kestra]
  S6[6. 처리<br/>CEP · Data Gateway · SQL · Monitor]
  S7[7. 플러그인<br/>OPC-UA · AAS]
  S8[8. 애플리케이션<br/>Warehouse · Agent · Batch · Server]

  S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8
```

## 대상 독자

이 문서는 목적에 따라 4가지 가이드로 구성되어 있습니다. 해당하는 가이드를 선택하여 진행해 주세요.

| 가이드                                                         | 대상      | 내용                                    |
| ----------------------------------------------------------- | ------- | ------------------------------------- |
| [설치 가이드](/plantpulse-platform/installation/requirements.md) | 설치 담당자  | 시스템 요구사항, 플랫폼 설치, 클러스터 설치, 운영 관리      |
| [사용자 가이드](/plantpulse-platform/user/navigation.md)          | 운영자/사용자 | 콘솔 탐색, 화면별 기능, 운영 동선                  |
| [관리자 가이드](/plantpulse-platform/admin/monitoring.md)         | 시스템 관리자 | 모니터링, 백업/복구, 문제 해결                    |
| [개발자 가이드](/plantpulse-platform/developer/architecture.md)   | 개발자     | 아키텍처, 모듈, 데이터 플로우, API 명세, DB 스키마, 설정 |
