Nothing reaches the plantuntil it has been proven.
Djinious supervises your plant in real time, turns an operator's intent into a runnable procedure, proves that procedure on an isolated twin, and only then asks a human to approve it. The loop is closed, and every step of it is auditable.
- Observe
- Author
- Prove
- Act

Four stages, and a gate between intent and the field
This is the whole product. Everything else — the historian, the alarm engine, the drivers, the twin — exists to make one of these four stages true.
- 01
The plant, and its twin, in one place
Real-time supervision on ISA-101 high-performance screens, backed by a continuously synced digital twin. Neutral grey is the resting state; colour means something is wrong.
- 1 Hz acquisition over OPC-UA, Modbus TCP and MQTT Sparkplug B — real drivers, not adapters-in-name
- Every tag historised to TimescaleDB and queryable back through the same API
- ISA-18.2 alarm management: priority, shelving, out-of-service, second-person acknowledgement
- Mimics you draw in the Builder are the same graphics the Runner shows — no parallel drawing set
- 03
Run it against a twin that cannot touch the field
The procedure is dry-run on an isolated simulation twin with a virtual clock and a seeded RNG. Field commands are intercepted. Assertions are evaluated against what the twin actually measured.
- Structurally isolated: every command the procedure issues is caught before a connector sees it
- Reproducible: same seed, same trajectory, bit-exact on replay
- Run the scenario without the procedure first — the baseline must fail for the proof to mean anything
- Both the scenario's assertions and the procedure's own acceptance criteria are checked
- 04
Execution a regulator could follow
Approval issues real commands through interlocks, policy and read-back. Authority classes bound what an agent may ever request; autonomy levels bound whether it may execute at all.
- Authority C0–C6 and autonomy L0–L4, granted per agent, per scope, with an expiry
- Interlocks evaluated before every write; a failed check is an incident, not a retry
- Read-back from an independent applied-setpoint echo — never the register just written
- Kill switch, second-person approval, and a timestamped, attributed audit trail
A dry-run only counts if the baseline fails
Every procedure below ships with the scenario that proves it. The same scenario is run twice — once without the procedure, once with it. If the baseline passes, the procedure has proven nothing, and Djinious shows you that.
| Plant | Scenario | Measured | Baseline | With procedure |
|---|---|---|---|---|
| AQUA | UF-03 fouling excursion | Transmembrane pressurelimit 1.35 bar | 1.62 bar — fail | 0.56 bar — pass |
| CAMG | CMP-01 suction restriction | Anti-surge marginlimit 12 % | −32.3 % — fail | +16.6 % — pass |
| BLN3 | Filler overspeed push | Reject ratelimit 3.5 % | 9.40 % — fail | 1.90 % — pass |
| PROV | High-wind gust front | Wind-field powerlimit 1.3 MW | 3.60 MW — fail | 1.08 MW — pass |
Read off the isolated simulation twin. Baseline and mitigated runs use the same scenario, the same seed and the same virtual clock.
The loop does not care what the plant makes
The same acquisition, twin, alarm and policy machinery runs a wind farm, a drinking-water works, a gas processing skid and a bottling line. Each is a real configuration in the platform — assets, tags, mimics, alarms and a proven procedure.
AQUAWater & wastewaterVaucluse Water Treatment Works
A 42 Ml/d municipal drinking-water works: raw-water intake, coagulation, three ultrafiltration skids, UV and chlorine disinfection, clearwell storage and pressure-managed distribution.
16 assets · 116 tagsRead the case →
CAMGOil & gas midstreamCamargue Gas Processing Skid
A midstream conditioning and export skid: emergency shutdown valve, two three-phase production separators, pressure control, two export compressors, interstage and export cooling, condensate export and a flare/relief system.
12 assets · 82 tagsRead the case →
BLN3Food & beverage manufacturingBellini Foods — Aseptic Bottling Line 3
A 24 000 bottles/hour aseptic PET line: blow moulding, aseptic filling, capping, labelling, case packing and palletising, with live OEE on every machine and its own utilities and CIP block.
12 assets · 95 tagsRead the case →
PROVRenewable generationProvence Hybrid Plant
A 120 MW hybrid plant: six wind turbines, four PV inverter blocks, two battery racks, the main 33/225 kV transformer, the grid connection point and a meteorological mast.
15 assets · 99 tagsRead the case →
This is control software. It does not pretend.
Djinious runs against real plant. So the product refuses to fake: a tag in LIVE mode takes its value from a device read or reports no data; simulation is labelled SIM wherever it appears; an unimplemented capability is shown as unimplemented rather than mocked; and a lost connection turns a lamp grey, never green.
- A LIVE tag with no fresh device read reports not-connected — it never falls back to the model
- Command read-back reads an independent echo, so an acknowledgement cannot be tautological
- The simulation twin is labelled, isolated, and its intercepted commands are listed
- Where a protocol adapter is a stand-in, the connectivity page says so on the card
Bring us your plant.
We will stand Djinious up against your tags, your alarm philosophy and one procedure you actually run — and dry-run it in front of you.