← Tech Blog
Industrial IoT

PLC data to a web dashboard — designing Modbus polling

Collection interval, buffering, and time-series storage structure.

2026-10-21 · approx. 7 min

Most requests to view PLC data on the web converge to "read via Modbus, put it in a DB, and graph it." The problem is designing the polling cycle and storage structure.

Setting the polling interval

1-second polling is usually excessive. It is better to first observe the cycle of value changes.

DataRecommended intervalReason
Temperature and pressure5–10 secondsNo sudden physical changes
Motor current1 secondearly overload detection
counters and production quantities10–30 secondsCumulative value, so no loss

Buffering — to avoid losing data even when communication drops

Storage structure

If you put all samples into a relational DB, it grows quickly. In practice, it is better to separate the latest value (current value table) and history (time series) per tag.

-- Keep one row per tag for current values
CREATE TABLE tag_current (
  tag_id TEXT PRIMARY KEY,
  value REAL, quality INTEGER, ts TEXT
);

-- A time index is required for history
CREATE INDEX idx_tag_ts ON tag_history(tag_id, ts);
The dashboard does not need to refresh every second. Separating the screen refresh cycle from the collection cycle greatly reduces the load.

Shall we talk more about this topic?

If you tell us your site conditions, we will review a configuration that can be applied.

Technical Inquiry →
📞 전화 문의 053-327-1917 기술문의 →