Skip to main content

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」.

Why the Platform doesn't connect directly to the PLC

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 (④).

You can also send via Sparkplug B

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.

WhatWhereWhy
Tag Values (Time Series)Aster TSDBAccumulates endlessly, read only as 「one tag for one period」
Equipment · User · SettingsPostgreSQLRequires relationships and constraints
Field Data StreamsKafka · MQTTMust be streamed even during sudden bursts
Files · Images · ArchivesRustFSLarge 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.

TaskWhere to view
View current valueDashboard · Data Point
Receive notification for anomaliesAlarm · CEP
Draw manuallyCanvas
Analyze in bulkSpark SQL
Ask questionsPlantPulse AI

Finding where it is blocked​

Tracing this path in reverse usually leads to a fast discovery.

SymptomWhere 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