Loading the compressor package 0%
oggagan.ai

Digital twin / Industrial data

A live 3D twin of a
natural gas compressor

A 3 stage reciprocating compressor package, built in Blender, rendered in the browser with Three.js and driven by real Modbus TCP registers from a PLC style simulator.

Scroll to take it apart

01 / The machine

Engine, frame, three stages

A gas engine (D-001) turns a 4 throw balanced opposed frame (K-100) at 1200 rpm. Gas is squeezed in three steps, from 3.5 barg to 69 barg, and cooled between stages by the fin fan cooler E-400.

  • Stage 1C-101A/B3.5 to 13 barg
  • Stage 2C-20112.6 to 36 barg
  • Stage 3C-30135.3 to 69 barg

02 / The data

29 tags, one register map

Every pressure, temperature, vibration, speed and level transmitter is a node in the 3D model with the same tag as the P&ID. A Python simulator serves them as Modbus input registers; a bridge polls at 5 Hz and streams JSON over a WebSocket.

PLC registers>Modbus TCP>Python bridge>WebSocket>Three.js

03 / The gas path

Follow the gas

Scrubber, suction bottle, cylinder, discharge bottle, cooler, next scrubber. The glowing lines ride on the real pipe centre lines exported from Blender; speed follows the flow meter and colour follows the line temperature.

cool suction hot discharge

04 / Catch it early

Flag the drift before the alarm

The PLC only trips on fixed limits. The bridge learns a rolling baseline for every tag and flags a deviation as soon as it is statistically real, then fits the trend to estimate the time left until the alarm limit.

Recorded from the simulator: bearing wear on the frame drive end. Anomaly flagged about 10 s before the 10 mm/s vibration alarm.

05 / Your turn

Break it yourself

Drag to orbit, click any equipment or transmitter for its data card, and inject a fault from the panel. With the simulator running locally the twin is live; otherwise it replays a recorded session.