KUVEKUVEengineering

KUVE Collector · scope

One agent reads the whole plant.

Controller, power meters, remote I/O, SCADA, switches and the satellite link, read by one binary installed once per protocol. Measured on a gas-processing plant in commissioning, 2026.

Running todayS7commModbus TCPOPC UAOPC UA A&CWeb APISNMP · LLDPgRPC
We speak itPROFIBUS DPPROFINETEtherNet/IPModbus RTUDeviceNetOPC DAMQTTany open standard

We are industrial protocol specialists: if it has an open standard, we read it.

From the controller

  • Process image, direct 25 global data blocks by S7comm; byte offsets computed from the exported project, 0 errors in 14,512 points.
  • Identity and health on every connection serial number, firmware, PDU size, LEDs, RUN/STOP.
  • Diagnostic buffer and active alarms over the built-in web API, no licence: what the CPU itself reports, read daily into the brief.
  • Symbolic reads by name the same web API validates the offsets of the fast channel.
  • Clock drift measured against the station, so time series can be aligned.

From the network

  • SNMP v2c 11 managed switches: ports, errors, uptime, once a day.
  • LLDP + FDB/ARP who is plugged where; 142 distinct MACs on the last sweep, 71 of them remote I/O stations that LLDP cannot see.
  • Discovery subnet sweep every 6 h; an address that goes quiet is reported as absent, never as decommissioned.

Reads only, never writes · engineering stays in the engineering tools · a simulated controller is read with the same protocol as the real one.

KUVE Collector · what it does

Collects. Filters. Bursts. Ships.

Four jobs, one process per protocol, on the operator station that already runs the SCADA.

8,491points

Collects

35 sources over 5 protocols, 7 agents from one binary. Stop one; the rest keep running.

99.465 %not archived

Filters

Keeps the change, drops the repeat. Every row that stays carries the reason it stayed.

10 mson demand

Bursts

427 points at controller speed when an event fires, on a second connection: the trend is never disturbed.

5 minto the cloud

Ships

To a SQL table you own, idempotent by sequence, with 21 derived views: run hours, valve strokes, protection trips.

KUVE Collector · how it does it

The filter runs in the agent, and every row says why it exists.

No channel here offers filtering on the server side, so it happens once per point, before the buffer, and the cloud only ever sees information.

Part 1 · capture, measured in production

  1. Scalelinear and invertible, before anything else, so the deadband is in engineering units.
  2. ValidityNaN or out of range is archived as a marker and restarts the segment. It never becomes a zero.
  3. Exceptiondeadband against the last value reported; discrete signals keep every transition.
  4. Compressionswinging door with bounded error, or a clock-window reducer for noisy tags.
  5. Heartbeat and gapa maximum time without a sample, and explicit markers where there was no data.
  6. Audita counter per stage, so a wide band is seen instead of looking like a flat signal.
A missing value is a gap, never a guessThe archive writes its own holes. A quality change closes the segment and forbids interpolating across it.
Counters never enter the deadbandA roll-back is archived with both sides, so nothing reads it as a huge negative rate.
A burst opens its own connectionRising edge, falling edge or any change; cooldown first, one flight at a time. If it fails, the trend is intact.

Part 2 · the loop, designed — local pieces built, the return not yet measured

Local agent, on the stationEvaluates the filters against the raw it keeps, tunes retention, runs the complex calculations and extracts the information the cloud will reason on.
Cloud agent, one specialist per areaAnalyses the archived information and looks for deviations of the process from its expected behaviour, area by area.
Results come back downThe local agent forwards corrected setpoints to the process, batched or online depending on the link. A write to the plant is a proposal until a person releases it.

KUVE Collector · results and sizes

Information, not data.

917,752,000reads4,908,045rows

a read is one point seen in one scan; a row is what survives the filter chain · 99.465 % not archived · 65.3 h · whole fleet

before · 2026-08-27good quality 21.0 %
after · 2026-09-02good quality 93.5 %
real signaltransitionsheartbeatgap markersother

The bars are a different measure: what one day's archived rows are made of. The reduction is a virtue only while most of what remains is real signal; the composition is the KPI, the ratio is not.