The Journey of a Single Value to the Screen
See at a glance how a single sensor value travels from the PLC to the screen. While the linked documents explain «how» each step is performed, this page explains why it is divided this way.
PLC · 센서
│ ① 읽는다 — 프로토콜 40여 종
▼
PlantPulse Edge (현장 게이트웨이)
│ ② 올린다 — 플랫폼 API (server.host / server.api_key)
▼
PlantPulse Platform (수집 · 모델 · 규칙)
│ ③ 저장한다
▼
DataLake (Aster TSDB · PostgreSQL · Kafka · RustFS)
│ ④ 읽는다
▼
화면 · 알람 · 분석 · AI
① Read — The Edge talks to the PLC
Every PLC speaks a different language: Modbus · S7 · MELSEC · EtherNet/IP · OPC-UA … The Edge learns those languages for you — drivers for over 40 types of protocols are available here.
The Edge reads periodically (polling). A tag is where you define 「which address, at what interval」.
Field networks are usually closed, and PLCs can only handle a few simultaneous connections. It is safer and lighter to have one gateway standing in the field to ask the PLC once and send the aggregated data upward, rather than having the server connect to each PLC directly.
→ Protocol Guides by PLC Type · Add New PLC Connection
② Upload — The Edge sends to the Platform
The Edge uploads the read values via the Platform API. Addresses and authentication are detailed in app.properties's server.host · server.port · server.api_key.
If communication is interrupted, the Edge buffers the data internally and uploads it all at once after recovery. This ensures no data is lost even if the field line temporarily goes down — instead, delayed data will surge upward at that time. This is why the storage layer handles it separately (④).
For fields requiring the standard MQTT-based IIoT protocol, enable sparkplug.enable. This is off by default, and the Platform API path is the default.
→ Connecting a Single PLC End-to-End · app.properties Reference
③ Store — The Platform assigns a place
The uploaded value is attached to a tag, the tag to equipment, and the equipment to a line · area · site · company. This tree is the «factory model».
기업 ─ 사이트 ─ 구역 ─ 라인 ─ 설비 ─ 태그 ─ 값
🔴 The model comes first. No matter how much data arrives, it will not appear on the screen if there is no place to attach it. Since alarms, metrics, and canvases all hang from this tree, this must be established first.
→ Factory Management · Equipment
④ Accumulate — The Data Lake distributes the load
Different storage systems handle data with different characteristics. Combining them into one would inevitably lead to performance loss in one area.
| What | Where | Why |
|---|---|---|
| Tag Values (Time Series) | Aster TSDB | Accumulates endlessly, read only as 「one tag for one period」 |
| Equipment · User · Settings | PostgreSQL | Requires relationships and constraints |
| Field Data Streams | Kafka · MQTT | Must be streamed even during sudden bursts |
| Files · Images · Archives | RustFS | Large and infrequently read |
Time series data is compressed as it ages and is deleted entirely once the retention period passes. The query remains the same, but only the storage footprint decreases.
→ Data Lake Overview · Time Series Database
⑤ Use — Screens · Alarms · Analysis
The same value appears in several forms.
| Task | Where to view |
|---|---|
| View current value | Dashboard · Data Point |
| Receive notification for anomalies | Alarm · CEP |
| Draw manually | Canvas |
| Analyze in bulk | Spark SQL |
| Ask questions | PlantPulse AI |
Finding where it is blocked
Tracing this path in reverse usually leads to a fast discovery.
| Symptom | Where to look first |
|---|---|
| No value on screen | ③ Is the tag attached to equipment? → Data Point |
| Tag not visible on Platform | ② Is the Edge uploading? → Connection List |
| No value on Edge | ① Is it reading the PLC? → View Real-time Values |
| Only historical data is missing | ④ Has the retention period passed? → pd retention |
Related Links
- Overall Menu Structure and Operational Flow — Screen-level flow
- Displaying First Equipment Data on Screen — A hands-on guide to this process