/ The configuration platform

Every system. One baseline. Always in compare.

VEM is a web-based platform for teams whose operations depend on configuration staying exactly where it should be. System-agnostic by design, deployable across a single asset or an entire site.

⇄ COMPAREVisioRead-2 · vision.cfg
− 0+ 1~ 4
PARAMETERBASELINECURRENT
vision.threshold0.820.82
~exposure_ms1418
~gain1.201.35
roi.x120120
roi.y8484
trigger.modeedgeedge
~retries23
~log.levelinfodebug
+filter.kernel5x5
SWEEPING 142 PARAMETERS78%
5 deltas detected · ready to approve
LIVE
/ LIVE COMPARE · BASELINE ↔ CURRENT→ APPROVE · ROLLBACK · MONITOR
/ 01Pillars

Three pillars. One source of truth.

/ Pillar 01VEM

Baseline & Compare.

Capture an immutable configuration snapshot at every phase boundary. Compare across versions to prove what changed — and what didn't.

/ Pillar 02VEM

Monitor & Detect.

Continuous change detection across every in-scope system. The moment a parameter drifts from baseline, the right people know.

/ Pillar 03VEM

Backup & Rollback.

Every in-control version is held. Recovery to a known-good state is a deliberate action, not a recovery project.

/ How VEM works · live scan

Every parameter, tracked against baseline.

VEM ingests configuration from PLC, SCADA, vision and database sources, then sweeps every line against the validated baseline. Parameters of interest are captured continuously — when a value drifts, it surfaces immediately in the operator console.

filling_skid_02.plc
VEM · scanning
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// FILLER_LINE_03 — Aseptic Skid · Station 02 · PLC AC500
// Baseline: REL_2026.04.18-FAT · Captured by VEM
 
PROGRAM Filling_Main
VAR CONSTANT
FILL_VOLUME_ML : REAL := 12.500; // nominal dosein control
FILL_TOLERANCE : REAL := 0.025;
TORQUE_LIMIT_NM : REAL := 1.85; // capperdrift
END_VAR
 
VAR
vialPresent : BOOL;
lineSpeed_cpm : INT := 240;in control
recipe_id : STRING := 'REC_AM_2.4.1';
END_VAR
 
IF vialPresent AND NOT alarm_active THEN
DOSE_PUMP.Setpoint := FILL_VOLUME_ML;
DOSE_PUMP.Start := TRUE;
END_IF
 
// — Vision system handshake (Cognex In-Sight)
VISION.exposure_us := 1850;drift
VISION.threshold := 128;
VISION.Trigger();
 
// — SCADA tag write
SCADA.Write('AM.LINE2.RECIPE', recipe_id);drift
END_PROGRAM
SCAN
0%
Captured parameters0/5
Lines
29
Tracked
5
Drift
3
Scan beam — current read position
Drift — value differs from baseline
In control — matches baseline
02
/ Chapter

System-agnostic by design. Quiet by default. Loud when it matters.

VEM sits across controllers, supervisory layers, databases, vision and machine parameters — regardless of vendor. It stays out of the way until configuration moves, and then it makes that movement impossible to miss.

100+
components per scope
Any
vendor mix
source of truth
Ready to see it?

Bring VEM to your next scope.